@gravionlabs/helix-core 22.1.2 → 22.1.4

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 (820) hide show
  1. package/fesm2022/gravionlabs-helix-core-accordion.mjs +994 -541
  2. package/fesm2022/gravionlabs-helix-core-accordion.mjs.map +1 -1
  3. package/fesm2022/gravionlabs-helix-core-animateonscroll.mjs +265 -166
  4. package/fesm2022/gravionlabs-helix-core-animateonscroll.mjs.map +1 -1
  5. package/fesm2022/gravionlabs-helix-core-api.mjs +926 -836
  6. package/fesm2022/gravionlabs-helix-core-api.mjs.map +1 -1
  7. package/fesm2022/gravionlabs-helix-core-autocomplete.mjs +2603 -1611
  8. package/fesm2022/gravionlabs-helix-core-autocomplete.mjs.map +1 -1
  9. package/fesm2022/gravionlabs-helix-core-autofocus.mjs +115 -79
  10. package/fesm2022/gravionlabs-helix-core-autofocus.mjs.map +1 -1
  11. package/fesm2022/gravionlabs-helix-core-avatar.mjs +356 -180
  12. package/fesm2022/gravionlabs-helix-core-avatar.mjs.map +1 -1
  13. package/fesm2022/gravionlabs-helix-core-avatargroup.mjs +200 -84
  14. package/fesm2022/gravionlabs-helix-core-avatargroup.mjs.map +1 -1
  15. package/fesm2022/gravionlabs-helix-core-badge.mjs +671 -390
  16. package/fesm2022/gravionlabs-helix-core-badge.mjs.map +1 -1
  17. package/fesm2022/gravionlabs-helix-core-base.mjs +113 -103
  18. package/fesm2022/gravionlabs-helix-core-base.mjs.map +1 -1
  19. package/fesm2022/gravionlabs-helix-core-basecomponent.mjs +498 -444
  20. package/fesm2022/gravionlabs-helix-core-basecomponent.mjs.map +1 -1
  21. package/fesm2022/gravionlabs-helix-core-baseeditableholder.mjs +131 -69
  22. package/fesm2022/gravionlabs-helix-core-baseeditableholder.mjs.map +1 -1
  23. package/fesm2022/gravionlabs-helix-core-baseinput.mjs +210 -94
  24. package/fesm2022/gravionlabs-helix-core-baseinput.mjs.map +1 -1
  25. package/fesm2022/gravionlabs-helix-core-basemodelholder.mjs +39 -26
  26. package/fesm2022/gravionlabs-helix-core-basemodelholder.mjs.map +1 -1
  27. package/fesm2022/gravionlabs-helix-core-bind.mjs +136 -98
  28. package/fesm2022/gravionlabs-helix-core-bind.mjs.map +1 -1
  29. package/fesm2022/gravionlabs-helix-core-blockui.mjs +390 -224
  30. package/fesm2022/gravionlabs-helix-core-blockui.mjs.map +1 -1
  31. package/fesm2022/gravionlabs-helix-core-breadcrumb.mjs +473 -212
  32. package/fesm2022/gravionlabs-helix-core-breadcrumb.mjs.map +1 -1
  33. package/fesm2022/gravionlabs-helix-core-button.mjs +1739 -825
  34. package/fesm2022/gravionlabs-helix-core-button.mjs.map +1 -1
  35. package/fesm2022/gravionlabs-helix-core-buttongroup.mjs +116 -64
  36. package/fesm2022/gravionlabs-helix-core-buttongroup.mjs.map +1 -1
  37. package/fesm2022/gravionlabs-helix-core-card.mjs +454 -205
  38. package/fesm2022/gravionlabs-helix-core-card.mjs.map +1 -1
  39. package/fesm2022/gravionlabs-helix-core-carousel.mjs +1238 -898
  40. package/fesm2022/gravionlabs-helix-core-carousel.mjs.map +1 -1
  41. package/fesm2022/gravionlabs-helix-core-cascadeselect.mjs +2373 -1337
  42. package/fesm2022/gravionlabs-helix-core-cascadeselect.mjs.map +1 -1
  43. package/fesm2022/gravionlabs-helix-core-chart.mjs +407 -214
  44. package/fesm2022/gravionlabs-helix-core-chart.mjs.map +1 -1
  45. package/fesm2022/gravionlabs-helix-core-checkbox.mjs +704 -346
  46. package/fesm2022/gravionlabs-helix-core-checkbox.mjs.map +1 -1
  47. package/fesm2022/gravionlabs-helix-core-chip.mjs +489 -251
  48. package/fesm2022/gravionlabs-helix-core-chip.mjs.map +1 -1
  49. package/fesm2022/gravionlabs-helix-core-classnames.mjs +95 -48
  50. package/fesm2022/gravionlabs-helix-core-classnames.mjs.map +1 -1
  51. package/fesm2022/gravionlabs-helix-core-colorpicker.mjs +975 -667
  52. package/fesm2022/gravionlabs-helix-core-colorpicker.mjs.map +1 -1
  53. package/fesm2022/gravionlabs-helix-core-config.mjs +395 -306
  54. package/fesm2022/gravionlabs-helix-core-config.mjs.map +1 -1
  55. package/fesm2022/gravionlabs-helix-core-confirmdialog.mjs +1222 -546
  56. package/fesm2022/gravionlabs-helix-core-confirmdialog.mjs.map +1 -1
  57. package/fesm2022/gravionlabs-helix-core-confirmpopup.mjs +878 -524
  58. package/fesm2022/gravionlabs-helix-core-confirmpopup.mjs.map +1 -1
  59. package/fesm2022/gravionlabs-helix-core-contextmenu.mjs +1917 -1031
  60. package/fesm2022/gravionlabs-helix-core-contextmenu.mjs.map +1 -1
  61. package/fesm2022/gravionlabs-helix-core-dataview.mjs +1075 -522
  62. package/fesm2022/gravionlabs-helix-core-dataview.mjs.map +1 -1
  63. package/fesm2022/gravionlabs-helix-core-datepicker.mjs +3797 -3313
  64. package/fesm2022/gravionlabs-helix-core-datepicker.mjs.map +1 -1
  65. package/fesm2022/gravionlabs-helix-core-dialog.mjs +1852 -1047
  66. package/fesm2022/gravionlabs-helix-core-dialog.mjs.map +1 -1
  67. package/fesm2022/gravionlabs-helix-core-divider.mjs +288 -136
  68. package/fesm2022/gravionlabs-helix-core-divider.mjs.map +1 -1
  69. package/fesm2022/gravionlabs-helix-core-dock.mjs +655 -387
  70. package/fesm2022/gravionlabs-helix-core-dock.mjs.map +1 -1
  71. package/fesm2022/gravionlabs-helix-core-dom.mjs +589 -760
  72. package/fesm2022/gravionlabs-helix-core-dom.mjs.map +1 -1
  73. package/fesm2022/gravionlabs-helix-core-dragdrop.mjs +457 -302
  74. package/fesm2022/gravionlabs-helix-core-dragdrop.mjs.map +1 -1
  75. package/fesm2022/gravionlabs-helix-core-drawer.mjs +986 -507
  76. package/fesm2022/gravionlabs-helix-core-drawer.mjs.map +1 -1
  77. package/fesm2022/gravionlabs-helix-core-dynamicdialog.mjs +849 -923
  78. package/fesm2022/gravionlabs-helix-core-dynamicdialog.mjs.map +1 -1
  79. package/fesm2022/gravionlabs-helix-core-editor.mjs +578 -383
  80. package/fesm2022/gravionlabs-helix-core-editor.mjs.map +1 -1
  81. package/fesm2022/gravionlabs-helix-core-fieldset.mjs +593 -280
  82. package/fesm2022/gravionlabs-helix-core-fieldset.mjs.map +1 -1
  83. package/fesm2022/gravionlabs-helix-core-fileupload.mjs +1882 -994
  84. package/fesm2022/gravionlabs-helix-core-fileupload.mjs.map +1 -1
  85. package/fesm2022/gravionlabs-helix-core-firsterror.mjs +41 -23
  86. package/fesm2022/gravionlabs-helix-core-firsterror.mjs.map +1 -1
  87. package/fesm2022/gravionlabs-helix-core-floatlabel.mjs +197 -94
  88. package/fesm2022/gravionlabs-helix-core-floatlabel.mjs.map +1 -1
  89. package/fesm2022/gravionlabs-helix-core-fluid.mjs +149 -74
  90. package/fesm2022/gravionlabs-helix-core-fluid.mjs.map +1 -1
  91. package/fesm2022/gravionlabs-helix-core-focustrap.mjs +141 -104
  92. package/fesm2022/gravionlabs-helix-core-focustrap.mjs.map +1 -1
  93. package/fesm2022/gravionlabs-helix-core-galleria.mjs +2800 -1449
  94. package/fesm2022/gravionlabs-helix-core-galleria.mjs.map +1 -1
  95. package/fesm2022/gravionlabs-helix-core-iconfield.mjs +214 -98
  96. package/fesm2022/gravionlabs-helix-core-iconfield.mjs.map +1 -1
  97. package/fesm2022/gravionlabs-helix-core-icons-angledoubledown.mjs +43 -24
  98. package/fesm2022/gravionlabs-helix-core-icons-angledoubledown.mjs.map +1 -1
  99. package/fesm2022/gravionlabs-helix-core-icons-angledoubleleft.mjs +43 -24
  100. package/fesm2022/gravionlabs-helix-core-icons-angledoubleleft.mjs.map +1 -1
  101. package/fesm2022/gravionlabs-helix-core-icons-angledoubleright.mjs +43 -24
  102. package/fesm2022/gravionlabs-helix-core-icons-angledoubleright.mjs.map +1 -1
  103. package/fesm2022/gravionlabs-helix-core-icons-angledoubleup.mjs +43 -24
  104. package/fesm2022/gravionlabs-helix-core-icons-angledoubleup.mjs.map +1 -1
  105. package/fesm2022/gravionlabs-helix-core-icons-angledown.mjs +43 -24
  106. package/fesm2022/gravionlabs-helix-core-icons-angledown.mjs.map +1 -1
  107. package/fesm2022/gravionlabs-helix-core-icons-angleleft.mjs +43 -24
  108. package/fesm2022/gravionlabs-helix-core-icons-angleleft.mjs.map +1 -1
  109. package/fesm2022/gravionlabs-helix-core-icons-angleright.mjs +43 -24
  110. package/fesm2022/gravionlabs-helix-core-icons-angleright.mjs.map +1 -1
  111. package/fesm2022/gravionlabs-helix-core-icons-angleup.mjs +43 -24
  112. package/fesm2022/gravionlabs-helix-core-icons-angleup.mjs.map +1 -1
  113. package/fesm2022/gravionlabs-helix-core-icons-arrowdown.mjs +48 -29
  114. package/fesm2022/gravionlabs-helix-core-icons-arrowdown.mjs.map +1 -1
  115. package/fesm2022/gravionlabs-helix-core-icons-arrowdownleft.mjs +43 -24
  116. package/fesm2022/gravionlabs-helix-core-icons-arrowdownleft.mjs.map +1 -1
  117. package/fesm2022/gravionlabs-helix-core-icons-arrowdownright.mjs +43 -24
  118. package/fesm2022/gravionlabs-helix-core-icons-arrowdownright.mjs.map +1 -1
  119. package/fesm2022/gravionlabs-helix-core-icons-arrowleft.mjs +48 -29
  120. package/fesm2022/gravionlabs-helix-core-icons-arrowleft.mjs.map +1 -1
  121. package/fesm2022/gravionlabs-helix-core-icons-arrowright.mjs +43 -24
  122. package/fesm2022/gravionlabs-helix-core-icons-arrowright.mjs.map +1 -1
  123. package/fesm2022/gravionlabs-helix-core-icons-arrowup.mjs +48 -29
  124. package/fesm2022/gravionlabs-helix-core-icons-arrowup.mjs.map +1 -1
  125. package/fesm2022/gravionlabs-helix-core-icons-ban.mjs +48 -29
  126. package/fesm2022/gravionlabs-helix-core-icons-ban.mjs.map +1 -1
  127. package/fesm2022/gravionlabs-helix-core-icons-bars.mjs +43 -24
  128. package/fesm2022/gravionlabs-helix-core-icons-bars.mjs.map +1 -1
  129. package/fesm2022/gravionlabs-helix-core-icons-baseicon.mjs +120 -64
  130. package/fesm2022/gravionlabs-helix-core-icons-baseicon.mjs.map +1 -1
  131. package/fesm2022/gravionlabs-helix-core-icons-blank.mjs +42 -23
  132. package/fesm2022/gravionlabs-helix-core-icons-blank.mjs.map +1 -1
  133. package/fesm2022/gravionlabs-helix-core-icons-calendar.mjs +43 -24
  134. package/fesm2022/gravionlabs-helix-core-icons-calendar.mjs.map +1 -1
  135. package/fesm2022/gravionlabs-helix-core-icons-caretleft.mjs +43 -24
  136. package/fesm2022/gravionlabs-helix-core-icons-caretleft.mjs.map +1 -1
  137. package/fesm2022/gravionlabs-helix-core-icons-caretright.mjs +43 -24
  138. package/fesm2022/gravionlabs-helix-core-icons-caretright.mjs.map +1 -1
  139. package/fesm2022/gravionlabs-helix-core-icons-check.mjs +43 -24
  140. package/fesm2022/gravionlabs-helix-core-icons-check.mjs.map +1 -1
  141. package/fesm2022/gravionlabs-helix-core-icons-chevrondown.mjs +43 -24
  142. package/fesm2022/gravionlabs-helix-core-icons-chevrondown.mjs.map +1 -1
  143. package/fesm2022/gravionlabs-helix-core-icons-chevronleft.mjs +43 -24
  144. package/fesm2022/gravionlabs-helix-core-icons-chevronleft.mjs.map +1 -1
  145. package/fesm2022/gravionlabs-helix-core-icons-chevronright.mjs +43 -24
  146. package/fesm2022/gravionlabs-helix-core-icons-chevronright.mjs.map +1 -1
  147. package/fesm2022/gravionlabs-helix-core-icons-chevronup.mjs +43 -24
  148. package/fesm2022/gravionlabs-helix-core-icons-chevronup.mjs.map +1 -1
  149. package/fesm2022/gravionlabs-helix-core-icons-exclamationtriangle.mjs +48 -29
  150. package/fesm2022/gravionlabs-helix-core-icons-exclamationtriangle.mjs.map +1 -1
  151. package/fesm2022/gravionlabs-helix-core-icons-eye.mjs +43 -24
  152. package/fesm2022/gravionlabs-helix-core-icons-eye.mjs.map +1 -1
  153. package/fesm2022/gravionlabs-helix-core-icons-eyeslash.mjs +48 -29
  154. package/fesm2022/gravionlabs-helix-core-icons-eyeslash.mjs.map +1 -1
  155. package/fesm2022/gravionlabs-helix-core-icons-filter.mjs +48 -29
  156. package/fesm2022/gravionlabs-helix-core-icons-filter.mjs.map +1 -1
  157. package/fesm2022/gravionlabs-helix-core-icons-filterfill.mjs +43 -24
  158. package/fesm2022/gravionlabs-helix-core-icons-filterfill.mjs.map +1 -1
  159. package/fesm2022/gravionlabs-helix-core-icons-filterslash.mjs +48 -29
  160. package/fesm2022/gravionlabs-helix-core-icons-filterslash.mjs.map +1 -1
  161. package/fesm2022/gravionlabs-helix-core-icons-home.mjs +48 -29
  162. package/fesm2022/gravionlabs-helix-core-icons-home.mjs.map +1 -1
  163. package/fesm2022/gravionlabs-helix-core-icons-infocircle.mjs +48 -29
  164. package/fesm2022/gravionlabs-helix-core-icons-infocircle.mjs.map +1 -1
  165. package/fesm2022/gravionlabs-helix-core-icons-minus.mjs +43 -24
  166. package/fesm2022/gravionlabs-helix-core-icons-minus.mjs.map +1 -1
  167. package/fesm2022/gravionlabs-helix-core-icons-pencil.mjs +48 -29
  168. package/fesm2022/gravionlabs-helix-core-icons-pencil.mjs.map +1 -1
  169. package/fesm2022/gravionlabs-helix-core-icons-plus.mjs +48 -29
  170. package/fesm2022/gravionlabs-helix-core-icons-plus.mjs.map +1 -1
  171. package/fesm2022/gravionlabs-helix-core-icons-refresh.mjs +48 -29
  172. package/fesm2022/gravionlabs-helix-core-icons-refresh.mjs.map +1 -1
  173. package/fesm2022/gravionlabs-helix-core-icons-search.mjs +48 -29
  174. package/fesm2022/gravionlabs-helix-core-icons-search.mjs.map +1 -1
  175. package/fesm2022/gravionlabs-helix-core-icons-searchminus.mjs +48 -29
  176. package/fesm2022/gravionlabs-helix-core-icons-searchminus.mjs.map +1 -1
  177. package/fesm2022/gravionlabs-helix-core-icons-searchplus.mjs +48 -29
  178. package/fesm2022/gravionlabs-helix-core-icons-searchplus.mjs.map +1 -1
  179. package/fesm2022/gravionlabs-helix-core-icons-sortalt.mjs +48 -29
  180. package/fesm2022/gravionlabs-helix-core-icons-sortalt.mjs.map +1 -1
  181. package/fesm2022/gravionlabs-helix-core-icons-sortamountdown.mjs +48 -29
  182. package/fesm2022/gravionlabs-helix-core-icons-sortamountdown.mjs.map +1 -1
  183. package/fesm2022/gravionlabs-helix-core-icons-sortamountupalt.mjs +48 -29
  184. package/fesm2022/gravionlabs-helix-core-icons-sortamountupalt.mjs.map +1 -1
  185. package/fesm2022/gravionlabs-helix-core-icons-spinner.mjs +48 -29
  186. package/fesm2022/gravionlabs-helix-core-icons-spinner.mjs.map +1 -1
  187. package/fesm2022/gravionlabs-helix-core-icons-star.mjs +48 -29
  188. package/fesm2022/gravionlabs-helix-core-icons-star.mjs.map +1 -1
  189. package/fesm2022/gravionlabs-helix-core-icons-starfill.mjs +48 -29
  190. package/fesm2022/gravionlabs-helix-core-icons-starfill.mjs.map +1 -1
  191. package/fesm2022/gravionlabs-helix-core-icons-thlarge.mjs +48 -29
  192. package/fesm2022/gravionlabs-helix-core-icons-thlarge.mjs.map +1 -1
  193. package/fesm2022/gravionlabs-helix-core-icons-times.mjs +43 -24
  194. package/fesm2022/gravionlabs-helix-core-icons-times.mjs.map +1 -1
  195. package/fesm2022/gravionlabs-helix-core-icons-timescircle.mjs +48 -29
  196. package/fesm2022/gravionlabs-helix-core-icons-timescircle.mjs.map +1 -1
  197. package/fesm2022/gravionlabs-helix-core-icons-trash.mjs +48 -29
  198. package/fesm2022/gravionlabs-helix-core-icons-trash.mjs.map +1 -1
  199. package/fesm2022/gravionlabs-helix-core-icons-undo.mjs +48 -29
  200. package/fesm2022/gravionlabs-helix-core-icons-undo.mjs.map +1 -1
  201. package/fesm2022/gravionlabs-helix-core-icons-upload.mjs +48 -29
  202. package/fesm2022/gravionlabs-helix-core-icons-upload.mjs.map +1 -1
  203. package/fesm2022/gravionlabs-helix-core-icons-windowmaximize.mjs +48 -29
  204. package/fesm2022/gravionlabs-helix-core-icons-windowmaximize.mjs.map +1 -1
  205. package/fesm2022/gravionlabs-helix-core-icons-windowminimize.mjs +48 -29
  206. package/fesm2022/gravionlabs-helix-core-icons-windowminimize.mjs.map +1 -1
  207. package/fesm2022/gravionlabs-helix-core-icons.mjs +53 -63
  208. package/fesm2022/gravionlabs-helix-core-iftalabel.mjs +175 -81
  209. package/fesm2022/gravionlabs-helix-core-iftalabel.mjs.map +1 -1
  210. package/fesm2022/gravionlabs-helix-core-image.mjs +1089 -552
  211. package/fesm2022/gravionlabs-helix-core-image.mjs.map +1 -1
  212. package/fesm2022/gravionlabs-helix-core-imagecompare.mjs +348 -165
  213. package/fesm2022/gravionlabs-helix-core-imagecompare.mjs.map +1 -1
  214. package/fesm2022/gravionlabs-helix-core-inplace.mjs +591 -249
  215. package/fesm2022/gravionlabs-helix-core-inplace.mjs.map +1 -1
  216. package/fesm2022/gravionlabs-helix-core-inputgroup.mjs +175 -91
  217. package/fesm2022/gravionlabs-helix-core-inputgroup.mjs.map +1 -1
  218. package/fesm2022/gravionlabs-helix-core-inputgroupaddon.mjs +196 -73
  219. package/fesm2022/gravionlabs-helix-core-inputgroupaddon.mjs.map +1 -1
  220. package/fesm2022/gravionlabs-helix-core-inputicon.mjs +207 -70
  221. package/fesm2022/gravionlabs-helix-core-inputicon.mjs.map +1 -1
  222. package/fesm2022/gravionlabs-helix-core-inputmask.mjs +1581 -1330
  223. package/fesm2022/gravionlabs-helix-core-inputmask.mjs.map +1 -1
  224. package/fesm2022/gravionlabs-helix-core-inputnumber.mjs +1696 -1294
  225. package/fesm2022/gravionlabs-helix-core-inputnumber.mjs.map +1 -1
  226. package/fesm2022/gravionlabs-helix-core-inputotp.mjs +576 -363
  227. package/fesm2022/gravionlabs-helix-core-inputotp.mjs.map +1 -1
  228. package/fesm2022/gravionlabs-helix-core-inputtext.mjs +344 -183
  229. package/fesm2022/gravionlabs-helix-core-inputtext.mjs.map +1 -1
  230. package/fesm2022/gravionlabs-helix-core-keyfilter.mjs +291 -252
  231. package/fesm2022/gravionlabs-helix-core-keyfilter.mjs.map +1 -1
  232. package/fesm2022/gravionlabs-helix-core-knob.mjs +642 -396
  233. package/fesm2022/gravionlabs-helix-core-knob.mjs.map +1 -1
  234. package/fesm2022/gravionlabs-helix-core-listbox.mjs +2354 -1401
  235. package/fesm2022/gravionlabs-helix-core-listbox.mjs.map +1 -1
  236. package/fesm2022/gravionlabs-helix-core-megamenu.mjs +1913 -1052
  237. package/fesm2022/gravionlabs-helix-core-megamenu.mjs.map +1 -1
  238. package/fesm2022/gravionlabs-helix-core-menu.mjs +1392 -767
  239. package/fesm2022/gravionlabs-helix-core-menu.mjs.map +1 -1
  240. package/fesm2022/gravionlabs-helix-core-menubar.mjs +1857 -984
  241. package/fesm2022/gravionlabs-helix-core-menubar.mjs.map +1 -1
  242. package/fesm2022/gravionlabs-helix-core-message.mjs +605 -288
  243. package/fesm2022/gravionlabs-helix-core-message.mjs.map +1 -1
  244. package/fesm2022/gravionlabs-helix-core-metergroup.mjs +719 -323
  245. package/fesm2022/gravionlabs-helix-core-metergroup.mjs.map +1 -1
  246. package/fesm2022/gravionlabs-helix-core-motion.mjs +1178 -694
  247. package/fesm2022/gravionlabs-helix-core-motion.mjs.map +1 -1
  248. package/fesm2022/gravionlabs-helix-core-multiselect.mjs +3437 -1839
  249. package/fesm2022/gravionlabs-helix-core-multiselect.mjs.map +1 -1
  250. package/fesm2022/gravionlabs-helix-core-orderlist.mjs +1426 -753
  251. package/fesm2022/gravionlabs-helix-core-orderlist.mjs.map +1 -1
  252. package/fesm2022/gravionlabs-helix-core-organizationchart.mjs +755 -371
  253. package/fesm2022/gravionlabs-helix-core-organizationchart.mjs.map +1 -1
  254. package/fesm2022/gravionlabs-helix-core-overlay.mjs +984 -600
  255. package/fesm2022/gravionlabs-helix-core-overlay.mjs.map +1 -1
  256. package/fesm2022/gravionlabs-helix-core-overlaybadge.mjs +310 -107
  257. package/fesm2022/gravionlabs-helix-core-overlaybadge.mjs.map +1 -1
  258. package/fesm2022/gravionlabs-helix-core-paginator.mjs +1076 -564
  259. package/fesm2022/gravionlabs-helix-core-paginator.mjs.map +1 -1
  260. package/fesm2022/gravionlabs-helix-core-panel.mjs +759 -364
  261. package/fesm2022/gravionlabs-helix-core-panel.mjs.map +1 -1
  262. package/fesm2022/gravionlabs-helix-core-panelmenu.mjs +1909 -888
  263. package/fesm2022/gravionlabs-helix-core-panelmenu.mjs.map +1 -1
  264. package/fesm2022/gravionlabs-helix-core-passthrough.mjs +10 -18
  265. package/fesm2022/gravionlabs-helix-core-passthrough.mjs.map +1 -1
  266. package/fesm2022/gravionlabs-helix-core-password.mjs +1624 -894
  267. package/fesm2022/gravionlabs-helix-core-password.mjs.map +1 -1
  268. package/fesm2022/gravionlabs-helix-core-picklist.mjs +2415 -1359
  269. package/fesm2022/gravionlabs-helix-core-picklist.mjs.map +1 -1
  270. package/fesm2022/gravionlabs-helix-core-popover.mjs +708 -442
  271. package/fesm2022/gravionlabs-helix-core-popover.mjs.map +1 -1
  272. package/fesm2022/gravionlabs-helix-core-progressbar.mjs +380 -170
  273. package/fesm2022/gravionlabs-helix-core-progressbar.mjs.map +1 -1
  274. package/fesm2022/gravionlabs-helix-core-progressspinner.mjs +276 -121
  275. package/fesm2022/gravionlabs-helix-core-progressspinner.mjs.map +1 -1
  276. package/fesm2022/gravionlabs-helix-core-radiobutton.mjs +525 -291
  277. package/fesm2022/gravionlabs-helix-core-radiobutton.mjs.map +1 -1
  278. package/fesm2022/gravionlabs-helix-core-rating.mjs +529 -286
  279. package/fesm2022/gravionlabs-helix-core-rating.mjs.map +1 -1
  280. package/fesm2022/gravionlabs-helix-core-ripple.mjs +194 -175
  281. package/fesm2022/gravionlabs-helix-core-ripple.mjs.map +1 -1
  282. package/fesm2022/gravionlabs-helix-core-scroller.mjs +1384 -977
  283. package/fesm2022/gravionlabs-helix-core-scroller.mjs.map +1 -1
  284. package/fesm2022/gravionlabs-helix-core-scrollpanel.mjs +605 -458
  285. package/fesm2022/gravionlabs-helix-core-scrollpanel.mjs.map +1 -1
  286. package/fesm2022/gravionlabs-helix-core-scrolltop.mjs +565 -261
  287. package/fesm2022/gravionlabs-helix-core-scrolltop.mjs.map +1 -1
  288. package/fesm2022/gravionlabs-helix-core-select.mjs +2959 -1644
  289. package/fesm2022/gravionlabs-helix-core-select.mjs.map +1 -1
  290. package/fesm2022/gravionlabs-helix-core-selectbutton.mjs +644 -335
  291. package/fesm2022/gravionlabs-helix-core-selectbutton.mjs.map +1 -1
  292. package/fesm2022/gravionlabs-helix-core-skeleton.mjs +315 -160
  293. package/fesm2022/gravionlabs-helix-core-skeleton.mjs.map +1 -1
  294. package/fesm2022/gravionlabs-helix-core-slider.mjs +839 -630
  295. package/fesm2022/gravionlabs-helix-core-slider.mjs.map +1 -1
  296. package/fesm2022/gravionlabs-helix-core-speeddial.mjs +1183 -700
  297. package/fesm2022/gravionlabs-helix-core-speeddial.mjs.map +1 -1
  298. package/fesm2022/gravionlabs-helix-core-splitbutton.mjs +977 -375
  299. package/fesm2022/gravionlabs-helix-core-splitbutton.mjs.map +1 -1
  300. package/fesm2022/gravionlabs-helix-core-splitter.mjs +737 -509
  301. package/fesm2022/gravionlabs-helix-core-splitter.mjs.map +1 -1
  302. package/fesm2022/gravionlabs-helix-core-stepper.mjs +1397 -628
  303. package/fesm2022/gravionlabs-helix-core-stepper.mjs.map +1 -1
  304. package/fesm2022/gravionlabs-helix-core-steps.mjs +457 -272
  305. package/fesm2022/gravionlabs-helix-core-steps.mjs.map +1 -1
  306. package/fesm2022/gravionlabs-helix-core-styleclass.mjs +466 -344
  307. package/fesm2022/gravionlabs-helix-core-styleclass.mjs.map +1 -1
  308. package/fesm2022/gravionlabs-helix-core-table.mjs +9728 -5590
  309. package/fesm2022/gravionlabs-helix-core-table.mjs.map +1 -1
  310. package/fesm2022/gravionlabs-helix-core-tabs.mjs +1350 -735
  311. package/fesm2022/gravionlabs-helix-core-tabs.mjs.map +1 -1
  312. package/fesm2022/gravionlabs-helix-core-tag.mjs +343 -154
  313. package/fesm2022/gravionlabs-helix-core-tag.mjs.map +1 -1
  314. package/fesm2022/gravionlabs-helix-core-terminal.mjs +384 -214
  315. package/fesm2022/gravionlabs-helix-core-terminal.mjs.map +1 -1
  316. package/fesm2022/gravionlabs-helix-core-textarea.mjs +347 -209
  317. package/fesm2022/gravionlabs-helix-core-textarea.mjs.map +1 -1
  318. package/fesm2022/gravionlabs-helix-core-themes-aura.mjs +4846 -5618
  319. package/fesm2022/gravionlabs-helix-core-themes-aura.mjs.map +1 -1
  320. package/fesm2022/gravionlabs-helix-core-themes-lara.mjs +4961 -5809
  321. package/fesm2022/gravionlabs-helix-core-themes-lara.mjs.map +1 -1
  322. package/fesm2022/gravionlabs-helix-core-themes-nora.mjs +4780 -5567
  323. package/fesm2022/gravionlabs-helix-core-themes-nora.mjs.map +1 -1
  324. package/fesm2022/gravionlabs-helix-core-themes-types.mjs +0 -700
  325. package/fesm2022/gravionlabs-helix-core-themes.mjs +4 -9
  326. package/fesm2022/gravionlabs-helix-core-themes.mjs.map +1 -1
  327. package/fesm2022/gravionlabs-helix-core-tieredmenu.mjs +1967 -1048
  328. package/fesm2022/gravionlabs-helix-core-tieredmenu.mjs.map +1 -1
  329. package/fesm2022/gravionlabs-helix-core-timeline.mjs +370 -185
  330. package/fesm2022/gravionlabs-helix-core-timeline.mjs.map +1 -1
  331. package/fesm2022/gravionlabs-helix-core-toast.mjs +1083 -526
  332. package/fesm2022/gravionlabs-helix-core-toast.mjs.map +1 -1
  333. package/fesm2022/gravionlabs-helix-core-togglebutton.mjs +609 -315
  334. package/fesm2022/gravionlabs-helix-core-togglebutton.mjs.map +1 -1
  335. package/fesm2022/gravionlabs-helix-core-toggleswitch.mjs +504 -246
  336. package/fesm2022/gravionlabs-helix-core-toggleswitch.mjs.map +1 -1
  337. package/fesm2022/gravionlabs-helix-core-toolbar.mjs +350 -149
  338. package/fesm2022/gravionlabs-helix-core-toolbar.mjs.map +1 -1
  339. package/fesm2022/gravionlabs-helix-core-tooltip.mjs +1035 -795
  340. package/fesm2022/gravionlabs-helix-core-tooltip.mjs.map +1 -1
  341. package/fesm2022/gravionlabs-helix-core-tree.mjs +2673 -1668
  342. package/fesm2022/gravionlabs-helix-core-tree.mjs.map +1 -1
  343. package/fesm2022/gravionlabs-helix-core-treeselect.mjs +1773 -976
  344. package/fesm2022/gravionlabs-helix-core-treeselect.mjs.map +1 -1
  345. package/fesm2022/gravionlabs-helix-core-treetable.mjs +5963 -3647
  346. package/fesm2022/gravionlabs-helix-core-treetable.mjs.map +1 -1
  347. package/fesm2022/gravionlabs-helix-core-ts-helpers.mjs +0 -4
  348. package/fesm2022/gravionlabs-helix-core-types-accordion.mjs +0 -4
  349. package/fesm2022/gravionlabs-helix-core-types-autocomplete.mjs +0 -4
  350. package/fesm2022/gravionlabs-helix-core-types-avatar.mjs +0 -4
  351. package/fesm2022/gravionlabs-helix-core-types-avatargroup.mjs +0 -4
  352. package/fesm2022/gravionlabs-helix-core-types-badge.mjs +0 -4
  353. package/fesm2022/gravionlabs-helix-core-types-blockui.mjs +0 -4
  354. package/fesm2022/gravionlabs-helix-core-types-breadcrumb.mjs +0 -4
  355. package/fesm2022/gravionlabs-helix-core-types-button.mjs +0 -4
  356. package/fesm2022/gravionlabs-helix-core-types-card.mjs +0 -4
  357. package/fesm2022/gravionlabs-helix-core-types-carousel.mjs +0 -4
  358. package/fesm2022/gravionlabs-helix-core-types-cascadeselect.mjs +0 -4
  359. package/fesm2022/gravionlabs-helix-core-types-chart.mjs +0 -4
  360. package/fesm2022/gravionlabs-helix-core-types-checkbox.mjs +0 -4
  361. package/fesm2022/gravionlabs-helix-core-types-chip.mjs +0 -4
  362. package/fesm2022/gravionlabs-helix-core-types-colorpicker.mjs +0 -4
  363. package/fesm2022/gravionlabs-helix-core-types-confirmdialog.mjs +0 -4
  364. package/fesm2022/gravionlabs-helix-core-types-confirmpopup.mjs +0 -4
  365. package/fesm2022/gravionlabs-helix-core-types-contextmenu.mjs +0 -4
  366. package/fesm2022/gravionlabs-helix-core-types-dataview.mjs +0 -4
  367. package/fesm2022/gravionlabs-helix-core-types-datepicker.mjs +0 -4
  368. package/fesm2022/gravionlabs-helix-core-types-dialog.mjs +0 -4
  369. package/fesm2022/gravionlabs-helix-core-types-divider.mjs +0 -4
  370. package/fesm2022/gravionlabs-helix-core-types-dock.mjs +0 -4
  371. package/fesm2022/gravionlabs-helix-core-types-drawer.mjs +0 -4
  372. package/fesm2022/gravionlabs-helix-core-types-editor.mjs +0 -4
  373. package/fesm2022/gravionlabs-helix-core-types-fieldset.mjs +0 -4
  374. package/fesm2022/gravionlabs-helix-core-types-fileupload.mjs +0 -4
  375. package/fesm2022/gravionlabs-helix-core-types-floatlabel.mjs +0 -4
  376. package/fesm2022/gravionlabs-helix-core-types-fluid.mjs +0 -4
  377. package/fesm2022/gravionlabs-helix-core-types-galleria.mjs +0 -4
  378. package/fesm2022/gravionlabs-helix-core-types-iconfield.mjs +0 -4
  379. package/fesm2022/gravionlabs-helix-core-types-iftalabel.mjs +0 -4
  380. package/fesm2022/gravionlabs-helix-core-types-image.mjs +0 -4
  381. package/fesm2022/gravionlabs-helix-core-types-imagecompare.mjs +0 -4
  382. package/fesm2022/gravionlabs-helix-core-types-inplace.mjs +0 -4
  383. package/fesm2022/gravionlabs-helix-core-types-inputgroup.mjs +0 -4
  384. package/fesm2022/gravionlabs-helix-core-types-inputgroupaddon.mjs +0 -4
  385. package/fesm2022/gravionlabs-helix-core-types-inputicon.mjs +0 -4
  386. package/fesm2022/gravionlabs-helix-core-types-inputmask.mjs +0 -4
  387. package/fesm2022/gravionlabs-helix-core-types-inputnumber.mjs +0 -4
  388. package/fesm2022/gravionlabs-helix-core-types-inputotp.mjs +0 -4
  389. package/fesm2022/gravionlabs-helix-core-types-inputtext.mjs +0 -4
  390. package/fesm2022/gravionlabs-helix-core-types-knob.mjs +0 -4
  391. package/fesm2022/gravionlabs-helix-core-types-listbox.mjs +0 -4
  392. package/fesm2022/gravionlabs-helix-core-types-megamenu.mjs +0 -4
  393. package/fesm2022/gravionlabs-helix-core-types-menu.mjs +0 -4
  394. package/fesm2022/gravionlabs-helix-core-types-menubar.mjs +0 -4
  395. package/fesm2022/gravionlabs-helix-core-types-message.mjs +0 -4
  396. package/fesm2022/gravionlabs-helix-core-types-metergroup.mjs +0 -4
  397. package/fesm2022/gravionlabs-helix-core-types-motion.mjs +0 -4
  398. package/fesm2022/gravionlabs-helix-core-types-multiselect.mjs +0 -4
  399. package/fesm2022/gravionlabs-helix-core-types-orderlist.mjs +0 -4
  400. package/fesm2022/gravionlabs-helix-core-types-organizationchart.mjs +0 -4
  401. package/fesm2022/gravionlabs-helix-core-types-overlay.mjs +0 -4
  402. package/fesm2022/gravionlabs-helix-core-types-overlaybadge.mjs +0 -4
  403. package/fesm2022/gravionlabs-helix-core-types-paginator.mjs +0 -4
  404. package/fesm2022/gravionlabs-helix-core-types-panel.mjs +0 -4
  405. package/fesm2022/gravionlabs-helix-core-types-panelmenu.mjs +0 -4
  406. package/fesm2022/gravionlabs-helix-core-types-password.mjs +0 -4
  407. package/fesm2022/gravionlabs-helix-core-types-picklist.mjs +0 -4
  408. package/fesm2022/gravionlabs-helix-core-types-popover.mjs +0 -4
  409. package/fesm2022/gravionlabs-helix-core-types-progressbar.mjs +0 -4
  410. package/fesm2022/gravionlabs-helix-core-types-progressspinner.mjs +0 -4
  411. package/fesm2022/gravionlabs-helix-core-types-radiobutton.mjs +0 -4
  412. package/fesm2022/gravionlabs-helix-core-types-rating.mjs +0 -4
  413. package/fesm2022/gravionlabs-helix-core-types-scroller.mjs +0 -4
  414. package/fesm2022/gravionlabs-helix-core-types-scrollpanel.mjs +0 -4
  415. package/fesm2022/gravionlabs-helix-core-types-scrolltop.mjs +0 -4
  416. package/fesm2022/gravionlabs-helix-core-types-select.mjs +0 -4
  417. package/fesm2022/gravionlabs-helix-core-types-selectbutton.mjs +0 -4
  418. package/fesm2022/gravionlabs-helix-core-types-skeleton.mjs +0 -4
  419. package/fesm2022/gravionlabs-helix-core-types-slider.mjs +0 -4
  420. package/fesm2022/gravionlabs-helix-core-types-speeddial.mjs +0 -4
  421. package/fesm2022/gravionlabs-helix-core-types-splitbutton.mjs +0 -4
  422. package/fesm2022/gravionlabs-helix-core-types-splitter.mjs +0 -4
  423. package/fesm2022/gravionlabs-helix-core-types-stepper.mjs +0 -4
  424. package/fesm2022/gravionlabs-helix-core-types-table.mjs +0 -4
  425. package/fesm2022/gravionlabs-helix-core-types-tabs.mjs +0 -4
  426. package/fesm2022/gravionlabs-helix-core-types-tag.mjs +0 -4
  427. package/fesm2022/gravionlabs-helix-core-types-terminal.mjs +0 -4
  428. package/fesm2022/gravionlabs-helix-core-types-textarea.mjs +0 -4
  429. package/fesm2022/gravionlabs-helix-core-types-tieredmenu.mjs +0 -4
  430. package/fesm2022/gravionlabs-helix-core-types-timeline.mjs +0 -4
  431. package/fesm2022/gravionlabs-helix-core-types-toast.mjs +0 -4
  432. package/fesm2022/gravionlabs-helix-core-types-togglebutton.mjs +0 -4
  433. package/fesm2022/gravionlabs-helix-core-types-toggleswitch.mjs +0 -4
  434. package/fesm2022/gravionlabs-helix-core-types-toolbar.mjs +0 -4
  435. package/fesm2022/gravionlabs-helix-core-types-tooltip.mjs +0 -4
  436. package/fesm2022/gravionlabs-helix-core-types-tree.mjs +0 -4
  437. package/fesm2022/gravionlabs-helix-core-types-treeselect.mjs +0 -4
  438. package/fesm2022/gravionlabs-helix-core-types-treetable.mjs +0 -4
  439. package/fesm2022/gravionlabs-helix-core-uix-motion.mjs +192 -282
  440. package/fesm2022/gravionlabs-helix-core-uix-motion.mjs.map +1 -1
  441. package/fesm2022/gravionlabs-helix-core-uix-styled.mjs +827 -813
  442. package/fesm2022/gravionlabs-helix-core-uix-styled.mjs.map +1 -1
  443. package/fesm2022/gravionlabs-helix-core-uix-utils.mjs +967 -1558
  444. package/fesm2022/gravionlabs-helix-core-uix-utils.mjs.map +1 -1
  445. package/fesm2022/gravionlabs-helix-core-usestyle.mjs +62 -52
  446. package/fesm2022/gravionlabs-helix-core-usestyle.mjs.map +1 -1
  447. package/fesm2022/gravionlabs-helix-core-utils.mjs +272 -366
  448. package/fesm2022/gravionlabs-helix-core-utils.mjs.map +1 -1
  449. package/fesm2022/gravionlabs-helix-core-validators.mjs +86 -93
  450. package/fesm2022/gravionlabs-helix-core-validators.mjs.map +1 -1
  451. package/fesm2022/gravionlabs-helix-core.mjs +1 -5
  452. package/fesm2022/gravionlabs-helix-core.mjs.map +1 -1
  453. package/package.json +1 -1
  454. package/types/gravionlabs-helix-core-accordion.d.ts +317 -246
  455. package/types/gravionlabs-helix-core-animateonscroll.d.ts +89 -61
  456. package/types/gravionlabs-helix-core-api.d.ts +1743 -1777
  457. package/types/gravionlabs-helix-core-autocomplete.d.ts +1070 -750
  458. package/types/gravionlabs-helix-core-autofocus.d.ts +29 -26
  459. package/types/gravionlabs-helix-core-avatar.d.ts +165 -123
  460. package/types/gravionlabs-helix-core-avatargroup.d.ts +58 -48
  461. package/types/gravionlabs-helix-core-badge.d.ts +243 -162
  462. package/types/gravionlabs-helix-core-base.d.ts +46 -49
  463. package/types/gravionlabs-helix-core-basecomponent.d.ts +187 -170
  464. package/types/gravionlabs-helix-core-baseeditableholder.d.ts +63 -45
  465. package/types/gravionlabs-helix-core-baseinput.d.ts +121 -73
  466. package/types/gravionlabs-helix-core-basemodelholder.d.ts +9 -12
  467. package/types/gravionlabs-helix-core-bind.d.ts +36 -33
  468. package/types/gravionlabs-helix-core-blockui.d.ts +114 -90
  469. package/types/gravionlabs-helix-core-breadcrumb.d.ts +158 -132
  470. package/types/gravionlabs-helix-core-button.d.ts +716 -443
  471. package/types/gravionlabs-helix-core-buttongroup.d.ts +28 -33
  472. package/types/gravionlabs-helix-core-card.d.ts +156 -136
  473. package/types/gravionlabs-helix-core-carousel.d.ts +461 -361
  474. package/types/gravionlabs-helix-core-cascadeselect.d.ts +880 -604
  475. package/types/gravionlabs-helix-core-chart.d.ts +162 -115
  476. package/types/gravionlabs-helix-core-checkbox.d.ts +310 -211
  477. package/types/gravionlabs-helix-core-chip.d.ts +202 -147
  478. package/types/gravionlabs-helix-core-classnames.d.ts +23 -21
  479. package/types/gravionlabs-helix-core-colorpicker.d.ts +359 -290
  480. package/types/gravionlabs-helix-core-config.d.ts +249 -259
  481. package/types/gravionlabs-helix-core-confirmdialog.d.ts +498 -325
  482. package/types/gravionlabs-helix-core-confirmpopup.d.ts +273 -218
  483. package/types/gravionlabs-helix-core-contextmenu.d.ts +509 -351
  484. package/types/gravionlabs-helix-core-dataview.d.ts +507 -349
  485. package/types/gravionlabs-helix-core-datepicker.d.ts +1267 -954
  486. package/types/gravionlabs-helix-core-dialog.d.ts +758 -515
  487. package/types/gravionlabs-helix-core-divider.d.ts +126 -106
  488. package/types/gravionlabs-helix-core-dock.d.ts +219 -181
  489. package/types/gravionlabs-helix-core-dom.d.ts +97 -100
  490. package/types/gravionlabs-helix-core-dragdrop.d.ts +149 -107
  491. package/types/gravionlabs-helix-core-drawer.d.ts +382 -278
  492. package/types/gravionlabs-helix-core-dynamicdialog.d.ts +512 -519
  493. package/types/gravionlabs-helix-core-editor.d.ts +225 -173
  494. package/types/gravionlabs-helix-core-fieldset.d.ts +209 -170
  495. package/types/gravionlabs-helix-core-fileupload.d.ts +764 -533
  496. package/types/gravionlabs-helix-core-firsterror.d.ts +8 -11
  497. package/types/gravionlabs-helix-core-floatlabel.d.ts +57 -52
  498. package/types/gravionlabs-helix-core-fluid.d.ts +38 -39
  499. package/types/gravionlabs-helix-core-focustrap.d.ts +33 -30
  500. package/types/gravionlabs-helix-core-galleria.d.ts +957 -628
  501. package/types/gravionlabs-helix-core-iconfield.d.ts +72 -57
  502. package/types/gravionlabs-helix-core-icons-angledoubledown.d.ts +6 -9
  503. package/types/gravionlabs-helix-core-icons-angledoubleleft.d.ts +6 -9
  504. package/types/gravionlabs-helix-core-icons-angledoubleright.d.ts +6 -9
  505. package/types/gravionlabs-helix-core-icons-angledoubleup.d.ts +6 -9
  506. package/types/gravionlabs-helix-core-icons-angledown.d.ts +6 -9
  507. package/types/gravionlabs-helix-core-icons-angleleft.d.ts +6 -9
  508. package/types/gravionlabs-helix-core-icons-angleright.d.ts +6 -9
  509. package/types/gravionlabs-helix-core-icons-angleup.d.ts +6 -9
  510. package/types/gravionlabs-helix-core-icons-arrowdown.d.ts +8 -11
  511. package/types/gravionlabs-helix-core-icons-arrowdownleft.d.ts +6 -9
  512. package/types/gravionlabs-helix-core-icons-arrowdownright.d.ts +6 -9
  513. package/types/gravionlabs-helix-core-icons-arrowleft.d.ts +8 -11
  514. package/types/gravionlabs-helix-core-icons-arrowright.d.ts +6 -9
  515. package/types/gravionlabs-helix-core-icons-arrowup.d.ts +8 -11
  516. package/types/gravionlabs-helix-core-icons-ban.d.ts +8 -11
  517. package/types/gravionlabs-helix-core-icons-bars.d.ts +6 -9
  518. package/types/gravionlabs-helix-core-icons-baseicon.d.ts +25 -24
  519. package/types/gravionlabs-helix-core-icons-blank.d.ts +6 -9
  520. package/types/gravionlabs-helix-core-icons-calendar.d.ts +6 -9
  521. package/types/gravionlabs-helix-core-icons-caretleft.d.ts +6 -9
  522. package/types/gravionlabs-helix-core-icons-caretright.d.ts +6 -9
  523. package/types/gravionlabs-helix-core-icons-check.d.ts +6 -9
  524. package/types/gravionlabs-helix-core-icons-chevrondown.d.ts +6 -9
  525. package/types/gravionlabs-helix-core-icons-chevronleft.d.ts +6 -9
  526. package/types/gravionlabs-helix-core-icons-chevronright.d.ts +6 -9
  527. package/types/gravionlabs-helix-core-icons-chevronup.d.ts +6 -9
  528. package/types/gravionlabs-helix-core-icons-exclamationtriangle.d.ts +8 -11
  529. package/types/gravionlabs-helix-core-icons-eye.d.ts +6 -9
  530. package/types/gravionlabs-helix-core-icons-eyeslash.d.ts +8 -11
  531. package/types/gravionlabs-helix-core-icons-filter.d.ts +8 -11
  532. package/types/gravionlabs-helix-core-icons-filterfill.d.ts +6 -9
  533. package/types/gravionlabs-helix-core-icons-filterslash.d.ts +8 -11
  534. package/types/gravionlabs-helix-core-icons-home.d.ts +8 -11
  535. package/types/gravionlabs-helix-core-icons-infocircle.d.ts +8 -11
  536. package/types/gravionlabs-helix-core-icons-minus.d.ts +6 -9
  537. package/types/gravionlabs-helix-core-icons-pencil.d.ts +8 -11
  538. package/types/gravionlabs-helix-core-icons-plus.d.ts +8 -11
  539. package/types/gravionlabs-helix-core-icons-refresh.d.ts +8 -11
  540. package/types/gravionlabs-helix-core-icons-search.d.ts +8 -11
  541. package/types/gravionlabs-helix-core-icons-searchminus.d.ts +8 -11
  542. package/types/gravionlabs-helix-core-icons-searchplus.d.ts +8 -11
  543. package/types/gravionlabs-helix-core-icons-sortalt.d.ts +8 -11
  544. package/types/gravionlabs-helix-core-icons-sortamountdown.d.ts +8 -11
  545. package/types/gravionlabs-helix-core-icons-sortamountupalt.d.ts +8 -11
  546. package/types/gravionlabs-helix-core-icons-spinner.d.ts +8 -11
  547. package/types/gravionlabs-helix-core-icons-star.d.ts +8 -11
  548. package/types/gravionlabs-helix-core-icons-starfill.d.ts +8 -11
  549. package/types/gravionlabs-helix-core-icons-thlarge.d.ts +8 -11
  550. package/types/gravionlabs-helix-core-icons-times.d.ts +6 -9
  551. package/types/gravionlabs-helix-core-icons-timescircle.d.ts +8 -11
  552. package/types/gravionlabs-helix-core-icons-trash.d.ts +8 -11
  553. package/types/gravionlabs-helix-core-icons-undo.d.ts +8 -11
  554. package/types/gravionlabs-helix-core-icons-upload.d.ts +8 -11
  555. package/types/gravionlabs-helix-core-icons-windowmaximize.d.ts +8 -11
  556. package/types/gravionlabs-helix-core-icons-windowminimize.d.ts +8 -11
  557. package/types/gravionlabs-helix-core-icons.d.ts +53 -53
  558. package/types/gravionlabs-helix-core-iftalabel.d.ts +42 -43
  559. package/types/gravionlabs-helix-core-image.d.ts +440 -331
  560. package/types/gravionlabs-helix-core-imagecompare.d.ts +99 -84
  561. package/types/gravionlabs-helix-core-inplace.d.ts +188 -149
  562. package/types/gravionlabs-helix-core-inputgroup.d.ts +55 -50
  563. package/types/gravionlabs-helix-core-inputgroupaddon.d.ts +54 -43
  564. package/types/gravionlabs-helix-core-inputicon.d.ts +49 -38
  565. package/types/gravionlabs-helix-core-inputmask.d.ts +499 -353
  566. package/types/gravionlabs-helix-core-inputnumber.d.ts +581 -410
  567. package/types/gravionlabs-helix-core-inputotp.d.ts +206 -158
  568. package/types/gravionlabs-helix-core-inputtext.d.ts +142 -102
  569. package/types/gravionlabs-helix-core-keyfilter.d.ts +62 -53
  570. package/types/gravionlabs-helix-core-knob.d.ts +265 -188
  571. package/types/gravionlabs-helix-core-listbox.d.ts +897 -638
  572. package/types/gravionlabs-helix-core-megamenu.d.ts +512 -365
  573. package/types/gravionlabs-helix-core-menu.d.ts +441 -343
  574. package/types/gravionlabs-helix-core-menubar.d.ts +499 -361
  575. package/types/gravionlabs-helix-core-message.d.ts +267 -195
  576. package/types/gravionlabs-helix-core-metergroup.d.ts +256 -190
  577. package/types/gravionlabs-helix-core-motion.d.ts +602 -385
  578. package/types/gravionlabs-helix-core-multiselect.d.ts +1256 -855
  579. package/types/gravionlabs-helix-core-orderlist.d.ts +504 -351
  580. package/types/gravionlabs-helix-core-organizationchart.d.ts +264 -203
  581. package/types/gravionlabs-helix-core-overlay.d.ts +417 -307
  582. package/types/gravionlabs-helix-core-overlaybadge.d.ts +107 -71
  583. package/types/gravionlabs-helix-core-paginator.d.ts +445 -336
  584. package/types/gravionlabs-helix-core-panel.d.ts +285 -225
  585. package/types/gravionlabs-helix-core-panelmenu.d.ts +499 -340
  586. package/types/gravionlabs-helix-core-passthrough.d.ts +5 -7
  587. package/types/gravionlabs-helix-core-password.d.ts +657 -463
  588. package/types/gravionlabs-helix-core-picklist.d.ts +938 -647
  589. package/types/gravionlabs-helix-core-popover.d.ts +259 -190
  590. package/types/gravionlabs-helix-core-progressbar.d.ts +141 -106
  591. package/types/gravionlabs-helix-core-progressspinner.d.ts +101 -76
  592. package/types/gravionlabs-helix-core-radiobutton.d.ts +228 -174
  593. package/types/gravionlabs-helix-core-rating.d.ts +217 -178
  594. package/types/gravionlabs-helix-core-ripple.d.ts +43 -48
  595. package/types/gravionlabs-helix-core-scroller.d.ts +505 -371
  596. package/types/gravionlabs-helix-core-scrollpanel.d.ts +151 -141
  597. package/types/gravionlabs-helix-core-scrolltop.d.ts +195 -140
  598. package/types/gravionlabs-helix-core-select.d.ts +1095 -749
  599. package/types/gravionlabs-helix-core-selectbutton.d.ts +238 -165
  600. package/types/gravionlabs-helix-core-skeleton.d.ts +123 -88
  601. package/types/gravionlabs-helix-core-slider.d.ts +259 -201
  602. package/types/gravionlabs-helix-core-speeddial.d.ts +511 -390
  603. package/types/gravionlabs-helix-core-splitbutton.d.ts +422 -267
  604. package/types/gravionlabs-helix-core-splitter.d.ts +246 -192
  605. package/types/gravionlabs-helix-core-stepper.d.ts +428 -269
  606. package/types/gravionlabs-helix-core-steps.d.ts +162 -134
  607. package/types/gravionlabs-helix-core-styleclass.d.ts +165 -107
  608. package/types/gravionlabs-helix-core-table.d.ts +2908 -1935
  609. package/types/gravionlabs-helix-core-tabs.d.ts +471 -311
  610. package/types/gravionlabs-helix-core-tag.d.ts +123 -98
  611. package/types/gravionlabs-helix-core-terminal.d.ts +142 -124
  612. package/types/gravionlabs-helix-core-textarea.d.ts +147 -110
  613. package/types/gravionlabs-helix-core-themes-aura.d.ts +957 -942
  614. package/types/gravionlabs-helix-core-themes-lara.d.ts +968 -953
  615. package/types/gravionlabs-helix-core-themes-nora.d.ts +954 -939
  616. package/types/gravionlabs-helix-core-themes-types.d.ts +17940 -18746
  617. package/types/gravionlabs-helix-core-themes.d.ts +8 -11
  618. package/types/gravionlabs-helix-core-tieredmenu.d.ts +583 -398
  619. package/types/gravionlabs-helix-core-timeline.d.ts +145 -125
  620. package/types/gravionlabs-helix-core-toast.d.ts +408 -275
  621. package/types/gravionlabs-helix-core-togglebutton.d.ts +264 -188
  622. package/types/gravionlabs-helix-core-toggleswitch.d.ts +202 -150
  623. package/types/gravionlabs-helix-core-toolbar.d.ts +100 -90
  624. package/types/gravionlabs-helix-core-tooltip.d.ts +362 -256
  625. package/types/gravionlabs-helix-core-tree.d.ts +902 -630
  626. package/types/gravionlabs-helix-core-treeselect.d.ts +770 -559
  627. package/types/gravionlabs-helix-core-treetable.d.ts +1715 -1205
  628. package/types/gravionlabs-helix-core-ts-helpers.d.ts +4 -6
  629. package/types/gravionlabs-helix-core-types-accordion.d.ts +42 -45
  630. package/types/gravionlabs-helix-core-types-autocomplete.d.ts +230 -233
  631. package/types/gravionlabs-helix-core-types-avatar.d.ts +23 -26
  632. package/types/gravionlabs-helix-core-types-avatargroup.d.ts +11 -14
  633. package/types/gravionlabs-helix-core-types-badge.d.ts +11 -14
  634. package/types/gravionlabs-helix-core-types-blockui.d.ts +18 -21
  635. package/types/gravionlabs-helix-core-types-breadcrumb.d.ts +65 -68
  636. package/types/gravionlabs-helix-core-types-button.d.ts +90 -93
  637. package/types/gravionlabs-helix-core-types-card.d.ts +54 -57
  638. package/types/gravionlabs-helix-core-types-carousel.d.ts +107 -110
  639. package/types/gravionlabs-helix-core-types-cascadeselect.d.ts +151 -157
  640. package/types/gravionlabs-helix-core-types-chart.d.ts +15 -18
  641. package/types/gravionlabs-helix-core-types-checkbox.d.ts +48 -51
  642. package/types/gravionlabs-helix-core-types-chip.d.ts +49 -52
  643. package/types/gravionlabs-helix-core-types-colorpicker.d.ts +58 -61
  644. package/types/gravionlabs-helix-core-types-confirmdialog.d.ts +116 -119
  645. package/types/gravionlabs-helix-core-types-confirmpopup.d.ts +74 -77
  646. package/types/gravionlabs-helix-core-types-contextmenu.d.ts +71 -74
  647. package/types/gravionlabs-helix-core-types-dataview.d.ts +178 -181
  648. package/types/gravionlabs-helix-core-types-datepicker.d.ts +436 -439
  649. package/types/gravionlabs-helix-core-types-dialog.d.ts +86 -89
  650. package/types/gravionlabs-helix-core-types-divider.d.ts +11 -14
  651. package/types/gravionlabs-helix-core-types-dock.d.ts +44 -47
  652. package/types/gravionlabs-helix-core-types-drawer.d.ts +61 -64
  653. package/types/gravionlabs-helix-core-types-editor.d.ts +143 -146
  654. package/types/gravionlabs-helix-core-types-fieldset.d.ts +69 -73
  655. package/types/gravionlabs-helix-core-types-fileupload.d.ts +260 -265
  656. package/types/gravionlabs-helix-core-types-floatlabel.d.ts +11 -14
  657. package/types/gravionlabs-helix-core-types-fluid.d.ts +11 -14
  658. package/types/gravionlabs-helix-core-types-galleria.d.ts +204 -207
  659. package/types/gravionlabs-helix-core-types-iconfield.d.ts +11 -14
  660. package/types/gravionlabs-helix-core-types-iftalabel.d.ts +11 -14
  661. package/types/gravionlabs-helix-core-types-image.d.ts +113 -116
  662. package/types/gravionlabs-helix-core-types-imagecompare.d.ts +22 -25
  663. package/types/gravionlabs-helix-core-types-inplace.d.ts +46 -49
  664. package/types/gravionlabs-helix-core-types-inputgroup.d.ts +11 -14
  665. package/types/gravionlabs-helix-core-types-inputgroupaddon.d.ts +11 -14
  666. package/types/gravionlabs-helix-core-types-inputicon.d.ts +11 -14
  667. package/types/gravionlabs-helix-core-types-inputmask.d.ts +30 -33
  668. package/types/gravionlabs-helix-core-types-inputnumber.d.ts +68 -71
  669. package/types/gravionlabs-helix-core-types-inputotp.d.ts +67 -70
  670. package/types/gravionlabs-helix-core-types-inputtext.d.ts +7 -10
  671. package/types/gravionlabs-helix-core-types-knob.d.ts +23 -26
  672. package/types/gravionlabs-helix-core-types-listbox.d.ts +262 -266
  673. package/types/gravionlabs-helix-core-types-megamenu.d.ts +112 -115
  674. package/types/gravionlabs-helix-core-types-menu.d.ts +83 -86
  675. package/types/gravionlabs-helix-core-types-menubar.d.ts +98 -101
  676. package/types/gravionlabs-helix-core-types-message.d.ts +61 -64
  677. package/types/gravionlabs-helix-core-types-metergroup.d.ts +135 -138
  678. package/types/gravionlabs-helix-core-types-motion.d.ts +11 -14
  679. package/types/gravionlabs-helix-core-types-multiselect.d.ts +302 -306
  680. package/types/gravionlabs-helix-core-types-orderlist.d.ts +125 -128
  681. package/types/gravionlabs-helix-core-types-organizationchart.d.ts +90 -96
  682. package/types/gravionlabs-helix-core-types-overlay.d.ts +31 -34
  683. package/types/gravionlabs-helix-core-types-overlaybadge.d.ts +17 -20
  684. package/types/gravionlabs-helix-core-types-paginator.d.ts +131 -134
  685. package/types/gravionlabs-helix-core-types-panel.d.ts +89 -93
  686. package/types/gravionlabs-helix-core-types-panelmenu.d.ts +105 -108
  687. package/types/gravionlabs-helix-core-types-password.d.ts +94 -97
  688. package/types/gravionlabs-helix-core-types-picklist.d.ts +240 -250
  689. package/types/gravionlabs-helix-core-types-popover.d.ts +33 -36
  690. package/types/gravionlabs-helix-core-types-progressbar.d.ts +32 -35
  691. package/types/gravionlabs-helix-core-types-progressspinner.d.ts +19 -22
  692. package/types/gravionlabs-helix-core-types-radiobutton.d.ts +29 -32
  693. package/types/gravionlabs-helix-core-types-rating.d.ts +62 -65
  694. package/types/gravionlabs-helix-core-types-scroller.d.ts +142 -146
  695. package/types/gravionlabs-helix-core-types-scrollpanel.d.ts +30 -33
  696. package/types/gravionlabs-helix-core-types-scrolltop.d.ts +35 -38
  697. package/types/gravionlabs-helix-core-types-select.d.ts +245 -248
  698. package/types/gravionlabs-helix-core-types-selectbutton.d.ts +56 -59
  699. package/types/gravionlabs-helix-core-types-skeleton.d.ts +11 -14
  700. package/types/gravionlabs-helix-core-types-slider.d.ts +50 -53
  701. package/types/gravionlabs-helix-core-types-speeddial.d.ts +69 -72
  702. package/types/gravionlabs-helix-core-types-splitbutton.d.ts +41 -44
  703. package/types/gravionlabs-helix-core-types-splitter.d.ts +36 -40
  704. package/types/gravionlabs-helix-core-types-stepper.d.ts +68 -71
  705. package/types/gravionlabs-helix-core-types-table.d.ts +721 -727
  706. package/types/gravionlabs-helix-core-types-tabs.d.ts +51 -54
  707. package/types/gravionlabs-helix-core-types-tag.d.ts +26 -29
  708. package/types/gravionlabs-helix-core-types-terminal.d.ts +43 -46
  709. package/types/gravionlabs-helix-core-types-textarea.d.ts +11 -14
  710. package/types/gravionlabs-helix-core-types-tieredmenu.d.ts +69 -72
  711. package/types/gravionlabs-helix-core-types-timeline.d.ts +58 -61
  712. package/types/gravionlabs-helix-core-types-toast.d.ts +86 -89
  713. package/types/gravionlabs-helix-core-types-togglebutton.d.ts +51 -54
  714. package/types/gravionlabs-helix-core-types-toggleswitch.d.ts +41 -44
  715. package/types/gravionlabs-helix-core-types-toolbar.d.ts +34 -37
  716. package/types/gravionlabs-helix-core-types-tooltip.d.ts +15 -18
  717. package/types/gravionlabs-helix-core-types-tree.d.ts +230 -239
  718. package/types/gravionlabs-helix-core-types-treeselect.d.ts +195 -199
  719. package/types/gravionlabs-helix-core-types-treetable.d.ts +486 -491
  720. package/types/gravionlabs-helix-core-uix-motion.d.ts +177 -190
  721. package/types/gravionlabs-helix-core-uix-styled.d.ts +254 -277
  722. package/types/gravionlabs-helix-core-uix-utils.d.ts +39 -176
  723. package/types/gravionlabs-helix-core-usestyle.d.ts +12 -15
  724. package/types/gravionlabs-helix-core-utils.d.ts +45 -50
  725. package/types/gravionlabs-helix-core-validators.d.ts +29 -34
  726. package/types/gravionlabs-helix-core.d.ts +2 -2
  727. package/fesm2022/gravionlabs-helix-core-icons.mjs.map +0 -1
  728. package/fesm2022/gravionlabs-helix-core-themes-types.mjs.map +0 -1
  729. package/fesm2022/gravionlabs-helix-core-ts-helpers.mjs.map +0 -1
  730. package/fesm2022/gravionlabs-helix-core-types-accordion.mjs.map +0 -1
  731. package/fesm2022/gravionlabs-helix-core-types-autocomplete.mjs.map +0 -1
  732. package/fesm2022/gravionlabs-helix-core-types-avatar.mjs.map +0 -1
  733. package/fesm2022/gravionlabs-helix-core-types-avatargroup.mjs.map +0 -1
  734. package/fesm2022/gravionlabs-helix-core-types-badge.mjs.map +0 -1
  735. package/fesm2022/gravionlabs-helix-core-types-blockui.mjs.map +0 -1
  736. package/fesm2022/gravionlabs-helix-core-types-breadcrumb.mjs.map +0 -1
  737. package/fesm2022/gravionlabs-helix-core-types-button.mjs.map +0 -1
  738. package/fesm2022/gravionlabs-helix-core-types-card.mjs.map +0 -1
  739. package/fesm2022/gravionlabs-helix-core-types-carousel.mjs.map +0 -1
  740. package/fesm2022/gravionlabs-helix-core-types-cascadeselect.mjs.map +0 -1
  741. package/fesm2022/gravionlabs-helix-core-types-chart.mjs.map +0 -1
  742. package/fesm2022/gravionlabs-helix-core-types-checkbox.mjs.map +0 -1
  743. package/fesm2022/gravionlabs-helix-core-types-chip.mjs.map +0 -1
  744. package/fesm2022/gravionlabs-helix-core-types-colorpicker.mjs.map +0 -1
  745. package/fesm2022/gravionlabs-helix-core-types-confirmdialog.mjs.map +0 -1
  746. package/fesm2022/gravionlabs-helix-core-types-confirmpopup.mjs.map +0 -1
  747. package/fesm2022/gravionlabs-helix-core-types-contextmenu.mjs.map +0 -1
  748. package/fesm2022/gravionlabs-helix-core-types-dataview.mjs.map +0 -1
  749. package/fesm2022/gravionlabs-helix-core-types-datepicker.mjs.map +0 -1
  750. package/fesm2022/gravionlabs-helix-core-types-dialog.mjs.map +0 -1
  751. package/fesm2022/gravionlabs-helix-core-types-divider.mjs.map +0 -1
  752. package/fesm2022/gravionlabs-helix-core-types-dock.mjs.map +0 -1
  753. package/fesm2022/gravionlabs-helix-core-types-drawer.mjs.map +0 -1
  754. package/fesm2022/gravionlabs-helix-core-types-editor.mjs.map +0 -1
  755. package/fesm2022/gravionlabs-helix-core-types-fieldset.mjs.map +0 -1
  756. package/fesm2022/gravionlabs-helix-core-types-fileupload.mjs.map +0 -1
  757. package/fesm2022/gravionlabs-helix-core-types-floatlabel.mjs.map +0 -1
  758. package/fesm2022/gravionlabs-helix-core-types-fluid.mjs.map +0 -1
  759. package/fesm2022/gravionlabs-helix-core-types-galleria.mjs.map +0 -1
  760. package/fesm2022/gravionlabs-helix-core-types-iconfield.mjs.map +0 -1
  761. package/fesm2022/gravionlabs-helix-core-types-iftalabel.mjs.map +0 -1
  762. package/fesm2022/gravionlabs-helix-core-types-image.mjs.map +0 -1
  763. package/fesm2022/gravionlabs-helix-core-types-imagecompare.mjs.map +0 -1
  764. package/fesm2022/gravionlabs-helix-core-types-inplace.mjs.map +0 -1
  765. package/fesm2022/gravionlabs-helix-core-types-inputgroup.mjs.map +0 -1
  766. package/fesm2022/gravionlabs-helix-core-types-inputgroupaddon.mjs.map +0 -1
  767. package/fesm2022/gravionlabs-helix-core-types-inputicon.mjs.map +0 -1
  768. package/fesm2022/gravionlabs-helix-core-types-inputmask.mjs.map +0 -1
  769. package/fesm2022/gravionlabs-helix-core-types-inputnumber.mjs.map +0 -1
  770. package/fesm2022/gravionlabs-helix-core-types-inputotp.mjs.map +0 -1
  771. package/fesm2022/gravionlabs-helix-core-types-inputtext.mjs.map +0 -1
  772. package/fesm2022/gravionlabs-helix-core-types-knob.mjs.map +0 -1
  773. package/fesm2022/gravionlabs-helix-core-types-listbox.mjs.map +0 -1
  774. package/fesm2022/gravionlabs-helix-core-types-megamenu.mjs.map +0 -1
  775. package/fesm2022/gravionlabs-helix-core-types-menu.mjs.map +0 -1
  776. package/fesm2022/gravionlabs-helix-core-types-menubar.mjs.map +0 -1
  777. package/fesm2022/gravionlabs-helix-core-types-message.mjs.map +0 -1
  778. package/fesm2022/gravionlabs-helix-core-types-metergroup.mjs.map +0 -1
  779. package/fesm2022/gravionlabs-helix-core-types-motion.mjs.map +0 -1
  780. package/fesm2022/gravionlabs-helix-core-types-multiselect.mjs.map +0 -1
  781. package/fesm2022/gravionlabs-helix-core-types-orderlist.mjs.map +0 -1
  782. package/fesm2022/gravionlabs-helix-core-types-organizationchart.mjs.map +0 -1
  783. package/fesm2022/gravionlabs-helix-core-types-overlay.mjs.map +0 -1
  784. package/fesm2022/gravionlabs-helix-core-types-overlaybadge.mjs.map +0 -1
  785. package/fesm2022/gravionlabs-helix-core-types-paginator.mjs.map +0 -1
  786. package/fesm2022/gravionlabs-helix-core-types-panel.mjs.map +0 -1
  787. package/fesm2022/gravionlabs-helix-core-types-panelmenu.mjs.map +0 -1
  788. package/fesm2022/gravionlabs-helix-core-types-password.mjs.map +0 -1
  789. package/fesm2022/gravionlabs-helix-core-types-picklist.mjs.map +0 -1
  790. package/fesm2022/gravionlabs-helix-core-types-popover.mjs.map +0 -1
  791. package/fesm2022/gravionlabs-helix-core-types-progressbar.mjs.map +0 -1
  792. package/fesm2022/gravionlabs-helix-core-types-progressspinner.mjs.map +0 -1
  793. package/fesm2022/gravionlabs-helix-core-types-radiobutton.mjs.map +0 -1
  794. package/fesm2022/gravionlabs-helix-core-types-rating.mjs.map +0 -1
  795. package/fesm2022/gravionlabs-helix-core-types-scroller.mjs.map +0 -1
  796. package/fesm2022/gravionlabs-helix-core-types-scrollpanel.mjs.map +0 -1
  797. package/fesm2022/gravionlabs-helix-core-types-scrolltop.mjs.map +0 -1
  798. package/fesm2022/gravionlabs-helix-core-types-select.mjs.map +0 -1
  799. package/fesm2022/gravionlabs-helix-core-types-selectbutton.mjs.map +0 -1
  800. package/fesm2022/gravionlabs-helix-core-types-skeleton.mjs.map +0 -1
  801. package/fesm2022/gravionlabs-helix-core-types-slider.mjs.map +0 -1
  802. package/fesm2022/gravionlabs-helix-core-types-speeddial.mjs.map +0 -1
  803. package/fesm2022/gravionlabs-helix-core-types-splitbutton.mjs.map +0 -1
  804. package/fesm2022/gravionlabs-helix-core-types-splitter.mjs.map +0 -1
  805. package/fesm2022/gravionlabs-helix-core-types-stepper.mjs.map +0 -1
  806. package/fesm2022/gravionlabs-helix-core-types-table.mjs.map +0 -1
  807. package/fesm2022/gravionlabs-helix-core-types-tabs.mjs.map +0 -1
  808. package/fesm2022/gravionlabs-helix-core-types-tag.mjs.map +0 -1
  809. package/fesm2022/gravionlabs-helix-core-types-terminal.mjs.map +0 -1
  810. package/fesm2022/gravionlabs-helix-core-types-textarea.mjs.map +0 -1
  811. package/fesm2022/gravionlabs-helix-core-types-tieredmenu.mjs.map +0 -1
  812. package/fesm2022/gravionlabs-helix-core-types-timeline.mjs.map +0 -1
  813. package/fesm2022/gravionlabs-helix-core-types-toast.mjs.map +0 -1
  814. package/fesm2022/gravionlabs-helix-core-types-togglebutton.mjs.map +0 -1
  815. package/fesm2022/gravionlabs-helix-core-types-toggleswitch.mjs.map +0 -1
  816. package/fesm2022/gravionlabs-helix-core-types-toolbar.mjs.map +0 -1
  817. package/fesm2022/gravionlabs-helix-core-types-tooltip.mjs.map +0 -1
  818. package/fesm2022/gravionlabs-helix-core-types-tree.mjs.map +0 -1
  819. package/fesm2022/gravionlabs-helix-core-types-treeselect.mjs.map +0 -1
  820. package/fesm2022/gravionlabs-helix-core-types-treetable.mjs.map +0 -1
@@ -1,25 +1,24 @@
1
- export * from '@gravionlabs/helix-core/types/megamenu';
2
- import * as i2 from '@angular/common';
3
- import { CommonModule, isPlatformBrowser } from '@angular/common';
4
- import * as i0 from '@angular/core';
5
- import { Injectable, InjectionToken, inject, input, numberAttribute, booleanAttribute, output, forwardRef, ChangeDetectionStrategy, ViewEncapsulation, Component, computed, contentChild, contentChildren, viewChild, signal, effect, NgModule } from '@angular/core';
6
- import * as i3 from '@angular/router';
7
- import { RouterModule } from '@angular/router';
8
- import { resolve, isNotEmpty, uuid, isEmpty, focus, findSingle, isPrintableCharacter, findLastIndex, isTouchDevice } from '@gravionlabs/helix-core/uix/utils';
9
- import { SharedModule, HelixTemplate } from '@gravionlabs/helix-core/api';
10
- import * as i5 from '@gravionlabs/helix-core/badge';
11
- import { BadgeModule } from '@gravionlabs/helix-core/badge';
12
- import { BaseComponent, PARENT_INSTANCE } from '@gravionlabs/helix-core/basecomponent';
13
- import * as i1 from '@gravionlabs/helix-core/bind';
14
- import { Bind } from '@gravionlabs/helix-core/bind';
15
- import { AngleDownIcon, AngleRightIcon, BarsIcon } from '@gravionlabs/helix-core/icons';
16
- import { Ripple } from '@gravionlabs/helix-core/ripple';
17
- import * as i4 from '@gravionlabs/helix-core/tooltip';
18
- import { TooltipModule } from '@gravionlabs/helix-core/tooltip';
19
- import { ZIndexUtils } from '@gravionlabs/helix-core/utils';
20
- import { BaseStyle } from '@gravionlabs/helix-core/base';
21
-
22
- const style = /*css*/ `
1
+ import * as i2 from "@angular/common";
2
+ import { CommonModule, isPlatformBrowser } from "@angular/common";
3
+ import * as i0 from "@angular/core";
4
+ import { ChangeDetectionStrategy, Component, Injectable, InjectionToken, NgModule, ViewEncapsulation, booleanAttribute, computed, contentChild, contentChildren, effect, forwardRef, inject, input, numberAttribute, output, signal, viewChild } from "@angular/core";
5
+ import * as i3 from "@angular/router";
6
+ import { RouterModule } from "@angular/router";
7
+ import { findLastIndex, findSingle, focus, isEmpty, isNotEmpty, isPrintableCharacter, isTouchDevice, resolve, uuid } from "@gravionlabs/helix-core/uix/utils";
8
+ import { HelixTemplate, SharedModule } from "@gravionlabs/helix-core/api";
9
+ import * as i5 from "@gravionlabs/helix-core/badge";
10
+ import { BadgeModule } from "@gravionlabs/helix-core/badge";
11
+ import { BaseComponent, PARENT_INSTANCE } from "@gravionlabs/helix-core/basecomponent";
12
+ import * as i1 from "@gravionlabs/helix-core/bind";
13
+ import { Bind } from "@gravionlabs/helix-core/bind";
14
+ import { AngleDownIcon, AngleRightIcon, BarsIcon } from "@gravionlabs/helix-core/icons";
15
+ import { Ripple } from "@gravionlabs/helix-core/ripple";
16
+ import * as i4 from "@gravionlabs/helix-core/tooltip";
17
+ import { TooltipModule } from "@gravionlabs/helix-core/tooltip";
18
+ import { ZIndexUtils } from "@gravionlabs/helix-core/utils";
19
+ import { BaseStyle } from "@gravionlabs/helix-core/base";
20
+ export * from "@gravionlabs/helix-core/types/megamenu";
21
+ const style = `
23
22
  .h-megamenu {
24
23
  position: relative;
25
24
  display: flex;
@@ -361,1038 +360,1900 @@ const style = /*css*/ `
361
360
  transform: rotate(-180deg);
362
361
  }
363
362
  `;
364
-
365
- const inlineStyles = {
366
- rootList: ({ instance }) => ({ 'max-height': instance.scrollHeight(), overflow: 'auto' })
367
- };
363
+ const inlineStyles = { rootList: ({ instance }) => ({
364
+ "max-height": instance.scrollHeight(),
365
+ overflow: "auto"
366
+ }) };
368
367
  const classes = {
369
- root: ({ instance }) => [
370
- 'h-megamenu h-component',
371
- {
372
- 'h-megamenu-mobile': instance.queryMatches(),
373
- 'h-megamenu-mobile-active': instance.mobileActive,
374
- 'h-megamenu-horizontal': instance.orientation() === 'horizontal',
375
- 'h-megamenu-vertical': instance.orientation() === 'vertical'
376
- }
377
- ],
378
- start: 'h-megamenu-start',
379
- button: 'h-megamenu-button',
380
- rootList: 'h-megamenu-root-list',
381
- submenuLabel: ({ instance, processedItem }) => [
382
- 'h-megamenu-submenu-label',
383
- {
384
- 'h-disabled': instance.isItemDisabled(processedItem)
385
- }
386
- ],
387
- item: ({ instance, processedItem }) => [
388
- 'h-megamenu-item',
389
- instance.getItemProp(processedItem, 'styleClass'),
390
- instance.getItemProp(processedItem, 'class'),
391
- {
392
- 'h-megamenu-item-active': instance.isItemActive(processedItem),
393
- 'h-focus': instance.isItemFocused(processedItem),
394
- 'h-disabled': instance.isItemDisabled(processedItem)
395
- }
396
- ],
397
- itemContent: 'h-megamenu-item-content',
398
- itemLink: 'h-megamenu-item-link',
399
- itemIcon: 'h-megamenu-item-icon',
400
- itemLabel: 'h-megamenu-item-label',
401
- submenuIcon: 'h-megamenu-submenu-icon',
402
- overlay: 'h-megamenu-overlay',
403
- grid: 'h-megamenu-grid',
404
- column: ({ instance, processedItem }) => {
405
- let length = instance.isItemGroup(processedItem) ? processedItem.items.length : 0;
406
- let columnClass;
407
- if (instance.megaMenu.queryMatches())
408
- columnClass = 'h-megamenu-col-12';
409
- else {
410
- switch (length) {
411
- case 2:
412
- columnClass = 'h-megamenu-col-6';
413
- break;
414
- case 3:
415
- columnClass = 'h-megamenu-col-4';
416
- break;
417
- case 4:
418
- columnClass = 'h-megamenu-col-3';
419
- break;
420
- case 6:
421
- columnClass = 'h-megamenu-col-2';
422
- break;
423
- default:
424
- columnClass = 'h-megamenu-col-12';
425
- break;
426
- }
427
- }
428
- return columnClass;
429
- },
430
- submenu: 'h-megamenu-submenu',
431
- separator: 'h-megamenu-separator',
432
- end: 'h-megamenu-end'
368
+ root: ({ instance }) => ["h-megamenu h-component", {
369
+ "h-megamenu-mobile": instance.queryMatches(),
370
+ "h-megamenu-mobile-active": instance.mobileActive,
371
+ "h-megamenu-horizontal": instance.orientation() === "horizontal",
372
+ "h-megamenu-vertical": instance.orientation() === "vertical"
373
+ }],
374
+ start: "h-megamenu-start",
375
+ button: "h-megamenu-button",
376
+ rootList: "h-megamenu-root-list",
377
+ submenuLabel: ({ instance, processedItem }) => ["h-megamenu-submenu-label", { "h-disabled": instance.isItemDisabled(processedItem) }],
378
+ item: ({ instance, processedItem }) => [
379
+ "h-megamenu-item",
380
+ instance.getItemProp(processedItem, "styleClass"),
381
+ instance.getItemProp(processedItem, "class"),
382
+ {
383
+ "h-megamenu-item-active": instance.isItemActive(processedItem),
384
+ "h-focus": instance.isItemFocused(processedItem),
385
+ "h-disabled": instance.isItemDisabled(processedItem)
386
+ }
387
+ ],
388
+ itemContent: "h-megamenu-item-content",
389
+ itemLink: "h-megamenu-item-link",
390
+ itemIcon: "h-megamenu-item-icon",
391
+ itemLabel: "h-megamenu-item-label",
392
+ submenuIcon: "h-megamenu-submenu-icon",
393
+ overlay: "h-megamenu-overlay",
394
+ grid: "h-megamenu-grid",
395
+ column: ({ instance, processedItem }) => {
396
+ let length = instance.isItemGroup(processedItem) ? processedItem.items.length : 0;
397
+ let columnClass;
398
+ if (instance.megaMenu.queryMatches()) columnClass = "h-megamenu-col-12";
399
+ else switch (length) {
400
+ case 2:
401
+ columnClass = "h-megamenu-col-6";
402
+ break;
403
+ case 3:
404
+ columnClass = "h-megamenu-col-4";
405
+ break;
406
+ case 4:
407
+ columnClass = "h-megamenu-col-3";
408
+ break;
409
+ case 6:
410
+ columnClass = "h-megamenu-col-2";
411
+ break;
412
+ default:
413
+ columnClass = "h-megamenu-col-12";
414
+ break;
415
+ }
416
+ return columnClass;
417
+ },
418
+ submenu: "h-megamenu-submenu",
419
+ separator: "h-megamenu-separator",
420
+ end: "h-megamenu-end"
433
421
  };
434
- class MegaMenuStyle extends BaseStyle {
435
- name = 'megamenu';
436
- style = style;
437
- classes = classes;
438
- inlineStyles = inlineStyles;
439
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: MegaMenuStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
440
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: MegaMenuStyle });
441
- }
442
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: MegaMenuStyle, decorators: [{
443
- type: Injectable
444
- }] });
445
- /**
446
- *
447
- * MegaMenu is navigation component that displays submenus together.
448
- *
449
- * [Live Demo](https://www.primeng.org/megamenu/)
450
- *
451
- * @module megamenustyle
452
- *
453
- */
422
+ var MegaMenuStyle = class MegaMenuStyle extends BaseStyle {
423
+ name = "megamenu";
424
+ style = style;
425
+ classes = classes;
426
+ inlineStyles = inlineStyles;
427
+ static ɵfac = i0.ɵɵngDeclareFactory({
428
+ minVersion: "12.0.0",
429
+ version: "22.2.1",
430
+ ngImport: i0,
431
+ type: MegaMenuStyle,
432
+ deps: null,
433
+ target: i0.ɵɵFactoryTarget.Injectable
434
+ });
435
+ static ɵprov = i0.ɵɵngDeclareInjectable({
436
+ minVersion: "12.0.0",
437
+ version: "22.2.1",
438
+ ngImport: i0,
439
+ type: MegaMenuStyle
440
+ });
441
+ };
442
+ i0.ɵɵngDeclareClassMetadata({
443
+ minVersion: "12.0.0",
444
+ version: "22.2.1",
445
+ ngImport: i0,
446
+ type: MegaMenuStyle,
447
+ decorators: [{ type: Injectable }]
448
+ });
454
449
  var MegaMenuClasses;
455
- (function (MegaMenuClasses) {
456
- /**
457
- * Class name of the root element
458
- */
459
- MegaMenuClasses["root"] = "h-megamenu";
460
- /**
461
- * Class name of the start element
462
- */
463
- MegaMenuClasses["start"] = "h-megamenu-start";
464
- /**
465
- * Class name of the button element
466
- */
467
- MegaMenuClasses["button"] = "h-megamenu-button";
468
- /**
469
- * Class name of the root list element
470
- */
471
- MegaMenuClasses["rootList"] = "h-megamenu-root-list";
472
- /**
473
- * Class name of the submenu item element
474
- */
475
- MegaMenuClasses["submenuItem"] = "h-megamenu-submenu-item";
476
- /**
477
- * Class name of the item element
478
- */
479
- MegaMenuClasses["item"] = "h-megamenu-item";
480
- /**
481
- * Class name of the item content element
482
- */
483
- MegaMenuClasses["itemContent"] = "h-megamenu-item-content";
484
- /**
485
- * Class name of the item link element
486
- */
487
- MegaMenuClasses["itemLink"] = "h-megamenu-item-link";
488
- /**
489
- * Class name of the item icon element
490
- */
491
- MegaMenuClasses["itemIcon"] = "h-megamenu-item-icon";
492
- /**
493
- * Class name of the item label element
494
- */
495
- MegaMenuClasses["itemLabel"] = "h-megamenu-item-label";
496
- /**
497
- * Class name of the submenu icon element
498
- */
499
- MegaMenuClasses["submenuIcon"] = "h-megamenu-submenu-icon";
500
- /**
501
- * Class name of the panel element
502
- */
503
- MegaMenuClasses["panel"] = "h-megamenu-panel";
504
- /**
505
- * Class name of the grid element
506
- */
507
- MegaMenuClasses["grid"] = "h-megamenu-grid";
508
- /**
509
- * Class name of the submenu element
510
- */
511
- MegaMenuClasses["submenu"] = "h-megamenu-submenu";
512
- /**
513
- * Class name of the submenu item label element
514
- */
515
- MegaMenuClasses["submenuItemLabel"] = "h-megamenu-submenu-item-label";
516
- /**
517
- * Class name of the separator element
518
- */
519
- MegaMenuClasses["separator"] = "h-megamenu-separator";
520
- /**
521
- * Class name of the end element
522
- */
523
- MegaMenuClasses["end"] = "h-megamenu-end";
450
+ (function(MegaMenuClasses) {
451
+ MegaMenuClasses["root"] = "h-megamenu";
452
+ MegaMenuClasses["start"] = "h-megamenu-start";
453
+ MegaMenuClasses["button"] = "h-megamenu-button";
454
+ MegaMenuClasses["rootList"] = "h-megamenu-root-list";
455
+ MegaMenuClasses["submenuItem"] = "h-megamenu-submenu-item";
456
+ MegaMenuClasses["item"] = "h-megamenu-item";
457
+ MegaMenuClasses["itemContent"] = "h-megamenu-item-content";
458
+ MegaMenuClasses["itemLink"] = "h-megamenu-item-link";
459
+ MegaMenuClasses["itemIcon"] = "h-megamenu-item-icon";
460
+ MegaMenuClasses["itemLabel"] = "h-megamenu-item-label";
461
+ MegaMenuClasses["submenuIcon"] = "h-megamenu-submenu-icon";
462
+ MegaMenuClasses["panel"] = "h-megamenu-panel";
463
+ MegaMenuClasses["grid"] = "h-megamenu-grid";
464
+ MegaMenuClasses["submenu"] = "h-megamenu-submenu";
465
+ MegaMenuClasses["submenuItemLabel"] = "h-megamenu-submenu-item-label";
466
+ MegaMenuClasses["separator"] = "h-megamenu-separator";
467
+ MegaMenuClasses["end"] = "h-megamenu-end";
524
468
  })(MegaMenuClasses || (MegaMenuClasses = {}));
525
-
526
- const MEGAMENU_INSTANCE = new InjectionToken('MEGAMENU_INSTANCE');
527
- const MEGAMENU_SUB_INSTANCE = new InjectionToken('MEGAMENU_SUB_INSTANCE');
528
- class MegaMenuSub extends BaseComponent {
529
- bindDirectiveInstance = inject(Bind, { self: true });
530
- $pcMegaMenu = inject(MEGAMENU_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
531
- $pcMegaMenuSub = inject(MEGAMENU_SUB_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
532
- id = input(/* @ts-ignore */
533
- ...(ngDevMode ? [undefined, { debugName: "id" }] : /* istanbul ignore next */ []));
534
- items = input(/* @ts-ignore */
535
- ...(ngDevMode ? [undefined, { debugName: "items" }] : /* istanbul ignore next */ []));
536
- itemTemplate = input(/* @ts-ignore */
537
- ...(ngDevMode ? [undefined, { debugName: "itemTemplate" }] : /* istanbul ignore next */ []));
538
- menuId = input(/* @ts-ignore */
539
- ...(ngDevMode ? [undefined, { debugName: "menuId" }] : /* istanbul ignore next */ []));
540
- ariaLabel = input(/* @ts-ignore */
541
- ...(ngDevMode ? [undefined, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
542
- ariaLabelledBy = input(/* @ts-ignore */
543
- ...(ngDevMode ? [undefined, { debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []));
544
- level = input(0, { ...(ngDevMode ? { debugName: "level" } : /* istanbul ignore next */ {}), transform: numberAttribute });
545
- focusedItemId = input(/* @ts-ignore */
546
- ...(ngDevMode ? [undefined, { debugName: "focusedItemId" }] : /* istanbul ignore next */ []));
547
- disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
548
- orientation = input(/* @ts-ignore */
549
- ...(ngDevMode ? [undefined, { debugName: "orientation" }] : /* istanbul ignore next */ []));
550
- activeItem = input(/* @ts-ignore */
551
- ...(ngDevMode ? [undefined, { debugName: "activeItem" }] : /* istanbul ignore next */ []));
552
- submenu = input(/* @ts-ignore */
553
- ...(ngDevMode ? [undefined, { debugName: "submenu" }] : /* istanbul ignore next */ []));
554
- queryMatches = input(false, { ...(ngDevMode ? { debugName: "queryMatches" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
555
- mobileActive = input(false, { ...(ngDevMode ? { debugName: "mobileActive" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
556
- scrollHeight = input(undefined, /* @ts-ignore */
557
- ...(ngDevMode ? [{ debugName: "scrollHeight" }] : /* istanbul ignore next */ []));
558
- tabindex = input(0, { ...(ngDevMode ? { debugName: "tabindex" } : /* istanbul ignore next */ {}), transform: numberAttribute });
559
- root = input(false, { ...(ngDevMode ? { debugName: "root" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
560
- itemClick = output();
561
- itemMouseEnter = output();
562
- menuFocus = output();
563
- menuBlur = output();
564
- menuKeydown = output();
565
- menuMouseDown = output();
566
- megaMenu = inject(forwardRef(() => MegaMenu));
567
- _componentStyle = inject(MegaMenuStyle);
568
- onAfterViewChecked() {
569
- this.bindDirectiveInstance.setAttrs(this.ptm(this.root() ? 'rootList' : 'submenu'));
570
- }
571
- onItemClick(event, processedItem) {
572
- this.getItemProp(processedItem, 'command', { originalEvent: event, item: processedItem.item });
573
- this.itemClick.emit({ originalEvent: event, processedItem, isFocus: true });
574
- }
575
- getItemProp(processedItem, name, params = null) {
576
- return processedItem && processedItem.item ? resolve(processedItem.item[name], params) : undefined;
577
- }
578
- getItemId(processedItem) {
579
- return processedItem.item && processedItem.item?.id ? processedItem.item.id : `${this.menuId()}_${processedItem.key}`;
580
- }
581
- getSubListId(processedItem) {
582
- return `${this.getItemId(processedItem)}_list`;
583
- }
584
- getItemLabel(processedItem) {
585
- return this.getItemProp(processedItem, 'label');
586
- }
587
- isSubmenuVisible(submenu) {
588
- if (this.submenu() && !this.root()) {
589
- return this.isItemVisible(submenu);
590
- }
591
- else {
592
- return true;
593
- }
594
- }
595
- isItemVisible(processedItem) {
596
- return this.getItemProp(processedItem, 'visible') !== false;
597
- }
598
- isItemActive(processedItem) {
599
- const activeItem = this.activeItem();
600
- return isNotEmpty(activeItem) ? activeItem.key === processedItem.key : false;
601
- }
602
- isItemDisabled(processedItem) {
603
- return this.getItemProp(processedItem, 'disabled');
604
- }
605
- isItemFocused(processedItem) {
606
- return this.focusedItemId() === this.getItemId(processedItem);
607
- }
608
- isItemGroup(processedItem) {
609
- return isNotEmpty(processedItem.items);
610
- }
611
- getAriaSetSize() {
612
- return this.items()?.filter((processedItem) => this.isItemVisible(processedItem) && !this.getItemProp(processedItem, 'separator')).length;
613
- }
614
- getAriaPosInset(index) {
615
- return index - (this.items()?.slice(0, index).filter((processedItem) => this.isItemVisible(processedItem) && this.getItemProp(processedItem, 'separator')).length || 0) + 1;
616
- }
617
- onItemMouseEnter(param) {
618
- const { event, processedItem } = param;
619
- this.itemMouseEnter.emit({ originalEvent: event, processedItem });
620
- }
621
- getPTOptions(processedItem, index, key) {
622
- const ptContext = {
623
- context: {
624
- item: processedItem.item,
625
- index,
626
- active: this.isItemActive(processedItem),
627
- focused: this.isItemFocused(processedItem),
628
- disabled: this.isItemDisabled(processedItem)
629
- }
630
- };
631
- return this.ptm(key, ptContext);
632
- }
633
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: MegaMenuSub, deps: null, target: i0.ɵɵFactoryTarget.Component });
634
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: MegaMenuSub, isStandalone: true, selector: "h-megaMenuSub, h-megamenu-sub, ul[hMegaMenuSub]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, itemTemplate: { classPropertyName: "itemTemplate", publicName: "itemTemplate", isSignal: true, isRequired: false, transformFunction: null }, menuId: { classPropertyName: "menuId", publicName: "menuId", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, level: { classPropertyName: "level", publicName: "level", isSignal: true, isRequired: false, transformFunction: null }, focusedItemId: { classPropertyName: "focusedItemId", publicName: "focusedItemId", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, activeItem: { classPropertyName: "activeItem", publicName: "activeItem", isSignal: true, isRequired: false, transformFunction: null }, submenu: { classPropertyName: "submenu", publicName: "submenu", isSignal: true, isRequired: false, transformFunction: null }, queryMatches: { classPropertyName: "queryMatches", publicName: "queryMatches", isSignal: true, isRequired: false, transformFunction: null }, mobileActive: { classPropertyName: "mobileActive", publicName: "mobileActive", isSignal: true, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, root: { classPropertyName: "root", publicName: "root", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemClick: "itemClick", itemMouseEnter: "itemMouseEnter", menuFocus: "menuFocus", menuBlur: "menuBlur", menuKeydown: "menuKeydown", menuMouseDown: "menuMouseDown" }, host: { listeners: { "keydown": "menuKeydown.emit($event)", "focus": "menuFocus.emit($event)", "blur": "menuBlur.emit($event)", "mousedown": "menuMouseDown.emit($event)" }, properties: { "class": "root() ? cx(\"rootList\") : cx(\"submenu\")", "style": "sx(\"rootList\")", "style.display": "isSubmenuVisible(submenu) ? null : \"none\"", "attr.role": "root() ? \"menubar\" : \"menu\"", "attr.id": "id()", "attr.aria-orientation": "orientation()", "tabindex": "tabindex()", "attr.aria-activedescendant": "focusedItemId()", "attr.data-pc-section": "root() ? \"rootlist\" : \"submenu\"" } }, providers: [
635
- { provide: MEGAMENU_SUB_INSTANCE, useExisting: MegaMenuSub },
636
- { provide: PARENT_INSTANCE, useExisting: MegaMenuSub }
637
- ], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: "@if (submenu()) {\n <li [class]=\"cn(cx('submenuLabel'), getItemProp(submenu(), 'class'))\" [style]=\"getItemProp(submenu(), 'style')\" role=\"presentation\" [hBind]=\"ptm('submenuLabel')\">\n {{ getItemLabel(submenu()) }}\n </li>\n}\n@for (processedItem of items(); track processedItem; let index = $index) {\n @if (isItemVisible(processedItem) && getItemProp(processedItem, 'separator')) {\n <li\n [attr.id]=\"getItemId(processedItem)\"\n [style]=\"getItemProp(processedItem, 'style')\"\n [class]=\"cn(cx('separator'), this.getItemProp(processedItem, 'class'))\"\n role=\"separator\"\n [hBind]=\"ptm('separator')\"\n ></li>\n }\n @if (isItemVisible(processedItem) && !getItemProp(processedItem, 'separator')) {\n <li\n #listItem\n role=\"menuitem\"\n [attr.id]=\"getItemId(processedItem)\"\n [attr.data-h-active]=\"isItemActive(processedItem)\"\n [attr.data-h-focused]=\"isItemFocused(processedItem)\"\n [attr.data-h-disabled]=\"isItemDisabled(processedItem)\"\n [attr.aria-label]=\"getItemLabel(processedItem)\"\n [attr.aria-disabled]=\"isItemDisabled(processedItem) || undefined\"\n [attr.aria-haspopup]=\"isItemGroup(processedItem) && !getItemProp(processedItem, 'to') ? 'menu' : undefined\"\n [attr.aria-expanded]=\"isItemGroup(processedItem) ? isItemActive(processedItem) : undefined\"\n [attr.aria-level]=\"level() + 1\"\n [attr.aria-setsize]=\"getAriaSetSize()\"\n [attr.aria-posinset]=\"getAriaPosInset(index)\"\n [ngStyle]=\"getItemProp(processedItem, 'style')\"\n [class]=\"cn(cx('item', { processedItem }), getItemProp(processedItem, 'styleClass'))\"\n hTooltip\n [tooltipOptions]=\"getItemProp(processedItem, 'tooltipOptions')\"\n [hBind]=\"getPTOptions(processedItem, index, 'item')\"\n [pTooltipUnstyled]=\"unstyled()\"\n >\n <div [class]=\"cx('itemContent')\" [hBind]=\"getPTOptions(processedItem, index, 'itemContent')\" (click)=\"onItemClick($event, processedItem)\" (mouseenter)=\"onItemMouseEnter({ $event, processedItem })\">\n @if (!itemTemplate()) {\n @if (!getItemProp(processedItem, 'routerLink')) {\n <a\n [attr.href]=\"getItemProp(processedItem, 'url')\"\n [attr.data-automationid]=\"getItemProp(processedItem, 'automationId')\"\n [attr.title]=\"getItemProp(processedItem, 'title')\"\n [target]=\"getItemProp(processedItem, 'target')\"\n [class]=\"cn(cx('itemLink'), getItemProp(processedItem, 'linkClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'linkStyle')\"\n [attr.tabindex]=\"-1\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLink')\"\n hRipple\n >\n @if (getItemProp(processedItem, 'icon')) {\n <span\n [class]=\"cn(cx('itemIcon'), getItemProp(processedItem, 'icon'), getItemProp(processedItem, 'iconClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'iconStyle')\"\n [attr.tabindex]=\"-1\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemIcon')\"\n >\n </span>\n }\n @if (getItemProp(processedItem, 'escape')) {\n <span\n [class]=\"cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'labelStyle')\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLabel')\"\n >\n {{ getItemLabel(processedItem) }}\n </span>\n } @else {\n <span\n [class]=\"cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'labelStyle')\"\n [innerHTML]=\"getItemLabel(processedItem)\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLabel')\"\n ></span>\n }\n @if (getItemProp(processedItem, 'badge')) {\n <h-badge [class]=\"getItemProp(processedItem, 'badgeStyleClass')\" [value]=\"getItemProp(processedItem, 'badge')\" [unstyled]=\"unstyled()\" />\n }\n @if (isItemGroup(processedItem)) {\n @if (!megaMenu.submenuIconTemplate() && !megaMenu._submenuIconTemplate) {\n @if (orientation() === 'horizontal' || mobileActive()) {\n <svg data-h-icon=\"angle-down\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" [attr.aria-hidden]=\"true\" />\n } @else {\n @if (orientation() === 'vertical') {\n <svg data-h-icon=\"angle-right\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" [attr.aria-hidden]=\"true\" />\n }\n }\n }\n <ng-template *ngTemplateOutlet=\"megaMenu.submenuIconTemplate() || megaMenu._submenuIconTemplate\" [attr.aria-hidden]=\"true\"></ng-template>\n }\n </a>\n }\n @if (getItemProp(processedItem, 'routerLink')) {\n <a\n [routerLink]=\"getItemProp(processedItem, 'routerLink')\"\n [attr.data-automationid]=\"getItemProp(processedItem, 'automationId')\"\n [attr.title]=\"getItemProp(processedItem, 'title')\"\n [attr.tabindex]=\"-1\"\n [queryParams]=\"getItemProp(processedItem, 'queryParams')\"\n [routerLinkActive]=\"'h-megamenu-item-link-active'\"\n [routerLinkActiveOptions]=\"getItemProp(processedItem, 'routerLinkActiveOptions') || { exact: false }\"\n [target]=\"getItemProp(processedItem, 'target')\"\n [class]=\"cn(cx('itemLink'), getItemProp(processedItem, 'linkClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'linkStyle')\"\n [fragment]=\"getItemProp(processedItem, 'fragment')\"\n [queryParamsHandling]=\"getItemProp(processedItem, 'queryParamsHandling')\"\n [preserveFragment]=\"getItemProp(processedItem, 'preserveFragment')\"\n [skipLocationChange]=\"getItemProp(processedItem, 'skipLocationChange')\"\n [replaceUrl]=\"getItemProp(processedItem, 'replaceUrl')\"\n [state]=\"getItemProp(processedItem, 'state')\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLink')\"\n hRipple\n >\n @if (getItemProp(processedItem, 'icon')) {\n <span\n [class]=\"cn(cx('itemIcon'), getItemProp(processedItem, 'icon'), getItemProp(processedItem, 'iconClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'iconStyle')\"\n [attr.tabindex]=\"-1\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemIcon')\"\n ></span>\n }\n @if (getItemProp(processedItem, 'escape')) {\n <span\n [class]=\"cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'labelStyle')\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLabel')\"\n >{{ getItemLabel(processedItem) }}</span\n >\n } @else {\n <span\n [class]=\"cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'labelStyle')\"\n [innerHTML]=\"getItemLabel(processedItem)\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLabel')\"\n ></span\n >\n }\n @if (getItemProp(processedItem, 'badge')) {\n <h-badge [styleClass]=\"getItemProp(processedItem, 'badgeStyleClass')\" [value]=\"getItemProp(processedItem, 'badge')\" [unstyled]=\"unstyled()\" />\n }\n @if (isItemGroup(processedItem)) {\n @if (!megaMenu.submenuIconTemplate() && !megaMenu._submenuIconTemplate) {\n @if (orientation() === 'horizontal') {\n <svg data-h-icon=\"angle-down\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" [attr.aria-hidden]=\"true\" />\n }\n @if (orientation() === 'vertical') {\n <svg data-h-icon=\"angle-right\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" [attr.aria-hidden]=\"true\" />\n }\n }\n <ng-template *ngTemplateOutlet=\"megaMenu.submenuIconTemplate() || megaMenu._submenuIconTemplate\" [attr.aria-hidden]=\"true\"></ng-template>\n }\n </a>\n }\n }\n @if (itemTemplate()) {\n <ng-template *ngTemplateOutlet=\"itemTemplate(); context: { $implicit: processedItem.item }\"></ng-template>\n }\n </div>\n @if (isItemVisible(processedItem) && isItemGroup(processedItem)) {\n <div [class]=\"cx('overlay')\" [hBind]=\"ptm('overlay')\">\n <div [class]=\"cx('grid')\" [hBind]=\"ptm('grid')\">\n @for (col of processedItem.items; track col) {\n <div [class]=\"cx('column', { processedItem })\" [hBind]=\"ptm('column')\">\n @for (submenu of col; track submenu) {\n <ul\n hMegaMenuSub\n [id]=\"getSubListId(submenu)\"\n [submenu]=\"submenu\"\n [items]=\"submenu.items\"\n [itemTemplate]=\"itemTemplate()\"\n [mobileActive]=\"mobileActive()\"\n [menuId]=\"menuId()\"\n [focusedItemId]=\"focusedItemId()\"\n [level]=\"level() + 1\"\n [root]=\"false\"\n (itemClick)=\"itemClick.emit($event)\"\n (itemMouseEnter)=\"onItemMouseEnter($event)\"\n [pt]=\"pt()\"\n [unstyled]=\"unstyled()\"\n ></ul>\n }\n </div>\n }\n </div>\n </div>\n }\n </li>\n }\n }\n", dependencies: [{ kind: "component", type: MegaMenuSub, selector: "h-megaMenuSub, h-megamenu-sub, ul[hMegaMenuSub]", inputs: ["id", "items", "itemTemplate", "menuId", "ariaLabel", "ariaLabelledBy", "level", "focusedItemId", "disabled", "orientation", "activeItem", "submenu", "queryMatches", "mobileActive", "scrollHeight", "tabindex", "root"], outputs: ["itemClick", "itemMouseEnter", "menuFocus", "menuBlur", "menuKeydown", "menuMouseDown"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "browserUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: Ripple, selector: "[hRipple]" }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.Tooltip, selector: "[hTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "showOnEllipsis", "hTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip", "pTooltipPT", "pTooltipUnstyled"] }, { kind: "directive", type: i1.Bind, selector: "[hBind]", inputs: ["hBind"] }, { kind: "component", type: AngleDownIcon, selector: "[data-h-icon=\"angle-down\"]" }, { kind: "component", type: AngleRightIcon, selector: "[data-h-icon=\"angle-right\"]" }, { kind: "ngmodule", type: BadgeModule }, { kind: "component", type: i5.Badge, selector: "h-badge", inputs: ["styleClass", "badgeSize", "size", "severity", "value", "badgeDisabled"] }, { kind: "ngmodule", type: SharedModule }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None });
638
- }
639
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: MegaMenuSub, decorators: [{
640
- type: Component,
641
- args: [{ selector: 'h-megaMenuSub, h-megamenu-sub, ul[hMegaMenuSub]', standalone: true, imports: [CommonModule, RouterModule, Ripple, TooltipModule, AngleDownIcon, AngleRightIcon, BadgeModule, SharedModule, Bind], encapsulation: ViewEncapsulation.None, providers: [
642
- { provide: MEGAMENU_SUB_INSTANCE, useExisting: MegaMenuSub },
643
- { provide: PARENT_INSTANCE, useExisting: MegaMenuSub }
644
- ], host: {
645
- '[class]': 'root() ? cx("rootList") : cx("submenu")',
646
- '[style]': 'sx("rootList")',
647
- '[style.display]': 'isSubmenuVisible(submenu) ? null : "none"',
648
- '[attr.role]': 'root() ? "menubar" : "menu"',
649
- '[attr.id]': 'id()',
650
- '[attr.aria-orientation]': 'orientation()',
651
- '[tabindex]': 'tabindex()',
652
- '[attr.aria-activedescendant]': 'focusedItemId()',
653
- '[attr.data-pc-section]': 'root() ? "rootlist" : "submenu"',
654
- '(keydown)': 'menuKeydown.emit($event)',
655
- '(focus)': 'menuFocus.emit($event)',
656
- '(blur)': 'menuBlur.emit($event)',
657
- '(mousedown)': 'menuMouseDown.emit($event)'
658
- }, changeDetection: ChangeDetectionStrategy.Eager, hostDirectives: [Bind], template: "@if (submenu()) {\n <li [class]=\"cn(cx('submenuLabel'), getItemProp(submenu(), 'class'))\" [style]=\"getItemProp(submenu(), 'style')\" role=\"presentation\" [hBind]=\"ptm('submenuLabel')\">\n {{ getItemLabel(submenu()) }}\n </li>\n}\n@for (processedItem of items(); track processedItem; let index = $index) {\n @if (isItemVisible(processedItem) && getItemProp(processedItem, 'separator')) {\n <li\n [attr.id]=\"getItemId(processedItem)\"\n [style]=\"getItemProp(processedItem, 'style')\"\n [class]=\"cn(cx('separator'), this.getItemProp(processedItem, 'class'))\"\n role=\"separator\"\n [hBind]=\"ptm('separator')\"\n ></li>\n }\n @if (isItemVisible(processedItem) && !getItemProp(processedItem, 'separator')) {\n <li\n #listItem\n role=\"menuitem\"\n [attr.id]=\"getItemId(processedItem)\"\n [attr.data-h-active]=\"isItemActive(processedItem)\"\n [attr.data-h-focused]=\"isItemFocused(processedItem)\"\n [attr.data-h-disabled]=\"isItemDisabled(processedItem)\"\n [attr.aria-label]=\"getItemLabel(processedItem)\"\n [attr.aria-disabled]=\"isItemDisabled(processedItem) || undefined\"\n [attr.aria-haspopup]=\"isItemGroup(processedItem) && !getItemProp(processedItem, 'to') ? 'menu' : undefined\"\n [attr.aria-expanded]=\"isItemGroup(processedItem) ? isItemActive(processedItem) : undefined\"\n [attr.aria-level]=\"level() + 1\"\n [attr.aria-setsize]=\"getAriaSetSize()\"\n [attr.aria-posinset]=\"getAriaPosInset(index)\"\n [ngStyle]=\"getItemProp(processedItem, 'style')\"\n [class]=\"cn(cx('item', { processedItem }), getItemProp(processedItem, 'styleClass'))\"\n hTooltip\n [tooltipOptions]=\"getItemProp(processedItem, 'tooltipOptions')\"\n [hBind]=\"getPTOptions(processedItem, index, 'item')\"\n [pTooltipUnstyled]=\"unstyled()\"\n >\n <div [class]=\"cx('itemContent')\" [hBind]=\"getPTOptions(processedItem, index, 'itemContent')\" (click)=\"onItemClick($event, processedItem)\" (mouseenter)=\"onItemMouseEnter({ $event, processedItem })\">\n @if (!itemTemplate()) {\n @if (!getItemProp(processedItem, 'routerLink')) {\n <a\n [attr.href]=\"getItemProp(processedItem, 'url')\"\n [attr.data-automationid]=\"getItemProp(processedItem, 'automationId')\"\n [attr.title]=\"getItemProp(processedItem, 'title')\"\n [target]=\"getItemProp(processedItem, 'target')\"\n [class]=\"cn(cx('itemLink'), getItemProp(processedItem, 'linkClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'linkStyle')\"\n [attr.tabindex]=\"-1\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLink')\"\n hRipple\n >\n @if (getItemProp(processedItem, 'icon')) {\n <span\n [class]=\"cn(cx('itemIcon'), getItemProp(processedItem, 'icon'), getItemProp(processedItem, 'iconClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'iconStyle')\"\n [attr.tabindex]=\"-1\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemIcon')\"\n >\n </span>\n }\n @if (getItemProp(processedItem, 'escape')) {\n <span\n [class]=\"cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'labelStyle')\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLabel')\"\n >\n {{ getItemLabel(processedItem) }}\n </span>\n } @else {\n <span\n [class]=\"cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'labelStyle')\"\n [innerHTML]=\"getItemLabel(processedItem)\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLabel')\"\n ></span>\n }\n @if (getItemProp(processedItem, 'badge')) {\n <h-badge [class]=\"getItemProp(processedItem, 'badgeStyleClass')\" [value]=\"getItemProp(processedItem, 'badge')\" [unstyled]=\"unstyled()\" />\n }\n @if (isItemGroup(processedItem)) {\n @if (!megaMenu.submenuIconTemplate() && !megaMenu._submenuIconTemplate) {\n @if (orientation() === 'horizontal' || mobileActive()) {\n <svg data-h-icon=\"angle-down\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" [attr.aria-hidden]=\"true\" />\n } @else {\n @if (orientation() === 'vertical') {\n <svg data-h-icon=\"angle-right\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" [attr.aria-hidden]=\"true\" />\n }\n }\n }\n <ng-template *ngTemplateOutlet=\"megaMenu.submenuIconTemplate() || megaMenu._submenuIconTemplate\" [attr.aria-hidden]=\"true\"></ng-template>\n }\n </a>\n }\n @if (getItemProp(processedItem, 'routerLink')) {\n <a\n [routerLink]=\"getItemProp(processedItem, 'routerLink')\"\n [attr.data-automationid]=\"getItemProp(processedItem, 'automationId')\"\n [attr.title]=\"getItemProp(processedItem, 'title')\"\n [attr.tabindex]=\"-1\"\n [queryParams]=\"getItemProp(processedItem, 'queryParams')\"\n [routerLinkActive]=\"'h-megamenu-item-link-active'\"\n [routerLinkActiveOptions]=\"getItemProp(processedItem, 'routerLinkActiveOptions') || { exact: false }\"\n [target]=\"getItemProp(processedItem, 'target')\"\n [class]=\"cn(cx('itemLink'), getItemProp(processedItem, 'linkClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'linkStyle')\"\n [fragment]=\"getItemProp(processedItem, 'fragment')\"\n [queryParamsHandling]=\"getItemProp(processedItem, 'queryParamsHandling')\"\n [preserveFragment]=\"getItemProp(processedItem, 'preserveFragment')\"\n [skipLocationChange]=\"getItemProp(processedItem, 'skipLocationChange')\"\n [replaceUrl]=\"getItemProp(processedItem, 'replaceUrl')\"\n [state]=\"getItemProp(processedItem, 'state')\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLink')\"\n hRipple\n >\n @if (getItemProp(processedItem, 'icon')) {\n <span\n [class]=\"cn(cx('itemIcon'), getItemProp(processedItem, 'icon'), getItemProp(processedItem, 'iconClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'iconStyle')\"\n [attr.tabindex]=\"-1\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemIcon')\"\n ></span>\n }\n @if (getItemProp(processedItem, 'escape')) {\n <span\n [class]=\"cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'labelStyle')\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLabel')\"\n >{{ getItemLabel(processedItem) }}</span\n >\n } @else {\n <span\n [class]=\"cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'labelStyle')\"\n [innerHTML]=\"getItemLabel(processedItem)\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLabel')\"\n ></span\n >\n }\n @if (getItemProp(processedItem, 'badge')) {\n <h-badge [styleClass]=\"getItemProp(processedItem, 'badgeStyleClass')\" [value]=\"getItemProp(processedItem, 'badge')\" [unstyled]=\"unstyled()\" />\n }\n @if (isItemGroup(processedItem)) {\n @if (!megaMenu.submenuIconTemplate() && !megaMenu._submenuIconTemplate) {\n @if (orientation() === 'horizontal') {\n <svg data-h-icon=\"angle-down\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" [attr.aria-hidden]=\"true\" />\n }\n @if (orientation() === 'vertical') {\n <svg data-h-icon=\"angle-right\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" [attr.aria-hidden]=\"true\" />\n }\n }\n <ng-template *ngTemplateOutlet=\"megaMenu.submenuIconTemplate() || megaMenu._submenuIconTemplate\" [attr.aria-hidden]=\"true\"></ng-template>\n }\n </a>\n }\n }\n @if (itemTemplate()) {\n <ng-template *ngTemplateOutlet=\"itemTemplate(); context: { $implicit: processedItem.item }\"></ng-template>\n }\n </div>\n @if (isItemVisible(processedItem) && isItemGroup(processedItem)) {\n <div [class]=\"cx('overlay')\" [hBind]=\"ptm('overlay')\">\n <div [class]=\"cx('grid')\" [hBind]=\"ptm('grid')\">\n @for (col of processedItem.items; track col) {\n <div [class]=\"cx('column', { processedItem })\" [hBind]=\"ptm('column')\">\n @for (submenu of col; track submenu) {\n <ul\n hMegaMenuSub\n [id]=\"getSubListId(submenu)\"\n [submenu]=\"submenu\"\n [items]=\"submenu.items\"\n [itemTemplate]=\"itemTemplate()\"\n [mobileActive]=\"mobileActive()\"\n [menuId]=\"menuId()\"\n [focusedItemId]=\"focusedItemId()\"\n [level]=\"level() + 1\"\n [root]=\"false\"\n (itemClick)=\"itemClick.emit($event)\"\n (itemMouseEnter)=\"onItemMouseEnter($event)\"\n [pt]=\"pt()\"\n [unstyled]=\"unstyled()\"\n ></ul>\n }\n </div>\n }\n </div>\n </div>\n }\n </li>\n }\n }\n" }]
659
- }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], itemTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemTemplate", required: false }] }], menuId: [{ type: i0.Input, args: [{ isSignal: true, alias: "menuId", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledBy", required: false }] }], level: [{ type: i0.Input, args: [{ isSignal: true, alias: "level", required: false }] }], focusedItemId: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusedItemId", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], activeItem: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeItem", required: false }] }], submenu: [{ type: i0.Input, args: [{ isSignal: true, alias: "submenu", required: false }] }], queryMatches: [{ type: i0.Input, args: [{ isSignal: true, alias: "queryMatches", required: false }] }], mobileActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "mobileActive", required: false }] }], scrollHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollHeight", required: false }] }], tabindex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabindex", required: false }] }], root: [{ type: i0.Input, args: [{ isSignal: true, alias: "root", required: false }] }], itemClick: [{ type: i0.Output, args: ["itemClick"] }], itemMouseEnter: [{ type: i0.Output, args: ["itemMouseEnter"] }], menuFocus: [{ type: i0.Output, args: ["menuFocus"] }], menuBlur: [{ type: i0.Output, args: ["menuBlur"] }], menuKeydown: [{ type: i0.Output, args: ["menuKeydown"] }], menuMouseDown: [{ type: i0.Output, args: ["menuMouseDown"] }] } });
660
- /**
661
- * MegaMenu is navigation component that displays submenus together.
662
- * @group Components
663
- */
664
- class MegaMenu extends BaseComponent {
665
- componentName = 'MegaMenu';
666
- bindDirectiveInstance = inject(Bind, { self: true });
667
- /**
668
- * An array of menuitems.
669
- * @group Props
670
- */
671
- model = input(/* @ts-ignore */
672
- ...(ngDevMode ? [undefined, { debugName: "model" }] : /* istanbul ignore next */ []));
673
- /**
674
- * Class of the element.
675
- * @deprecated since v20.0.0, use `class` instead.
676
- * @group Props
677
- */
678
- styleClass = input(/* @ts-ignore */
679
- ...(ngDevMode ? [undefined, { debugName: "styleClass" }] : /* istanbul ignore next */ []));
680
- /**
681
- * Defines the orientation.
682
- * @group Props
683
- */
684
- orientation = input('horizontal', /* @ts-ignore */
685
- ...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
686
- /**
687
- * Current id state as a string.
688
- * @group Props
689
- */
690
- id = input(/* @ts-ignore */
691
- ...(ngDevMode ? [undefined, { debugName: "id" }] : /* istanbul ignore next */ []));
692
- autoId = uuid('pn_id_');
693
- $id = computed(() => this.id() || this.autoId, /* @ts-ignore */
694
- ...(ngDevMode ? [{ debugName: "$id" }] : /* istanbul ignore next */ []));
695
- /**
696
- * Defines a string value that labels an interactive element.
697
- * @group Props
698
- */
699
- ariaLabel = input(/* @ts-ignore */
700
- ...(ngDevMode ? [undefined, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
701
- /**
702
- * Identifier of the underlying input element.
703
- * @group Props
704
- */
705
- ariaLabelledBy = input(/* @ts-ignore */
706
- ...(ngDevMode ? [undefined, { debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []));
707
- /**
708
- * The breakpoint to define the maximum width boundary.
709
- * @group Props
710
- */
711
- breakpoint = input('960px', /* @ts-ignore */
712
- ...(ngDevMode ? [{ debugName: "breakpoint" }] : /* istanbul ignore next */ []));
713
- /**
714
- * Height of the viewport, a scrollbar is defined if height of list exceeds this value.
715
- * @group Props
716
- */
717
- scrollHeight = input('20rem', /* @ts-ignore */
718
- ...(ngDevMode ? [{ debugName: "scrollHeight" }] : /* istanbul ignore next */ []));
719
- /**
720
- * When present, it specifies that the component should be disabled.
721
- * @group Props
722
- */
723
- disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
724
- /**
725
- * Index of the element in tabbing order.
726
- * @group Props
727
- */
728
- tabindex = input(0, { ...(ngDevMode ? { debugName: "tabindex" } : /* istanbul ignore next */ {}), transform: numberAttribute });
729
- /**
730
- * Defines template option for start.
731
- * @group Templates
732
- */
733
- startTemplate = contentChild('start', { ...(ngDevMode ? { debugName: "startTemplate" } : /* istanbul ignore next */ {}), descendants: false });
734
- /**
735
- * Defines template option for end.
736
- * @group Templates
737
- */
738
- endTemplate = contentChild('end', { ...(ngDevMode ? { debugName: "endTemplate" } : /* istanbul ignore next */ {}), descendants: false });
739
- /**
740
- * Defines template option for menu icon.
741
- * @group Templates
742
- */
743
- menuIconTemplate = contentChild('menuicon', { ...(ngDevMode ? { debugName: "menuIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
744
- /**
745
- * Defines template option for submenu icon.
746
- * @group Templates
747
- */
748
- submenuIconTemplate = contentChild('submenuicon', { ...(ngDevMode ? { debugName: "submenuIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
749
- /**
750
- * Custom item template.
751
- * @param {MegaMenuItemTemplateContext} context - item context.
752
- * @see {@link MegaMenuItemTemplateContext}
753
- * @group Templates
754
- */
755
- itemTemplate = contentChild('item', { ...(ngDevMode ? { debugName: "itemTemplate" } : /* istanbul ignore next */ {}), descendants: false });
756
- /**
757
- * Custom menu button template on responsive mode.
758
- * @group Templates
759
- */
760
- buttonTemplate = contentChild('button', { ...(ngDevMode ? { debugName: "buttonTemplate" } : /* istanbul ignore next */ {}), descendants: false });
761
- /**
762
- * Custom menu button icon template on responsive mode.
763
- * @group Templates
764
- */
765
- buttonIconTemplate = contentChild('buttonicon', { ...(ngDevMode ? { debugName: "buttonIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
766
- templates = contentChildren(HelixTemplate, /* @ts-ignore */
767
- ...(ngDevMode ? [{ debugName: "templates" }] : /* istanbul ignore next */ []));
768
- menubuttonViewChild = viewChild('menubutton', /* @ts-ignore */
769
- ...(ngDevMode ? [{ debugName: "menubuttonViewChild" }] : /* istanbul ignore next */ []));
770
- rootmenu = viewChild('rootmenu', /* @ts-ignore */
771
- ...(ngDevMode ? [{ debugName: "rootmenu" }] : /* istanbul ignore next */ []));
772
- _startTemplate;
773
- _endTemplate;
774
- _menuIconTemplate;
775
- _submenuIconTemplate;
776
- _itemTemplate;
777
- _buttonTemplate;
778
- _buttonIconTemplate;
779
- outsideClickListener;
780
- resizeListener;
781
- dirty = false;
782
- focused = false;
783
- activeItem = signal(null, /* @ts-ignore */
784
- ...(ngDevMode ? [{ debugName: "activeItem" }] : /* istanbul ignore next */ []));
785
- focusedItemInfo = signal({ index: -1, level: 0, parentKey: '', item: null }, /* @ts-ignore */
786
- ...(ngDevMode ? [{ debugName: "focusedItemInfo" }] : /* istanbul ignore next */ []));
787
- searchValue = '';
788
- searchTimeout;
789
- _processedItems;
790
- _componentStyle = inject(MegaMenuStyle);
791
- matchMediaListener;
792
- query;
793
- queryMatches = signal(false, /* @ts-ignore */
794
- ...(ngDevMode ? [{ debugName: "queryMatches" }] : /* istanbul ignore next */ []));
795
- mobileActive = false;
796
- get visibleItems() {
797
- const processedItem = isNotEmpty(this.activeItem()) ? this.activeItem() : null;
798
- return processedItem
799
- ? processedItem.items.reduce((items, col) => {
800
- col.forEach((submenu) => {
801
- submenu.items.forEach((a) => {
802
- items.push(a);
803
- });
804
- });
805
- return items;
806
- }, [])
807
- : this.processedItems;
808
- }
809
- get processedItems() {
810
- if (!this._processedItems || !this._processedItems.length) {
811
- this._processedItems = this.createProcessedItems(this.model() || []);
812
- }
813
- return this._processedItems;
814
- }
815
- get focusedItemId() {
816
- const focusedItem = this.focusedItemInfo();
817
- return focusedItem?.item && focusedItem.item?.id ? focusedItem.item.id : isNotEmpty(focusedItem.key) ? `${this.$id()}_${focusedItem.key}` : null;
818
- }
819
- constructor() {
820
- super();
821
- effect(() => {
822
- const activeItem = this.activeItem();
823
- if (isNotEmpty(activeItem)) {
824
- this.bindOutsideClickListener();
825
- this.bindResizeListener();
826
- }
827
- else {
828
- this.unbindOutsideClickListener();
829
- this.unbindResizeListener();
830
- }
831
- });
832
- effect(() => {
833
- const model = this.model();
834
- this._processedItems = this.createProcessedItems(model || []);
835
- });
836
- }
837
- onInit() {
838
- this.bindMatchMediaListener();
839
- }
840
- onAfterViewChecked() {
841
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
842
- }
843
- onAfterContentInit() {
844
- this.templates()?.forEach((item) => {
845
- switch (item.getType()) {
846
- case 'start':
847
- this._startTemplate = item.template;
848
- break;
849
- case 'end':
850
- this._endTemplate = item.template;
851
- break;
852
- case 'menuicon':
853
- this._menuIconTemplate = item.template;
854
- break;
855
- case 'submenuicon':
856
- this._submenuIconTemplate = item.template;
857
- break;
858
- case 'item':
859
- this._itemTemplate = item.template;
860
- break;
861
- case 'button':
862
- this._buttonTemplate = item.template;
863
- break;
864
- case 'buttonicon':
865
- this._buttonIconTemplate = item.template;
866
- break;
867
- default:
868
- this._itemTemplate = item.template;
869
- break;
870
- }
871
- });
872
- }
873
- bindMatchMediaListener() {
874
- if (isPlatformBrowser(this.platformId)) {
875
- if (!this.matchMediaListener) {
876
- const query = window.matchMedia(`(max-width: ${this.breakpoint()})`);
877
- this.query = query;
878
- this.queryMatches.set(query.matches);
879
- this.matchMediaListener = () => {
880
- this.queryMatches.set(query.matches);
881
- this.mobileActive = false;
882
- this.cd.markForCheck();
883
- };
884
- query.addEventListener('change', this.matchMediaListener);
885
- }
886
- }
887
- }
888
- unbindMatchMediaListener() {
889
- if (this.matchMediaListener) {
890
- this.query.removeEventListener('change', this.matchMediaListener);
891
- this.matchMediaListener = null;
892
- }
893
- }
894
- createProcessedItems(items, level = 0, parent = {}, parentKey = '', columnIndex) {
895
- const processedItems = [];
896
- items &&
897
- items.forEach((item, index) => {
898
- const key = (parentKey !== '' ? parentKey + '_' : '') + (columnIndex !== undefined ? columnIndex + '_' : '') + index;
899
- const newItem = {
900
- item,
901
- index,
902
- level,
903
- key,
904
- parent,
905
- parentKey,
906
- columnIndex: columnIndex !== undefined ? columnIndex : parent.columnIndex !== undefined ? parent.columnIndex : index
907
- };
908
- newItem['items'] =
909
- level === 0 && item.items && item.items.length > 0
910
- ? item.items.map((_items, _index) => this.createProcessedItems(_items, level + 1, newItem, key, _index))
911
- : this.createProcessedItems(item.items, level + 1, newItem, key);
912
- processedItems.push(newItem);
913
- });
914
- return processedItems;
915
- }
916
- getItemProp(item, name) {
917
- return item ? resolve(item[name]) : undefined;
918
- }
919
- onItemClick(event) {
920
- this.dirty = true;
921
- const { originalEvent, processedItem } = event;
922
- const grouped = this.isProcessedItemGroup(processedItem);
923
- const root = isEmpty(processedItem.parent);
924
- const selected = this.isSelected(processedItem);
925
- if (selected) {
926
- const { index, key, parentKey, item } = processedItem;
927
- this.activeItem.set(null);
928
- this.focusedItemInfo.set({ index, key, parentKey, item });
929
- this.dirty = !root;
930
- if (!this.mobileActive) {
931
- focus(this.rootmenu()?.el?.nativeElement, { preventScroll: true });
932
- }
933
- }
934
- else {
935
- if (grouped) {
936
- this.onItemChange(event);
937
- }
938
- else {
939
- this.hide(originalEvent);
940
- }
941
- }
942
- }
943
- onItemMouseEnter(event) {
944
- if (!this.mobileActive && this.dirty) {
945
- this.onItemChange(event);
946
- }
947
- }
948
- menuButtonClick(event) {
949
- this.toggle(event);
950
- }
951
- menuButtonKeydown(event) {
952
- (event.code === 'Enter' || event.code === 'NumpadEnter' || event.code === 'Space') && this.menuButtonClick(event);
953
- }
954
- toggle(event) {
955
- if (this.mobileActive) {
956
- this.mobileActive = false;
957
- ZIndexUtils.clear(this.rootmenu()?.el.nativeElement);
958
- this.hide();
959
- }
960
- else {
961
- this.mobileActive = true;
962
- ZIndexUtils.set('menu', this.rootmenu()?.el.nativeElement, this.config.zIndex.menu);
963
- setTimeout(() => {
964
- this.show();
965
- }, 0);
966
- }
967
- this.bindOutsideClickListener();
968
- event.preventDefault();
969
- }
970
- show() {
971
- this.focusedItemInfo.set({ index: this.findFirstFocusedItemIndex(), level: 0, parentKey: '' });
972
- focus(this.rootmenu()?.el.nativeElement);
973
- }
974
- scrollInView(index = -1) {
975
- const id = index !== -1 ? `${this.$id()}_${index}` : this.focusedItemId;
976
- let element;
977
- if (id === null && this.queryMatches()) {
978
- element = this.menubuttonViewChild()?.nativeElement;
979
- }
980
- else {
981
- element = findSingle(this.rootmenu()?.el?.nativeElement, `li[id="${id}"]`);
982
- }
983
- if (element) {
984
- element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest', behavior: 'smooth' });
985
- }
986
- }
987
- onItemChange(event) {
988
- const { processedItem, isFocus } = event;
989
- if (isEmpty(processedItem))
990
- return;
991
- const { index, key, parentKey, items, item } = processedItem;
992
- const grouped = isNotEmpty(items);
993
- if (grouped) {
994
- this.activeItem.set(processedItem);
995
- }
996
- this.focusedItemInfo.set({ index, key, parentKey, item });
997
- grouped && (this.dirty = true);
998
- isFocus && focus(this.rootmenu()?.el?.nativeElement);
999
- }
1000
- hide(event, isFocus) {
1001
- if (this.mobileActive) {
1002
- this.mobileActive = false;
1003
- setTimeout(() => {
1004
- focus(this.menubuttonViewChild()?.nativeElement);
1005
- this.scrollInView();
1006
- }, 100);
1007
- }
1008
- this.activeItem.set(null);
1009
- this.focusedItemInfo.set({ index: -1, key: '', parentKey: '', item: null });
1010
- isFocus && focus(this.rootmenu()?.el?.nativeElement);
1011
- this.dirty = false;
1012
- }
1013
- onMenuMouseDown(event) {
1014
- this.dirty = true;
1015
- }
1016
- onMenuFocus(event) {
1017
- this.focused = true;
1018
- const relatedTarget = event.relatedTarget;
1019
- const isFromOutside = !relatedTarget || !this.el.nativeElement.contains(relatedTarget);
1020
- if (isFromOutside && this.focusedItemInfo().index === -1 && isEmpty(this.activeItem()) && !this.dirty) {
1021
- const index = this.findFirstFocusedItemIndex();
1022
- const processedItem = this.findVisibleItem(index);
1023
- this.focusedItemInfo.set({ index, key: processedItem.key, parentKey: processedItem.parentKey, item: processedItem.item });
1024
- }
1025
- }
1026
- onMenuBlur(event) {
1027
- const relatedTarget = event.relatedTarget;
1028
- if (relatedTarget && this.el.nativeElement.contains(relatedTarget)) {
1029
- return;
1030
- }
1031
- setTimeout(() => {
1032
- const activeElement = this.document.activeElement;
1033
- if (activeElement && this.el.nativeElement.contains(activeElement)) {
1034
- return;
1035
- }
1036
- this.focused = false;
1037
- this.focusedItemInfo.set({ index: -1, level: 0, parentKey: '', item: null });
1038
- this.searchValue = '';
1039
- this.dirty = false;
1040
- });
1041
- }
1042
- onKeyDown(event) {
1043
- const metaKey = event.metaKey || event.ctrlKey;
1044
- switch (event.code) {
1045
- case 'ArrowDown':
1046
- this.onArrowDownKey(event);
1047
- break;
1048
- case 'ArrowUp':
1049
- this.onArrowUpKey(event);
1050
- break;
1051
- case 'ArrowLeft':
1052
- this.onArrowLeftKey(event);
1053
- break;
1054
- case 'ArrowRight':
1055
- this.onArrowRightKey(event);
1056
- break;
1057
- case 'Home':
1058
- this.onHomeKey(event);
1059
- break;
1060
- case 'End':
1061
- this.onEndKey(event);
1062
- break;
1063
- case 'Space':
1064
- this.onSpaceKey(event);
1065
- break;
1066
- case 'Enter':
1067
- this.onEnterKey(event);
1068
- break;
1069
- case 'Escape':
1070
- this.onEscapeKey(event);
1071
- break;
1072
- case 'Tab':
1073
- this.onTabKey(event);
1074
- break;
1075
- case 'PageDown':
1076
- case 'PageUp':
1077
- case 'Backspace':
1078
- case 'ShiftLeft':
1079
- case 'ShiftRight':
1080
- //NOOP
1081
- break;
1082
- default:
1083
- if (!metaKey && isPrintableCharacter(event.key)) {
1084
- this.searchItems(event, event.key);
1085
- }
1086
- break;
1087
- }
1088
- }
1089
- findFirstFocusedItemIndex() {
1090
- const selectedIndex = this.findSelectedItemIndex();
1091
- return selectedIndex < 0 ? this.findFirstItemIndex() : selectedIndex;
1092
- }
1093
- findFirstItemIndex() {
1094
- return this.visibleItems.findIndex((processedItem) => this.isValidItem(processedItem));
1095
- }
1096
- findSelectedItemIndex() {
1097
- return this.visibleItems.findIndex((processedItem) => this.isValidSelectedItem(processedItem));
1098
- }
1099
- isProcessedItemGroup(processedItem) {
1100
- return processedItem && isNotEmpty(processedItem.items);
1101
- }
1102
- isSelected(processedItem) {
1103
- return isNotEmpty(this.activeItem()) ? this.activeItem().key === processedItem.key : false;
1104
- }
1105
- isValidSelectedItem(processedItem) {
1106
- return this.isValidItem(processedItem) && this.isSelected(processedItem);
1107
- }
1108
- isValidItem(processedItem) {
1109
- return !!processedItem && !this.isItemDisabled(processedItem.item) && !this.isItemSeparator(processedItem.item);
1110
- }
1111
- isItemDisabled(item) {
1112
- return this.getItemProp(item, 'disabled');
1113
- }
1114
- isItemSeparator(item) {
1115
- return this.getItemProp(item, 'separator');
1116
- }
1117
- isItemMatched(processedItem) {
1118
- return this.isValidItem(processedItem) && this.getProccessedItemLabel(processedItem).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase());
1119
- }
1120
- isProccessedItemGroup(processedItem) {
1121
- return processedItem && isNotEmpty(processedItem.items);
1122
- }
1123
- searchItems(event, char) {
1124
- this.searchValue = (this.searchValue || '') + char;
1125
- let itemIndex = -1;
1126
- let matched = false;
1127
- if (this.focusedItemInfo().index !== -1) {
1128
- itemIndex = this.visibleItems.slice(this.focusedItemInfo().index).findIndex((processedItem) => this.isItemMatched(processedItem));
1129
- itemIndex = itemIndex === -1 ? this.visibleItems.slice(0, this.focusedItemInfo().index).findIndex((processedItem) => this.isItemMatched(processedItem)) : itemIndex + this.focusedItemInfo().index;
1130
- }
1131
- else {
1132
- itemIndex = this.visibleItems.findIndex((processedItem) => this.isItemMatched(processedItem));
1133
- }
1134
- if (itemIndex !== -1) {
1135
- matched = true;
1136
- }
1137
- if (itemIndex === -1 && this.focusedItemInfo().index === -1) {
1138
- itemIndex = this.findFirstFocusedItemIndex();
1139
- }
1140
- if (itemIndex !== -1) {
1141
- this.changeFocusedItemInfo(event, itemIndex);
1142
- }
1143
- if (this.searchTimeout) {
1144
- clearTimeout(this.searchTimeout);
1145
- }
1146
- this.searchTimeout = setTimeout(() => {
1147
- this.searchValue = '';
1148
- this.searchTimeout = null;
1149
- }, 500);
1150
- return matched;
1151
- }
1152
- getProccessedItemLabel(processedItem) {
1153
- return processedItem ? this.getItemLabel(processedItem.item) : undefined;
1154
- }
1155
- getItemLabel(item) {
1156
- return this.getItemProp(item, 'label');
1157
- }
1158
- changeFocusedItemInfo(event, index) {
1159
- const processedItem = this.findVisibleItem(index);
1160
- if (isNotEmpty(processedItem)) {
1161
- const { key, parentKey, item } = processedItem;
1162
- this.focusedItemInfo.set({ index, key: key ? key : '', parentKey, item });
1163
- }
1164
- this.scrollInView();
1165
- }
1166
- onArrowDownKey(event) {
1167
- if (this.orientation() === 'horizontal') {
1168
- if (isNotEmpty(this.activeItem()) && this.activeItem().key === this.focusedItemInfo().key) {
1169
- const { key, item } = this.activeItem();
1170
- this.focusedItemInfo.set({ index: -1, key: '', parentKey: key, item });
1171
- }
1172
- else {
1173
- const processedItem = this.findVisibleItem(this.focusedItemInfo().index);
1174
- const grouped = this.isProccessedItemGroup(processedItem);
1175
- if (grouped) {
1176
- const { parentKey, key, item } = processedItem;
1177
- this.onItemChange({ originalEvent: event, processedItem });
1178
- this.focusedItemInfo.set({ index: -1, key: key, parentKey: parentKey, item: item });
1179
- this.searchValue = '';
1180
- }
1181
- }
1182
- }
1183
- const itemIndex = this.focusedItemInfo().index !== -1 ? this.findNextItemIndex(this.focusedItemInfo().index) : this.findFirstFocusedItemIndex();
1184
- this.changeFocusedItemInfo(event, itemIndex);
1185
- event.preventDefault();
1186
- }
1187
- onArrowRightKey(event) {
1188
- const processedItem = this.findVisibleItem(this.focusedItemInfo().index);
1189
- const grouped = this.isProccessedItemGroup(processedItem);
1190
- if (grouped) {
1191
- if (this.orientation() === 'vertical') {
1192
- if (isNotEmpty(this.activeItem()) && this.activeItem().key === processedItem.key) {
1193
- this.focusedItemInfo.set({ index: -1, key: '', parentKey: this.activeItem().key, item: processedItem.item });
1194
- }
1195
- else {
1196
- const processedItem = this.findVisibleItem(this.focusedItemInfo().index);
1197
- const grouped = this.isProccessedItemGroup(processedItem);
1198
- if (grouped) {
1199
- this.onItemChange({ originalEvent: event, processedItem });
1200
- this.focusedItemInfo.set({
1201
- index: -1,
1202
- key: processedItem.key,
1203
- parentKey: processedItem.parentKey,
1204
- item: processedItem.item
1205
- });
1206
- this.searchValue = '';
1207
- }
1208
- }
1209
- }
1210
- const itemIndex = this.focusedItemInfo().index !== -1 ? this.findNextItemIndex(this.focusedItemInfo().index) : this.findFirstFocusedItemIndex();
1211
- this.changeFocusedItemInfo(event, itemIndex);
1212
- }
1213
- else {
1214
- const columnIndex = processedItem.columnIndex + 1;
1215
- const itemIndex = this.visibleItems.findIndex((item) => item.columnIndex === columnIndex);
1216
- itemIndex !== -1 && this.changeFocusedItemInfo(event, itemIndex);
1217
- }
1218
- event.preventDefault();
1219
- }
1220
- onArrowUpKey(event) {
1221
- if (event.altKey && this.orientation() === 'horizontal') {
1222
- if (this.focusedItemInfo().index !== -1) {
1223
- const processedItem = this.findVisibleItem(this.focusedItemInfo().index);
1224
- const grouped = this.isProccessedItemGroup(processedItem);
1225
- if (!grouped && isNotEmpty(this.activeItem)) {
1226
- if (this.focusedItemInfo().index === 0) {
1227
- this.focusedItemInfo.set({
1228
- index: this.activeItem().index,
1229
- key: this.activeItem().key,
1230
- parentKey: this.activeItem().parentKey,
1231
- item: processedItem.item
1232
- });
1233
- this.activeItem.set(null);
1234
- }
1235
- else {
1236
- this.changeFocusedItemInfo(event, this.findFirstItemIndex());
1237
- }
1238
- }
1239
- }
1240
- event.preventDefault();
1241
- }
1242
- else {
1243
- const itemIndex = this.focusedItemInfo().index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo().index) : this.findLastFocusedItemIndex();
1244
- this.changeFocusedItemInfo(event, itemIndex);
1245
- event.preventDefault();
1246
- }
1247
- }
1248
- onArrowLeftKey(event) {
1249
- const processedItem = this.findVisibleItem(this.focusedItemInfo().index);
1250
- const grouped = this.isProccessedItemGroup(processedItem);
1251
- if (grouped) {
1252
- if (this.orientation() === 'horizontal') {
1253
- const itemIndex = this.focusedItemInfo().index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo().index) : this.findLastFocusedItemIndex();
1254
- this.changeFocusedItemInfo(event, itemIndex);
1255
- }
1256
- }
1257
- else {
1258
- if (this.orientation() === 'vertical' && isNotEmpty(this.activeItem())) {
1259
- if (processedItem.columnIndex === 0) {
1260
- this.focusedItemInfo.set({
1261
- index: this.activeItem().index,
1262
- key: this.activeItem().key,
1263
- parentKey: this.activeItem().parentKey,
1264
- item: processedItem.item
1265
- });
1266
- this.activeItem.set(null);
1267
- }
1268
- }
1269
- const columnIndex = processedItem.columnIndex - 1;
1270
- const itemIndex = this.visibleItems.findIndex((item) => item.columnIndex === columnIndex);
1271
- itemIndex !== -1 && this.changeFocusedItemInfo(event, itemIndex);
1272
- }
1273
- event.preventDefault();
1274
- }
1275
- onHomeKey(event) {
1276
- this.changeFocusedItemInfo(event, this.findFirstItemIndex());
1277
- event.preventDefault();
1278
- }
1279
- onEndKey(event) {
1280
- this.changeFocusedItemInfo(event, this.findLastItemIndex());
1281
- event.preventDefault();
1282
- }
1283
- onSpaceKey(event) {
1284
- this.onEnterKey(event);
1285
- }
1286
- onEscapeKey(event) {
1287
- if (isNotEmpty(this.activeItem())) {
1288
- this.focusedItemInfo.set({ index: this.activeItem().index, key: this.activeItem().key, item: this.activeItem().item });
1289
- this.activeItem.set(null);
1290
- }
1291
- event.preventDefault();
1292
- }
1293
- onTabKey(event) {
1294
- if (this.focusedItemInfo().index !== -1) {
1295
- const processedItem = this.findVisibleItem(this.focusedItemInfo().index);
1296
- const grouped = this.isProccessedItemGroup(processedItem);
1297
- !grouped && this.onItemChange({ originalEvent: event, processedItem });
1298
- }
1299
- this.hide();
1300
- }
1301
- onEnterKey(event) {
1302
- if (this.focusedItemInfo().index !== -1) {
1303
- const element = findSingle(this.rootmenu()?.el?.nativeElement, `li[id="${`${this.focusedItemId}`}"]`);
1304
- const anchorElement = element && (findSingle(element, '[data-pc-section="itemlink"]') || findSingle(element, 'a,button'));
1305
- anchorElement ? anchorElement.click() : element && element.click();
1306
- const processedItem = this.visibleItems[this.focusedItemInfo().index];
1307
- const grouped = this.isProccessedItemGroup(processedItem);
1308
- !grouped && this.changeFocusedItemInfo(event, this.findFirstFocusedItemIndex());
1309
- }
1310
- event.preventDefault();
1311
- }
1312
- findVisibleItem(index) {
1313
- return isNotEmpty(this.visibleItems) ? this.visibleItems[index] : null;
1314
- }
1315
- findLastFocusedItemIndex() {
1316
- const selectedIndex = this.findSelectedItemIndex();
1317
- return selectedIndex < 0 ? this.findLastItemIndex() : selectedIndex;
1318
- }
1319
- findLastItemIndex() {
1320
- return findLastIndex(this.visibleItems, (processedItem) => this.isValidItem(processedItem));
1321
- }
1322
- findPrevItemIndex(index) {
1323
- const matchedItemIndex = index > 0 ? findLastIndex(this.visibleItems.slice(0, index), (processedItem) => this.isValidItem(processedItem)) : -1;
1324
- return matchedItemIndex > -1 ? matchedItemIndex : index;
1325
- }
1326
- findNextItemIndex(index) {
1327
- const matchedItemIndex = index < this.visibleItems.length - 1 ? this.visibleItems.slice(index + 1).findIndex((processedItem) => this.isValidItem(processedItem)) : -1;
1328
- return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index;
1329
- }
1330
- bindResizeListener() {
1331
- if (!this.resizeListener) {
1332
- this.resizeListener = (event) => {
1333
- if (!isTouchDevice()) {
1334
- this.hide(event, true);
1335
- }
1336
- this.mobileActive = false;
1337
- };
1338
- window.addEventListener('resize', this.resizeListener);
1339
- }
1340
- }
1341
- bindOutsideClickListener() {
1342
- if (isPlatformBrowser(this.platformId)) {
1343
- if (!this.outsideClickListener) {
1344
- this.outsideClickListener = this.renderer.listen(this.document, 'click', (event) => {
1345
- const isOutsideContainer = this.el?.nativeElement !== event.target && !this.el?.nativeElement.contains(event.target);
1346
- if (isOutsideContainer) {
1347
- this.hide();
1348
- }
1349
- });
1350
- }
1351
- }
1352
- }
1353
- unbindOutsideClickListener() {
1354
- if (this.outsideClickListener) {
1355
- this.outsideClickListener();
1356
- this.outsideClickListener = null;
1357
- }
1358
- }
1359
- unbindResizeListener() {
1360
- if (this.resizeListener) {
1361
- window.removeEventListener('resize', this.resizeListener);
1362
- this.resizeListener = null;
1363
- }
1364
- }
1365
- onDestroy() {
1366
- this.unbindOutsideClickListener();
1367
- this.unbindResizeListener();
1368
- this.unbindMatchMediaListener();
1369
- }
1370
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: MegaMenu, deps: [], target: i0.ɵɵFactoryTarget.Component });
1371
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: MegaMenu, isStandalone: true, selector: "h-megaMenu, h-megamenu, h-mega-menu", inputs: { model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, breakpoint: { classPropertyName: "breakpoint", publicName: "breakpoint", isSignal: true, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "cn(cx(\"root\"), styleClass())", "id": "id" } }, providers: [MegaMenuStyle, { provide: MEGAMENU_INSTANCE, useExisting: MegaMenu }, { provide: PARENT_INSTANCE, useExisting: MegaMenu }], queries: [{ propertyName: "startTemplate", first: true, predicate: ["start"], isSignal: true }, { propertyName: "endTemplate", first: true, predicate: ["end"], isSignal: true }, { propertyName: "menuIconTemplate", first: true, predicate: ["menuicon"], isSignal: true }, { propertyName: "submenuIconTemplate", first: true, predicate: ["submenuicon"], isSignal: true }, { propertyName: "itemTemplate", first: true, predicate: ["item"], isSignal: true }, { propertyName: "buttonTemplate", first: true, predicate: ["button"], isSignal: true }, { propertyName: "buttonIconTemplate", first: true, predicate: ["buttonicon"], isSignal: true }, { propertyName: "templates", predicate: HelixTemplate, isSignal: true }], viewQueries: [{ propertyName: "menubuttonViewChild", first: true, predicate: ["menubutton"], descendants: true, isSignal: true }, { propertyName: "rootmenu", first: true, predicate: ["rootmenu"], descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: "@if (startTemplate() || _startTemplate) {\n <div [class]=\"cx('start')\" [hBind]=\"ptm('start')\">\n <ng-container *ngTemplateOutlet=\"startTemplate() || _startTemplate\"></ng-container>\n </div>\n}\n@if (!buttonTemplate() && !_buttonTemplate) {\n @if (model() && model()!.length > 0) {\n <a\n #menubutton\n role=\"button\"\n tabindex=\"0\"\n [class]=\"cx('button')\"\n [attr.aria-haspopup]=\"model()!.length && model()!.length > 0 ? true : false\"\n [attr.aria-expanded]=\"mobileActive\"\n [attr.aria-controls]=\"$id()\"\n [attr.aria-label]=\"config.translation.aria.navigation\"\n [hBind]=\"ptm('button')\"\n (click)=\"menuButtonClick($event)\"\n (keydown)=\"menuButtonKeydown($event)\"\n >\n @if (!buttonIconTemplate() && !_buttonIconTemplate) {\n <svg data-h-icon=\"bars\" [hBind]=\"ptm('buttonIcon')\" />\n }\n <ng-template *ngTemplateOutlet=\"buttonIconTemplate() || _buttonIconTemplate\"></ng-template>\n </a>\n }\n}\n<ng-container *ngTemplateOutlet=\"buttonTemplate() || _buttonTemplate\"></ng-container>\n<ul\n hMegaMenuSub\n #rootmenu\n [itemTemplate]=\"itemTemplate() || _itemTemplate\"\n [items]=\"processedItems\"\n [attr.id]=\"$id() + '_list'\"\n [menuId]=\"$id()\"\n [root]=\"true\"\n [orientation]=\"orientation()\"\n [ariaLabel]=\"ariaLabel()\"\n [disabled]=\"disabled()\"\n [tabindex]=\"!disabled() ? tabindex() : -1\"\n [activeItem]=\"activeItem()\"\n [level]=\"0\"\n [ariaLabelledBy]=\"ariaLabelledBy()\"\n [focusedItemId]=\"focused ? focusedItemId : undefined\"\n [mobileActive]=\"mobileActive\"\n (itemClick)=\"onItemClick($event)\"\n (menuFocus)=\"onMenuFocus($event)\"\n (menuBlur)=\"onMenuBlur($event)\"\n (menuKeydown)=\"onKeyDown($event)\"\n (menuMouseDown)=\"onMenuMouseDown($event)\"\n (itemMouseEnter)=\"onItemMouseEnter($event)\"\n [queryMatches]=\"queryMatches()\"\n [scrollHeight]=\"scrollHeight()\"\n [pt]=\"pt()\"\n [unstyled]=\"unstyled()\"\n></ul>\n@if (endTemplate() || _endTemplate) {\n <div [class]=\"cx('end')\" [hBind]=\"ptm('end')\">\n <ng-container *ngTemplateOutlet=\"endTemplate() || _endTemplate\"></ng-container>\n </div>\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: RouterModule }, { kind: "component", type: MegaMenuSub, selector: "h-megaMenuSub, h-megamenu-sub, ul[hMegaMenuSub]", inputs: ["id", "items", "itemTemplate", "menuId", "ariaLabel", "ariaLabelledBy", "level", "focusedItemId", "disabled", "orientation", "activeItem", "submenu", "queryMatches", "mobileActive", "scrollHeight", "tabindex", "root"], outputs: ["itemClick", "itemMouseEnter", "menuFocus", "menuBlur", "menuKeydown", "menuMouseDown"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i1.Bind, selector: "[hBind]", inputs: ["hBind"] }, { kind: "component", type: BarsIcon, selector: "[data-h-icon=\"bars\"]" }, { kind: "ngmodule", type: BadgeModule }, { kind: "ngmodule", type: SharedModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1372
- }
1373
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: MegaMenu, decorators: [{
1374
- type: Component,
1375
- args: [{ selector: 'h-megaMenu, h-megamenu, h-mega-menu', standalone: true, imports: [CommonModule, RouterModule, MegaMenuSub, TooltipModule, BarsIcon, BadgeModule, SharedModule, Bind], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [MegaMenuStyle, { provide: MEGAMENU_INSTANCE, useExisting: MegaMenu }, { provide: PARENT_INSTANCE, useExisting: MegaMenu }], host: {
1376
- '[class]': 'cn(cx("root"), styleClass())',
1377
- '[id]': 'id'
1378
- }, hostDirectives: [Bind], template: "@if (startTemplate() || _startTemplate) {\n <div [class]=\"cx('start')\" [hBind]=\"ptm('start')\">\n <ng-container *ngTemplateOutlet=\"startTemplate() || _startTemplate\"></ng-container>\n </div>\n}\n@if (!buttonTemplate() && !_buttonTemplate) {\n @if (model() && model()!.length > 0) {\n <a\n #menubutton\n role=\"button\"\n tabindex=\"0\"\n [class]=\"cx('button')\"\n [attr.aria-haspopup]=\"model()!.length && model()!.length > 0 ? true : false\"\n [attr.aria-expanded]=\"mobileActive\"\n [attr.aria-controls]=\"$id()\"\n [attr.aria-label]=\"config.translation.aria.navigation\"\n [hBind]=\"ptm('button')\"\n (click)=\"menuButtonClick($event)\"\n (keydown)=\"menuButtonKeydown($event)\"\n >\n @if (!buttonIconTemplate() && !_buttonIconTemplate) {\n <svg data-h-icon=\"bars\" [hBind]=\"ptm('buttonIcon')\" />\n }\n <ng-template *ngTemplateOutlet=\"buttonIconTemplate() || _buttonIconTemplate\"></ng-template>\n </a>\n }\n}\n<ng-container *ngTemplateOutlet=\"buttonTemplate() || _buttonTemplate\"></ng-container>\n<ul\n hMegaMenuSub\n #rootmenu\n [itemTemplate]=\"itemTemplate() || _itemTemplate\"\n [items]=\"processedItems\"\n [attr.id]=\"$id() + '_list'\"\n [menuId]=\"$id()\"\n [root]=\"true\"\n [orientation]=\"orientation()\"\n [ariaLabel]=\"ariaLabel()\"\n [disabled]=\"disabled()\"\n [tabindex]=\"!disabled() ? tabindex() : -1\"\n [activeItem]=\"activeItem()\"\n [level]=\"0\"\n [ariaLabelledBy]=\"ariaLabelledBy()\"\n [focusedItemId]=\"focused ? focusedItemId : undefined\"\n [mobileActive]=\"mobileActive\"\n (itemClick)=\"onItemClick($event)\"\n (menuFocus)=\"onMenuFocus($event)\"\n (menuBlur)=\"onMenuBlur($event)\"\n (menuKeydown)=\"onKeyDown($event)\"\n (menuMouseDown)=\"onMenuMouseDown($event)\"\n (itemMouseEnter)=\"onItemMouseEnter($event)\"\n [queryMatches]=\"queryMatches()\"\n [scrollHeight]=\"scrollHeight()\"\n [pt]=\"pt()\"\n [unstyled]=\"unstyled()\"\n></ul>\n@if (endTemplate() || _endTemplate) {\n <div [class]=\"cx('end')\" [hBind]=\"ptm('end')\">\n <ng-container *ngTemplateOutlet=\"endTemplate() || _endTemplate\"></ng-container>\n </div>\n}\n" }]
1379
- }], ctorParameters: () => [], propDecorators: { model: [{ type: i0.Input, args: [{ isSignal: true, alias: "model", required: false }] }], styleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "styleClass", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledBy", required: false }] }], breakpoint: [{ type: i0.Input, args: [{ isSignal: true, alias: "breakpoint", required: false }] }], scrollHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollHeight", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], tabindex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabindex", required: false }] }], startTemplate: [{ type: i0.ContentChild, args: ['start', { ...{ descendants: false }, isSignal: true }] }], endTemplate: [{ type: i0.ContentChild, args: ['end', { ...{ descendants: false }, isSignal: true }] }], menuIconTemplate: [{ type: i0.ContentChild, args: ['menuicon', { ...{ descendants: false }, isSignal: true }] }], submenuIconTemplate: [{ type: i0.ContentChild, args: ['submenuicon', { ...{ descendants: false }, isSignal: true }] }], itemTemplate: [{ type: i0.ContentChild, args: ['item', { ...{ descendants: false }, isSignal: true }] }], buttonTemplate: [{ type: i0.ContentChild, args: ['button', { ...{ descendants: false }, isSignal: true }] }], buttonIconTemplate: [{ type: i0.ContentChild, args: ['buttonicon', { ...{ descendants: false }, isSignal: true }] }], templates: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => HelixTemplate), { isSignal: true }] }], menubuttonViewChild: [{ type: i0.ViewChild, args: ['menubutton', { isSignal: true }] }], rootmenu: [{ type: i0.ViewChild, args: ['rootmenu', { isSignal: true }] }] } });
1380
- class MegaMenuModule {
1381
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: MegaMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1382
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.6", ngImport: i0, type: MegaMenuModule, imports: [MegaMenu, SharedModule], exports: [MegaMenu, SharedModule] });
1383
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: MegaMenuModule, imports: [MegaMenu, SharedModule, SharedModule] });
1384
- }
1385
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: MegaMenuModule, decorators: [{
1386
- type: NgModule,
1387
- args: [{
1388
- imports: [MegaMenu, SharedModule],
1389
- exports: [MegaMenu, SharedModule]
1390
- }]
1391
- }] });
1392
-
1393
- /**
1394
- * Generated bundle index. Do not edit.
1395
- */
1396
-
469
+ const MEGAMENU_INSTANCE = new InjectionToken("MEGAMENU_INSTANCE");
470
+ const MEGAMENU_SUB_INSTANCE = new InjectionToken("MEGAMENU_SUB_INSTANCE");
471
+ var MegaMenuSub = class MegaMenuSub extends BaseComponent {
472
+ bindDirectiveInstance = inject(Bind, { self: true });
473
+ $pcMegaMenu = inject(MEGAMENU_INSTANCE, {
474
+ optional: true,
475
+ skipSelf: true
476
+ }) ?? void 0;
477
+ $pcMegaMenuSub = inject(MEGAMENU_SUB_INSTANCE, {
478
+ optional: true,
479
+ skipSelf: true
480
+ }) ?? void 0;
481
+ id = input(...ngDevMode ? [void 0, { debugName: "id" }] : /* istanbul ignore next */ []);
482
+ items = input(...ngDevMode ? [void 0, { debugName: "items" }] : /* istanbul ignore next */ []);
483
+ itemTemplate = input(...ngDevMode ? [void 0, { debugName: "itemTemplate" }] : /* istanbul ignore next */ []);
484
+ menuId = input(...ngDevMode ? [void 0, { debugName: "menuId" }] : /* istanbul ignore next */ []);
485
+ ariaLabel = input(...ngDevMode ? [void 0, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
486
+ ariaLabelledBy = input(...ngDevMode ? [void 0, { debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []);
487
+ level = input(0, {
488
+ ...ngDevMode ? { debugName: "level" } : /* istanbul ignore next */ {},
489
+ transform: numberAttribute
490
+ });
491
+ focusedItemId = input(...ngDevMode ? [void 0, { debugName: "focusedItemId" }] : /* istanbul ignore next */ []);
492
+ disabled = input(false, {
493
+ ...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
494
+ transform: booleanAttribute
495
+ });
496
+ orientation = input(...ngDevMode ? [void 0, { debugName: "orientation" }] : /* istanbul ignore next */ []);
497
+ activeItem = input(...ngDevMode ? [void 0, { debugName: "activeItem" }] : /* istanbul ignore next */ []);
498
+ submenu = input(...ngDevMode ? [void 0, { debugName: "submenu" }] : /* istanbul ignore next */ []);
499
+ queryMatches = input(false, {
500
+ ...ngDevMode ? { debugName: "queryMatches" } : /* istanbul ignore next */ {},
501
+ transform: booleanAttribute
502
+ });
503
+ mobileActive = input(false, {
504
+ ...ngDevMode ? { debugName: "mobileActive" } : /* istanbul ignore next */ {},
505
+ transform: booleanAttribute
506
+ });
507
+ scrollHeight = input(void 0, ...ngDevMode ? [{ debugName: "scrollHeight" }] : /* istanbul ignore next */ []);
508
+ tabindex = input(0, {
509
+ ...ngDevMode ? { debugName: "tabindex" } : /* istanbul ignore next */ {},
510
+ transform: numberAttribute
511
+ });
512
+ root = input(false, {
513
+ ...ngDevMode ? { debugName: "root" } : /* istanbul ignore next */ {},
514
+ transform: booleanAttribute
515
+ });
516
+ itemClick = output();
517
+ itemMouseEnter = output();
518
+ menuFocus = output();
519
+ menuBlur = output();
520
+ menuKeydown = output();
521
+ menuMouseDown = output();
522
+ megaMenu = inject(forwardRef(() => MegaMenu));
523
+ _componentStyle = inject(MegaMenuStyle);
524
+ onAfterViewChecked() {
525
+ this.bindDirectiveInstance.setAttrs(this.ptm(this.root() ? "rootList" : "submenu"));
526
+ }
527
+ onItemClick(event, processedItem) {
528
+ this.getItemProp(processedItem, "command", {
529
+ originalEvent: event,
530
+ item: processedItem.item
531
+ });
532
+ this.itemClick.emit({
533
+ originalEvent: event,
534
+ processedItem,
535
+ isFocus: true
536
+ });
537
+ }
538
+ getItemProp(processedItem, name, params = null) {
539
+ return processedItem && processedItem.item ? resolve(processedItem.item[name], params) : void 0;
540
+ }
541
+ getItemId(processedItem) {
542
+ return processedItem.item && processedItem.item?.id ? processedItem.item.id : `${this.menuId()}_${processedItem.key}`;
543
+ }
544
+ getSubListId(processedItem) {
545
+ return `${this.getItemId(processedItem)}_list`;
546
+ }
547
+ getItemLabel(processedItem) {
548
+ return this.getItemProp(processedItem, "label");
549
+ }
550
+ isSubmenuVisible(submenu) {
551
+ if (this.submenu() && !this.root()) return this.isItemVisible(submenu);
552
+ else return true;
553
+ }
554
+ isItemVisible(processedItem) {
555
+ return this.getItemProp(processedItem, "visible") !== false;
556
+ }
557
+ isItemActive(processedItem) {
558
+ const activeItem = this.activeItem();
559
+ return isNotEmpty(activeItem) ? activeItem.key === processedItem.key : false;
560
+ }
561
+ isItemDisabled(processedItem) {
562
+ return this.getItemProp(processedItem, "disabled");
563
+ }
564
+ isItemFocused(processedItem) {
565
+ return this.focusedItemId() === this.getItemId(processedItem);
566
+ }
567
+ isItemGroup(processedItem) {
568
+ return isNotEmpty(processedItem.items);
569
+ }
570
+ getAriaSetSize() {
571
+ return this.items()?.filter((processedItem) => this.isItemVisible(processedItem) && !this.getItemProp(processedItem, "separator")).length;
572
+ }
573
+ getAriaPosInset(index) {
574
+ return index - (this.items()?.slice(0, index).filter((processedItem) => this.isItemVisible(processedItem) && this.getItemProp(processedItem, "separator")).length || 0) + 1;
575
+ }
576
+ onItemMouseEnter(param) {
577
+ const { event, processedItem } = param;
578
+ this.itemMouseEnter.emit({
579
+ originalEvent: event,
580
+ processedItem
581
+ });
582
+ }
583
+ getPTOptions(processedItem, index, key) {
584
+ const ptContext = { context: {
585
+ item: processedItem.item,
586
+ index,
587
+ active: this.isItemActive(processedItem),
588
+ focused: this.isItemFocused(processedItem),
589
+ disabled: this.isItemDisabled(processedItem)
590
+ } };
591
+ return this.ptm(key, ptContext);
592
+ }
593
+ static ɵfac = i0.ɵɵngDeclareFactory({
594
+ minVersion: "12.0.0",
595
+ version: "22.2.1",
596
+ ngImport: i0,
597
+ type: MegaMenuSub,
598
+ deps: null,
599
+ target: i0.ɵɵFactoryTarget.Component
600
+ });
601
+ static ɵcmp = i0.ɵɵngDeclareComponent({
602
+ minVersion: "17.0.0",
603
+ version: "22.2.1",
604
+ type: MegaMenuSub,
605
+ isStandalone: true,
606
+ selector: "h-megaMenuSub, h-megamenu-sub, ul[hMegaMenuSub]",
607
+ inputs: {
608
+ id: {
609
+ classPropertyName: "id",
610
+ publicName: "id",
611
+ isSignal: true,
612
+ isRequired: false,
613
+ transformFunction: null
614
+ },
615
+ items: {
616
+ classPropertyName: "items",
617
+ publicName: "items",
618
+ isSignal: true,
619
+ isRequired: false,
620
+ transformFunction: null
621
+ },
622
+ itemTemplate: {
623
+ classPropertyName: "itemTemplate",
624
+ publicName: "itemTemplate",
625
+ isSignal: true,
626
+ isRequired: false,
627
+ transformFunction: null
628
+ },
629
+ menuId: {
630
+ classPropertyName: "menuId",
631
+ publicName: "menuId",
632
+ isSignal: true,
633
+ isRequired: false,
634
+ transformFunction: null
635
+ },
636
+ ariaLabel: {
637
+ classPropertyName: "ariaLabel",
638
+ publicName: "ariaLabel",
639
+ isSignal: true,
640
+ isRequired: false,
641
+ transformFunction: null
642
+ },
643
+ ariaLabelledBy: {
644
+ classPropertyName: "ariaLabelledBy",
645
+ publicName: "ariaLabelledBy",
646
+ isSignal: true,
647
+ isRequired: false,
648
+ transformFunction: null
649
+ },
650
+ level: {
651
+ classPropertyName: "level",
652
+ publicName: "level",
653
+ isSignal: true,
654
+ isRequired: false,
655
+ transformFunction: null
656
+ },
657
+ focusedItemId: {
658
+ classPropertyName: "focusedItemId",
659
+ publicName: "focusedItemId",
660
+ isSignal: true,
661
+ isRequired: false,
662
+ transformFunction: null
663
+ },
664
+ disabled: {
665
+ classPropertyName: "disabled",
666
+ publicName: "disabled",
667
+ isSignal: true,
668
+ isRequired: false,
669
+ transformFunction: null
670
+ },
671
+ orientation: {
672
+ classPropertyName: "orientation",
673
+ publicName: "orientation",
674
+ isSignal: true,
675
+ isRequired: false,
676
+ transformFunction: null
677
+ },
678
+ activeItem: {
679
+ classPropertyName: "activeItem",
680
+ publicName: "activeItem",
681
+ isSignal: true,
682
+ isRequired: false,
683
+ transformFunction: null
684
+ },
685
+ submenu: {
686
+ classPropertyName: "submenu",
687
+ publicName: "submenu",
688
+ isSignal: true,
689
+ isRequired: false,
690
+ transformFunction: null
691
+ },
692
+ queryMatches: {
693
+ classPropertyName: "queryMatches",
694
+ publicName: "queryMatches",
695
+ isSignal: true,
696
+ isRequired: false,
697
+ transformFunction: null
698
+ },
699
+ mobileActive: {
700
+ classPropertyName: "mobileActive",
701
+ publicName: "mobileActive",
702
+ isSignal: true,
703
+ isRequired: false,
704
+ transformFunction: null
705
+ },
706
+ scrollHeight: {
707
+ classPropertyName: "scrollHeight",
708
+ publicName: "scrollHeight",
709
+ isSignal: true,
710
+ isRequired: false,
711
+ transformFunction: null
712
+ },
713
+ tabindex: {
714
+ classPropertyName: "tabindex",
715
+ publicName: "tabindex",
716
+ isSignal: true,
717
+ isRequired: false,
718
+ transformFunction: null
719
+ },
720
+ root: {
721
+ classPropertyName: "root",
722
+ publicName: "root",
723
+ isSignal: true,
724
+ isRequired: false,
725
+ transformFunction: null
726
+ }
727
+ },
728
+ outputs: {
729
+ itemClick: "itemClick",
730
+ itemMouseEnter: "itemMouseEnter",
731
+ menuFocus: "menuFocus",
732
+ menuBlur: "menuBlur",
733
+ menuKeydown: "menuKeydown",
734
+ menuMouseDown: "menuMouseDown"
735
+ },
736
+ host: {
737
+ listeners: {
738
+ "keydown": "menuKeydown.emit($event)",
739
+ "focus": "menuFocus.emit($event)",
740
+ "blur": "menuBlur.emit($event)",
741
+ "mousedown": "menuMouseDown.emit($event)"
742
+ },
743
+ properties: {
744
+ "class": "root() ? cx(\"rootList\") : cx(\"submenu\")",
745
+ "style": "sx(\"rootList\")",
746
+ "style.display": "isSubmenuVisible(submenu) ? null : \"none\"",
747
+ "attr.role": "root() ? \"menubar\" : \"menu\"",
748
+ "attr.id": "id()",
749
+ "attr.aria-orientation": "orientation()",
750
+ "tabindex": "tabindex()",
751
+ "attr.aria-activedescendant": "focusedItemId()",
752
+ "attr.data-pc-section": "root() ? \"rootlist\" : \"submenu\""
753
+ }
754
+ },
755
+ providers: [{
756
+ provide: MEGAMENU_SUB_INSTANCE,
757
+ useExisting: MegaMenuSub
758
+ }, {
759
+ provide: PARENT_INSTANCE,
760
+ useExisting: MegaMenuSub
761
+ }],
762
+ usesInheritance: true,
763
+ hostDirectives: [{ directive: i1.Bind }],
764
+ ngImport: i0,
765
+ template: "@if (submenu()) {\n <li [class]=\"cn(cx('submenuLabel'), getItemProp(submenu(), 'class'))\" [style]=\"getItemProp(submenu(), 'style')\" role=\"presentation\" [hBind]=\"ptm('submenuLabel')\">\n {{ getItemLabel(submenu()) }}\n </li>\n}\n@for (processedItem of items(); track processedItem; let index = $index) {\n @if (isItemVisible(processedItem) && getItemProp(processedItem, 'separator')) {\n <li\n [attr.id]=\"getItemId(processedItem)\"\n [style]=\"getItemProp(processedItem, 'style')\"\n [class]=\"cn(cx('separator'), this.getItemProp(processedItem, 'class'))\"\n role=\"separator\"\n [hBind]=\"ptm('separator')\"\n ></li>\n }\n @if (isItemVisible(processedItem) && !getItemProp(processedItem, 'separator')) {\n <li\n #listItem\n role=\"menuitem\"\n [attr.id]=\"getItemId(processedItem)\"\n [attr.data-h-active]=\"isItemActive(processedItem)\"\n [attr.data-h-focused]=\"isItemFocused(processedItem)\"\n [attr.data-h-disabled]=\"isItemDisabled(processedItem)\"\n [attr.aria-label]=\"getItemLabel(processedItem)\"\n [attr.aria-disabled]=\"isItemDisabled(processedItem) || undefined\"\n [attr.aria-haspopup]=\"isItemGroup(processedItem) && !getItemProp(processedItem, 'to') ? 'menu' : undefined\"\n [attr.aria-expanded]=\"isItemGroup(processedItem) ? isItemActive(processedItem) : undefined\"\n [attr.aria-level]=\"level() + 1\"\n [attr.aria-setsize]=\"getAriaSetSize()\"\n [attr.aria-posinset]=\"getAriaPosInset(index)\"\n [ngStyle]=\"getItemProp(processedItem, 'style')\"\n [class]=\"cn(cx('item', { processedItem }), getItemProp(processedItem, 'styleClass'))\"\n hTooltip\n [tooltipOptions]=\"getItemProp(processedItem, 'tooltipOptions')\"\n [hBind]=\"getPTOptions(processedItem, index, 'item')\"\n [pTooltipUnstyled]=\"unstyled()\"\n >\n <div [class]=\"cx('itemContent')\" [hBind]=\"getPTOptions(processedItem, index, 'itemContent')\" (click)=\"onItemClick($event, processedItem)\" (mouseenter)=\"onItemMouseEnter({ $event, processedItem })\">\n @if (!itemTemplate()) {\n @if (!getItemProp(processedItem, 'routerLink')) {\n <a\n [attr.href]=\"getItemProp(processedItem, 'url')\"\n [attr.data-automationid]=\"getItemProp(processedItem, 'automationId')\"\n [attr.title]=\"getItemProp(processedItem, 'title')\"\n [target]=\"getItemProp(processedItem, 'target')\"\n [class]=\"cn(cx('itemLink'), getItemProp(processedItem, 'linkClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'linkStyle')\"\n [attr.tabindex]=\"-1\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLink')\"\n hRipple\n >\n @if (getItemProp(processedItem, 'icon')) {\n <span\n [class]=\"cn(cx('itemIcon'), getItemProp(processedItem, 'icon'), getItemProp(processedItem, 'iconClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'iconStyle')\"\n [attr.tabindex]=\"-1\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemIcon')\"\n >\n </span>\n }\n @if (getItemProp(processedItem, 'escape')) {\n <span\n [class]=\"cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'labelStyle')\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLabel')\"\n >\n {{ getItemLabel(processedItem) }}\n </span>\n } @else {\n <span\n [class]=\"cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'labelStyle')\"\n [innerHTML]=\"getItemLabel(processedItem)\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLabel')\"\n ></span>\n }\n @if (getItemProp(processedItem, 'badge')) {\n <h-badge [class]=\"getItemProp(processedItem, 'badgeStyleClass')\" [value]=\"getItemProp(processedItem, 'badge')\" [unstyled]=\"unstyled()\" />\n }\n @if (isItemGroup(processedItem)) {\n @if (!megaMenu.submenuIconTemplate() && !megaMenu._submenuIconTemplate) {\n @if (orientation() === 'horizontal' || mobileActive()) {\n <svg data-h-icon=\"angle-down\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" [attr.aria-hidden]=\"true\" />\n } @else {\n @if (orientation() === 'vertical') {\n <svg data-h-icon=\"angle-right\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" [attr.aria-hidden]=\"true\" />\n }\n }\n }\n <ng-template *ngTemplateOutlet=\"megaMenu.submenuIconTemplate() || megaMenu._submenuIconTemplate\" [attr.aria-hidden]=\"true\"></ng-template>\n }\n </a>\n }\n @if (getItemProp(processedItem, 'routerLink')) {\n <a\n [routerLink]=\"getItemProp(processedItem, 'routerLink')\"\n [attr.data-automationid]=\"getItemProp(processedItem, 'automationId')\"\n [attr.title]=\"getItemProp(processedItem, 'title')\"\n [attr.tabindex]=\"-1\"\n [queryParams]=\"getItemProp(processedItem, 'queryParams')\"\n [routerLinkActive]=\"'h-megamenu-item-link-active'\"\n [routerLinkActiveOptions]=\"getItemProp(processedItem, 'routerLinkActiveOptions') || { exact: false }\"\n [target]=\"getItemProp(processedItem, 'target')\"\n [class]=\"cn(cx('itemLink'), getItemProp(processedItem, 'linkClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'linkStyle')\"\n [fragment]=\"getItemProp(processedItem, 'fragment')\"\n [queryParamsHandling]=\"getItemProp(processedItem, 'queryParamsHandling')\"\n [preserveFragment]=\"getItemProp(processedItem, 'preserveFragment')\"\n [skipLocationChange]=\"getItemProp(processedItem, 'skipLocationChange')\"\n [replaceUrl]=\"getItemProp(processedItem, 'replaceUrl')\"\n [state]=\"getItemProp(processedItem, 'state')\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLink')\"\n hRipple\n >\n @if (getItemProp(processedItem, 'icon')) {\n <span\n [class]=\"cn(cx('itemIcon'), getItemProp(processedItem, 'icon'), getItemProp(processedItem, 'iconClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'iconStyle')\"\n [attr.tabindex]=\"-1\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemIcon')\"\n ></span>\n }\n @if (getItemProp(processedItem, 'escape')) {\n <span\n [class]=\"cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'labelStyle')\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLabel')\"\n >{{ getItemLabel(processedItem) }}</span\n >\n } @else {\n <span\n [class]=\"cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'labelStyle')\"\n [innerHTML]=\"getItemLabel(processedItem)\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLabel')\"\n ></span\n >\n }\n @if (getItemProp(processedItem, 'badge')) {\n <h-badge [styleClass]=\"getItemProp(processedItem, 'badgeStyleClass')\" [value]=\"getItemProp(processedItem, 'badge')\" [unstyled]=\"unstyled()\" />\n }\n @if (isItemGroup(processedItem)) {\n @if (!megaMenu.submenuIconTemplate() && !megaMenu._submenuIconTemplate) {\n @if (orientation() === 'horizontal') {\n <svg data-h-icon=\"angle-down\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" [attr.aria-hidden]=\"true\" />\n }\n @if (orientation() === 'vertical') {\n <svg data-h-icon=\"angle-right\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" [attr.aria-hidden]=\"true\" />\n }\n }\n <ng-template *ngTemplateOutlet=\"megaMenu.submenuIconTemplate() || megaMenu._submenuIconTemplate\" [attr.aria-hidden]=\"true\"></ng-template>\n }\n </a>\n }\n }\n @if (itemTemplate()) {\n <ng-template *ngTemplateOutlet=\"itemTemplate(); context: { $implicit: processedItem.item }\"></ng-template>\n }\n </div>\n @if (isItemVisible(processedItem) && isItemGroup(processedItem)) {\n <div [class]=\"cx('overlay')\" [hBind]=\"ptm('overlay')\">\n <div [class]=\"cx('grid')\" [hBind]=\"ptm('grid')\">\n @for (col of processedItem.items; track col) {\n <div [class]=\"cx('column', { processedItem })\" [hBind]=\"ptm('column')\">\n @for (submenu of col; track submenu) {\n <ul\n hMegaMenuSub\n [id]=\"getSubListId(submenu)\"\n [submenu]=\"submenu\"\n [items]=\"submenu.items\"\n [itemTemplate]=\"itemTemplate()\"\n [mobileActive]=\"mobileActive()\"\n [menuId]=\"menuId()\"\n [focusedItemId]=\"focusedItemId()\"\n [level]=\"level() + 1\"\n [root]=\"false\"\n (itemClick)=\"itemClick.emit($event)\"\n (itemMouseEnter)=\"onItemMouseEnter($event)\"\n [pt]=\"pt()\"\n [unstyled]=\"unstyled()\"\n ></ul>\n }\n </div>\n }\n </div>\n </div>\n }\n </li>\n }\n }\n",
766
+ dependencies: [
767
+ {
768
+ kind: "component",
769
+ type: MegaMenuSub,
770
+ selector: "h-megaMenuSub, h-megamenu-sub, ul[hMegaMenuSub]",
771
+ inputs: [
772
+ "id",
773
+ "items",
774
+ "itemTemplate",
775
+ "menuId",
776
+ "ariaLabel",
777
+ "ariaLabelledBy",
778
+ "level",
779
+ "focusedItemId",
780
+ "disabled",
781
+ "orientation",
782
+ "activeItem",
783
+ "submenu",
784
+ "queryMatches",
785
+ "mobileActive",
786
+ "scrollHeight",
787
+ "tabindex",
788
+ "root"
789
+ ],
790
+ outputs: [
791
+ "itemClick",
792
+ "itemMouseEnter",
793
+ "menuFocus",
794
+ "menuBlur",
795
+ "menuKeydown",
796
+ "menuMouseDown"
797
+ ]
798
+ },
799
+ {
800
+ kind: "ngmodule",
801
+ type: CommonModule
802
+ },
803
+ {
804
+ kind: "directive",
805
+ type: i2.NgTemplateOutlet,
806
+ selector: "[ngTemplateOutlet]",
807
+ inputs: [
808
+ "ngTemplateOutletContext",
809
+ "ngTemplateOutlet",
810
+ "ngTemplateOutletInjector"
811
+ ]
812
+ },
813
+ {
814
+ kind: "directive",
815
+ type: i2.NgStyle,
816
+ selector: "[ngStyle]",
817
+ inputs: ["ngStyle"]
818
+ },
819
+ {
820
+ kind: "ngmodule",
821
+ type: RouterModule
822
+ },
823
+ {
824
+ kind: "directive",
825
+ type: i3.RouterLink,
826
+ selector: "[routerLink]",
827
+ inputs: [
828
+ "target",
829
+ "queryParams",
830
+ "fragment",
831
+ "queryParamsHandling",
832
+ "state",
833
+ "info",
834
+ "relativeTo",
835
+ "preserveFragment",
836
+ "skipLocationChange",
837
+ "replaceUrl",
838
+ "browserUrl",
839
+ "routerLink"
840
+ ]
841
+ },
842
+ {
843
+ kind: "directive",
844
+ type: i3.RouterLinkActive,
845
+ selector: "[routerLinkActive]",
846
+ inputs: [
847
+ "routerLinkActiveOptions",
848
+ "ariaCurrentWhenActive",
849
+ "routerLinkActive"
850
+ ],
851
+ outputs: ["isActiveChange"],
852
+ exportAs: ["routerLinkActive"]
853
+ },
854
+ {
855
+ kind: "directive",
856
+ type: Ripple,
857
+ selector: "[hRipple]"
858
+ },
859
+ {
860
+ kind: "ngmodule",
861
+ type: TooltipModule
862
+ },
863
+ {
864
+ kind: "directive",
865
+ type: i4.Tooltip,
866
+ selector: "[hTooltip]",
867
+ inputs: [
868
+ "tooltipPosition",
869
+ "tooltipEvent",
870
+ "positionStyle",
871
+ "tooltipStyleClass",
872
+ "tooltipZIndex",
873
+ "escape",
874
+ "showDelay",
875
+ "hideDelay",
876
+ "life",
877
+ "positionTop",
878
+ "positionLeft",
879
+ "autoHide",
880
+ "fitContent",
881
+ "hideOnEscape",
882
+ "showOnEllipsis",
883
+ "hTooltip",
884
+ "tooltipDisabled",
885
+ "tooltipOptions",
886
+ "appendTo",
887
+ "ptTooltip",
888
+ "pTooltipPT",
889
+ "pTooltipUnstyled"
890
+ ]
891
+ },
892
+ {
893
+ kind: "directive",
894
+ type: i1.Bind,
895
+ selector: "[hBind]",
896
+ inputs: ["hBind"]
897
+ },
898
+ {
899
+ kind: "component",
900
+ type: AngleDownIcon,
901
+ selector: "[data-h-icon=\"angle-down\"]"
902
+ },
903
+ {
904
+ kind: "component",
905
+ type: AngleRightIcon,
906
+ selector: "[data-h-icon=\"angle-right\"]"
907
+ },
908
+ {
909
+ kind: "ngmodule",
910
+ type: BadgeModule
911
+ },
912
+ {
913
+ kind: "component",
914
+ type: i5.Badge,
915
+ selector: "h-badge",
916
+ inputs: [
917
+ "styleClass",
918
+ "badgeSize",
919
+ "size",
920
+ "severity",
921
+ "value",
922
+ "badgeDisabled"
923
+ ]
924
+ },
925
+ {
926
+ kind: "ngmodule",
927
+ type: SharedModule
928
+ }
929
+ ],
930
+ changeDetection: i0.ChangeDetectionStrategy.Eager,
931
+ encapsulation: i0.ViewEncapsulation.None
932
+ });
933
+ };
934
+ i0.ɵɵngDeclareClassMetadata({
935
+ minVersion: "12.0.0",
936
+ version: "22.2.1",
937
+ ngImport: i0,
938
+ type: MegaMenuSub,
939
+ decorators: [{
940
+ type: Component,
941
+ args: [{
942
+ selector: "h-megaMenuSub, h-megamenu-sub, ul[hMegaMenuSub]",
943
+ standalone: true,
944
+ imports: [
945
+ CommonModule,
946
+ RouterModule,
947
+ Ripple,
948
+ TooltipModule,
949
+ AngleDownIcon,
950
+ AngleRightIcon,
951
+ BadgeModule,
952
+ SharedModule,
953
+ Bind
954
+ ],
955
+ encapsulation: ViewEncapsulation.None,
956
+ providers: [{
957
+ provide: MEGAMENU_SUB_INSTANCE,
958
+ useExisting: MegaMenuSub
959
+ }, {
960
+ provide: PARENT_INSTANCE,
961
+ useExisting: MegaMenuSub
962
+ }],
963
+ host: {
964
+ "[class]": "root() ? cx(\"rootList\") : cx(\"submenu\")",
965
+ "[style]": "sx(\"rootList\")",
966
+ "[style.display]": "isSubmenuVisible(submenu) ? null : \"none\"",
967
+ "[attr.role]": "root() ? \"menubar\" : \"menu\"",
968
+ "[attr.id]": "id()",
969
+ "[attr.aria-orientation]": "orientation()",
970
+ "[tabindex]": "tabindex()",
971
+ "[attr.aria-activedescendant]": "focusedItemId()",
972
+ "[attr.data-pc-section]": "root() ? \"rootlist\" : \"submenu\"",
973
+ "(keydown)": "menuKeydown.emit($event)",
974
+ "(focus)": "menuFocus.emit($event)",
975
+ "(blur)": "menuBlur.emit($event)",
976
+ "(mousedown)": "menuMouseDown.emit($event)"
977
+ },
978
+ changeDetection: ChangeDetectionStrategy.Eager,
979
+ hostDirectives: [Bind],
980
+ template: "@if (submenu()) {\n <li [class]=\"cn(cx('submenuLabel'), getItemProp(submenu(), 'class'))\" [style]=\"getItemProp(submenu(), 'style')\" role=\"presentation\" [hBind]=\"ptm('submenuLabel')\">\n {{ getItemLabel(submenu()) }}\n </li>\n}\n@for (processedItem of items(); track processedItem; let index = $index) {\n @if (isItemVisible(processedItem) && getItemProp(processedItem, 'separator')) {\n <li\n [attr.id]=\"getItemId(processedItem)\"\n [style]=\"getItemProp(processedItem, 'style')\"\n [class]=\"cn(cx('separator'), this.getItemProp(processedItem, 'class'))\"\n role=\"separator\"\n [hBind]=\"ptm('separator')\"\n ></li>\n }\n @if (isItemVisible(processedItem) && !getItemProp(processedItem, 'separator')) {\n <li\n #listItem\n role=\"menuitem\"\n [attr.id]=\"getItemId(processedItem)\"\n [attr.data-h-active]=\"isItemActive(processedItem)\"\n [attr.data-h-focused]=\"isItemFocused(processedItem)\"\n [attr.data-h-disabled]=\"isItemDisabled(processedItem)\"\n [attr.aria-label]=\"getItemLabel(processedItem)\"\n [attr.aria-disabled]=\"isItemDisabled(processedItem) || undefined\"\n [attr.aria-haspopup]=\"isItemGroup(processedItem) && !getItemProp(processedItem, 'to') ? 'menu' : undefined\"\n [attr.aria-expanded]=\"isItemGroup(processedItem) ? isItemActive(processedItem) : undefined\"\n [attr.aria-level]=\"level() + 1\"\n [attr.aria-setsize]=\"getAriaSetSize()\"\n [attr.aria-posinset]=\"getAriaPosInset(index)\"\n [ngStyle]=\"getItemProp(processedItem, 'style')\"\n [class]=\"cn(cx('item', { processedItem }), getItemProp(processedItem, 'styleClass'))\"\n hTooltip\n [tooltipOptions]=\"getItemProp(processedItem, 'tooltipOptions')\"\n [hBind]=\"getPTOptions(processedItem, index, 'item')\"\n [pTooltipUnstyled]=\"unstyled()\"\n >\n <div [class]=\"cx('itemContent')\" [hBind]=\"getPTOptions(processedItem, index, 'itemContent')\" (click)=\"onItemClick($event, processedItem)\" (mouseenter)=\"onItemMouseEnter({ $event, processedItem })\">\n @if (!itemTemplate()) {\n @if (!getItemProp(processedItem, 'routerLink')) {\n <a\n [attr.href]=\"getItemProp(processedItem, 'url')\"\n [attr.data-automationid]=\"getItemProp(processedItem, 'automationId')\"\n [attr.title]=\"getItemProp(processedItem, 'title')\"\n [target]=\"getItemProp(processedItem, 'target')\"\n [class]=\"cn(cx('itemLink'), getItemProp(processedItem, 'linkClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'linkStyle')\"\n [attr.tabindex]=\"-1\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLink')\"\n hRipple\n >\n @if (getItemProp(processedItem, 'icon')) {\n <span\n [class]=\"cn(cx('itemIcon'), getItemProp(processedItem, 'icon'), getItemProp(processedItem, 'iconClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'iconStyle')\"\n [attr.tabindex]=\"-1\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemIcon')\"\n >\n </span>\n }\n @if (getItemProp(processedItem, 'escape')) {\n <span\n [class]=\"cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'labelStyle')\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLabel')\"\n >\n {{ getItemLabel(processedItem) }}\n </span>\n } @else {\n <span\n [class]=\"cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'labelStyle')\"\n [innerHTML]=\"getItemLabel(processedItem)\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLabel')\"\n ></span>\n }\n @if (getItemProp(processedItem, 'badge')) {\n <h-badge [class]=\"getItemProp(processedItem, 'badgeStyleClass')\" [value]=\"getItemProp(processedItem, 'badge')\" [unstyled]=\"unstyled()\" />\n }\n @if (isItemGroup(processedItem)) {\n @if (!megaMenu.submenuIconTemplate() && !megaMenu._submenuIconTemplate) {\n @if (orientation() === 'horizontal' || mobileActive()) {\n <svg data-h-icon=\"angle-down\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" [attr.aria-hidden]=\"true\" />\n } @else {\n @if (orientation() === 'vertical') {\n <svg data-h-icon=\"angle-right\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" [attr.aria-hidden]=\"true\" />\n }\n }\n }\n <ng-template *ngTemplateOutlet=\"megaMenu.submenuIconTemplate() || megaMenu._submenuIconTemplate\" [attr.aria-hidden]=\"true\"></ng-template>\n }\n </a>\n }\n @if (getItemProp(processedItem, 'routerLink')) {\n <a\n [routerLink]=\"getItemProp(processedItem, 'routerLink')\"\n [attr.data-automationid]=\"getItemProp(processedItem, 'automationId')\"\n [attr.title]=\"getItemProp(processedItem, 'title')\"\n [attr.tabindex]=\"-1\"\n [queryParams]=\"getItemProp(processedItem, 'queryParams')\"\n [routerLinkActive]=\"'h-megamenu-item-link-active'\"\n [routerLinkActiveOptions]=\"getItemProp(processedItem, 'routerLinkActiveOptions') || { exact: false }\"\n [target]=\"getItemProp(processedItem, 'target')\"\n [class]=\"cn(cx('itemLink'), getItemProp(processedItem, 'linkClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'linkStyle')\"\n [fragment]=\"getItemProp(processedItem, 'fragment')\"\n [queryParamsHandling]=\"getItemProp(processedItem, 'queryParamsHandling')\"\n [preserveFragment]=\"getItemProp(processedItem, 'preserveFragment')\"\n [skipLocationChange]=\"getItemProp(processedItem, 'skipLocationChange')\"\n [replaceUrl]=\"getItemProp(processedItem, 'replaceUrl')\"\n [state]=\"getItemProp(processedItem, 'state')\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLink')\"\n hRipple\n >\n @if (getItemProp(processedItem, 'icon')) {\n <span\n [class]=\"cn(cx('itemIcon'), getItemProp(processedItem, 'icon'), getItemProp(processedItem, 'iconClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'iconStyle')\"\n [attr.tabindex]=\"-1\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemIcon')\"\n ></span>\n }\n @if (getItemProp(processedItem, 'escape')) {\n <span\n [class]=\"cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'labelStyle')\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLabel')\"\n >{{ getItemLabel(processedItem) }}</span\n >\n } @else {\n <span\n [class]=\"cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))\"\n [ngStyle]=\"getItemProp(processedItem, 'labelStyle')\"\n [innerHTML]=\"getItemLabel(processedItem)\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLabel')\"\n ></span\n >\n }\n @if (getItemProp(processedItem, 'badge')) {\n <h-badge [styleClass]=\"getItemProp(processedItem, 'badgeStyleClass')\" [value]=\"getItemProp(processedItem, 'badge')\" [unstyled]=\"unstyled()\" />\n }\n @if (isItemGroup(processedItem)) {\n @if (!megaMenu.submenuIconTemplate() && !megaMenu._submenuIconTemplate) {\n @if (orientation() === 'horizontal') {\n <svg data-h-icon=\"angle-down\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" [attr.aria-hidden]=\"true\" />\n }\n @if (orientation() === 'vertical') {\n <svg data-h-icon=\"angle-right\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" [attr.aria-hidden]=\"true\" />\n }\n }\n <ng-template *ngTemplateOutlet=\"megaMenu.submenuIconTemplate() || megaMenu._submenuIconTemplate\" [attr.aria-hidden]=\"true\"></ng-template>\n }\n </a>\n }\n }\n @if (itemTemplate()) {\n <ng-template *ngTemplateOutlet=\"itemTemplate(); context: { $implicit: processedItem.item }\"></ng-template>\n }\n </div>\n @if (isItemVisible(processedItem) && isItemGroup(processedItem)) {\n <div [class]=\"cx('overlay')\" [hBind]=\"ptm('overlay')\">\n <div [class]=\"cx('grid')\" [hBind]=\"ptm('grid')\">\n @for (col of processedItem.items; track col) {\n <div [class]=\"cx('column', { processedItem })\" [hBind]=\"ptm('column')\">\n @for (submenu of col; track submenu) {\n <ul\n hMegaMenuSub\n [id]=\"getSubListId(submenu)\"\n [submenu]=\"submenu\"\n [items]=\"submenu.items\"\n [itemTemplate]=\"itemTemplate()\"\n [mobileActive]=\"mobileActive()\"\n [menuId]=\"menuId()\"\n [focusedItemId]=\"focusedItemId()\"\n [level]=\"level() + 1\"\n [root]=\"false\"\n (itemClick)=\"itemClick.emit($event)\"\n (itemMouseEnter)=\"onItemMouseEnter($event)\"\n [pt]=\"pt()\"\n [unstyled]=\"unstyled()\"\n ></ul>\n }\n </div>\n }\n </div>\n </div>\n }\n </li>\n }\n }\n"
981
+ }]
982
+ }],
983
+ propDecorators: {
984
+ id: [{
985
+ type: i0.Input,
986
+ args: [{
987
+ isSignal: true,
988
+ alias: "id",
989
+ required: false
990
+ }]
991
+ }],
992
+ items: [{
993
+ type: i0.Input,
994
+ args: [{
995
+ isSignal: true,
996
+ alias: "items",
997
+ required: false
998
+ }]
999
+ }],
1000
+ itemTemplate: [{
1001
+ type: i0.Input,
1002
+ args: [{
1003
+ isSignal: true,
1004
+ alias: "itemTemplate",
1005
+ required: false
1006
+ }]
1007
+ }],
1008
+ menuId: [{
1009
+ type: i0.Input,
1010
+ args: [{
1011
+ isSignal: true,
1012
+ alias: "menuId",
1013
+ required: false
1014
+ }]
1015
+ }],
1016
+ ariaLabel: [{
1017
+ type: i0.Input,
1018
+ args: [{
1019
+ isSignal: true,
1020
+ alias: "ariaLabel",
1021
+ required: false
1022
+ }]
1023
+ }],
1024
+ ariaLabelledBy: [{
1025
+ type: i0.Input,
1026
+ args: [{
1027
+ isSignal: true,
1028
+ alias: "ariaLabelledBy",
1029
+ required: false
1030
+ }]
1031
+ }],
1032
+ level: [{
1033
+ type: i0.Input,
1034
+ args: [{
1035
+ isSignal: true,
1036
+ alias: "level",
1037
+ required: false
1038
+ }]
1039
+ }],
1040
+ focusedItemId: [{
1041
+ type: i0.Input,
1042
+ args: [{
1043
+ isSignal: true,
1044
+ alias: "focusedItemId",
1045
+ required: false
1046
+ }]
1047
+ }],
1048
+ disabled: [{
1049
+ type: i0.Input,
1050
+ args: [{
1051
+ isSignal: true,
1052
+ alias: "disabled",
1053
+ required: false
1054
+ }]
1055
+ }],
1056
+ orientation: [{
1057
+ type: i0.Input,
1058
+ args: [{
1059
+ isSignal: true,
1060
+ alias: "orientation",
1061
+ required: false
1062
+ }]
1063
+ }],
1064
+ activeItem: [{
1065
+ type: i0.Input,
1066
+ args: [{
1067
+ isSignal: true,
1068
+ alias: "activeItem",
1069
+ required: false
1070
+ }]
1071
+ }],
1072
+ submenu: [{
1073
+ type: i0.Input,
1074
+ args: [{
1075
+ isSignal: true,
1076
+ alias: "submenu",
1077
+ required: false
1078
+ }]
1079
+ }],
1080
+ queryMatches: [{
1081
+ type: i0.Input,
1082
+ args: [{
1083
+ isSignal: true,
1084
+ alias: "queryMatches",
1085
+ required: false
1086
+ }]
1087
+ }],
1088
+ mobileActive: [{
1089
+ type: i0.Input,
1090
+ args: [{
1091
+ isSignal: true,
1092
+ alias: "mobileActive",
1093
+ required: false
1094
+ }]
1095
+ }],
1096
+ scrollHeight: [{
1097
+ type: i0.Input,
1098
+ args: [{
1099
+ isSignal: true,
1100
+ alias: "scrollHeight",
1101
+ required: false
1102
+ }]
1103
+ }],
1104
+ tabindex: [{
1105
+ type: i0.Input,
1106
+ args: [{
1107
+ isSignal: true,
1108
+ alias: "tabindex",
1109
+ required: false
1110
+ }]
1111
+ }],
1112
+ root: [{
1113
+ type: i0.Input,
1114
+ args: [{
1115
+ isSignal: true,
1116
+ alias: "root",
1117
+ required: false
1118
+ }]
1119
+ }],
1120
+ itemClick: [{
1121
+ type: i0.Output,
1122
+ args: ["itemClick"]
1123
+ }],
1124
+ itemMouseEnter: [{
1125
+ type: i0.Output,
1126
+ args: ["itemMouseEnter"]
1127
+ }],
1128
+ menuFocus: [{
1129
+ type: i0.Output,
1130
+ args: ["menuFocus"]
1131
+ }],
1132
+ menuBlur: [{
1133
+ type: i0.Output,
1134
+ args: ["menuBlur"]
1135
+ }],
1136
+ menuKeydown: [{
1137
+ type: i0.Output,
1138
+ args: ["menuKeydown"]
1139
+ }],
1140
+ menuMouseDown: [{
1141
+ type: i0.Output,
1142
+ args: ["menuMouseDown"]
1143
+ }]
1144
+ }
1145
+ });
1146
+ var MegaMenu = class MegaMenu extends BaseComponent {
1147
+ componentName = "MegaMenu";
1148
+ bindDirectiveInstance = inject(Bind, { self: true });
1149
+ model = input(...ngDevMode ? [void 0, { debugName: "model" }] : /* istanbul ignore next */ []);
1150
+ styleClass = input(...ngDevMode ? [void 0, { debugName: "styleClass" }] : /* istanbul ignore next */ []);
1151
+ orientation = input("horizontal", ...ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []);
1152
+ id = input(...ngDevMode ? [void 0, { debugName: "id" }] : /* istanbul ignore next */ []);
1153
+ autoId = uuid("pn_id_");
1154
+ $id = computed(() => this.id() || this.autoId, ...ngDevMode ? [{ debugName: "$id" }] : /* istanbul ignore next */ []);
1155
+ ariaLabel = input(...ngDevMode ? [void 0, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
1156
+ ariaLabelledBy = input(...ngDevMode ? [void 0, { debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []);
1157
+ breakpoint = input("960px", ...ngDevMode ? [{ debugName: "breakpoint" }] : /* istanbul ignore next */ []);
1158
+ scrollHeight = input("20rem", ...ngDevMode ? [{ debugName: "scrollHeight" }] : /* istanbul ignore next */ []);
1159
+ disabled = input(false, {
1160
+ ...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
1161
+ transform: booleanAttribute
1162
+ });
1163
+ tabindex = input(0, {
1164
+ ...ngDevMode ? { debugName: "tabindex" } : /* istanbul ignore next */ {},
1165
+ transform: numberAttribute
1166
+ });
1167
+ startTemplate = contentChild("start", {
1168
+ ...ngDevMode ? { debugName: "startTemplate" } : /* istanbul ignore next */ {},
1169
+ descendants: false
1170
+ });
1171
+ endTemplate = contentChild("end", {
1172
+ ...ngDevMode ? { debugName: "endTemplate" } : /* istanbul ignore next */ {},
1173
+ descendants: false
1174
+ });
1175
+ menuIconTemplate = contentChild("menuicon", {
1176
+ ...ngDevMode ? { debugName: "menuIconTemplate" } : /* istanbul ignore next */ {},
1177
+ descendants: false
1178
+ });
1179
+ submenuIconTemplate = contentChild("submenuicon", {
1180
+ ...ngDevMode ? { debugName: "submenuIconTemplate" } : /* istanbul ignore next */ {},
1181
+ descendants: false
1182
+ });
1183
+ itemTemplate = contentChild("item", {
1184
+ ...ngDevMode ? { debugName: "itemTemplate" } : /* istanbul ignore next */ {},
1185
+ descendants: false
1186
+ });
1187
+ buttonTemplate = contentChild("button", {
1188
+ ...ngDevMode ? { debugName: "buttonTemplate" } : /* istanbul ignore next */ {},
1189
+ descendants: false
1190
+ });
1191
+ buttonIconTemplate = contentChild("buttonicon", {
1192
+ ...ngDevMode ? { debugName: "buttonIconTemplate" } : /* istanbul ignore next */ {},
1193
+ descendants: false
1194
+ });
1195
+ templates = contentChildren(HelixTemplate, ...ngDevMode ? [{ debugName: "templates" }] : /* istanbul ignore next */ []);
1196
+ menubuttonViewChild = viewChild("menubutton", ...ngDevMode ? [{ debugName: "menubuttonViewChild" }] : /* istanbul ignore next */ []);
1197
+ rootmenu = viewChild("rootmenu", ...ngDevMode ? [{ debugName: "rootmenu" }] : /* istanbul ignore next */ []);
1198
+ _startTemplate;
1199
+ _endTemplate;
1200
+ _menuIconTemplate;
1201
+ _submenuIconTemplate;
1202
+ _itemTemplate;
1203
+ _buttonTemplate;
1204
+ _buttonIconTemplate;
1205
+ outsideClickListener;
1206
+ resizeListener;
1207
+ dirty = false;
1208
+ focused = false;
1209
+ activeItem = signal(null, ...ngDevMode ? [{ debugName: "activeItem" }] : /* istanbul ignore next */ []);
1210
+ focusedItemInfo = signal({
1211
+ index: -1,
1212
+ level: 0,
1213
+ parentKey: "",
1214
+ item: null
1215
+ }, ...ngDevMode ? [{ debugName: "focusedItemInfo" }] : /* istanbul ignore next */ []);
1216
+ searchValue = "";
1217
+ searchTimeout;
1218
+ _processedItems;
1219
+ _componentStyle = inject(MegaMenuStyle);
1220
+ matchMediaListener;
1221
+ query;
1222
+ queryMatches = signal(false, ...ngDevMode ? [{ debugName: "queryMatches" }] : /* istanbul ignore next */ []);
1223
+ mobileActive = false;
1224
+ get visibleItems() {
1225
+ const processedItem = isNotEmpty(this.activeItem()) ? this.activeItem() : null;
1226
+ return processedItem ? processedItem.items.reduce((items, col) => {
1227
+ col.forEach((submenu) => {
1228
+ submenu.items.forEach((a) => {
1229
+ items.push(a);
1230
+ });
1231
+ });
1232
+ return items;
1233
+ }, []) : this.processedItems;
1234
+ }
1235
+ get processedItems() {
1236
+ if (!this._processedItems || !this._processedItems.length) this._processedItems = this.createProcessedItems(this.model() || []);
1237
+ return this._processedItems;
1238
+ }
1239
+ get focusedItemId() {
1240
+ const focusedItem = this.focusedItemInfo();
1241
+ return focusedItem?.item && focusedItem.item?.id ? focusedItem.item.id : isNotEmpty(focusedItem.key) ? `${this.$id()}_${focusedItem.key}` : null;
1242
+ }
1243
+ constructor() {
1244
+ super();
1245
+ effect(() => {
1246
+ if (isNotEmpty(this.activeItem())) {
1247
+ this.bindOutsideClickListener();
1248
+ this.bindResizeListener();
1249
+ } else {
1250
+ this.unbindOutsideClickListener();
1251
+ this.unbindResizeListener();
1252
+ }
1253
+ });
1254
+ effect(() => {
1255
+ const model = this.model();
1256
+ this._processedItems = this.createProcessedItems(model || []);
1257
+ });
1258
+ }
1259
+ onInit() {
1260
+ this.bindMatchMediaListener();
1261
+ }
1262
+ onAfterViewChecked() {
1263
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
1264
+ }
1265
+ onAfterContentInit() {
1266
+ this.templates()?.forEach((item) => {
1267
+ switch (item.getType()) {
1268
+ case "start":
1269
+ this._startTemplate = item.template;
1270
+ break;
1271
+ case "end":
1272
+ this._endTemplate = item.template;
1273
+ break;
1274
+ case "menuicon":
1275
+ this._menuIconTemplate = item.template;
1276
+ break;
1277
+ case "submenuicon":
1278
+ this._submenuIconTemplate = item.template;
1279
+ break;
1280
+ case "item":
1281
+ this._itemTemplate = item.template;
1282
+ break;
1283
+ case "button":
1284
+ this._buttonTemplate = item.template;
1285
+ break;
1286
+ case "buttonicon":
1287
+ this._buttonIconTemplate = item.template;
1288
+ break;
1289
+ default:
1290
+ this._itemTemplate = item.template;
1291
+ break;
1292
+ }
1293
+ });
1294
+ }
1295
+ bindMatchMediaListener() {
1296
+ if (isPlatformBrowser(this.platformId)) {
1297
+ if (!this.matchMediaListener) {
1298
+ const query = window.matchMedia(`(max-width: ${this.breakpoint()})`);
1299
+ this.query = query;
1300
+ this.queryMatches.set(query.matches);
1301
+ this.matchMediaListener = () => {
1302
+ this.queryMatches.set(query.matches);
1303
+ this.mobileActive = false;
1304
+ this.cd.markForCheck();
1305
+ };
1306
+ query.addEventListener("change", this.matchMediaListener);
1307
+ }
1308
+ }
1309
+ }
1310
+ unbindMatchMediaListener() {
1311
+ if (this.matchMediaListener) {
1312
+ this.query.removeEventListener("change", this.matchMediaListener);
1313
+ this.matchMediaListener = null;
1314
+ }
1315
+ }
1316
+ createProcessedItems(items, level = 0, parent = {}, parentKey = "", columnIndex) {
1317
+ const processedItems = [];
1318
+ items && items.forEach((item, index) => {
1319
+ const key = (parentKey !== "" ? parentKey + "_" : "") + (columnIndex !== void 0 ? columnIndex + "_" : "") + index;
1320
+ const newItem = {
1321
+ item,
1322
+ index,
1323
+ level,
1324
+ key,
1325
+ parent,
1326
+ parentKey,
1327
+ columnIndex: columnIndex !== void 0 ? columnIndex : parent.columnIndex !== void 0 ? parent.columnIndex : index
1328
+ };
1329
+ newItem["items"] = level === 0 && item.items && item.items.length > 0 ? item.items.map((_items, _index) => this.createProcessedItems(_items, level + 1, newItem, key, _index)) : this.createProcessedItems(item.items, level + 1, newItem, key);
1330
+ processedItems.push(newItem);
1331
+ });
1332
+ return processedItems;
1333
+ }
1334
+ getItemProp(item, name) {
1335
+ return item ? resolve(item[name]) : void 0;
1336
+ }
1337
+ onItemClick(event) {
1338
+ this.dirty = true;
1339
+ const { originalEvent, processedItem } = event;
1340
+ const grouped = this.isProcessedItemGroup(processedItem);
1341
+ const root = isEmpty(processedItem.parent);
1342
+ if (this.isSelected(processedItem)) {
1343
+ const { index, key, parentKey, item } = processedItem;
1344
+ this.activeItem.set(null);
1345
+ this.focusedItemInfo.set({
1346
+ index,
1347
+ key,
1348
+ parentKey,
1349
+ item
1350
+ });
1351
+ this.dirty = !root;
1352
+ if (!this.mobileActive) focus(this.rootmenu()?.el?.nativeElement, { preventScroll: true });
1353
+ } else if (grouped) this.onItemChange(event);
1354
+ else this.hide(originalEvent);
1355
+ }
1356
+ onItemMouseEnter(event) {
1357
+ if (!this.mobileActive && this.dirty) this.onItemChange(event);
1358
+ }
1359
+ menuButtonClick(event) {
1360
+ this.toggle(event);
1361
+ }
1362
+ menuButtonKeydown(event) {
1363
+ (event.code === "Enter" || event.code === "NumpadEnter" || event.code === "Space") && this.menuButtonClick(event);
1364
+ }
1365
+ toggle(event) {
1366
+ if (this.mobileActive) {
1367
+ this.mobileActive = false;
1368
+ ZIndexUtils.clear(this.rootmenu()?.el.nativeElement);
1369
+ this.hide();
1370
+ } else {
1371
+ this.mobileActive = true;
1372
+ ZIndexUtils.set("menu", this.rootmenu()?.el.nativeElement, this.config.zIndex.menu);
1373
+ setTimeout(() => {
1374
+ this.show();
1375
+ }, 0);
1376
+ }
1377
+ this.bindOutsideClickListener();
1378
+ event.preventDefault();
1379
+ }
1380
+ show() {
1381
+ this.focusedItemInfo.set({
1382
+ index: this.findFirstFocusedItemIndex(),
1383
+ level: 0,
1384
+ parentKey: ""
1385
+ });
1386
+ focus(this.rootmenu()?.el.nativeElement);
1387
+ }
1388
+ scrollInView(index = -1) {
1389
+ const id = index !== -1 ? `${this.$id()}_${index}` : this.focusedItemId;
1390
+ let element;
1391
+ if (id === null && this.queryMatches()) element = this.menubuttonViewChild()?.nativeElement;
1392
+ else element = findSingle(this.rootmenu()?.el?.nativeElement, `li[id="${id}"]`);
1393
+ if (element) element.scrollIntoView && element.scrollIntoView({
1394
+ block: "nearest",
1395
+ inline: "nearest",
1396
+ behavior: "smooth"
1397
+ });
1398
+ }
1399
+ onItemChange(event) {
1400
+ const { processedItem, isFocus } = event;
1401
+ if (isEmpty(processedItem)) return;
1402
+ const { index, key, parentKey, items, item } = processedItem;
1403
+ const grouped = isNotEmpty(items);
1404
+ if (grouped) this.activeItem.set(processedItem);
1405
+ this.focusedItemInfo.set({
1406
+ index,
1407
+ key,
1408
+ parentKey,
1409
+ item
1410
+ });
1411
+ grouped && (this.dirty = true);
1412
+ isFocus && focus(this.rootmenu()?.el?.nativeElement);
1413
+ }
1414
+ hide(event, isFocus) {
1415
+ if (this.mobileActive) {
1416
+ this.mobileActive = false;
1417
+ setTimeout(() => {
1418
+ focus(this.menubuttonViewChild()?.nativeElement);
1419
+ this.scrollInView();
1420
+ }, 100);
1421
+ }
1422
+ this.activeItem.set(null);
1423
+ this.focusedItemInfo.set({
1424
+ index: -1,
1425
+ key: "",
1426
+ parentKey: "",
1427
+ item: null
1428
+ });
1429
+ isFocus && focus(this.rootmenu()?.el?.nativeElement);
1430
+ this.dirty = false;
1431
+ }
1432
+ onMenuMouseDown(event) {
1433
+ this.dirty = true;
1434
+ }
1435
+ onMenuFocus(event) {
1436
+ this.focused = true;
1437
+ const relatedTarget = event.relatedTarget;
1438
+ if ((!relatedTarget || !this.el.nativeElement.contains(relatedTarget)) && this.focusedItemInfo().index === -1 && isEmpty(this.activeItem()) && !this.dirty) {
1439
+ const index = this.findFirstFocusedItemIndex();
1440
+ const processedItem = this.findVisibleItem(index);
1441
+ this.focusedItemInfo.set({
1442
+ index,
1443
+ key: processedItem.key,
1444
+ parentKey: processedItem.parentKey,
1445
+ item: processedItem.item
1446
+ });
1447
+ }
1448
+ }
1449
+ onMenuBlur(event) {
1450
+ const relatedTarget = event.relatedTarget;
1451
+ if (relatedTarget && this.el.nativeElement.contains(relatedTarget)) return;
1452
+ setTimeout(() => {
1453
+ const activeElement = this.document.activeElement;
1454
+ if (activeElement && this.el.nativeElement.contains(activeElement)) return;
1455
+ this.focused = false;
1456
+ this.focusedItemInfo.set({
1457
+ index: -1,
1458
+ level: 0,
1459
+ parentKey: "",
1460
+ item: null
1461
+ });
1462
+ this.searchValue = "";
1463
+ this.dirty = false;
1464
+ });
1465
+ }
1466
+ onKeyDown(event) {
1467
+ const metaKey = event.metaKey || event.ctrlKey;
1468
+ switch (event.code) {
1469
+ case "ArrowDown":
1470
+ this.onArrowDownKey(event);
1471
+ break;
1472
+ case "ArrowUp":
1473
+ this.onArrowUpKey(event);
1474
+ break;
1475
+ case "ArrowLeft":
1476
+ this.onArrowLeftKey(event);
1477
+ break;
1478
+ case "ArrowRight":
1479
+ this.onArrowRightKey(event);
1480
+ break;
1481
+ case "Home":
1482
+ this.onHomeKey(event);
1483
+ break;
1484
+ case "End":
1485
+ this.onEndKey(event);
1486
+ break;
1487
+ case "Space":
1488
+ this.onSpaceKey(event);
1489
+ break;
1490
+ case "Enter":
1491
+ this.onEnterKey(event);
1492
+ break;
1493
+ case "Escape":
1494
+ this.onEscapeKey(event);
1495
+ break;
1496
+ case "Tab":
1497
+ this.onTabKey(event);
1498
+ break;
1499
+ case "PageDown":
1500
+ case "PageUp":
1501
+ case "Backspace":
1502
+ case "ShiftLeft":
1503
+ case "ShiftRight": break;
1504
+ default:
1505
+ if (!metaKey && isPrintableCharacter(event.key)) this.searchItems(event, event.key);
1506
+ break;
1507
+ }
1508
+ }
1509
+ findFirstFocusedItemIndex() {
1510
+ const selectedIndex = this.findSelectedItemIndex();
1511
+ return selectedIndex < 0 ? this.findFirstItemIndex() : selectedIndex;
1512
+ }
1513
+ findFirstItemIndex() {
1514
+ return this.visibleItems.findIndex((processedItem) => this.isValidItem(processedItem));
1515
+ }
1516
+ findSelectedItemIndex() {
1517
+ return this.visibleItems.findIndex((processedItem) => this.isValidSelectedItem(processedItem));
1518
+ }
1519
+ isProcessedItemGroup(processedItem) {
1520
+ return processedItem && isNotEmpty(processedItem.items);
1521
+ }
1522
+ isSelected(processedItem) {
1523
+ return isNotEmpty(this.activeItem()) ? this.activeItem().key === processedItem.key : false;
1524
+ }
1525
+ isValidSelectedItem(processedItem) {
1526
+ return this.isValidItem(processedItem) && this.isSelected(processedItem);
1527
+ }
1528
+ isValidItem(processedItem) {
1529
+ return !!processedItem && !this.isItemDisabled(processedItem.item) && !this.isItemSeparator(processedItem.item);
1530
+ }
1531
+ isItemDisabled(item) {
1532
+ return this.getItemProp(item, "disabled");
1533
+ }
1534
+ isItemSeparator(item) {
1535
+ return this.getItemProp(item, "separator");
1536
+ }
1537
+ isItemMatched(processedItem) {
1538
+ return this.isValidItem(processedItem) && this.getProccessedItemLabel(processedItem).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase());
1539
+ }
1540
+ isProccessedItemGroup(processedItem) {
1541
+ return processedItem && isNotEmpty(processedItem.items);
1542
+ }
1543
+ searchItems(event, char) {
1544
+ this.searchValue = (this.searchValue || "") + char;
1545
+ let itemIndex = -1;
1546
+ let matched = false;
1547
+ if (this.focusedItemInfo().index !== -1) {
1548
+ itemIndex = this.visibleItems.slice(this.focusedItemInfo().index).findIndex((processedItem) => this.isItemMatched(processedItem));
1549
+ itemIndex = itemIndex === -1 ? this.visibleItems.slice(0, this.focusedItemInfo().index).findIndex((processedItem) => this.isItemMatched(processedItem)) : itemIndex + this.focusedItemInfo().index;
1550
+ } else itemIndex = this.visibleItems.findIndex((processedItem) => this.isItemMatched(processedItem));
1551
+ if (itemIndex !== -1) matched = true;
1552
+ if (itemIndex === -1 && this.focusedItemInfo().index === -1) itemIndex = this.findFirstFocusedItemIndex();
1553
+ if (itemIndex !== -1) this.changeFocusedItemInfo(event, itemIndex);
1554
+ if (this.searchTimeout) clearTimeout(this.searchTimeout);
1555
+ this.searchTimeout = setTimeout(() => {
1556
+ this.searchValue = "";
1557
+ this.searchTimeout = null;
1558
+ }, 500);
1559
+ return matched;
1560
+ }
1561
+ getProccessedItemLabel(processedItem) {
1562
+ return processedItem ? this.getItemLabel(processedItem.item) : void 0;
1563
+ }
1564
+ getItemLabel(item) {
1565
+ return this.getItemProp(item, "label");
1566
+ }
1567
+ changeFocusedItemInfo(event, index) {
1568
+ const processedItem = this.findVisibleItem(index);
1569
+ if (isNotEmpty(processedItem)) {
1570
+ const { key, parentKey, item } = processedItem;
1571
+ this.focusedItemInfo.set({
1572
+ index,
1573
+ key: key ? key : "",
1574
+ parentKey,
1575
+ item
1576
+ });
1577
+ }
1578
+ this.scrollInView();
1579
+ }
1580
+ onArrowDownKey(event) {
1581
+ if (this.orientation() === "horizontal") if (isNotEmpty(this.activeItem()) && this.activeItem().key === this.focusedItemInfo().key) {
1582
+ const { key, item } = this.activeItem();
1583
+ this.focusedItemInfo.set({
1584
+ index: -1,
1585
+ key: "",
1586
+ parentKey: key,
1587
+ item
1588
+ });
1589
+ } else {
1590
+ const processedItem = this.findVisibleItem(this.focusedItemInfo().index);
1591
+ if (this.isProccessedItemGroup(processedItem)) {
1592
+ const { parentKey, key, item } = processedItem;
1593
+ this.onItemChange({
1594
+ originalEvent: event,
1595
+ processedItem
1596
+ });
1597
+ this.focusedItemInfo.set({
1598
+ index: -1,
1599
+ key,
1600
+ parentKey,
1601
+ item
1602
+ });
1603
+ this.searchValue = "";
1604
+ }
1605
+ }
1606
+ const itemIndex = this.focusedItemInfo().index !== -1 ? this.findNextItemIndex(this.focusedItemInfo().index) : this.findFirstFocusedItemIndex();
1607
+ this.changeFocusedItemInfo(event, itemIndex);
1608
+ event.preventDefault();
1609
+ }
1610
+ onArrowRightKey(event) {
1611
+ const processedItem = this.findVisibleItem(this.focusedItemInfo().index);
1612
+ if (this.isProccessedItemGroup(processedItem)) {
1613
+ if (this.orientation() === "vertical") if (isNotEmpty(this.activeItem()) && this.activeItem().key === processedItem.key) this.focusedItemInfo.set({
1614
+ index: -1,
1615
+ key: "",
1616
+ parentKey: this.activeItem().key,
1617
+ item: processedItem.item
1618
+ });
1619
+ else {
1620
+ const processedItem = this.findVisibleItem(this.focusedItemInfo().index);
1621
+ if (this.isProccessedItemGroup(processedItem)) {
1622
+ this.onItemChange({
1623
+ originalEvent: event,
1624
+ processedItem
1625
+ });
1626
+ this.focusedItemInfo.set({
1627
+ index: -1,
1628
+ key: processedItem.key,
1629
+ parentKey: processedItem.parentKey,
1630
+ item: processedItem.item
1631
+ });
1632
+ this.searchValue = "";
1633
+ }
1634
+ }
1635
+ const itemIndex = this.focusedItemInfo().index !== -1 ? this.findNextItemIndex(this.focusedItemInfo().index) : this.findFirstFocusedItemIndex();
1636
+ this.changeFocusedItemInfo(event, itemIndex);
1637
+ } else {
1638
+ const columnIndex = processedItem.columnIndex + 1;
1639
+ const itemIndex = this.visibleItems.findIndex((item) => item.columnIndex === columnIndex);
1640
+ itemIndex !== -1 && this.changeFocusedItemInfo(event, itemIndex);
1641
+ }
1642
+ event.preventDefault();
1643
+ }
1644
+ onArrowUpKey(event) {
1645
+ if (event.altKey && this.orientation() === "horizontal") {
1646
+ if (this.focusedItemInfo().index !== -1) {
1647
+ const processedItem = this.findVisibleItem(this.focusedItemInfo().index);
1648
+ if (!this.isProccessedItemGroup(processedItem) && isNotEmpty(this.activeItem)) if (this.focusedItemInfo().index === 0) {
1649
+ this.focusedItemInfo.set({
1650
+ index: this.activeItem().index,
1651
+ key: this.activeItem().key,
1652
+ parentKey: this.activeItem().parentKey,
1653
+ item: processedItem.item
1654
+ });
1655
+ this.activeItem.set(null);
1656
+ } else this.changeFocusedItemInfo(event, this.findFirstItemIndex());
1657
+ }
1658
+ event.preventDefault();
1659
+ } else {
1660
+ const itemIndex = this.focusedItemInfo().index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo().index) : this.findLastFocusedItemIndex();
1661
+ this.changeFocusedItemInfo(event, itemIndex);
1662
+ event.preventDefault();
1663
+ }
1664
+ }
1665
+ onArrowLeftKey(event) {
1666
+ const processedItem = this.findVisibleItem(this.focusedItemInfo().index);
1667
+ if (this.isProccessedItemGroup(processedItem)) {
1668
+ if (this.orientation() === "horizontal") {
1669
+ const itemIndex = this.focusedItemInfo().index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo().index) : this.findLastFocusedItemIndex();
1670
+ this.changeFocusedItemInfo(event, itemIndex);
1671
+ }
1672
+ } else {
1673
+ if (this.orientation() === "vertical" && isNotEmpty(this.activeItem())) {
1674
+ if (processedItem.columnIndex === 0) {
1675
+ this.focusedItemInfo.set({
1676
+ index: this.activeItem().index,
1677
+ key: this.activeItem().key,
1678
+ parentKey: this.activeItem().parentKey,
1679
+ item: processedItem.item
1680
+ });
1681
+ this.activeItem.set(null);
1682
+ }
1683
+ }
1684
+ const columnIndex = processedItem.columnIndex - 1;
1685
+ const itemIndex = this.visibleItems.findIndex((item) => item.columnIndex === columnIndex);
1686
+ itemIndex !== -1 && this.changeFocusedItemInfo(event, itemIndex);
1687
+ }
1688
+ event.preventDefault();
1689
+ }
1690
+ onHomeKey(event) {
1691
+ this.changeFocusedItemInfo(event, this.findFirstItemIndex());
1692
+ event.preventDefault();
1693
+ }
1694
+ onEndKey(event) {
1695
+ this.changeFocusedItemInfo(event, this.findLastItemIndex());
1696
+ event.preventDefault();
1697
+ }
1698
+ onSpaceKey(event) {
1699
+ this.onEnterKey(event);
1700
+ }
1701
+ onEscapeKey(event) {
1702
+ if (isNotEmpty(this.activeItem())) {
1703
+ this.focusedItemInfo.set({
1704
+ index: this.activeItem().index,
1705
+ key: this.activeItem().key,
1706
+ item: this.activeItem().item
1707
+ });
1708
+ this.activeItem.set(null);
1709
+ }
1710
+ event.preventDefault();
1711
+ }
1712
+ onTabKey(event) {
1713
+ if (this.focusedItemInfo().index !== -1) {
1714
+ const processedItem = this.findVisibleItem(this.focusedItemInfo().index);
1715
+ !this.isProccessedItemGroup(processedItem) && this.onItemChange({
1716
+ originalEvent: event,
1717
+ processedItem
1718
+ });
1719
+ }
1720
+ this.hide();
1721
+ }
1722
+ onEnterKey(event) {
1723
+ if (this.focusedItemInfo().index !== -1) {
1724
+ const element = findSingle(this.rootmenu()?.el?.nativeElement, `li[id="${`${this.focusedItemId}`}"]`);
1725
+ const anchorElement = element && (findSingle(element, "[data-pc-section=\"itemlink\"]") || findSingle(element, "a,button"));
1726
+ anchorElement ? anchorElement.click() : element && element.click();
1727
+ const processedItem = this.visibleItems[this.focusedItemInfo().index];
1728
+ !this.isProccessedItemGroup(processedItem) && this.changeFocusedItemInfo(event, this.findFirstFocusedItemIndex());
1729
+ }
1730
+ event.preventDefault();
1731
+ }
1732
+ findVisibleItem(index) {
1733
+ return isNotEmpty(this.visibleItems) ? this.visibleItems[index] : null;
1734
+ }
1735
+ findLastFocusedItemIndex() {
1736
+ const selectedIndex = this.findSelectedItemIndex();
1737
+ return selectedIndex < 0 ? this.findLastItemIndex() : selectedIndex;
1738
+ }
1739
+ findLastItemIndex() {
1740
+ return findLastIndex(this.visibleItems, (processedItem) => this.isValidItem(processedItem));
1741
+ }
1742
+ findPrevItemIndex(index) {
1743
+ const matchedItemIndex = index > 0 ? findLastIndex(this.visibleItems.slice(0, index), (processedItem) => this.isValidItem(processedItem)) : -1;
1744
+ return matchedItemIndex > -1 ? matchedItemIndex : index;
1745
+ }
1746
+ findNextItemIndex(index) {
1747
+ const matchedItemIndex = index < this.visibleItems.length - 1 ? this.visibleItems.slice(index + 1).findIndex((processedItem) => this.isValidItem(processedItem)) : -1;
1748
+ return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index;
1749
+ }
1750
+ bindResizeListener() {
1751
+ if (!this.resizeListener) {
1752
+ this.resizeListener = (event) => {
1753
+ if (!isTouchDevice()) this.hide(event, true);
1754
+ this.mobileActive = false;
1755
+ };
1756
+ window.addEventListener("resize", this.resizeListener);
1757
+ }
1758
+ }
1759
+ bindOutsideClickListener() {
1760
+ if (isPlatformBrowser(this.platformId)) {
1761
+ if (!this.outsideClickListener) this.outsideClickListener = this.renderer.listen(this.document, "click", (event) => {
1762
+ if (this.el?.nativeElement !== event.target && !this.el?.nativeElement.contains(event.target)) this.hide();
1763
+ });
1764
+ }
1765
+ }
1766
+ unbindOutsideClickListener() {
1767
+ if (this.outsideClickListener) {
1768
+ this.outsideClickListener();
1769
+ this.outsideClickListener = null;
1770
+ }
1771
+ }
1772
+ unbindResizeListener() {
1773
+ if (this.resizeListener) {
1774
+ window.removeEventListener("resize", this.resizeListener);
1775
+ this.resizeListener = null;
1776
+ }
1777
+ }
1778
+ onDestroy() {
1779
+ this.unbindOutsideClickListener();
1780
+ this.unbindResizeListener();
1781
+ this.unbindMatchMediaListener();
1782
+ }
1783
+ static ɵfac = i0.ɵɵngDeclareFactory({
1784
+ minVersion: "12.0.0",
1785
+ version: "22.2.1",
1786
+ ngImport: i0,
1787
+ type: MegaMenu,
1788
+ deps: [],
1789
+ target: i0.ɵɵFactoryTarget.Component
1790
+ });
1791
+ static ɵcmp = i0.ɵɵngDeclareComponent({
1792
+ minVersion: "17.0.0",
1793
+ version: "22.2.1",
1794
+ type: MegaMenu,
1795
+ isStandalone: true,
1796
+ selector: "h-megaMenu, h-megamenu, h-mega-menu",
1797
+ inputs: {
1798
+ model: {
1799
+ classPropertyName: "model",
1800
+ publicName: "model",
1801
+ isSignal: true,
1802
+ isRequired: false,
1803
+ transformFunction: null
1804
+ },
1805
+ styleClass: {
1806
+ classPropertyName: "styleClass",
1807
+ publicName: "styleClass",
1808
+ isSignal: true,
1809
+ isRequired: false,
1810
+ transformFunction: null
1811
+ },
1812
+ orientation: {
1813
+ classPropertyName: "orientation",
1814
+ publicName: "orientation",
1815
+ isSignal: true,
1816
+ isRequired: false,
1817
+ transformFunction: null
1818
+ },
1819
+ id: {
1820
+ classPropertyName: "id",
1821
+ publicName: "id",
1822
+ isSignal: true,
1823
+ isRequired: false,
1824
+ transformFunction: null
1825
+ },
1826
+ ariaLabel: {
1827
+ classPropertyName: "ariaLabel",
1828
+ publicName: "ariaLabel",
1829
+ isSignal: true,
1830
+ isRequired: false,
1831
+ transformFunction: null
1832
+ },
1833
+ ariaLabelledBy: {
1834
+ classPropertyName: "ariaLabelledBy",
1835
+ publicName: "ariaLabelledBy",
1836
+ isSignal: true,
1837
+ isRequired: false,
1838
+ transformFunction: null
1839
+ },
1840
+ breakpoint: {
1841
+ classPropertyName: "breakpoint",
1842
+ publicName: "breakpoint",
1843
+ isSignal: true,
1844
+ isRequired: false,
1845
+ transformFunction: null
1846
+ },
1847
+ scrollHeight: {
1848
+ classPropertyName: "scrollHeight",
1849
+ publicName: "scrollHeight",
1850
+ isSignal: true,
1851
+ isRequired: false,
1852
+ transformFunction: null
1853
+ },
1854
+ disabled: {
1855
+ classPropertyName: "disabled",
1856
+ publicName: "disabled",
1857
+ isSignal: true,
1858
+ isRequired: false,
1859
+ transformFunction: null
1860
+ },
1861
+ tabindex: {
1862
+ classPropertyName: "tabindex",
1863
+ publicName: "tabindex",
1864
+ isSignal: true,
1865
+ isRequired: false,
1866
+ transformFunction: null
1867
+ }
1868
+ },
1869
+ host: { properties: {
1870
+ "class": "cn(cx(\"root\"), styleClass())",
1871
+ "id": "id"
1872
+ } },
1873
+ providers: [
1874
+ MegaMenuStyle,
1875
+ {
1876
+ provide: MEGAMENU_INSTANCE,
1877
+ useExisting: MegaMenu
1878
+ },
1879
+ {
1880
+ provide: PARENT_INSTANCE,
1881
+ useExisting: MegaMenu
1882
+ }
1883
+ ],
1884
+ queries: [
1885
+ {
1886
+ propertyName: "startTemplate",
1887
+ first: true,
1888
+ predicate: ["start"],
1889
+ isSignal: true
1890
+ },
1891
+ {
1892
+ propertyName: "endTemplate",
1893
+ first: true,
1894
+ predicate: ["end"],
1895
+ isSignal: true
1896
+ },
1897
+ {
1898
+ propertyName: "menuIconTemplate",
1899
+ first: true,
1900
+ predicate: ["menuicon"],
1901
+ isSignal: true
1902
+ },
1903
+ {
1904
+ propertyName: "submenuIconTemplate",
1905
+ first: true,
1906
+ predicate: ["submenuicon"],
1907
+ isSignal: true
1908
+ },
1909
+ {
1910
+ propertyName: "itemTemplate",
1911
+ first: true,
1912
+ predicate: ["item"],
1913
+ isSignal: true
1914
+ },
1915
+ {
1916
+ propertyName: "buttonTemplate",
1917
+ first: true,
1918
+ predicate: ["button"],
1919
+ isSignal: true
1920
+ },
1921
+ {
1922
+ propertyName: "buttonIconTemplate",
1923
+ first: true,
1924
+ predicate: ["buttonicon"],
1925
+ isSignal: true
1926
+ },
1927
+ {
1928
+ propertyName: "templates",
1929
+ predicate: HelixTemplate,
1930
+ isSignal: true
1931
+ }
1932
+ ],
1933
+ viewQueries: [{
1934
+ propertyName: "menubuttonViewChild",
1935
+ first: true,
1936
+ predicate: ["menubutton"],
1937
+ descendants: true,
1938
+ isSignal: true
1939
+ }, {
1940
+ propertyName: "rootmenu",
1941
+ first: true,
1942
+ predicate: ["rootmenu"],
1943
+ descendants: true,
1944
+ isSignal: true
1945
+ }],
1946
+ usesInheritance: true,
1947
+ hostDirectives: [{ directive: i1.Bind }],
1948
+ ngImport: i0,
1949
+ template: "@if (startTemplate() || _startTemplate) {\n <div [class]=\"cx('start')\" [hBind]=\"ptm('start')\">\n <ng-container *ngTemplateOutlet=\"startTemplate() || _startTemplate\"></ng-container>\n </div>\n}\n@if (!buttonTemplate() && !_buttonTemplate) {\n @if (model() && model()!.length > 0) {\n <a\n #menubutton\n role=\"button\"\n tabindex=\"0\"\n [class]=\"cx('button')\"\n [attr.aria-haspopup]=\"model()!.length && model()!.length > 0 ? true : false\"\n [attr.aria-expanded]=\"mobileActive\"\n [attr.aria-controls]=\"$id()\"\n [attr.aria-label]=\"config.translation.aria.navigation\"\n [hBind]=\"ptm('button')\"\n (click)=\"menuButtonClick($event)\"\n (keydown)=\"menuButtonKeydown($event)\"\n >\n @if (!buttonIconTemplate() && !_buttonIconTemplate) {\n <svg data-h-icon=\"bars\" [hBind]=\"ptm('buttonIcon')\" />\n }\n <ng-template *ngTemplateOutlet=\"buttonIconTemplate() || _buttonIconTemplate\"></ng-template>\n </a>\n }\n}\n<ng-container *ngTemplateOutlet=\"buttonTemplate() || _buttonTemplate\"></ng-container>\n<ul\n hMegaMenuSub\n #rootmenu\n [itemTemplate]=\"itemTemplate() || _itemTemplate\"\n [items]=\"processedItems\"\n [attr.id]=\"$id() + '_list'\"\n [menuId]=\"$id()\"\n [root]=\"true\"\n [orientation]=\"orientation()\"\n [ariaLabel]=\"ariaLabel()\"\n [disabled]=\"disabled()\"\n [tabindex]=\"!disabled() ? tabindex() : -1\"\n [activeItem]=\"activeItem()\"\n [level]=\"0\"\n [ariaLabelledBy]=\"ariaLabelledBy()\"\n [focusedItemId]=\"focused ? focusedItemId : undefined\"\n [mobileActive]=\"mobileActive\"\n (itemClick)=\"onItemClick($event)\"\n (menuFocus)=\"onMenuFocus($event)\"\n (menuBlur)=\"onMenuBlur($event)\"\n (menuKeydown)=\"onKeyDown($event)\"\n (menuMouseDown)=\"onMenuMouseDown($event)\"\n (itemMouseEnter)=\"onItemMouseEnter($event)\"\n [queryMatches]=\"queryMatches()\"\n [scrollHeight]=\"scrollHeight()\"\n [pt]=\"pt()\"\n [unstyled]=\"unstyled()\"\n></ul>\n@if (endTemplate() || _endTemplate) {\n <div [class]=\"cx('end')\" [hBind]=\"ptm('end')\">\n <ng-container *ngTemplateOutlet=\"endTemplate() || _endTemplate\"></ng-container>\n </div>\n}\n",
1950
+ dependencies: [
1951
+ {
1952
+ kind: "ngmodule",
1953
+ type: CommonModule
1954
+ },
1955
+ {
1956
+ kind: "directive",
1957
+ type: i2.NgTemplateOutlet,
1958
+ selector: "[ngTemplateOutlet]",
1959
+ inputs: [
1960
+ "ngTemplateOutletContext",
1961
+ "ngTemplateOutlet",
1962
+ "ngTemplateOutletInjector"
1963
+ ]
1964
+ },
1965
+ {
1966
+ kind: "ngmodule",
1967
+ type: RouterModule
1968
+ },
1969
+ {
1970
+ kind: "component",
1971
+ type: MegaMenuSub,
1972
+ selector: "h-megaMenuSub, h-megamenu-sub, ul[hMegaMenuSub]",
1973
+ inputs: [
1974
+ "id",
1975
+ "items",
1976
+ "itemTemplate",
1977
+ "menuId",
1978
+ "ariaLabel",
1979
+ "ariaLabelledBy",
1980
+ "level",
1981
+ "focusedItemId",
1982
+ "disabled",
1983
+ "orientation",
1984
+ "activeItem",
1985
+ "submenu",
1986
+ "queryMatches",
1987
+ "mobileActive",
1988
+ "scrollHeight",
1989
+ "tabindex",
1990
+ "root"
1991
+ ],
1992
+ outputs: [
1993
+ "itemClick",
1994
+ "itemMouseEnter",
1995
+ "menuFocus",
1996
+ "menuBlur",
1997
+ "menuKeydown",
1998
+ "menuMouseDown"
1999
+ ]
2000
+ },
2001
+ {
2002
+ kind: "ngmodule",
2003
+ type: TooltipModule
2004
+ },
2005
+ {
2006
+ kind: "directive",
2007
+ type: i1.Bind,
2008
+ selector: "[hBind]",
2009
+ inputs: ["hBind"]
2010
+ },
2011
+ {
2012
+ kind: "component",
2013
+ type: BarsIcon,
2014
+ selector: "[data-h-icon=\"bars\"]"
2015
+ },
2016
+ {
2017
+ kind: "ngmodule",
2018
+ type: BadgeModule
2019
+ },
2020
+ {
2021
+ kind: "ngmodule",
2022
+ type: SharedModule
2023
+ }
2024
+ ],
2025
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
2026
+ encapsulation: i0.ViewEncapsulation.None
2027
+ });
2028
+ };
2029
+ i0.ɵɵngDeclareClassMetadata({
2030
+ minVersion: "12.0.0",
2031
+ version: "22.2.1",
2032
+ ngImport: i0,
2033
+ type: MegaMenu,
2034
+ decorators: [{
2035
+ type: Component,
2036
+ args: [{
2037
+ selector: "h-megaMenu, h-megamenu, h-mega-menu",
2038
+ standalone: true,
2039
+ imports: [
2040
+ CommonModule,
2041
+ RouterModule,
2042
+ MegaMenuSub,
2043
+ TooltipModule,
2044
+ BarsIcon,
2045
+ BadgeModule,
2046
+ SharedModule,
2047
+ Bind
2048
+ ],
2049
+ changeDetection: ChangeDetectionStrategy.OnPush,
2050
+ encapsulation: ViewEncapsulation.None,
2051
+ providers: [
2052
+ MegaMenuStyle,
2053
+ {
2054
+ provide: MEGAMENU_INSTANCE,
2055
+ useExisting: MegaMenu
2056
+ },
2057
+ {
2058
+ provide: PARENT_INSTANCE,
2059
+ useExisting: MegaMenu
2060
+ }
2061
+ ],
2062
+ host: {
2063
+ "[class]": "cn(cx(\"root\"), styleClass())",
2064
+ "[id]": "id"
2065
+ },
2066
+ hostDirectives: [Bind],
2067
+ template: "@if (startTemplate() || _startTemplate) {\n <div [class]=\"cx('start')\" [hBind]=\"ptm('start')\">\n <ng-container *ngTemplateOutlet=\"startTemplate() || _startTemplate\"></ng-container>\n </div>\n}\n@if (!buttonTemplate() && !_buttonTemplate) {\n @if (model() && model()!.length > 0) {\n <a\n #menubutton\n role=\"button\"\n tabindex=\"0\"\n [class]=\"cx('button')\"\n [attr.aria-haspopup]=\"model()!.length && model()!.length > 0 ? true : false\"\n [attr.aria-expanded]=\"mobileActive\"\n [attr.aria-controls]=\"$id()\"\n [attr.aria-label]=\"config.translation.aria.navigation\"\n [hBind]=\"ptm('button')\"\n (click)=\"menuButtonClick($event)\"\n (keydown)=\"menuButtonKeydown($event)\"\n >\n @if (!buttonIconTemplate() && !_buttonIconTemplate) {\n <svg data-h-icon=\"bars\" [hBind]=\"ptm('buttonIcon')\" />\n }\n <ng-template *ngTemplateOutlet=\"buttonIconTemplate() || _buttonIconTemplate\"></ng-template>\n </a>\n }\n}\n<ng-container *ngTemplateOutlet=\"buttonTemplate() || _buttonTemplate\"></ng-container>\n<ul\n hMegaMenuSub\n #rootmenu\n [itemTemplate]=\"itemTemplate() || _itemTemplate\"\n [items]=\"processedItems\"\n [attr.id]=\"$id() + '_list'\"\n [menuId]=\"$id()\"\n [root]=\"true\"\n [orientation]=\"orientation()\"\n [ariaLabel]=\"ariaLabel()\"\n [disabled]=\"disabled()\"\n [tabindex]=\"!disabled() ? tabindex() : -1\"\n [activeItem]=\"activeItem()\"\n [level]=\"0\"\n [ariaLabelledBy]=\"ariaLabelledBy()\"\n [focusedItemId]=\"focused ? focusedItemId : undefined\"\n [mobileActive]=\"mobileActive\"\n (itemClick)=\"onItemClick($event)\"\n (menuFocus)=\"onMenuFocus($event)\"\n (menuBlur)=\"onMenuBlur($event)\"\n (menuKeydown)=\"onKeyDown($event)\"\n (menuMouseDown)=\"onMenuMouseDown($event)\"\n (itemMouseEnter)=\"onItemMouseEnter($event)\"\n [queryMatches]=\"queryMatches()\"\n [scrollHeight]=\"scrollHeight()\"\n [pt]=\"pt()\"\n [unstyled]=\"unstyled()\"\n></ul>\n@if (endTemplate() || _endTemplate) {\n <div [class]=\"cx('end')\" [hBind]=\"ptm('end')\">\n <ng-container *ngTemplateOutlet=\"endTemplate() || _endTemplate\"></ng-container>\n </div>\n}\n"
2068
+ }]
2069
+ }],
2070
+ ctorParameters: () => [],
2071
+ propDecorators: {
2072
+ model: [{
2073
+ type: i0.Input,
2074
+ args: [{
2075
+ isSignal: true,
2076
+ alias: "model",
2077
+ required: false
2078
+ }]
2079
+ }],
2080
+ styleClass: [{
2081
+ type: i0.Input,
2082
+ args: [{
2083
+ isSignal: true,
2084
+ alias: "styleClass",
2085
+ required: false
2086
+ }]
2087
+ }],
2088
+ orientation: [{
2089
+ type: i0.Input,
2090
+ args: [{
2091
+ isSignal: true,
2092
+ alias: "orientation",
2093
+ required: false
2094
+ }]
2095
+ }],
2096
+ id: [{
2097
+ type: i0.Input,
2098
+ args: [{
2099
+ isSignal: true,
2100
+ alias: "id",
2101
+ required: false
2102
+ }]
2103
+ }],
2104
+ ariaLabel: [{
2105
+ type: i0.Input,
2106
+ args: [{
2107
+ isSignal: true,
2108
+ alias: "ariaLabel",
2109
+ required: false
2110
+ }]
2111
+ }],
2112
+ ariaLabelledBy: [{
2113
+ type: i0.Input,
2114
+ args: [{
2115
+ isSignal: true,
2116
+ alias: "ariaLabelledBy",
2117
+ required: false
2118
+ }]
2119
+ }],
2120
+ breakpoint: [{
2121
+ type: i0.Input,
2122
+ args: [{
2123
+ isSignal: true,
2124
+ alias: "breakpoint",
2125
+ required: false
2126
+ }]
2127
+ }],
2128
+ scrollHeight: [{
2129
+ type: i0.Input,
2130
+ args: [{
2131
+ isSignal: true,
2132
+ alias: "scrollHeight",
2133
+ required: false
2134
+ }]
2135
+ }],
2136
+ disabled: [{
2137
+ type: i0.Input,
2138
+ args: [{
2139
+ isSignal: true,
2140
+ alias: "disabled",
2141
+ required: false
2142
+ }]
2143
+ }],
2144
+ tabindex: [{
2145
+ type: i0.Input,
2146
+ args: [{
2147
+ isSignal: true,
2148
+ alias: "tabindex",
2149
+ required: false
2150
+ }]
2151
+ }],
2152
+ startTemplate: [{
2153
+ type: i0.ContentChild,
2154
+ args: ["start", {
2155
+ descendants: false,
2156
+ isSignal: true
2157
+ }]
2158
+ }],
2159
+ endTemplate: [{
2160
+ type: i0.ContentChild,
2161
+ args: ["end", {
2162
+ descendants: false,
2163
+ isSignal: true
2164
+ }]
2165
+ }],
2166
+ menuIconTemplate: [{
2167
+ type: i0.ContentChild,
2168
+ args: ["menuicon", {
2169
+ descendants: false,
2170
+ isSignal: true
2171
+ }]
2172
+ }],
2173
+ submenuIconTemplate: [{
2174
+ type: i0.ContentChild,
2175
+ args: ["submenuicon", {
2176
+ descendants: false,
2177
+ isSignal: true
2178
+ }]
2179
+ }],
2180
+ itemTemplate: [{
2181
+ type: i0.ContentChild,
2182
+ args: ["item", {
2183
+ descendants: false,
2184
+ isSignal: true
2185
+ }]
2186
+ }],
2187
+ buttonTemplate: [{
2188
+ type: i0.ContentChild,
2189
+ args: ["button", {
2190
+ descendants: false,
2191
+ isSignal: true
2192
+ }]
2193
+ }],
2194
+ buttonIconTemplate: [{
2195
+ type: i0.ContentChild,
2196
+ args: ["buttonicon", {
2197
+ descendants: false,
2198
+ isSignal: true
2199
+ }]
2200
+ }],
2201
+ templates: [{
2202
+ type: i0.ContentChildren,
2203
+ args: [i0.forwardRef(() => HelixTemplate), { isSignal: true }]
2204
+ }],
2205
+ menubuttonViewChild: [{
2206
+ type: i0.ViewChild,
2207
+ args: ["menubutton", { isSignal: true }]
2208
+ }],
2209
+ rootmenu: [{
2210
+ type: i0.ViewChild,
2211
+ args: ["rootmenu", { isSignal: true }]
2212
+ }]
2213
+ }
2214
+ });
2215
+ var MegaMenuModule = class MegaMenuModule {
2216
+ static ɵfac = i0.ɵɵngDeclareFactory({
2217
+ minVersion: "12.0.0",
2218
+ version: "22.2.1",
2219
+ ngImport: i0,
2220
+ type: MegaMenuModule,
2221
+ deps: [],
2222
+ target: i0.ɵɵFactoryTarget.NgModule
2223
+ });
2224
+ static ɵmod = i0.ɵɵngDeclareNgModule({
2225
+ minVersion: "14.0.0",
2226
+ version: "22.2.1",
2227
+ ngImport: i0,
2228
+ type: MegaMenuModule,
2229
+ imports: [MegaMenu, SharedModule],
2230
+ exports: [MegaMenu, SharedModule]
2231
+ });
2232
+ static ɵinj = i0.ɵɵngDeclareInjector({
2233
+ minVersion: "12.0.0",
2234
+ version: "22.2.1",
2235
+ ngImport: i0,
2236
+ type: MegaMenuModule,
2237
+ imports: [
2238
+ MegaMenu,
2239
+ SharedModule,
2240
+ SharedModule
2241
+ ]
2242
+ });
2243
+ };
2244
+ i0.ɵɵngDeclareClassMetadata({
2245
+ minVersion: "12.0.0",
2246
+ version: "22.2.1",
2247
+ ngImport: i0,
2248
+ type: MegaMenuModule,
2249
+ decorators: [{
2250
+ type: NgModule,
2251
+ args: [{
2252
+ imports: [MegaMenu, SharedModule],
2253
+ exports: [MegaMenu, SharedModule]
2254
+ }]
2255
+ }]
2256
+ });
1397
2257
  export { MegaMenu, MegaMenuClasses, MegaMenuModule, MegaMenuStyle, MegaMenuSub };
1398
- //# sourceMappingURL=gravionlabs-helix-core-megamenu.mjs.map
2258
+
2259
+ //# sourceMappingURL=gravionlabs-helix-core-megamenu.mjs.map