@gravionlabs/helix-core 22.1.2 → 22.1.3

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,27 +1,26 @@
1
- export * from '@gravionlabs/helix-core/types/menubar';
2
- import * as i1 from '@angular/common';
3
- import { CommonModule, isPlatformBrowser, DOCUMENT } from '@angular/common';
4
- import * as i0 from '@angular/core';
5
- import { Injectable, InjectionToken, input, booleanAttribute, numberAttribute, output, inject, ChangeDetectionStrategy, ViewEncapsulation, Component, computed, viewChild, signal, effect, contentChild, contentChildren, PLATFORM_ID, Inject, NgModule } from '@angular/core';
6
- import * as i2 from '@angular/router';
7
- import { RouterModule } from '@angular/router';
8
- import { resolve, isNotEmpty, uuid, isEmpty, focus, isTouchDevice, findSingle, isPrintableCharacter, findLastIndex } 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 i4 from '@gravionlabs/helix-core/bind';
14
- import { BindModule, 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 i3 from '@gravionlabs/helix-core/tooltip';
18
- import { TooltipModule } from '@gravionlabs/helix-core/tooltip';
19
- import { ZIndexUtils } from '@gravionlabs/helix-core/utils';
20
- import { Subject, interval } from 'rxjs';
21
- import { debounce, filter } from 'rxjs/operators';
22
- import { BaseStyle } from '@gravionlabs/helix-core/base';
23
-
24
- const style = /*css*/ `
1
+ import * as i1 from "@angular/common";
2
+ import { CommonModule, DOCUMENT, isPlatformBrowser } from "@angular/common";
3
+ import * as i0 from "@angular/core";
4
+ import { ChangeDetectionStrategy, Component, Inject, Injectable, InjectionToken, NgModule, PLATFORM_ID, ViewEncapsulation, booleanAttribute, computed, contentChild, contentChildren, effect, inject, input, numberAttribute, output, signal, viewChild } from "@angular/core";
5
+ import * as i2 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 i4 from "@gravionlabs/helix-core/bind";
13
+ import { Bind, BindModule } 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 i3 from "@gravionlabs/helix-core/tooltip";
17
+ import { TooltipModule } from "@gravionlabs/helix-core/tooltip";
18
+ import { ZIndexUtils } from "@gravionlabs/helix-core/utils";
19
+ import { Subject, interval } from "rxjs";
20
+ import { debounce, filter } from "rxjs/operators";
21
+ import { BaseStyle } from "@gravionlabs/helix-core/base";
22
+ export * from "@gravionlabs/helix-core/types/menubar";
23
+ const style = `
25
24
  .h-menubar {
26
25
  display: flex;
27
26
  align-items: center;
@@ -292,968 +291,1842 @@ const style = /*css*/ `
292
291
  padding-inline-end: 0;
293
292
  }
294
293
  `;
295
-
296
- const inlineStyles = {
297
- submenu: ({ instance, processedItem }) => ({ display: instance.isItemActive(processedItem) ? 'flex' : 'none' })
298
- };
294
+ const inlineStyles = { submenu: ({ instance, processedItem }) => ({ display: instance.isItemActive(processedItem) ? "flex" : "none" }) };
299
295
  const classes = {
300
- root: ({ instance }) => [
301
- 'h-menubar h-component',
302
- {
303
- 'h-menubar-mobile': instance.queryMatches(),
304
- 'h-menubar-mobile-active': instance.mobileActive
305
- }
306
- ],
307
- start: 'h-menubar-start',
308
- button: 'h-menubar-button',
309
- rootList: 'h-menubar-root-list',
310
- item: ({ instance, processedItem }) => [
311
- 'h-menubar-item',
312
- {
313
- 'h-menubar-item-active': instance.isItemActive(processedItem),
314
- 'h-focus': instance.isItemFocused(processedItem),
315
- 'h-disabled': instance.isItemDisabled(processedItem)
316
- }
317
- ],
318
- itemContent: 'h-menubar-item-content',
319
- itemLink: 'h-menubar-item-link',
320
- itemIcon: 'h-menubar-item-icon',
321
- itemLabel: 'h-menubar-item-label',
322
- submenuIcon: 'h-menubar-submenu-icon',
323
- submenu: 'h-menubar-submenu',
324
- separator: 'h-menubar-separator',
325
- end: 'h-menubar-end'
296
+ root: ({ instance }) => ["h-menubar h-component", {
297
+ "h-menubar-mobile": instance.queryMatches(),
298
+ "h-menubar-mobile-active": instance.mobileActive
299
+ }],
300
+ start: "h-menubar-start",
301
+ button: "h-menubar-button",
302
+ rootList: "h-menubar-root-list",
303
+ item: ({ instance, processedItem }) => ["h-menubar-item", {
304
+ "h-menubar-item-active": instance.isItemActive(processedItem),
305
+ "h-focus": instance.isItemFocused(processedItem),
306
+ "h-disabled": instance.isItemDisabled(processedItem)
307
+ }],
308
+ itemContent: "h-menubar-item-content",
309
+ itemLink: "h-menubar-item-link",
310
+ itemIcon: "h-menubar-item-icon",
311
+ itemLabel: "h-menubar-item-label",
312
+ submenuIcon: "h-menubar-submenu-icon",
313
+ submenu: "h-menubar-submenu",
314
+ separator: "h-menubar-separator",
315
+ end: "h-menubar-end"
326
316
  };
327
- class MenuBarStyle extends BaseStyle {
328
- name = 'menubar';
329
- style = style;
330
- classes = classes;
331
- inlineStyles = inlineStyles;
332
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: MenuBarStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
333
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: MenuBarStyle });
334
- }
335
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: MenuBarStyle, decorators: [{
336
- type: Injectable
337
- }] });
338
- /**
339
- *
340
- * Menubar is a horizontal menu component.
341
- *
342
- * [Live Demo](https://www.primeng.org/menubar/)
343
- *
344
- * @module menubarstyle
345
- *
346
- */
317
+ var MenuBarStyle = class MenuBarStyle extends BaseStyle {
318
+ name = "menubar";
319
+ style = style;
320
+ classes = classes;
321
+ inlineStyles = inlineStyles;
322
+ static ɵfac = i0.ɵɵngDeclareFactory({
323
+ minVersion: "12.0.0",
324
+ version: "22.2.1",
325
+ ngImport: i0,
326
+ type: MenuBarStyle,
327
+ deps: null,
328
+ target: i0.ɵɵFactoryTarget.Injectable
329
+ });
330
+ static ɵprov = i0.ɵɵngDeclareInjectable({
331
+ minVersion: "12.0.0",
332
+ version: "22.2.1",
333
+ ngImport: i0,
334
+ type: MenuBarStyle
335
+ });
336
+ };
337
+ i0.ɵɵngDeclareClassMetadata({
338
+ minVersion: "12.0.0",
339
+ version: "22.2.1",
340
+ ngImport: i0,
341
+ type: MenuBarStyle,
342
+ decorators: [{ type: Injectable }]
343
+ });
347
344
  var MenubarClasses;
348
- (function (MenubarClasses) {
349
- /**
350
- * Class name of the root element
351
- */
352
- MenubarClasses["root"] = "h-menubar";
353
- /**
354
- * Class name of the start element
355
- */
356
- MenubarClasses["start"] = "h-menubar-start";
357
- /**
358
- * Class name of the button element
359
- */
360
- MenubarClasses["button"] = "h-menubar-button";
361
- /**
362
- * Class name of the root list element
363
- */
364
- MenubarClasses["rootList"] = "h-menubar-root-list";
365
- /**
366
- * Class name of the item element
367
- */
368
- MenubarClasses["item"] = "h-menubar-item";
369
- /**
370
- * Class name of the item content element
371
- */
372
- MenubarClasses["itemContent"] = "h-menubar-item-content";
373
- /**
374
- * Class name of the item link element
375
- */
376
- MenubarClasses["itemLink"] = "h-menubar-item-link";
377
- /**
378
- * Class name of the item icon element
379
- */
380
- MenubarClasses["itemIcon"] = "h-menubar-item-icon";
381
- /**
382
- * Class name of the item label element
383
- */
384
- MenubarClasses["itemLabel"] = "h-menubar-item-label";
385
- /**
386
- * Class name of the submenu icon element
387
- */
388
- MenubarClasses["submenuIcon"] = "h-menubar-submenu-icon";
389
- /**
390
- * Class name of the submenu element
391
- */
392
- MenubarClasses["submenu"] = "h-menubar-submenu";
393
- /**
394
- * Class name of the separator element
395
- */
396
- MenubarClasses["separator"] = "h-menubar-separator";
397
- /**
398
- * Class name of the end element
399
- */
400
- MenubarClasses["end"] = "h-menubar-end";
345
+ (function(MenubarClasses) {
346
+ MenubarClasses["root"] = "h-menubar";
347
+ MenubarClasses["start"] = "h-menubar-start";
348
+ MenubarClasses["button"] = "h-menubar-button";
349
+ MenubarClasses["rootList"] = "h-menubar-root-list";
350
+ MenubarClasses["item"] = "h-menubar-item";
351
+ MenubarClasses["itemContent"] = "h-menubar-item-content";
352
+ MenubarClasses["itemLink"] = "h-menubar-item-link";
353
+ MenubarClasses["itemIcon"] = "h-menubar-item-icon";
354
+ MenubarClasses["itemLabel"] = "h-menubar-item-label";
355
+ MenubarClasses["submenuIcon"] = "h-menubar-submenu-icon";
356
+ MenubarClasses["submenu"] = "h-menubar-submenu";
357
+ MenubarClasses["separator"] = "h-menubar-separator";
358
+ MenubarClasses["end"] = "h-menubar-end";
401
359
  })(MenubarClasses || (MenubarClasses = {}));
402
-
403
- const MENUBAR_INSTANCE = new InjectionToken('MENUBAR_INSTANCE');
404
- class MenubarService {
405
- autoHide;
406
- autoHideDelay;
407
- mouseLeaves = new Subject();
408
- mouseLeft$ = this.mouseLeaves.pipe(debounce(() => interval(this.autoHideDelay)), filter((mouseLeft) => this.autoHide && mouseLeft));
409
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: MenubarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
410
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: MenubarService });
411
- }
412
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: MenubarService, decorators: [{
413
- type: Injectable
414
- }] });
415
- class MenubarSub extends BaseComponent {
416
- items = input(undefined, /* @ts-ignore */
417
- ...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
418
- itemTemplate = input(/* @ts-ignore */
419
- ...(ngDevMode ? [undefined, { debugName: "itemTemplate" }] : /* istanbul ignore next */ []));
420
- root = input(false, { ...(ngDevMode ? { debugName: "root" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
421
- autoZIndex = input(true, { ...(ngDevMode ? { debugName: "autoZIndex" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
422
- baseZIndex = input(0, { ...(ngDevMode ? { debugName: "baseZIndex" } : /* istanbul ignore next */ {}), transform: numberAttribute });
423
- mobileActive = input(undefined, { ...(ngDevMode ? { debugName: "mobileActive" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
424
- autoDisplay = input(undefined, { ...(ngDevMode ? { debugName: "autoDisplay" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
425
- menuId = input(/* @ts-ignore */
426
- ...(ngDevMode ? [undefined, { debugName: "menuId" }] : /* istanbul ignore next */ []));
427
- ariaLabel = input(/* @ts-ignore */
428
- ...(ngDevMode ? [undefined, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
429
- ariaLabelledBy = input(/* @ts-ignore */
430
- ...(ngDevMode ? [undefined, { debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []));
431
- level = input(0, { ...(ngDevMode ? { debugName: "level" } : /* istanbul ignore next */ {}), transform: numberAttribute });
432
- focusedItemId = input(/* @ts-ignore */
433
- ...(ngDevMode ? [undefined, { debugName: "focusedItemId" }] : /* istanbul ignore next */ []));
434
- activeItemPath = input(undefined, /* @ts-ignore */
435
- ...(ngDevMode ? [{ debugName: "activeItemPath" }] : /* istanbul ignore next */ []));
436
- inlineStyles = input(/* @ts-ignore */
437
- ...(ngDevMode ? [undefined, { debugName: "inlineStyles" }] : /* istanbul ignore next */ []));
438
- submenuiconTemplate = input(/* @ts-ignore */
439
- ...(ngDevMode ? [undefined, { debugName: "submenuiconTemplate" }] : /* istanbul ignore next */ []));
440
- itemClick = output();
441
- itemMouseEnter = output();
442
- menuFocus = output();
443
- menuBlur = output();
444
- menuKeydown = output();
445
- mouseLeaveSubscriber;
446
- menubarService = inject(MenubarService);
447
- _componentStyle = inject(MenuBarStyle);
448
- hostName = 'Menubar';
449
- onInit() {
450
- this.mouseLeaveSubscriber = this.menubarService.mouseLeft$.subscribe(() => {
451
- this.cd.markForCheck();
452
- });
453
- }
454
- onItemClick(event, processedItem) {
455
- this.getItemProp(processedItem, 'command', { originalEvent: event, item: processedItem.item });
456
- this.itemClick.emit({ originalEvent: event, processedItem, isFocus: true });
457
- }
458
- getItemProp(processedItem, name, params = null) {
459
- return processedItem && processedItem.item ? resolve(processedItem.item[name], params) : undefined;
460
- }
461
- getItemId(processedItem) {
462
- return processedItem.item && processedItem.item?.id ? processedItem.item.id : `${this.menuId()}_${processedItem.key}`;
463
- }
464
- getItemLabelId(processedItem) {
465
- return `${this.menuId()}_${processedItem.key}_label`;
466
- }
467
- getItemLabel(processedItem) {
468
- return this.getItemProp(processedItem, 'label');
469
- }
470
- isItemVisible(processedItem) {
471
- return this.getItemProp(processedItem, 'visible') !== false;
472
- }
473
- isItemActive(processedItem) {
474
- const activeItemPath = this.activeItemPath();
475
- if (activeItemPath) {
476
- return activeItemPath.some((path) => path.key === processedItem.key);
477
- }
478
- return false;
479
- }
480
- isItemDisabled(processedItem) {
481
- return this.getItemProp(processedItem, 'disabled');
482
- }
483
- isItemFocused(processedItem) {
484
- return this.focusedItemId() === this.getItemId(processedItem);
485
- }
486
- isItemGroup(processedItem) {
487
- return isNotEmpty(processedItem.items);
488
- }
489
- getAriaSetSize() {
490
- return this.items().filter((processedItem) => this.isItemVisible(processedItem) && !this.getItemProp(processedItem, 'separator')).length;
491
- }
492
- getAriaPosInset(index) {
493
- return index - this.items().slice(0, index).filter((processedItem) => this.isItemVisible(processedItem) && this.getItemProp(processedItem, 'separator')).length + 1;
494
- }
495
- onItemMouseEnter(param) {
496
- if (this.autoDisplay()) {
497
- const { event, processedItem } = param;
498
- this.itemMouseEnter.emit({ originalEvent: event, processedItem });
499
- }
500
- }
501
- getPTOptions(processedItem, index, key) {
502
- return this.ptm(key, {
503
- context: {
504
- item: processedItem.item,
505
- index,
506
- active: this.isItemActive(processedItem),
507
- focused: this.isItemFocused(processedItem),
508
- disabled: this.isItemDisabled(processedItem),
509
- level: this.level()
510
- }
511
- });
512
- }
513
- onDestroy() {
514
- this.mouseLeaveSubscriber?.unsubscribe();
515
- }
516
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: MenubarSub, deps: null, target: i0.ɵɵFactoryTarget.Component });
517
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: MenubarSub, isStandalone: true, selector: "h-menubarSub, h-menubarsub, [hMenubarSub]", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, itemTemplate: { classPropertyName: "itemTemplate", publicName: "itemTemplate", isSignal: true, isRequired: false, transformFunction: null }, root: { classPropertyName: "root", publicName: "root", isSignal: true, isRequired: false, transformFunction: null }, autoZIndex: { classPropertyName: "autoZIndex", publicName: "autoZIndex", isSignal: true, isRequired: false, transformFunction: null }, baseZIndex: { classPropertyName: "baseZIndex", publicName: "baseZIndex", isSignal: true, isRequired: false, transformFunction: null }, mobileActive: { classPropertyName: "mobileActive", publicName: "mobileActive", isSignal: true, isRequired: false, transformFunction: null }, autoDisplay: { classPropertyName: "autoDisplay", publicName: "autoDisplay", 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 }, activeItemPath: { classPropertyName: "activeItemPath", publicName: "activeItemPath", isSignal: true, isRequired: false, transformFunction: null }, inlineStyles: { classPropertyName: "inlineStyles", publicName: "inlineStyles", isSignal: true, isRequired: false, transformFunction: null }, submenuiconTemplate: { classPropertyName: "submenuiconTemplate", publicName: "submenuiconTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemClick: "itemClick", itemMouseEnter: "itemMouseEnter", menuFocus: "menuFocus", menuBlur: "menuBlur", menuKeydown: "menuKeydown" }, host: { properties: { "attr.id": "root() ? menuId() : null", "attr.aria-activedescendant": "focusedItemId()", "class": "level() === 0 ? cx('rootList') : cx('submenu')", "attr.role": "'menubar'", "style": "inlineStyles()" } }, usesInheritance: true, ngImport: i0, template: "@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'), $safeNavigationMigration(processedItem?.styleClass))\"\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-highlight]=\"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-setsize]=\"getAriaSetSize()\"\n [attr.aria-posinset]=\"getAriaPosInset(index)\"\n [style]=\"getItemProp(processedItem, 'style')\"\n [class]=\"cn(cx('item', { instance: this, processedItem }), getItemProp(processedItem, 'styleClass'))\"\n [hBind]=\"getPTOptions(processedItem, index, 'item')\"\n hTooltip\n [tooltipOptions]=\"getItemProp(processedItem, 'tooltipOptions')\"\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 [attr.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 [id]=\"getItemLabelId(processedItem)\"\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 [id]=\"getItemLabelId(processedItem)\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLabel')\"\n ></span>\n }\n @if (getItemProp(processedItem, 'badge')) {\n <h-badge\n [class]=\"getItemProp(processedItem, 'badgeStyleClass')\"\n [value]=\"getItemProp(processedItem, 'badge')\"\n [pt]=\"getPTOptions(processedItem, index, 'pcBadge')\"\n [unstyled]=\"unstyled()\"\n />\n }\n @if (isItemGroup(processedItem)) {\n @if (!submenuiconTemplate()) {\n @if (root()) {\n <svg data-h-icon=\"angle-down\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" />\n }\n @if (!root()) {\n <svg data-h-icon=\"angle-right\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" />\n }\n }\n <ng-template *ngTemplateOutlet=\"submenuiconTemplate()\"></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-menubar-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\n [class]=\"getItemProp(processedItem, 'badgeStyleClass')\"\n [value]=\"getItemProp(processedItem, 'badge')\"\n [pt]=\"getPTOptions(processedItem, index, 'pcBadge')\"\n [unstyled]=\"unstyled()\"\n />\n }\n @if (isItemGroup(processedItem)) {\n @if (!submenuiconTemplate()) {\n @if (root()) {\n <svg data-h-icon=\"angle-down\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" />\n }\n @if (!root()) {\n <svg data-h-icon=\"angle-right\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" />\n }\n }\n <ng-template *ngTemplateOutlet=\"submenuiconTemplate()\"></ng-template>\n }\n </a>\n }\n }\n @if (itemTemplate) {\n <ng-template *ngTemplateOutlet=\"itemTemplate; context: { $implicit: processedItem.item, root: root() }\"></ng-template>\n }\n </div>\n @if (isItemVisible(processedItem) && isItemGroup(processedItem)) {\n <ul\n hMenubarSub\n [itemTemplate]=\"itemTemplate\"\n [items]=\"processedItem.items\"\n [mobileActive]=\"mobileActive()\"\n [autoDisplay]=\"autoDisplay()\"\n [menuId]=\"menuId()\"\n [activeItemPath]=\"activeItemPath()\"\n [focusedItemId]=\"focusedItemId()\"\n [level]=\"level() + 1\"\n [attr.aria-labelledby]=\"getItemLabelId(processedItem)\"\n (itemClick)=\"itemClick.emit($event)\"\n (itemMouseEnter)=\"onItemMouseEnter($event)\"\n [inlineStyles]=\"sx('submenu', true, { instance: this, processedItem })\"\n [pt]=\"pt()\"\n [hBind]=\"ptm('submenu')\"\n [unstyled]=\"unstyled()\"\n ></ul>\n }\n </li>\n }\n }\n", dependencies: [{ kind: "component", type: MenubarSub, selector: "h-menubarSub, h-menubarsub, [hMenubarSub]", inputs: ["items", "itemTemplate", "root", "autoZIndex", "baseZIndex", "mobileActive", "autoDisplay", "menuId", "ariaLabel", "ariaLabelledBy", "level", "focusedItemId", "activeItemPath", "inlineStyles", "submenuiconTemplate"], outputs: ["itemClick", "itemMouseEnter", "menuFocus", "menuBlur", "menuKeydown"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "browserUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: Ripple, selector: "[hRipple]" }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3.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: i4.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 }, { kind: "ngmodule", type: BindModule }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None });
518
- }
519
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: MenubarSub, decorators: [{
520
- type: Component,
521
- args: [{ selector: 'h-menubarSub, h-menubarsub, [hMenubarSub]', standalone: true, imports: [CommonModule, RouterModule, Ripple, TooltipModule, AngleDownIcon, AngleRightIcon, BadgeModule, SharedModule, BindModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Eager, host: {
522
- '[attr.id]': 'root() ? menuId() : null',
523
- '[attr.aria-activedescendant]': 'focusedItemId()',
524
- '[class]': "level() === 0 ? cx('rootList') : cx('submenu')",
525
- '[attr.role]': "'menubar'",
526
- '[style]': 'inlineStyles()'
527
- }, template: "@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'), $safeNavigationMigration(processedItem?.styleClass))\"\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-highlight]=\"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-setsize]=\"getAriaSetSize()\"\n [attr.aria-posinset]=\"getAriaPosInset(index)\"\n [style]=\"getItemProp(processedItem, 'style')\"\n [class]=\"cn(cx('item', { instance: this, processedItem }), getItemProp(processedItem, 'styleClass'))\"\n [hBind]=\"getPTOptions(processedItem, index, 'item')\"\n hTooltip\n [tooltipOptions]=\"getItemProp(processedItem, 'tooltipOptions')\"\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 [attr.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 [id]=\"getItemLabelId(processedItem)\"\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 [id]=\"getItemLabelId(processedItem)\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLabel')\"\n ></span>\n }\n @if (getItemProp(processedItem, 'badge')) {\n <h-badge\n [class]=\"getItemProp(processedItem, 'badgeStyleClass')\"\n [value]=\"getItemProp(processedItem, 'badge')\"\n [pt]=\"getPTOptions(processedItem, index, 'pcBadge')\"\n [unstyled]=\"unstyled()\"\n />\n }\n @if (isItemGroup(processedItem)) {\n @if (!submenuiconTemplate()) {\n @if (root()) {\n <svg data-h-icon=\"angle-down\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" />\n }\n @if (!root()) {\n <svg data-h-icon=\"angle-right\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" />\n }\n }\n <ng-template *ngTemplateOutlet=\"submenuiconTemplate()\"></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-menubar-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\n [class]=\"getItemProp(processedItem, 'badgeStyleClass')\"\n [value]=\"getItemProp(processedItem, 'badge')\"\n [pt]=\"getPTOptions(processedItem, index, 'pcBadge')\"\n [unstyled]=\"unstyled()\"\n />\n }\n @if (isItemGroup(processedItem)) {\n @if (!submenuiconTemplate()) {\n @if (root()) {\n <svg data-h-icon=\"angle-down\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" />\n }\n @if (!root()) {\n <svg data-h-icon=\"angle-right\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" />\n }\n }\n <ng-template *ngTemplateOutlet=\"submenuiconTemplate()\"></ng-template>\n }\n </a>\n }\n }\n @if (itemTemplate) {\n <ng-template *ngTemplateOutlet=\"itemTemplate; context: { $implicit: processedItem.item, root: root() }\"></ng-template>\n }\n </div>\n @if (isItemVisible(processedItem) && isItemGroup(processedItem)) {\n <ul\n hMenubarSub\n [itemTemplate]=\"itemTemplate\"\n [items]=\"processedItem.items\"\n [mobileActive]=\"mobileActive()\"\n [autoDisplay]=\"autoDisplay()\"\n [menuId]=\"menuId()\"\n [activeItemPath]=\"activeItemPath()\"\n [focusedItemId]=\"focusedItemId()\"\n [level]=\"level() + 1\"\n [attr.aria-labelledby]=\"getItemLabelId(processedItem)\"\n (itemClick)=\"itemClick.emit($event)\"\n (itemMouseEnter)=\"onItemMouseEnter($event)\"\n [inlineStyles]=\"sx('submenu', true, { instance: this, processedItem })\"\n [pt]=\"pt()\"\n [hBind]=\"ptm('submenu')\"\n [unstyled]=\"unstyled()\"\n ></ul>\n }\n </li>\n }\n }\n" }]
528
- }], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], itemTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemTemplate", required: false }] }], root: [{ type: i0.Input, args: [{ isSignal: true, alias: "root", required: false }] }], autoZIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoZIndex", required: false }] }], baseZIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "baseZIndex", required: false }] }], mobileActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "mobileActive", required: false }] }], autoDisplay: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoDisplay", 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 }] }], activeItemPath: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeItemPath", required: false }] }], inlineStyles: [{ type: i0.Input, args: [{ isSignal: true, alias: "inlineStyles", required: false }] }], submenuiconTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "submenuiconTemplate", 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"] }] } });
529
- /**
530
- * Menubar is a horizontal menu component.
531
- * @group Components
532
- */
533
- class Menubar extends BaseComponent {
534
- document;
535
- platformId;
536
- el;
537
- renderer;
538
- cd;
539
- menubarService;
540
- componentName = 'Menubar';
541
- $pcMenubar = inject(MENUBAR_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
542
- bindDirectiveInstance = inject(Bind, { self: true });
543
- onAfterViewChecked() {
544
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
545
- }
546
- /**
547
- * An array of menuitems.
548
- * @group Props
549
- */
550
- model = input(/* @ts-ignore */
551
- ...(ngDevMode ? [undefined, { debugName: "model" }] : /* istanbul ignore next */ []));
552
- /**
553
- * Class of the element.
554
- * @deprecated since v20.0.0, use `class` instead.
555
- * @group Props
556
- */
557
- styleClass = input(/* @ts-ignore */
558
- ...(ngDevMode ? [undefined, { debugName: "styleClass" }] : /* istanbul ignore next */ []));
559
- /**
560
- * Whether to automatically manage layering.
561
- * @group Props
562
- */
563
- autoZIndex = input(true, { ...(ngDevMode ? { debugName: "autoZIndex" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
564
- /**
565
- * Base zIndex value to use in layering.
566
- * @group Props
567
- */
568
- baseZIndex = input(0, { ...(ngDevMode ? { debugName: "baseZIndex" } : /* istanbul ignore next */ {}), transform: numberAttribute });
569
- /**
570
- * Whether to show a root submenu on mouse over.
571
- * @defaultValue true
572
- * @group Props
573
- */
574
- autoDisplay = input(true, { ...(ngDevMode ? { debugName: "autoDisplay" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
575
- /**
576
- * Whether to hide a root submenu when mouse leaves.
577
- * @group Props
578
- */
579
- autoHide = input(undefined, { ...(ngDevMode ? { debugName: "autoHide" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
580
- /**
581
- * The breakpoint to define the maximum width boundary.
582
- * @group Props
583
- */
584
- breakpoint = input('960px', /* @ts-ignore */
585
- ...(ngDevMode ? [{ debugName: "breakpoint" }] : /* istanbul ignore next */ []));
586
- /**
587
- * Delay to hide the root submenu in milliseconds when mouse leaves.
588
- * @group Props
589
- */
590
- autoHideDelay = input(100, { ...(ngDevMode ? { debugName: "autoHideDelay" } : /* istanbul ignore next */ {}), transform: numberAttribute });
591
- /**
592
- * Current id state as a string.
593
- * @group Props
594
- */
595
- id = input(/* @ts-ignore */
596
- ...(ngDevMode ? [undefined, { debugName: "id" }] : /* istanbul ignore next */ []));
597
- autoId = uuid('pn_id_');
598
- $id = computed(() => this.id() || this.autoId, /* @ts-ignore */
599
- ...(ngDevMode ? [{ debugName: "$id" }] : /* istanbul ignore next */ []));
600
- /**
601
- * Defines a string value that labels an interactive element.
602
- * @group Props
603
- */
604
- ariaLabel = input(/* @ts-ignore */
605
- ...(ngDevMode ? [undefined, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
606
- /**
607
- * Identifier of the underlying input element.
608
- * @group Props
609
- */
610
- ariaLabelledBy = input(/* @ts-ignore */
611
- ...(ngDevMode ? [undefined, { debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []));
612
- /**
613
- * Callback to execute when button is focused.
614
- * @param {FocusEvent} event - Focus event.
615
- * @group Emits
616
- */
617
- onFocus = output();
618
- /**
619
- * Callback to execute when button loses focus.
620
- * @param {FocusEvent} event - Focus event.
621
- * @group Emits
622
- */
623
- onBlur = output();
624
- menubutton = viewChild('menubutton', /* @ts-ignore */
625
- ...(ngDevMode ? [{ debugName: "menubutton" }] : /* istanbul ignore next */ []));
626
- rootmenu = viewChild('rootmenu', /* @ts-ignore */
627
- ...(ngDevMode ? [{ debugName: "rootmenu" }] : /* istanbul ignore next */ []));
628
- mobileActive;
629
- matchMediaListener;
630
- query;
631
- queryMatches = signal(false, /* @ts-ignore */
632
- ...(ngDevMode ? [{ debugName: "queryMatches" }] : /* istanbul ignore next */ []));
633
- outsideClickListener;
634
- resizeListener;
635
- mouseLeaveSubscriber;
636
- dirty = false;
637
- focused = false;
638
- activeItemPath = signal([], /* @ts-ignore */
639
- ...(ngDevMode ? [{ debugName: "activeItemPath" }] : /* istanbul ignore next */ []));
640
- number = signal(0, /* @ts-ignore */
641
- ...(ngDevMode ? [{ debugName: "number" }] : /* istanbul ignore next */ []));
642
- focusedItemInfo = signal({ index: -1, level: 0, parentKey: '', item: null }, /* @ts-ignore */
643
- ...(ngDevMode ? [{ debugName: "focusedItemInfo" }] : /* istanbul ignore next */ []));
644
- searchValue = '';
645
- searchTimeout;
646
- _processedItems;
647
- _componentStyle = inject(MenuBarStyle);
648
- get visibleItems() {
649
- const processedItem = this.activeItemPath().find((p) => p.key === this.focusedItemInfo().parentKey);
650
- return processedItem ? processedItem.items : this.processedItems;
651
- }
652
- get processedItems() {
653
- if (!this._processedItems || !this._processedItems.length) {
654
- this._processedItems = this.createProcessedItems(this.model() || []);
655
- }
656
- return this._processedItems;
657
- }
658
- get focusedItemId() {
659
- const focusedItem = this.focusedItemInfo();
660
- return focusedItem.item && focusedItem.item?.id ? focusedItem.item.id : focusedItem.index !== -1 ? `${this.$id()}${isNotEmpty(focusedItem.parentKey) ? '_' + focusedItem.parentKey : ''}_${focusedItem.index}` : null;
661
- }
662
- constructor(document, platformId, el, renderer, cd, menubarService) {
663
- super();
664
- this.document = document;
665
- this.platformId = platformId;
666
- this.el = el;
667
- this.renderer = renderer;
668
- this.cd = cd;
669
- this.menubarService = menubarService;
670
- effect(() => {
671
- const path = this.activeItemPath();
672
- if (isNotEmpty(path)) {
673
- this.bindOutsideClickListener();
674
- this.bindResizeListener();
675
- }
676
- else {
677
- this.unbindOutsideClickListener();
678
- this.unbindResizeListener();
679
- }
680
- });
681
- effect(() => {
682
- const model = this.model();
683
- this._processedItems = this.createProcessedItems(model || []);
684
- });
685
- }
686
- onInit() {
687
- this.bindMatchMediaListener();
688
- this.menubarService.autoHide = this.autoHide();
689
- this.menubarService.autoHideDelay = this.autoHideDelay();
690
- this.mouseLeaveSubscriber = this.menubarService.mouseLeft$.subscribe(() => {
691
- this.hide();
692
- });
693
- }
694
- /**
695
- * Defines template option for start.
696
- * @group Templates
697
- */
698
- startTemplate = contentChild('start', { ...(ngDevMode ? { debugName: "startTemplate" } : /* istanbul ignore next */ {}), descendants: false });
699
- /**
700
- * Defines template option for end.
701
- * @group Templates
702
- */
703
- endTemplate = contentChild('end', { ...(ngDevMode ? { debugName: "endTemplate" } : /* istanbul ignore next */ {}), descendants: false });
704
- /**
705
- * Custom item template.
706
- * @param {MenubarItemTemplateContext} context - item context.
707
- * @see {@link MenubarItemTemplateContext}
708
- * @group Templates
709
- */
710
- itemTemplate = contentChild('item', { ...(ngDevMode ? { debugName: "itemTemplate" } : /* istanbul ignore next */ {}), descendants: false });
711
- /**
712
- * Defines template option for menu icon.
713
- * @group Templates
714
- */
715
- menuIconTemplate = contentChild('menuicon', { ...(ngDevMode ? { debugName: "menuIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
716
- /**
717
- * Defines template option for submenu icon.
718
- * @group Templates
719
- */
720
- submenuIconTemplate = contentChild('submenuicon', { ...(ngDevMode ? { debugName: "submenuIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
721
- templates = contentChildren(HelixTemplate, /* @ts-ignore */
722
- ...(ngDevMode ? [{ debugName: "templates" }] : /* istanbul ignore next */ []));
723
- _startTemplate;
724
- _endTemplate;
725
- _itemTemplate;
726
- _menuIconTemplate;
727
- _submenuIconTemplate;
728
- onAfterContentInit() {
729
- this.templates()?.forEach((item) => {
730
- switch (item.getType()) {
731
- case 'start':
732
- this._startTemplate = item.template;
733
- break;
734
- case 'end':
735
- this._endTemplate = item.template;
736
- break;
737
- case 'menuicon':
738
- this._menuIconTemplate = item.template;
739
- break;
740
- case 'submenuicon':
741
- this._submenuIconTemplate = item.template;
742
- break;
743
- case 'item':
744
- this._itemTemplate = item.template;
745
- break;
746
- default:
747
- this._itemTemplate = item.template;
748
- break;
749
- }
750
- });
751
- }
752
- createProcessedItems(items, level = 0, parent = {}, parentKey = '') {
753
- const processedItems = [];
754
- items &&
755
- items.forEach((item, index) => {
756
- const key = (parentKey !== '' ? parentKey + '_' : '') + index;
757
- const newItem = {
758
- item,
759
- index,
760
- level,
761
- key,
762
- parent,
763
- parentKey
764
- };
765
- newItem['items'] = this.createProcessedItems(item.items, level + 1, newItem, key);
766
- processedItems.push(newItem);
767
- });
768
- return processedItems;
769
- }
770
- bindMatchMediaListener() {
771
- if (isPlatformBrowser(this.platformId)) {
772
- if (!this.matchMediaListener) {
773
- const query = window.matchMedia(`(max-width: ${this.breakpoint()})`);
774
- this.query = query;
775
- this.queryMatches.set(query.matches);
776
- this.matchMediaListener = () => {
777
- this.queryMatches.set(query.matches);
778
- this.mobileActive = false;
779
- this.cd.markForCheck();
780
- };
781
- query.addEventListener('change', this.matchMediaListener);
782
- }
783
- }
784
- }
785
- unbindMatchMediaListener() {
786
- if (this.matchMediaListener) {
787
- this.query.removeEventListener('change', this.matchMediaListener);
788
- this.matchMediaListener = null;
789
- }
790
- }
791
- getItemProp(item, name) {
792
- return item ? resolve(item[name]) : undefined;
793
- }
794
- menuButtonClick(event) {
795
- this.toggle(event);
796
- }
797
- menuButtonKeydown(event) {
798
- (event.code === 'Enter' || event.code === 'Space') && this.menuButtonClick(event);
799
- }
800
- onItemClick(event) {
801
- this.dirty = true;
802
- const { originalEvent, processedItem } = event;
803
- const grouped = this.isProcessedItemGroup(processedItem);
804
- const root = isEmpty(processedItem.parent);
805
- const selected = this.isSelected(processedItem);
806
- if (selected) {
807
- const { index, key, level, parentKey, item } = processedItem;
808
- this.activeItemPath.set(this.activeItemPath().filter((p) => key !== p.key && key.startsWith(p.key)));
809
- this.focusedItemInfo.set({ index, level, parentKey, item });
810
- this.dirty = !root;
811
- focus(this.rootmenu()?.el.nativeElement);
812
- }
813
- else {
814
- if (grouped) {
815
- this.onItemChange(event);
816
- }
817
- else {
818
- const rootProcessedItem = root ? processedItem : this.activeItemPath().find((p) => p.parentKey === '');
819
- this.hide(originalEvent);
820
- this.changeFocusedItemIndex(originalEvent, rootProcessedItem ? rootProcessedItem.index : -1);
821
- this.mobileActive = false;
822
- focus(this.rootmenu()?.el.nativeElement);
823
- }
824
- }
825
- }
826
- onItemMouseEnter(event) {
827
- if (!isTouchDevice()) {
828
- if (this.dirty) {
829
- this.onItemChange(event, 'hover');
830
- }
831
- }
832
- else {
833
- this.onItemChange({ event, processedItem: event.processedItem, focus: this.autoDisplay() }, 'hover');
834
- }
835
- }
836
- onMouseLeave(event) {
837
- const autoHideEnabled = this.menubarService.autoHide;
838
- const autoHideDelay = this.menubarService.autoHideDelay;
839
- if (autoHideEnabled) {
840
- setTimeout(() => {
841
- this.menubarService.mouseLeaves.next(true);
842
- }, autoHideDelay);
843
- }
844
- }
845
- changeFocusedItemIndex(event, index) {
846
- const processedItem = this.findVisibleItem(index);
847
- if (this.focusedItemInfo().index !== index) {
848
- const focusedItemInfo = this.focusedItemInfo();
849
- this.focusedItemInfo.set({ ...focusedItemInfo, item: processedItem.item, index });
850
- this.scrollInView();
851
- }
852
- }
853
- scrollInView(index = -1) {
854
- const id = index !== -1 ? `${this.$id()}_${index}` : this.focusedItemId;
855
- const element = findSingle(this.rootmenu()?.el.nativeElement, `li[id="${id}"]`);
856
- if (element) {
857
- element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });
858
- }
859
- }
860
- onItemChange(event, type) {
861
- const { processedItem, isFocus } = event;
862
- if (isEmpty(processedItem))
863
- return;
864
- const { index, key, level, parentKey, items, item } = processedItem;
865
- const grouped = isNotEmpty(items);
866
- const activeItemPath = this.activeItemPath().filter((p) => p.parentKey !== parentKey && p.parentKey !== key);
867
- grouped && activeItemPath.push(processedItem);
868
- this.focusedItemInfo.set({ index, level, parentKey, item });
869
- grouped && (this.dirty = true);
870
- isFocus && focus(this.rootmenu()?.el.nativeElement);
871
- if (type === 'hover' && this.queryMatches()) {
872
- return;
873
- }
874
- this.activeItemPath.set(activeItemPath);
875
- }
876
- toggle(event) {
877
- if (this.mobileActive) {
878
- this.mobileActive = false;
879
- ZIndexUtils.clear(this.rootmenu()?.el.nativeElement);
880
- this.hide();
881
- }
882
- else {
883
- this.mobileActive = true;
884
- ZIndexUtils.set('menu', this.rootmenu()?.el.nativeElement, this.config.zIndex.menu);
885
- setTimeout(() => {
886
- this.show();
887
- }, 0);
888
- }
889
- this.bindOutsideClickListener();
890
- event.preventDefault();
891
- }
892
- hide(event, isFocus) {
893
- if (this.mobileActive) {
894
- setTimeout(() => {
895
- focus(this.menubutton()?.nativeElement);
896
- }, 0);
897
- }
898
- this.activeItemPath.set([]);
899
- this.focusedItemInfo.set({ index: -1, level: 0, parentKey: '', item: null });
900
- isFocus && focus(this.rootmenu()?.el.nativeElement);
901
- this.dirty = false;
902
- }
903
- show() {
904
- const processedItem = this.findVisibleItem(this.findFirstFocusedItemIndex());
905
- this.focusedItemInfo.set({ index: this.findFirstFocusedItemIndex(), level: 0, parentKey: '', item: processedItem?.item });
906
- focus(this.rootmenu()?.el.nativeElement);
907
- }
908
- onMenuMouseDown(event) {
909
- this.dirty = true;
910
- }
911
- onMenuFocus(event) {
912
- this.focused = true;
913
- const relatedTarget = event.relatedTarget;
914
- const isFromOutside = !relatedTarget || !this.el.nativeElement.contains(relatedTarget);
915
- if (isFromOutside && this.focusedItemInfo().index === -1 && !this.activeItemPath().length && !this.dirty) {
916
- const processedItem = this.findVisibleItem(this.findFirstFocusedItemIndex());
917
- this.focusedItemInfo.set({ index: this.findFirstFocusedItemIndex(), level: 0, parentKey: '', item: processedItem?.item });
918
- }
919
- this.onFocus.emit(event);
920
- }
921
- onMenuBlur(event) {
922
- const relatedTarget = event.relatedTarget;
923
- if (relatedTarget && this.el.nativeElement.contains(relatedTarget)) {
924
- return;
925
- }
926
- setTimeout(() => {
927
- const activeElement = this.document.activeElement;
928
- if (activeElement && this.el.nativeElement.contains(activeElement)) {
929
- return;
930
- }
931
- this.focused = false;
932
- this.focusedItemInfo.set({ index: -1, level: 0, parentKey: '', item: null });
933
- this.searchValue = '';
934
- this.dirty = false;
935
- this.onBlur.emit(event);
936
- });
937
- }
938
- onKeyDown(event) {
939
- const metaKey = event.metaKey || event.ctrlKey;
940
- switch (event.code) {
941
- case 'ArrowDown':
942
- this.onArrowDownKey(event);
943
- break;
944
- case 'ArrowUp':
945
- this.onArrowUpKey(event);
946
- break;
947
- case 'ArrowLeft':
948
- this.onArrowLeftKey(event);
949
- break;
950
- case 'ArrowRight':
951
- this.onArrowRightKey(event);
952
- break;
953
- case 'Home':
954
- this.onHomeKey(event);
955
- break;
956
- case 'End':
957
- this.onEndKey(event);
958
- break;
959
- case 'Space':
960
- this.onSpaceKey(event);
961
- break;
962
- case 'Enter':
963
- this.onEnterKey(event);
964
- break;
965
- case 'Escape':
966
- this.onEscapeKey(event);
967
- break;
968
- case 'Tab':
969
- this.onTabKey(event);
970
- break;
971
- case 'PageDown':
972
- case 'PageUp':
973
- case 'Backspace':
974
- case 'ShiftLeft':
975
- case 'ShiftRight':
976
- //NOOP
977
- break;
978
- default:
979
- if (!metaKey && isPrintableCharacter(event.key)) {
980
- this.searchItems(event, event.key);
981
- }
982
- break;
983
- }
984
- }
985
- findVisibleItem(index) {
986
- return isNotEmpty(this.visibleItems) ? this.visibleItems[index] : null;
987
- }
988
- findFirstFocusedItemIndex() {
989
- const selectedIndex = this.findSelectedItemIndex();
990
- return selectedIndex < 0 ? this.findFirstItemIndex() : selectedIndex;
991
- }
992
- findFirstItemIndex() {
993
- return this.visibleItems.findIndex((processedItem) => this.isValidItem(processedItem));
994
- }
995
- findSelectedItemIndex() {
996
- return this.visibleItems.findIndex((processedItem) => this.isValidSelectedItem(processedItem));
997
- }
998
- isProcessedItemGroup(processedItem) {
999
- return processedItem && isNotEmpty(processedItem.items);
1000
- }
1001
- isSelected(processedItem) {
1002
- return this.activeItemPath().some((p) => p.key === processedItem.key);
1003
- }
1004
- isValidSelectedItem(processedItem) {
1005
- return this.isValidItem(processedItem) && this.isSelected(processedItem);
1006
- }
1007
- isValidItem(processedItem) {
1008
- return !!processedItem && !this.isItemDisabled(processedItem.item) && !this.isItemSeparator(processedItem.item);
1009
- }
1010
- isItemDisabled(item) {
1011
- return this.getItemProp(item, 'disabled');
1012
- }
1013
- isItemSeparator(item) {
1014
- return this.getItemProp(item, 'separator');
1015
- }
1016
- isItemMatched(processedItem) {
1017
- return this.isValidItem(processedItem) && this.getProccessedItemLabel(processedItem).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase());
1018
- }
1019
- isProccessedItemGroup(processedItem) {
1020
- return processedItem && isNotEmpty(processedItem.items);
1021
- }
1022
- searchItems(event, char) {
1023
- this.searchValue = (this.searchValue || '') + char;
1024
- let itemIndex = -1;
1025
- let matched = false;
1026
- if (this.focusedItemInfo().index !== -1) {
1027
- itemIndex = this.visibleItems.slice(this.focusedItemInfo().index).findIndex((processedItem) => this.isItemMatched(processedItem));
1028
- itemIndex = itemIndex === -1 ? this.visibleItems.slice(0, this.focusedItemInfo().index).findIndex((processedItem) => this.isItemMatched(processedItem)) : itemIndex + this.focusedItemInfo().index;
1029
- }
1030
- else {
1031
- itemIndex = this.visibleItems.findIndex((processedItem) => this.isItemMatched(processedItem));
1032
- }
1033
- if (itemIndex !== -1) {
1034
- matched = true;
1035
- }
1036
- if (itemIndex === -1 && this.focusedItemInfo().index === -1) {
1037
- itemIndex = this.findFirstFocusedItemIndex();
1038
- }
1039
- if (itemIndex !== -1) {
1040
- this.changeFocusedItemIndex(event, itemIndex);
1041
- }
1042
- if (this.searchTimeout) {
1043
- clearTimeout(this.searchTimeout);
1044
- }
1045
- this.searchTimeout = setTimeout(() => {
1046
- this.searchValue = '';
1047
- this.searchTimeout = null;
1048
- }, 500);
1049
- return matched;
1050
- }
1051
- getProccessedItemLabel(processedItem) {
1052
- return processedItem ? this.getItemLabel(processedItem.item) : undefined;
1053
- }
1054
- getItemLabel(item) {
1055
- return this.getItemProp(item, 'label');
1056
- }
1057
- onArrowDownKey(event) {
1058
- const processedItem = this.visibleItems[this.focusedItemInfo().index];
1059
- const root = processedItem ? isEmpty(processedItem.parent) : null;
1060
- if (root) {
1061
- const grouped = this.isProccessedItemGroup(processedItem);
1062
- if (grouped) {
1063
- this.onItemChange({ originalEvent: event, processedItem });
1064
- this.focusedItemInfo.set({ index: -1, parentKey: processedItem.key, item: processedItem.item });
1065
- this.onArrowRightKey(event);
1066
- }
1067
- }
1068
- else {
1069
- const itemIndex = this.focusedItemInfo().index !== -1 ? this.findNextItemIndex(this.focusedItemInfo().index) : this.findFirstFocusedItemIndex();
1070
- this.changeFocusedItemIndex(event, itemIndex);
1071
- event.preventDefault();
1072
- }
1073
- }
1074
- onArrowRightKey(event) {
1075
- const processedItem = this.visibleItems[this.focusedItemInfo().index];
1076
- const parentItem = processedItem ? this.activeItemPath().find((p) => p.key === processedItem.parentKey) : null;
1077
- if (parentItem) {
1078
- const grouped = this.isProccessedItemGroup(processedItem);
1079
- if (grouped) {
1080
- this.onItemChange({ originalEvent: event, processedItem });
1081
- this.focusedItemInfo.set({ index: -1, parentKey: processedItem.key, item: processedItem.item });
1082
- this.onArrowDownKey(event);
1083
- }
1084
- }
1085
- else {
1086
- const itemIndex = this.focusedItemInfo().index !== -1 ? this.findNextItemIndex(this.focusedItemInfo().index) : this.findFirstFocusedItemIndex();
1087
- this.changeFocusedItemIndex(event, itemIndex);
1088
- event.preventDefault();
1089
- }
1090
- }
1091
- onArrowUpKey(event) {
1092
- const processedItem = this.visibleItems[this.focusedItemInfo().index];
1093
- const root = isEmpty(processedItem.parent);
1094
- if (root) {
1095
- const grouped = this.isProccessedItemGroup(processedItem);
1096
- if (grouped) {
1097
- this.onItemChange({ originalEvent: event, processedItem });
1098
- this.focusedItemInfo.set({ index: -1, parentKey: processedItem.key, item: processedItem.item });
1099
- const itemIndex = this.findLastItemIndex();
1100
- this.changeFocusedItemIndex(event, itemIndex);
1101
- }
1102
- }
1103
- else {
1104
- const parentItem = this.activeItemPath().find((p) => p.key === processedItem.parentKey);
1105
- if (this.focusedItemInfo().index === 0) {
1106
- this.focusedItemInfo.set({ index: -1, parentKey: parentItem ? parentItem.parentKey : '', item: processedItem.item });
1107
- this.searchValue = '';
1108
- this.onArrowLeftKey(event);
1109
- const activeItemPath = this.activeItemPath().filter((p) => p.parentKey !== this.focusedItemInfo().parentKey);
1110
- this.activeItemPath.set(activeItemPath);
1111
- }
1112
- else {
1113
- const itemIndex = this.focusedItemInfo().index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo().index) : this.findLastFocusedItemIndex();
1114
- this.changeFocusedItemIndex(event, itemIndex);
1115
- }
1116
- }
1117
- event.preventDefault();
1118
- }
1119
- onArrowLeftKey(event) {
1120
- const processedItem = this.visibleItems[this.focusedItemInfo().index];
1121
- const parentItem = processedItem ? this.activeItemPath().find((p) => p.key === processedItem.parentKey) : null;
1122
- if (parentItem) {
1123
- this.onItemChange({ originalEvent: event, processedItem: parentItem });
1124
- const activeItemPath = this.activeItemPath().filter((p) => p.parentKey !== this.focusedItemInfo().parentKey);
1125
- this.activeItemPath.set(activeItemPath);
1126
- event.preventDefault();
1127
- }
1128
- else {
1129
- const itemIndex = this.focusedItemInfo().index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo().index) : this.findLastFocusedItemIndex();
1130
- this.changeFocusedItemIndex(event, itemIndex);
1131
- event.preventDefault();
1132
- }
1133
- }
1134
- onHomeKey(event) {
1135
- this.changeFocusedItemIndex(event, this.findFirstItemIndex());
1136
- event.preventDefault();
1137
- }
1138
- onEndKey(event) {
1139
- this.changeFocusedItemIndex(event, this.findLastItemIndex());
1140
- event.preventDefault();
1141
- }
1142
- onSpaceKey(event) {
1143
- this.onEnterKey(event);
1144
- }
1145
- onEscapeKey(event) {
1146
- this.hide(event, true);
1147
- this.focusedItemInfo().index = this.findFirstFocusedItemIndex();
1148
- event.preventDefault();
1149
- }
1150
- onTabKey(event) {
1151
- if (this.focusedItemInfo().index !== -1) {
1152
- const processedItem = this.visibleItems[this.focusedItemInfo().index];
1153
- const grouped = this.isProccessedItemGroup(processedItem);
1154
- !grouped && this.onItemChange({ originalEvent: event, processedItem });
1155
- }
1156
- this.hide();
1157
- }
1158
- onEnterKey(event) {
1159
- if (this.focusedItemInfo().index !== -1) {
1160
- const element = findSingle(this.rootmenu()?.el.nativeElement, `li[id="${`${this.focusedItemId}`}"]`);
1161
- const anchorElement = element && (findSingle(element, '[data-pc-section="itemlink"]') || findSingle(element, 'a,button'));
1162
- anchorElement ? anchorElement.click() : element && element.click();
1163
- }
1164
- event.preventDefault();
1165
- }
1166
- findLastFocusedItemIndex() {
1167
- const selectedIndex = this.findSelectedItemIndex();
1168
- return selectedIndex < 0 ? this.findLastItemIndex() : selectedIndex;
1169
- }
1170
- findLastItemIndex() {
1171
- return findLastIndex(this.visibleItems, (processedItem) => this.isValidItem(processedItem));
1172
- }
1173
- findPrevItemIndex(index) {
1174
- const matchedItemIndex = index > 0 ? findLastIndex(this.visibleItems.slice(0, index), (processedItem) => this.isValidItem(processedItem)) : -1;
1175
- return matchedItemIndex > -1 ? matchedItemIndex : index;
1176
- }
1177
- findNextItemIndex(index) {
1178
- const matchedItemIndex = index < this.visibleItems.length - 1 ? this.visibleItems.slice(index + 1).findIndex((processedItem) => this.isValidItem(processedItem)) : -1;
1179
- return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index;
1180
- }
1181
- bindResizeListener() {
1182
- if (isPlatformBrowser(this.platformId)) {
1183
- if (!this.resizeListener) {
1184
- this.resizeListener = this.renderer.listen(this.document.defaultView, 'resize', (event) => {
1185
- if (!isTouchDevice()) {
1186
- this.hide(event, true);
1187
- }
1188
- this.mobileActive = false;
1189
- });
1190
- }
1191
- }
1192
- }
1193
- bindOutsideClickListener() {
1194
- if (isPlatformBrowser(this.platformId)) {
1195
- if (!this.outsideClickListener) {
1196
- this.outsideClickListener = this.renderer.listen(this.document, 'click', (event) => {
1197
- const rootmenu = this.rootmenu();
1198
- const isOutsideContainer = rootmenu?.el.nativeElement !== event.target && !rootmenu?.el.nativeElement?.contains(event.target);
1199
- const menubutton = this.menubutton();
1200
- const isOutsideMenuButton = this.mobileActive && menubutton?.nativeElement !== event.target && !menubutton?.nativeElement?.contains(event.target);
1201
- if (isOutsideContainer) {
1202
- isOutsideMenuButton ? (this.mobileActive = false) : this.hide();
1203
- }
1204
- });
1205
- }
1206
- }
1207
- }
1208
- unbindOutsideClickListener() {
1209
- if (this.outsideClickListener) {
1210
- this.outsideClickListener();
1211
- this.outsideClickListener = null;
1212
- }
1213
- }
1214
- unbindResizeListener() {
1215
- if (this.resizeListener) {
1216
- this.resizeListener();
1217
- this.resizeListener = null;
1218
- }
1219
- }
1220
- onDestroy() {
1221
- this.mouseLeaveSubscriber?.unsubscribe();
1222
- this.unbindOutsideClickListener();
1223
- this.unbindResizeListener();
1224
- this.unbindMatchMediaListener();
1225
- }
1226
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: Menubar, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: MenubarService }], target: i0.ɵɵFactoryTarget.Component });
1227
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: Menubar, isStandalone: true, selector: "h-menubar", inputs: { model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, autoZIndex: { classPropertyName: "autoZIndex", publicName: "autoZIndex", isSignal: true, isRequired: false, transformFunction: null }, baseZIndex: { classPropertyName: "baseZIndex", publicName: "baseZIndex", isSignal: true, isRequired: false, transformFunction: null }, autoDisplay: { classPropertyName: "autoDisplay", publicName: "autoDisplay", isSignal: true, isRequired: false, transformFunction: null }, autoHide: { classPropertyName: "autoHide", publicName: "autoHide", isSignal: true, isRequired: false, transformFunction: null }, breakpoint: { classPropertyName: "breakpoint", publicName: "breakpoint", isSignal: true, isRequired: false, transformFunction: null }, autoHideDelay: { classPropertyName: "autoHideDelay", publicName: "autoHideDelay", 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 } }, outputs: { onFocus: "onFocus", onBlur: "onBlur" }, host: { properties: { "class": "cn(cx(\"root\"), styleClass())" } }, providers: [MenubarService, MenuBarStyle, { provide: MENUBAR_INSTANCE, useExisting: Menubar }, { provide: PARENT_INSTANCE, useExisting: Menubar }], queries: [{ propertyName: "startTemplate", first: true, predicate: ["start"], isSignal: true }, { propertyName: "endTemplate", first: true, predicate: ["end"], isSignal: true }, { propertyName: "itemTemplate", first: true, predicate: ["item"], isSignal: true }, { propertyName: "menuIconTemplate", first: true, predicate: ["menuicon"], isSignal: true }, { propertyName: "submenuIconTemplate", first: true, predicate: ["submenuicon"], isSignal: true }, { propertyName: "templates", predicate: HelixTemplate, isSignal: true }], viewQueries: [{ propertyName: "menubutton", first: true, predicate: ["menubutton"], descendants: true, isSignal: true }, { propertyName: "rootmenu", first: true, predicate: ["rootmenu"], descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i4.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 (model() && model()!.length > 0) {\n <a\n #menubutton\n tabindex=\"0\"\n role=\"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 [class]=\"cx('button')\"\n [hBind]=\"ptm('button')\"\n (click)=\"menuButtonClick($event)\"\n (keydown)=\"menuButtonKeydown($event)\"\n >\n @if (!menuIconTemplate() && !_menuIconTemplate) {\n <svg data-h-icon=\"bars\" [hBind]=\"ptm('buttonIcon')\" />\n }\n <ng-template *ngTemplateOutlet=\"menuIconTemplate() || _menuIconTemplate\"></ng-template>\n </a>\n}\n<ul\n hMenubarSub\n #rootmenu\n [items]=\"processedItems\"\n [itemTemplate]=\"itemTemplate()\"\n tabindex=\"0\"\n [menuId]=\"$id()\"\n [root]=\"true\"\n [baseZIndex]=\"baseZIndex()\"\n [autoZIndex]=\"autoZIndex()\"\n [mobileActive]=\"mobileActive\"\n [autoDisplay]=\"autoDisplay()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [focusedItemId]=\"focused ? focusedItemId : undefined\"\n [submenuiconTemplate]=\"submenuIconTemplate() || _submenuIconTemplate\"\n [activeItemPath]=\"activeItemPath()\"\n (itemClick)=\"onItemClick($event)\"\n (mousedown)=\"onMenuMouseDown($event)\"\n (focus)=\"onMenuFocus($event)\"\n (blur)=\"onMenuBlur($event)\"\n (keydown)=\"onKeyDown($event)\"\n (itemMouseEnter)=\"onItemMouseEnter($event)\"\n (mouseleave)=\"onMouseLeave($event)\"\n [pt]=\"pt()\"\n [hBind]=\"ptm('rootList')\"\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} @else {\n <div [class]=\"cx('end')\">\n <ng-content></ng-content>\n </div>\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: RouterModule }, { kind: "component", type: MenubarSub, selector: "h-menubarSub, h-menubarsub, [hMenubarSub]", inputs: ["items", "itemTemplate", "root", "autoZIndex", "baseZIndex", "mobileActive", "autoDisplay", "menuId", "ariaLabel", "ariaLabelledBy", "level", "focusedItemId", "activeItemPath", "inlineStyles", "submenuiconTemplate"], outputs: ["itemClick", "itemMouseEnter", "menuFocus", "menuBlur", "menuKeydown"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.Bind, selector: "[hBind]", inputs: ["hBind"] }, { kind: "component", type: BarsIcon, selector: "[data-h-icon=\"bars\"]" }, { kind: "ngmodule", type: BadgeModule }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: BindModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1228
- }
1229
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: Menubar, decorators: [{
1230
- type: Component,
1231
- args: [{ selector: 'h-menubar', standalone: true, imports: [CommonModule, RouterModule, MenubarSub, TooltipModule, BarsIcon, BadgeModule, SharedModule, BindModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [MenubarService, MenuBarStyle, { provide: MENUBAR_INSTANCE, useExisting: Menubar }, { provide: PARENT_INSTANCE, useExisting: Menubar }], host: {
1232
- '[class]': 'cn(cx("root"), styleClass())'
1233
- }, 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 (model() && model()!.length > 0) {\n <a\n #menubutton\n tabindex=\"0\"\n role=\"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 [class]=\"cx('button')\"\n [hBind]=\"ptm('button')\"\n (click)=\"menuButtonClick($event)\"\n (keydown)=\"menuButtonKeydown($event)\"\n >\n @if (!menuIconTemplate() && !_menuIconTemplate) {\n <svg data-h-icon=\"bars\" [hBind]=\"ptm('buttonIcon')\" />\n }\n <ng-template *ngTemplateOutlet=\"menuIconTemplate() || _menuIconTemplate\"></ng-template>\n </a>\n}\n<ul\n hMenubarSub\n #rootmenu\n [items]=\"processedItems\"\n [itemTemplate]=\"itemTemplate()\"\n tabindex=\"0\"\n [menuId]=\"$id()\"\n [root]=\"true\"\n [baseZIndex]=\"baseZIndex()\"\n [autoZIndex]=\"autoZIndex()\"\n [mobileActive]=\"mobileActive\"\n [autoDisplay]=\"autoDisplay()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [focusedItemId]=\"focused ? focusedItemId : undefined\"\n [submenuiconTemplate]=\"submenuIconTemplate() || _submenuIconTemplate\"\n [activeItemPath]=\"activeItemPath()\"\n (itemClick)=\"onItemClick($event)\"\n (mousedown)=\"onMenuMouseDown($event)\"\n (focus)=\"onMenuFocus($event)\"\n (blur)=\"onMenuBlur($event)\"\n (keydown)=\"onKeyDown($event)\"\n (itemMouseEnter)=\"onItemMouseEnter($event)\"\n (mouseleave)=\"onMouseLeave($event)\"\n [pt]=\"pt()\"\n [hBind]=\"ptm('rootList')\"\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} @else {\n <div [class]=\"cx('end')\">\n <ng-content></ng-content>\n </div>\n}\n" }]
1234
- }], ctorParameters: () => [{ type: Document, decorators: [{
1235
- type: Inject,
1236
- args: [DOCUMENT]
1237
- }] }, { type: undefined, decorators: [{
1238
- type: Inject,
1239
- args: [PLATFORM_ID]
1240
- }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: MenubarService }], propDecorators: { model: [{ type: i0.Input, args: [{ isSignal: true, alias: "model", required: false }] }], styleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "styleClass", required: false }] }], autoZIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoZIndex", required: false }] }], baseZIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "baseZIndex", required: false }] }], autoDisplay: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoDisplay", required: false }] }], autoHide: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoHide", required: false }] }], breakpoint: [{ type: i0.Input, args: [{ isSignal: true, alias: "breakpoint", required: false }] }], autoHideDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoHideDelay", 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 }] }], onFocus: [{ type: i0.Output, args: ["onFocus"] }], onBlur: [{ type: i0.Output, args: ["onBlur"] }], menubutton: [{ type: i0.ViewChild, args: ['menubutton', { isSignal: true }] }], rootmenu: [{ type: i0.ViewChild, args: ['rootmenu', { isSignal: true }] }], startTemplate: [{ type: i0.ContentChild, args: ['start', { ...{ descendants: false }, isSignal: true }] }], endTemplate: [{ type: i0.ContentChild, args: ['end', { ...{ descendants: false }, isSignal: true }] }], itemTemplate: [{ type: i0.ContentChild, args: ['item', { ...{ descendants: false }, isSignal: true }] }], menuIconTemplate: [{ type: i0.ContentChild, args: ['menuicon', { ...{ descendants: false }, isSignal: true }] }], submenuIconTemplate: [{ type: i0.ContentChild, args: ['submenuicon', { ...{ descendants: false }, isSignal: true }] }], templates: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => HelixTemplate), { isSignal: true }] }] } });
1241
- class MenubarModule {
1242
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: MenubarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1243
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.6", ngImport: i0, type: MenubarModule, imports: [Menubar, SharedModule], exports: [Menubar, SharedModule] });
1244
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: MenubarModule, imports: [Menubar, SharedModule, SharedModule] });
1245
- }
1246
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: MenubarModule, decorators: [{
1247
- type: NgModule,
1248
- args: [{
1249
- imports: [Menubar, SharedModule],
1250
- exports: [Menubar, SharedModule]
1251
- }]
1252
- }] });
1253
-
1254
- /**
1255
- * Generated bundle index. Do not edit.
1256
- */
1257
-
360
+ const MENUBAR_INSTANCE = new InjectionToken("MENUBAR_INSTANCE");
361
+ var MenubarService = class MenubarService {
362
+ autoHide;
363
+ autoHideDelay;
364
+ mouseLeaves = new Subject();
365
+ mouseLeft$ = this.mouseLeaves.pipe(debounce(() => interval(this.autoHideDelay)), filter((mouseLeft) => this.autoHide && mouseLeft));
366
+ static ɵfac = i0.ɵɵngDeclareFactory({
367
+ minVersion: "12.0.0",
368
+ version: "22.2.1",
369
+ ngImport: i0,
370
+ type: MenubarService,
371
+ deps: [],
372
+ target: i0.ɵɵFactoryTarget.Injectable
373
+ });
374
+ static ɵprov = i0.ɵɵngDeclareInjectable({
375
+ minVersion: "12.0.0",
376
+ version: "22.2.1",
377
+ ngImport: i0,
378
+ type: MenubarService
379
+ });
380
+ };
381
+ i0.ɵɵngDeclareClassMetadata({
382
+ minVersion: "12.0.0",
383
+ version: "22.2.1",
384
+ ngImport: i0,
385
+ type: MenubarService,
386
+ decorators: [{ type: Injectable }]
387
+ });
388
+ var MenubarSub = class MenubarSub extends BaseComponent {
389
+ items = input(void 0, ...ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []);
390
+ itemTemplate = input(...ngDevMode ? [void 0, { debugName: "itemTemplate" }] : /* istanbul ignore next */ []);
391
+ root = input(false, {
392
+ ...ngDevMode ? { debugName: "root" } : /* istanbul ignore next */ {},
393
+ transform: booleanAttribute
394
+ });
395
+ autoZIndex = input(true, {
396
+ ...ngDevMode ? { debugName: "autoZIndex" } : /* istanbul ignore next */ {},
397
+ transform: booleanAttribute
398
+ });
399
+ baseZIndex = input(0, {
400
+ ...ngDevMode ? { debugName: "baseZIndex" } : /* istanbul ignore next */ {},
401
+ transform: numberAttribute
402
+ });
403
+ mobileActive = input(void 0, {
404
+ ...ngDevMode ? { debugName: "mobileActive" } : /* istanbul ignore next */ {},
405
+ transform: booleanAttribute
406
+ });
407
+ autoDisplay = input(void 0, {
408
+ ...ngDevMode ? { debugName: "autoDisplay" } : /* istanbul ignore next */ {},
409
+ transform: booleanAttribute
410
+ });
411
+ menuId = input(...ngDevMode ? [void 0, { debugName: "menuId" }] : /* istanbul ignore next */ []);
412
+ ariaLabel = input(...ngDevMode ? [void 0, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
413
+ ariaLabelledBy = input(...ngDevMode ? [void 0, { debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []);
414
+ level = input(0, {
415
+ ...ngDevMode ? { debugName: "level" } : /* istanbul ignore next */ {},
416
+ transform: numberAttribute
417
+ });
418
+ focusedItemId = input(...ngDevMode ? [void 0, { debugName: "focusedItemId" }] : /* istanbul ignore next */ []);
419
+ activeItemPath = input(void 0, ...ngDevMode ? [{ debugName: "activeItemPath" }] : /* istanbul ignore next */ []);
420
+ inlineStyles = input(...ngDevMode ? [void 0, { debugName: "inlineStyles" }] : /* istanbul ignore next */ []);
421
+ submenuiconTemplate = input(...ngDevMode ? [void 0, { debugName: "submenuiconTemplate" }] : /* istanbul ignore next */ []);
422
+ itemClick = output();
423
+ itemMouseEnter = output();
424
+ menuFocus = output();
425
+ menuBlur = output();
426
+ menuKeydown = output();
427
+ mouseLeaveSubscriber;
428
+ menubarService = inject(MenubarService);
429
+ _componentStyle = inject(MenuBarStyle);
430
+ hostName = "Menubar";
431
+ onInit() {
432
+ this.mouseLeaveSubscriber = this.menubarService.mouseLeft$.subscribe(() => {
433
+ this.cd.markForCheck();
434
+ });
435
+ }
436
+ onItemClick(event, processedItem) {
437
+ this.getItemProp(processedItem, "command", {
438
+ originalEvent: event,
439
+ item: processedItem.item
440
+ });
441
+ this.itemClick.emit({
442
+ originalEvent: event,
443
+ processedItem,
444
+ isFocus: true
445
+ });
446
+ }
447
+ getItemProp(processedItem, name, params = null) {
448
+ return processedItem && processedItem.item ? resolve(processedItem.item[name], params) : void 0;
449
+ }
450
+ getItemId(processedItem) {
451
+ return processedItem.item && processedItem.item?.id ? processedItem.item.id : `${this.menuId()}_${processedItem.key}`;
452
+ }
453
+ getItemLabelId(processedItem) {
454
+ return `${this.menuId()}_${processedItem.key}_label`;
455
+ }
456
+ getItemLabel(processedItem) {
457
+ return this.getItemProp(processedItem, "label");
458
+ }
459
+ isItemVisible(processedItem) {
460
+ return this.getItemProp(processedItem, "visible") !== false;
461
+ }
462
+ isItemActive(processedItem) {
463
+ const activeItemPath = this.activeItemPath();
464
+ if (activeItemPath) return activeItemPath.some((path) => path.key === processedItem.key);
465
+ return false;
466
+ }
467
+ isItemDisabled(processedItem) {
468
+ return this.getItemProp(processedItem, "disabled");
469
+ }
470
+ isItemFocused(processedItem) {
471
+ return this.focusedItemId() === this.getItemId(processedItem);
472
+ }
473
+ isItemGroup(processedItem) {
474
+ return isNotEmpty(processedItem.items);
475
+ }
476
+ getAriaSetSize() {
477
+ return this.items().filter((processedItem) => this.isItemVisible(processedItem) && !this.getItemProp(processedItem, "separator")).length;
478
+ }
479
+ getAriaPosInset(index) {
480
+ return index - this.items().slice(0, index).filter((processedItem) => this.isItemVisible(processedItem) && this.getItemProp(processedItem, "separator")).length + 1;
481
+ }
482
+ onItemMouseEnter(param) {
483
+ if (this.autoDisplay()) {
484
+ const { event, processedItem } = param;
485
+ this.itemMouseEnter.emit({
486
+ originalEvent: event,
487
+ processedItem
488
+ });
489
+ }
490
+ }
491
+ getPTOptions(processedItem, index, key) {
492
+ return this.ptm(key, { context: {
493
+ item: processedItem.item,
494
+ index,
495
+ active: this.isItemActive(processedItem),
496
+ focused: this.isItemFocused(processedItem),
497
+ disabled: this.isItemDisabled(processedItem),
498
+ level: this.level()
499
+ } });
500
+ }
501
+ onDestroy() {
502
+ this.mouseLeaveSubscriber?.unsubscribe();
503
+ }
504
+ static ɵfac = i0.ɵɵngDeclareFactory({
505
+ minVersion: "12.0.0",
506
+ version: "22.2.1",
507
+ ngImport: i0,
508
+ type: MenubarSub,
509
+ deps: null,
510
+ target: i0.ɵɵFactoryTarget.Component
511
+ });
512
+ static ɵcmp = i0.ɵɵngDeclareComponent({
513
+ minVersion: "17.0.0",
514
+ version: "22.2.1",
515
+ type: MenubarSub,
516
+ isStandalone: true,
517
+ selector: "h-menubarSub, h-menubarsub, [hMenubarSub]",
518
+ inputs: {
519
+ items: {
520
+ classPropertyName: "items",
521
+ publicName: "items",
522
+ isSignal: true,
523
+ isRequired: false,
524
+ transformFunction: null
525
+ },
526
+ itemTemplate: {
527
+ classPropertyName: "itemTemplate",
528
+ publicName: "itemTemplate",
529
+ isSignal: true,
530
+ isRequired: false,
531
+ transformFunction: null
532
+ },
533
+ root: {
534
+ classPropertyName: "root",
535
+ publicName: "root",
536
+ isSignal: true,
537
+ isRequired: false,
538
+ transformFunction: null
539
+ },
540
+ autoZIndex: {
541
+ classPropertyName: "autoZIndex",
542
+ publicName: "autoZIndex",
543
+ isSignal: true,
544
+ isRequired: false,
545
+ transformFunction: null
546
+ },
547
+ baseZIndex: {
548
+ classPropertyName: "baseZIndex",
549
+ publicName: "baseZIndex",
550
+ isSignal: true,
551
+ isRequired: false,
552
+ transformFunction: null
553
+ },
554
+ mobileActive: {
555
+ classPropertyName: "mobileActive",
556
+ publicName: "mobileActive",
557
+ isSignal: true,
558
+ isRequired: false,
559
+ transformFunction: null
560
+ },
561
+ autoDisplay: {
562
+ classPropertyName: "autoDisplay",
563
+ publicName: "autoDisplay",
564
+ isSignal: true,
565
+ isRequired: false,
566
+ transformFunction: null
567
+ },
568
+ menuId: {
569
+ classPropertyName: "menuId",
570
+ publicName: "menuId",
571
+ isSignal: true,
572
+ isRequired: false,
573
+ transformFunction: null
574
+ },
575
+ ariaLabel: {
576
+ classPropertyName: "ariaLabel",
577
+ publicName: "ariaLabel",
578
+ isSignal: true,
579
+ isRequired: false,
580
+ transformFunction: null
581
+ },
582
+ ariaLabelledBy: {
583
+ classPropertyName: "ariaLabelledBy",
584
+ publicName: "ariaLabelledBy",
585
+ isSignal: true,
586
+ isRequired: false,
587
+ transformFunction: null
588
+ },
589
+ level: {
590
+ classPropertyName: "level",
591
+ publicName: "level",
592
+ isSignal: true,
593
+ isRequired: false,
594
+ transformFunction: null
595
+ },
596
+ focusedItemId: {
597
+ classPropertyName: "focusedItemId",
598
+ publicName: "focusedItemId",
599
+ isSignal: true,
600
+ isRequired: false,
601
+ transformFunction: null
602
+ },
603
+ activeItemPath: {
604
+ classPropertyName: "activeItemPath",
605
+ publicName: "activeItemPath",
606
+ isSignal: true,
607
+ isRequired: false,
608
+ transformFunction: null
609
+ },
610
+ inlineStyles: {
611
+ classPropertyName: "inlineStyles",
612
+ publicName: "inlineStyles",
613
+ isSignal: true,
614
+ isRequired: false,
615
+ transformFunction: null
616
+ },
617
+ submenuiconTemplate: {
618
+ classPropertyName: "submenuiconTemplate",
619
+ publicName: "submenuiconTemplate",
620
+ isSignal: true,
621
+ isRequired: false,
622
+ transformFunction: null
623
+ }
624
+ },
625
+ outputs: {
626
+ itemClick: "itemClick",
627
+ itemMouseEnter: "itemMouseEnter",
628
+ menuFocus: "menuFocus",
629
+ menuBlur: "menuBlur",
630
+ menuKeydown: "menuKeydown"
631
+ },
632
+ host: { properties: {
633
+ "attr.id": "root() ? menuId() : null",
634
+ "attr.aria-activedescendant": "focusedItemId()",
635
+ "class": "level() === 0 ? cx('rootList') : cx('submenu')",
636
+ "attr.role": "'menubar'",
637
+ "style": "inlineStyles()"
638
+ } },
639
+ usesInheritance: true,
640
+ ngImport: i0,
641
+ template: "@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'), $safeNavigationMigration(processedItem?.styleClass))\"\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-highlight]=\"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-setsize]=\"getAriaSetSize()\"\n [attr.aria-posinset]=\"getAriaPosInset(index)\"\n [style]=\"getItemProp(processedItem, 'style')\"\n [class]=\"cn(cx('item', { instance: this, processedItem }), getItemProp(processedItem, 'styleClass'))\"\n [hBind]=\"getPTOptions(processedItem, index, 'item')\"\n hTooltip\n [tooltipOptions]=\"getItemProp(processedItem, 'tooltipOptions')\"\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 [attr.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 [id]=\"getItemLabelId(processedItem)\"\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 [id]=\"getItemLabelId(processedItem)\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLabel')\"\n ></span>\n }\n @if (getItemProp(processedItem, 'badge')) {\n <h-badge\n [class]=\"getItemProp(processedItem, 'badgeStyleClass')\"\n [value]=\"getItemProp(processedItem, 'badge')\"\n [pt]=\"getPTOptions(processedItem, index, 'pcBadge')\"\n [unstyled]=\"unstyled()\"\n />\n }\n @if (isItemGroup(processedItem)) {\n @if (!submenuiconTemplate()) {\n @if (root()) {\n <svg data-h-icon=\"angle-down\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" />\n }\n @if (!root()) {\n <svg data-h-icon=\"angle-right\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" />\n }\n }\n <ng-template *ngTemplateOutlet=\"submenuiconTemplate()\"></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-menubar-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\n [class]=\"getItemProp(processedItem, 'badgeStyleClass')\"\n [value]=\"getItemProp(processedItem, 'badge')\"\n [pt]=\"getPTOptions(processedItem, index, 'pcBadge')\"\n [unstyled]=\"unstyled()\"\n />\n }\n @if (isItemGroup(processedItem)) {\n @if (!submenuiconTemplate()) {\n @if (root()) {\n <svg data-h-icon=\"angle-down\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" />\n }\n @if (!root()) {\n <svg data-h-icon=\"angle-right\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" />\n }\n }\n <ng-template *ngTemplateOutlet=\"submenuiconTemplate()\"></ng-template>\n }\n </a>\n }\n }\n @if (itemTemplate) {\n <ng-template *ngTemplateOutlet=\"itemTemplate; context: { $implicit: processedItem.item, root: root() }\"></ng-template>\n }\n </div>\n @if (isItemVisible(processedItem) && isItemGroup(processedItem)) {\n <ul\n hMenubarSub\n [itemTemplate]=\"itemTemplate\"\n [items]=\"processedItem.items\"\n [mobileActive]=\"mobileActive()\"\n [autoDisplay]=\"autoDisplay()\"\n [menuId]=\"menuId()\"\n [activeItemPath]=\"activeItemPath()\"\n [focusedItemId]=\"focusedItemId()\"\n [level]=\"level() + 1\"\n [attr.aria-labelledby]=\"getItemLabelId(processedItem)\"\n (itemClick)=\"itemClick.emit($event)\"\n (itemMouseEnter)=\"onItemMouseEnter($event)\"\n [inlineStyles]=\"sx('submenu', true, { instance: this, processedItem })\"\n [pt]=\"pt()\"\n [hBind]=\"ptm('submenu')\"\n [unstyled]=\"unstyled()\"\n ></ul>\n }\n </li>\n }\n }\n",
642
+ dependencies: [
643
+ {
644
+ kind: "component",
645
+ type: MenubarSub,
646
+ selector: "h-menubarSub, h-menubarsub, [hMenubarSub]",
647
+ inputs: [
648
+ "items",
649
+ "itemTemplate",
650
+ "root",
651
+ "autoZIndex",
652
+ "baseZIndex",
653
+ "mobileActive",
654
+ "autoDisplay",
655
+ "menuId",
656
+ "ariaLabel",
657
+ "ariaLabelledBy",
658
+ "level",
659
+ "focusedItemId",
660
+ "activeItemPath",
661
+ "inlineStyles",
662
+ "submenuiconTemplate"
663
+ ],
664
+ outputs: [
665
+ "itemClick",
666
+ "itemMouseEnter",
667
+ "menuFocus",
668
+ "menuBlur",
669
+ "menuKeydown"
670
+ ]
671
+ },
672
+ {
673
+ kind: "ngmodule",
674
+ type: CommonModule
675
+ },
676
+ {
677
+ kind: "directive",
678
+ type: i1.NgTemplateOutlet,
679
+ selector: "[ngTemplateOutlet]",
680
+ inputs: [
681
+ "ngTemplateOutletContext",
682
+ "ngTemplateOutlet",
683
+ "ngTemplateOutletInjector"
684
+ ]
685
+ },
686
+ {
687
+ kind: "directive",
688
+ type: i1.NgStyle,
689
+ selector: "[ngStyle]",
690
+ inputs: ["ngStyle"]
691
+ },
692
+ {
693
+ kind: "ngmodule",
694
+ type: RouterModule
695
+ },
696
+ {
697
+ kind: "directive",
698
+ type: i2.RouterLink,
699
+ selector: "[routerLink]",
700
+ inputs: [
701
+ "target",
702
+ "queryParams",
703
+ "fragment",
704
+ "queryParamsHandling",
705
+ "state",
706
+ "info",
707
+ "relativeTo",
708
+ "preserveFragment",
709
+ "skipLocationChange",
710
+ "replaceUrl",
711
+ "browserUrl",
712
+ "routerLink"
713
+ ]
714
+ },
715
+ {
716
+ kind: "directive",
717
+ type: i2.RouterLinkActive,
718
+ selector: "[routerLinkActive]",
719
+ inputs: [
720
+ "routerLinkActiveOptions",
721
+ "ariaCurrentWhenActive",
722
+ "routerLinkActive"
723
+ ],
724
+ outputs: ["isActiveChange"],
725
+ exportAs: ["routerLinkActive"]
726
+ },
727
+ {
728
+ kind: "directive",
729
+ type: Ripple,
730
+ selector: "[hRipple]"
731
+ },
732
+ {
733
+ kind: "ngmodule",
734
+ type: TooltipModule
735
+ },
736
+ {
737
+ kind: "directive",
738
+ type: i3.Tooltip,
739
+ selector: "[hTooltip]",
740
+ inputs: [
741
+ "tooltipPosition",
742
+ "tooltipEvent",
743
+ "positionStyle",
744
+ "tooltipStyleClass",
745
+ "tooltipZIndex",
746
+ "escape",
747
+ "showDelay",
748
+ "hideDelay",
749
+ "life",
750
+ "positionTop",
751
+ "positionLeft",
752
+ "autoHide",
753
+ "fitContent",
754
+ "hideOnEscape",
755
+ "showOnEllipsis",
756
+ "hTooltip",
757
+ "tooltipDisabled",
758
+ "tooltipOptions",
759
+ "appendTo",
760
+ "ptTooltip",
761
+ "pTooltipPT",
762
+ "pTooltipUnstyled"
763
+ ]
764
+ },
765
+ {
766
+ kind: "directive",
767
+ type: i4.Bind,
768
+ selector: "[hBind]",
769
+ inputs: ["hBind"]
770
+ },
771
+ {
772
+ kind: "component",
773
+ type: AngleDownIcon,
774
+ selector: "[data-h-icon=\"angle-down\"]"
775
+ },
776
+ {
777
+ kind: "component",
778
+ type: AngleRightIcon,
779
+ selector: "[data-h-icon=\"angle-right\"]"
780
+ },
781
+ {
782
+ kind: "ngmodule",
783
+ type: BadgeModule
784
+ },
785
+ {
786
+ kind: "component",
787
+ type: i5.Badge,
788
+ selector: "h-badge",
789
+ inputs: [
790
+ "styleClass",
791
+ "badgeSize",
792
+ "size",
793
+ "severity",
794
+ "value",
795
+ "badgeDisabled"
796
+ ]
797
+ },
798
+ {
799
+ kind: "ngmodule",
800
+ type: SharedModule
801
+ },
802
+ {
803
+ kind: "ngmodule",
804
+ type: BindModule
805
+ }
806
+ ],
807
+ changeDetection: i0.ChangeDetectionStrategy.Eager,
808
+ encapsulation: i0.ViewEncapsulation.None
809
+ });
810
+ };
811
+ i0.ɵɵngDeclareClassMetadata({
812
+ minVersion: "12.0.0",
813
+ version: "22.2.1",
814
+ ngImport: i0,
815
+ type: MenubarSub,
816
+ decorators: [{
817
+ type: Component,
818
+ args: [{
819
+ selector: "h-menubarSub, h-menubarsub, [hMenubarSub]",
820
+ standalone: true,
821
+ imports: [
822
+ CommonModule,
823
+ RouterModule,
824
+ Ripple,
825
+ TooltipModule,
826
+ AngleDownIcon,
827
+ AngleRightIcon,
828
+ BadgeModule,
829
+ SharedModule,
830
+ BindModule
831
+ ],
832
+ encapsulation: ViewEncapsulation.None,
833
+ changeDetection: ChangeDetectionStrategy.Eager,
834
+ host: {
835
+ "[attr.id]": "root() ? menuId() : null",
836
+ "[attr.aria-activedescendant]": "focusedItemId()",
837
+ "[class]": "level() === 0 ? cx('rootList') : cx('submenu')",
838
+ "[attr.role]": "'menubar'",
839
+ "[style]": "inlineStyles()"
840
+ },
841
+ template: "@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'), $safeNavigationMigration(processedItem?.styleClass))\"\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-highlight]=\"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-setsize]=\"getAriaSetSize()\"\n [attr.aria-posinset]=\"getAriaPosInset(index)\"\n [style]=\"getItemProp(processedItem, 'style')\"\n [class]=\"cn(cx('item', { instance: this, processedItem }), getItemProp(processedItem, 'styleClass'))\"\n [hBind]=\"getPTOptions(processedItem, index, 'item')\"\n hTooltip\n [tooltipOptions]=\"getItemProp(processedItem, 'tooltipOptions')\"\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 [attr.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 [id]=\"getItemLabelId(processedItem)\"\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 [id]=\"getItemLabelId(processedItem)\"\n [hBind]=\"getPTOptions(processedItem, index, 'itemLabel')\"\n ></span>\n }\n @if (getItemProp(processedItem, 'badge')) {\n <h-badge\n [class]=\"getItemProp(processedItem, 'badgeStyleClass')\"\n [value]=\"getItemProp(processedItem, 'badge')\"\n [pt]=\"getPTOptions(processedItem, index, 'pcBadge')\"\n [unstyled]=\"unstyled()\"\n />\n }\n @if (isItemGroup(processedItem)) {\n @if (!submenuiconTemplate()) {\n @if (root()) {\n <svg data-h-icon=\"angle-down\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" />\n }\n @if (!root()) {\n <svg data-h-icon=\"angle-right\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" />\n }\n }\n <ng-template *ngTemplateOutlet=\"submenuiconTemplate()\"></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-menubar-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\n [class]=\"getItemProp(processedItem, 'badgeStyleClass')\"\n [value]=\"getItemProp(processedItem, 'badge')\"\n [pt]=\"getPTOptions(processedItem, index, 'pcBadge')\"\n [unstyled]=\"unstyled()\"\n />\n }\n @if (isItemGroup(processedItem)) {\n @if (!submenuiconTemplate()) {\n @if (root()) {\n <svg data-h-icon=\"angle-down\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" />\n }\n @if (!root()) {\n <svg data-h-icon=\"angle-right\" [class]=\"cx('submenuIcon')\" [hBind]=\"getPTOptions(processedItem, index, 'submenuIcon')\" />\n }\n }\n <ng-template *ngTemplateOutlet=\"submenuiconTemplate()\"></ng-template>\n }\n </a>\n }\n }\n @if (itemTemplate) {\n <ng-template *ngTemplateOutlet=\"itemTemplate; context: { $implicit: processedItem.item, root: root() }\"></ng-template>\n }\n </div>\n @if (isItemVisible(processedItem) && isItemGroup(processedItem)) {\n <ul\n hMenubarSub\n [itemTemplate]=\"itemTemplate\"\n [items]=\"processedItem.items\"\n [mobileActive]=\"mobileActive()\"\n [autoDisplay]=\"autoDisplay()\"\n [menuId]=\"menuId()\"\n [activeItemPath]=\"activeItemPath()\"\n [focusedItemId]=\"focusedItemId()\"\n [level]=\"level() + 1\"\n [attr.aria-labelledby]=\"getItemLabelId(processedItem)\"\n (itemClick)=\"itemClick.emit($event)\"\n (itemMouseEnter)=\"onItemMouseEnter($event)\"\n [inlineStyles]=\"sx('submenu', true, { instance: this, processedItem })\"\n [pt]=\"pt()\"\n [hBind]=\"ptm('submenu')\"\n [unstyled]=\"unstyled()\"\n ></ul>\n }\n </li>\n }\n }\n"
842
+ }]
843
+ }],
844
+ propDecorators: {
845
+ items: [{
846
+ type: i0.Input,
847
+ args: [{
848
+ isSignal: true,
849
+ alias: "items",
850
+ required: false
851
+ }]
852
+ }],
853
+ itemTemplate: [{
854
+ type: i0.Input,
855
+ args: [{
856
+ isSignal: true,
857
+ alias: "itemTemplate",
858
+ required: false
859
+ }]
860
+ }],
861
+ root: [{
862
+ type: i0.Input,
863
+ args: [{
864
+ isSignal: true,
865
+ alias: "root",
866
+ required: false
867
+ }]
868
+ }],
869
+ autoZIndex: [{
870
+ type: i0.Input,
871
+ args: [{
872
+ isSignal: true,
873
+ alias: "autoZIndex",
874
+ required: false
875
+ }]
876
+ }],
877
+ baseZIndex: [{
878
+ type: i0.Input,
879
+ args: [{
880
+ isSignal: true,
881
+ alias: "baseZIndex",
882
+ required: false
883
+ }]
884
+ }],
885
+ mobileActive: [{
886
+ type: i0.Input,
887
+ args: [{
888
+ isSignal: true,
889
+ alias: "mobileActive",
890
+ required: false
891
+ }]
892
+ }],
893
+ autoDisplay: [{
894
+ type: i0.Input,
895
+ args: [{
896
+ isSignal: true,
897
+ alias: "autoDisplay",
898
+ required: false
899
+ }]
900
+ }],
901
+ menuId: [{
902
+ type: i0.Input,
903
+ args: [{
904
+ isSignal: true,
905
+ alias: "menuId",
906
+ required: false
907
+ }]
908
+ }],
909
+ ariaLabel: [{
910
+ type: i0.Input,
911
+ args: [{
912
+ isSignal: true,
913
+ alias: "ariaLabel",
914
+ required: false
915
+ }]
916
+ }],
917
+ ariaLabelledBy: [{
918
+ type: i0.Input,
919
+ args: [{
920
+ isSignal: true,
921
+ alias: "ariaLabelledBy",
922
+ required: false
923
+ }]
924
+ }],
925
+ level: [{
926
+ type: i0.Input,
927
+ args: [{
928
+ isSignal: true,
929
+ alias: "level",
930
+ required: false
931
+ }]
932
+ }],
933
+ focusedItemId: [{
934
+ type: i0.Input,
935
+ args: [{
936
+ isSignal: true,
937
+ alias: "focusedItemId",
938
+ required: false
939
+ }]
940
+ }],
941
+ activeItemPath: [{
942
+ type: i0.Input,
943
+ args: [{
944
+ isSignal: true,
945
+ alias: "activeItemPath",
946
+ required: false
947
+ }]
948
+ }],
949
+ inlineStyles: [{
950
+ type: i0.Input,
951
+ args: [{
952
+ isSignal: true,
953
+ alias: "inlineStyles",
954
+ required: false
955
+ }]
956
+ }],
957
+ submenuiconTemplate: [{
958
+ type: i0.Input,
959
+ args: [{
960
+ isSignal: true,
961
+ alias: "submenuiconTemplate",
962
+ required: false
963
+ }]
964
+ }],
965
+ itemClick: [{
966
+ type: i0.Output,
967
+ args: ["itemClick"]
968
+ }],
969
+ itemMouseEnter: [{
970
+ type: i0.Output,
971
+ args: ["itemMouseEnter"]
972
+ }],
973
+ menuFocus: [{
974
+ type: i0.Output,
975
+ args: ["menuFocus"]
976
+ }],
977
+ menuBlur: [{
978
+ type: i0.Output,
979
+ args: ["menuBlur"]
980
+ }],
981
+ menuKeydown: [{
982
+ type: i0.Output,
983
+ args: ["menuKeydown"]
984
+ }]
985
+ }
986
+ });
987
+ var Menubar = class Menubar extends BaseComponent {
988
+ document;
989
+ platformId;
990
+ el;
991
+ renderer;
992
+ cd;
993
+ menubarService;
994
+ componentName = "Menubar";
995
+ $pcMenubar = inject(MENUBAR_INSTANCE, {
996
+ optional: true,
997
+ skipSelf: true
998
+ }) ?? void 0;
999
+ bindDirectiveInstance = inject(Bind, { self: true });
1000
+ onAfterViewChecked() {
1001
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
1002
+ }
1003
+ model = input(...ngDevMode ? [void 0, { debugName: "model" }] : /* istanbul ignore next */ []);
1004
+ styleClass = input(...ngDevMode ? [void 0, { debugName: "styleClass" }] : /* istanbul ignore next */ []);
1005
+ autoZIndex = input(true, {
1006
+ ...ngDevMode ? { debugName: "autoZIndex" } : /* istanbul ignore next */ {},
1007
+ transform: booleanAttribute
1008
+ });
1009
+ baseZIndex = input(0, {
1010
+ ...ngDevMode ? { debugName: "baseZIndex" } : /* istanbul ignore next */ {},
1011
+ transform: numberAttribute
1012
+ });
1013
+ autoDisplay = input(true, {
1014
+ ...ngDevMode ? { debugName: "autoDisplay" } : /* istanbul ignore next */ {},
1015
+ transform: booleanAttribute
1016
+ });
1017
+ autoHide = input(void 0, {
1018
+ ...ngDevMode ? { debugName: "autoHide" } : /* istanbul ignore next */ {},
1019
+ transform: booleanAttribute
1020
+ });
1021
+ breakpoint = input("960px", ...ngDevMode ? [{ debugName: "breakpoint" }] : /* istanbul ignore next */ []);
1022
+ autoHideDelay = input(100, {
1023
+ ...ngDevMode ? { debugName: "autoHideDelay" } : /* istanbul ignore next */ {},
1024
+ transform: numberAttribute
1025
+ });
1026
+ id = input(...ngDevMode ? [void 0, { debugName: "id" }] : /* istanbul ignore next */ []);
1027
+ autoId = uuid("pn_id_");
1028
+ $id = computed(() => this.id() || this.autoId, ...ngDevMode ? [{ debugName: "$id" }] : /* istanbul ignore next */ []);
1029
+ ariaLabel = input(...ngDevMode ? [void 0, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
1030
+ ariaLabelledBy = input(...ngDevMode ? [void 0, { debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []);
1031
+ onFocus = output();
1032
+ onBlur = output();
1033
+ menubutton = viewChild("menubutton", ...ngDevMode ? [{ debugName: "menubutton" }] : /* istanbul ignore next */ []);
1034
+ rootmenu = viewChild("rootmenu", ...ngDevMode ? [{ debugName: "rootmenu" }] : /* istanbul ignore next */ []);
1035
+ mobileActive;
1036
+ matchMediaListener;
1037
+ query;
1038
+ queryMatches = signal(false, ...ngDevMode ? [{ debugName: "queryMatches" }] : /* istanbul ignore next */ []);
1039
+ outsideClickListener;
1040
+ resizeListener;
1041
+ mouseLeaveSubscriber;
1042
+ dirty = false;
1043
+ focused = false;
1044
+ activeItemPath = signal([], ...ngDevMode ? [{ debugName: "activeItemPath" }] : /* istanbul ignore next */ []);
1045
+ number = signal(0, ...ngDevMode ? [{ debugName: "number" }] : /* istanbul ignore next */ []);
1046
+ focusedItemInfo = signal({
1047
+ index: -1,
1048
+ level: 0,
1049
+ parentKey: "",
1050
+ item: null
1051
+ }, ...ngDevMode ? [{ debugName: "focusedItemInfo" }] : /* istanbul ignore next */ []);
1052
+ searchValue = "";
1053
+ searchTimeout;
1054
+ _processedItems;
1055
+ _componentStyle = inject(MenuBarStyle);
1056
+ get visibleItems() {
1057
+ const processedItem = this.activeItemPath().find((p) => p.key === this.focusedItemInfo().parentKey);
1058
+ return processedItem ? processedItem.items : this.processedItems;
1059
+ }
1060
+ get processedItems() {
1061
+ if (!this._processedItems || !this._processedItems.length) this._processedItems = this.createProcessedItems(this.model() || []);
1062
+ return this._processedItems;
1063
+ }
1064
+ get focusedItemId() {
1065
+ const focusedItem = this.focusedItemInfo();
1066
+ return focusedItem.item && focusedItem.item?.id ? focusedItem.item.id : focusedItem.index !== -1 ? `${this.$id()}${isNotEmpty(focusedItem.parentKey) ? "_" + focusedItem.parentKey : ""}_${focusedItem.index}` : null;
1067
+ }
1068
+ constructor(document, platformId, el, renderer, cd, menubarService) {
1069
+ super();
1070
+ this.document = document;
1071
+ this.platformId = platformId;
1072
+ this.el = el;
1073
+ this.renderer = renderer;
1074
+ this.cd = cd;
1075
+ this.menubarService = menubarService;
1076
+ effect(() => {
1077
+ if (isNotEmpty(this.activeItemPath())) {
1078
+ this.bindOutsideClickListener();
1079
+ this.bindResizeListener();
1080
+ } else {
1081
+ this.unbindOutsideClickListener();
1082
+ this.unbindResizeListener();
1083
+ }
1084
+ });
1085
+ effect(() => {
1086
+ const model = this.model();
1087
+ this._processedItems = this.createProcessedItems(model || []);
1088
+ });
1089
+ }
1090
+ onInit() {
1091
+ this.bindMatchMediaListener();
1092
+ this.menubarService.autoHide = this.autoHide();
1093
+ this.menubarService.autoHideDelay = this.autoHideDelay();
1094
+ this.mouseLeaveSubscriber = this.menubarService.mouseLeft$.subscribe(() => {
1095
+ this.hide();
1096
+ });
1097
+ }
1098
+ startTemplate = contentChild("start", {
1099
+ ...ngDevMode ? { debugName: "startTemplate" } : /* istanbul ignore next */ {},
1100
+ descendants: false
1101
+ });
1102
+ endTemplate = contentChild("end", {
1103
+ ...ngDevMode ? { debugName: "endTemplate" } : /* istanbul ignore next */ {},
1104
+ descendants: false
1105
+ });
1106
+ itemTemplate = contentChild("item", {
1107
+ ...ngDevMode ? { debugName: "itemTemplate" } : /* istanbul ignore next */ {},
1108
+ descendants: false
1109
+ });
1110
+ menuIconTemplate = contentChild("menuicon", {
1111
+ ...ngDevMode ? { debugName: "menuIconTemplate" } : /* istanbul ignore next */ {},
1112
+ descendants: false
1113
+ });
1114
+ submenuIconTemplate = contentChild("submenuicon", {
1115
+ ...ngDevMode ? { debugName: "submenuIconTemplate" } : /* istanbul ignore next */ {},
1116
+ descendants: false
1117
+ });
1118
+ templates = contentChildren(HelixTemplate, ...ngDevMode ? [{ debugName: "templates" }] : /* istanbul ignore next */ []);
1119
+ _startTemplate;
1120
+ _endTemplate;
1121
+ _itemTemplate;
1122
+ _menuIconTemplate;
1123
+ _submenuIconTemplate;
1124
+ onAfterContentInit() {
1125
+ this.templates()?.forEach((item) => {
1126
+ switch (item.getType()) {
1127
+ case "start":
1128
+ this._startTemplate = item.template;
1129
+ break;
1130
+ case "end":
1131
+ this._endTemplate = item.template;
1132
+ break;
1133
+ case "menuicon":
1134
+ this._menuIconTemplate = item.template;
1135
+ break;
1136
+ case "submenuicon":
1137
+ this._submenuIconTemplate = item.template;
1138
+ break;
1139
+ case "item":
1140
+ this._itemTemplate = item.template;
1141
+ break;
1142
+ default:
1143
+ this._itemTemplate = item.template;
1144
+ break;
1145
+ }
1146
+ });
1147
+ }
1148
+ createProcessedItems(items, level = 0, parent = {}, parentKey = "") {
1149
+ const processedItems = [];
1150
+ items && items.forEach((item, index) => {
1151
+ const key = (parentKey !== "" ? parentKey + "_" : "") + index;
1152
+ const newItem = {
1153
+ item,
1154
+ index,
1155
+ level,
1156
+ key,
1157
+ parent,
1158
+ parentKey
1159
+ };
1160
+ newItem["items"] = this.createProcessedItems(item.items, level + 1, newItem, key);
1161
+ processedItems.push(newItem);
1162
+ });
1163
+ return processedItems;
1164
+ }
1165
+ bindMatchMediaListener() {
1166
+ if (isPlatformBrowser(this.platformId)) {
1167
+ if (!this.matchMediaListener) {
1168
+ const query = window.matchMedia(`(max-width: ${this.breakpoint()})`);
1169
+ this.query = query;
1170
+ this.queryMatches.set(query.matches);
1171
+ this.matchMediaListener = () => {
1172
+ this.queryMatches.set(query.matches);
1173
+ this.mobileActive = false;
1174
+ this.cd.markForCheck();
1175
+ };
1176
+ query.addEventListener("change", this.matchMediaListener);
1177
+ }
1178
+ }
1179
+ }
1180
+ unbindMatchMediaListener() {
1181
+ if (this.matchMediaListener) {
1182
+ this.query.removeEventListener("change", this.matchMediaListener);
1183
+ this.matchMediaListener = null;
1184
+ }
1185
+ }
1186
+ getItemProp(item, name) {
1187
+ return item ? resolve(item[name]) : void 0;
1188
+ }
1189
+ menuButtonClick(event) {
1190
+ this.toggle(event);
1191
+ }
1192
+ menuButtonKeydown(event) {
1193
+ (event.code === "Enter" || event.code === "Space") && this.menuButtonClick(event);
1194
+ }
1195
+ onItemClick(event) {
1196
+ this.dirty = true;
1197
+ const { originalEvent, processedItem } = event;
1198
+ const grouped = this.isProcessedItemGroup(processedItem);
1199
+ const root = isEmpty(processedItem.parent);
1200
+ if (this.isSelected(processedItem)) {
1201
+ const { index, key, level, parentKey, item } = processedItem;
1202
+ this.activeItemPath.set(this.activeItemPath().filter((p) => key !== p.key && key.startsWith(p.key)));
1203
+ this.focusedItemInfo.set({
1204
+ index,
1205
+ level,
1206
+ parentKey,
1207
+ item
1208
+ });
1209
+ this.dirty = !root;
1210
+ focus(this.rootmenu()?.el.nativeElement);
1211
+ } else if (grouped) this.onItemChange(event);
1212
+ else {
1213
+ const rootProcessedItem = root ? processedItem : this.activeItemPath().find((p) => p.parentKey === "");
1214
+ this.hide(originalEvent);
1215
+ this.changeFocusedItemIndex(originalEvent, rootProcessedItem ? rootProcessedItem.index : -1);
1216
+ this.mobileActive = false;
1217
+ focus(this.rootmenu()?.el.nativeElement);
1218
+ }
1219
+ }
1220
+ onItemMouseEnter(event) {
1221
+ if (!isTouchDevice()) {
1222
+ if (this.dirty) this.onItemChange(event, "hover");
1223
+ } else this.onItemChange({
1224
+ event,
1225
+ processedItem: event.processedItem,
1226
+ focus: this.autoDisplay()
1227
+ }, "hover");
1228
+ }
1229
+ onMouseLeave(event) {
1230
+ const autoHideEnabled = this.menubarService.autoHide;
1231
+ const autoHideDelay = this.menubarService.autoHideDelay;
1232
+ if (autoHideEnabled) setTimeout(() => {
1233
+ this.menubarService.mouseLeaves.next(true);
1234
+ }, autoHideDelay);
1235
+ }
1236
+ changeFocusedItemIndex(event, index) {
1237
+ const processedItem = this.findVisibleItem(index);
1238
+ if (this.focusedItemInfo().index !== index) {
1239
+ const focusedItemInfo = this.focusedItemInfo();
1240
+ this.focusedItemInfo.set({
1241
+ ...focusedItemInfo,
1242
+ item: processedItem.item,
1243
+ index
1244
+ });
1245
+ this.scrollInView();
1246
+ }
1247
+ }
1248
+ scrollInView(index = -1) {
1249
+ const id = index !== -1 ? `${this.$id()}_${index}` : this.focusedItemId;
1250
+ const element = findSingle(this.rootmenu()?.el.nativeElement, `li[id="${id}"]`);
1251
+ if (element) element.scrollIntoView && element.scrollIntoView({
1252
+ block: "nearest",
1253
+ inline: "nearest"
1254
+ });
1255
+ }
1256
+ onItemChange(event, type) {
1257
+ const { processedItem, isFocus } = event;
1258
+ if (isEmpty(processedItem)) return;
1259
+ const { index, key, level, parentKey, items, item } = processedItem;
1260
+ const grouped = isNotEmpty(items);
1261
+ const activeItemPath = this.activeItemPath().filter((p) => p.parentKey !== parentKey && p.parentKey !== key);
1262
+ grouped && activeItemPath.push(processedItem);
1263
+ this.focusedItemInfo.set({
1264
+ index,
1265
+ level,
1266
+ parentKey,
1267
+ item
1268
+ });
1269
+ grouped && (this.dirty = true);
1270
+ isFocus && focus(this.rootmenu()?.el.nativeElement);
1271
+ if (type === "hover" && this.queryMatches()) return;
1272
+ this.activeItemPath.set(activeItemPath);
1273
+ }
1274
+ toggle(event) {
1275
+ if (this.mobileActive) {
1276
+ this.mobileActive = false;
1277
+ ZIndexUtils.clear(this.rootmenu()?.el.nativeElement);
1278
+ this.hide();
1279
+ } else {
1280
+ this.mobileActive = true;
1281
+ ZIndexUtils.set("menu", this.rootmenu()?.el.nativeElement, this.config.zIndex.menu);
1282
+ setTimeout(() => {
1283
+ this.show();
1284
+ }, 0);
1285
+ }
1286
+ this.bindOutsideClickListener();
1287
+ event.preventDefault();
1288
+ }
1289
+ hide(event, isFocus) {
1290
+ if (this.mobileActive) setTimeout(() => {
1291
+ focus(this.menubutton()?.nativeElement);
1292
+ }, 0);
1293
+ this.activeItemPath.set([]);
1294
+ this.focusedItemInfo.set({
1295
+ index: -1,
1296
+ level: 0,
1297
+ parentKey: "",
1298
+ item: null
1299
+ });
1300
+ isFocus && focus(this.rootmenu()?.el.nativeElement);
1301
+ this.dirty = false;
1302
+ }
1303
+ show() {
1304
+ const processedItem = this.findVisibleItem(this.findFirstFocusedItemIndex());
1305
+ this.focusedItemInfo.set({
1306
+ index: this.findFirstFocusedItemIndex(),
1307
+ level: 0,
1308
+ parentKey: "",
1309
+ item: processedItem?.item
1310
+ });
1311
+ focus(this.rootmenu()?.el.nativeElement);
1312
+ }
1313
+ onMenuMouseDown(event) {
1314
+ this.dirty = true;
1315
+ }
1316
+ onMenuFocus(event) {
1317
+ this.focused = true;
1318
+ const relatedTarget = event.relatedTarget;
1319
+ if ((!relatedTarget || !this.el.nativeElement.contains(relatedTarget)) && this.focusedItemInfo().index === -1 && !this.activeItemPath().length && !this.dirty) {
1320
+ const processedItem = this.findVisibleItem(this.findFirstFocusedItemIndex());
1321
+ this.focusedItemInfo.set({
1322
+ index: this.findFirstFocusedItemIndex(),
1323
+ level: 0,
1324
+ parentKey: "",
1325
+ item: processedItem?.item
1326
+ });
1327
+ }
1328
+ this.onFocus.emit(event);
1329
+ }
1330
+ onMenuBlur(event) {
1331
+ const relatedTarget = event.relatedTarget;
1332
+ if (relatedTarget && this.el.nativeElement.contains(relatedTarget)) return;
1333
+ setTimeout(() => {
1334
+ const activeElement = this.document.activeElement;
1335
+ if (activeElement && this.el.nativeElement.contains(activeElement)) return;
1336
+ this.focused = false;
1337
+ this.focusedItemInfo.set({
1338
+ index: -1,
1339
+ level: 0,
1340
+ parentKey: "",
1341
+ item: null
1342
+ });
1343
+ this.searchValue = "";
1344
+ this.dirty = false;
1345
+ this.onBlur.emit(event);
1346
+ });
1347
+ }
1348
+ onKeyDown(event) {
1349
+ const metaKey = event.metaKey || event.ctrlKey;
1350
+ switch (event.code) {
1351
+ case "ArrowDown":
1352
+ this.onArrowDownKey(event);
1353
+ break;
1354
+ case "ArrowUp":
1355
+ this.onArrowUpKey(event);
1356
+ break;
1357
+ case "ArrowLeft":
1358
+ this.onArrowLeftKey(event);
1359
+ break;
1360
+ case "ArrowRight":
1361
+ this.onArrowRightKey(event);
1362
+ break;
1363
+ case "Home":
1364
+ this.onHomeKey(event);
1365
+ break;
1366
+ case "End":
1367
+ this.onEndKey(event);
1368
+ break;
1369
+ case "Space":
1370
+ this.onSpaceKey(event);
1371
+ break;
1372
+ case "Enter":
1373
+ this.onEnterKey(event);
1374
+ break;
1375
+ case "Escape":
1376
+ this.onEscapeKey(event);
1377
+ break;
1378
+ case "Tab":
1379
+ this.onTabKey(event);
1380
+ break;
1381
+ case "PageDown":
1382
+ case "PageUp":
1383
+ case "Backspace":
1384
+ case "ShiftLeft":
1385
+ case "ShiftRight": break;
1386
+ default:
1387
+ if (!metaKey && isPrintableCharacter(event.key)) this.searchItems(event, event.key);
1388
+ break;
1389
+ }
1390
+ }
1391
+ findVisibleItem(index) {
1392
+ return isNotEmpty(this.visibleItems) ? this.visibleItems[index] : null;
1393
+ }
1394
+ findFirstFocusedItemIndex() {
1395
+ const selectedIndex = this.findSelectedItemIndex();
1396
+ return selectedIndex < 0 ? this.findFirstItemIndex() : selectedIndex;
1397
+ }
1398
+ findFirstItemIndex() {
1399
+ return this.visibleItems.findIndex((processedItem) => this.isValidItem(processedItem));
1400
+ }
1401
+ findSelectedItemIndex() {
1402
+ return this.visibleItems.findIndex((processedItem) => this.isValidSelectedItem(processedItem));
1403
+ }
1404
+ isProcessedItemGroup(processedItem) {
1405
+ return processedItem && isNotEmpty(processedItem.items);
1406
+ }
1407
+ isSelected(processedItem) {
1408
+ return this.activeItemPath().some((p) => p.key === processedItem.key);
1409
+ }
1410
+ isValidSelectedItem(processedItem) {
1411
+ return this.isValidItem(processedItem) && this.isSelected(processedItem);
1412
+ }
1413
+ isValidItem(processedItem) {
1414
+ return !!processedItem && !this.isItemDisabled(processedItem.item) && !this.isItemSeparator(processedItem.item);
1415
+ }
1416
+ isItemDisabled(item) {
1417
+ return this.getItemProp(item, "disabled");
1418
+ }
1419
+ isItemSeparator(item) {
1420
+ return this.getItemProp(item, "separator");
1421
+ }
1422
+ isItemMatched(processedItem) {
1423
+ return this.isValidItem(processedItem) && this.getProccessedItemLabel(processedItem).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase());
1424
+ }
1425
+ isProccessedItemGroup(processedItem) {
1426
+ return processedItem && isNotEmpty(processedItem.items);
1427
+ }
1428
+ searchItems(event, char) {
1429
+ this.searchValue = (this.searchValue || "") + char;
1430
+ let itemIndex = -1;
1431
+ let matched = false;
1432
+ if (this.focusedItemInfo().index !== -1) {
1433
+ itemIndex = this.visibleItems.slice(this.focusedItemInfo().index).findIndex((processedItem) => this.isItemMatched(processedItem));
1434
+ itemIndex = itemIndex === -1 ? this.visibleItems.slice(0, this.focusedItemInfo().index).findIndex((processedItem) => this.isItemMatched(processedItem)) : itemIndex + this.focusedItemInfo().index;
1435
+ } else itemIndex = this.visibleItems.findIndex((processedItem) => this.isItemMatched(processedItem));
1436
+ if (itemIndex !== -1) matched = true;
1437
+ if (itemIndex === -1 && this.focusedItemInfo().index === -1) itemIndex = this.findFirstFocusedItemIndex();
1438
+ if (itemIndex !== -1) this.changeFocusedItemIndex(event, itemIndex);
1439
+ if (this.searchTimeout) clearTimeout(this.searchTimeout);
1440
+ this.searchTimeout = setTimeout(() => {
1441
+ this.searchValue = "";
1442
+ this.searchTimeout = null;
1443
+ }, 500);
1444
+ return matched;
1445
+ }
1446
+ getProccessedItemLabel(processedItem) {
1447
+ return processedItem ? this.getItemLabel(processedItem.item) : void 0;
1448
+ }
1449
+ getItemLabel(item) {
1450
+ return this.getItemProp(item, "label");
1451
+ }
1452
+ onArrowDownKey(event) {
1453
+ const processedItem = this.visibleItems[this.focusedItemInfo().index];
1454
+ if (processedItem ? isEmpty(processedItem.parent) : null) {
1455
+ if (this.isProccessedItemGroup(processedItem)) {
1456
+ this.onItemChange({
1457
+ originalEvent: event,
1458
+ processedItem
1459
+ });
1460
+ this.focusedItemInfo.set({
1461
+ index: -1,
1462
+ parentKey: processedItem.key,
1463
+ item: processedItem.item
1464
+ });
1465
+ this.onArrowRightKey(event);
1466
+ }
1467
+ } else {
1468
+ const itemIndex = this.focusedItemInfo().index !== -1 ? this.findNextItemIndex(this.focusedItemInfo().index) : this.findFirstFocusedItemIndex();
1469
+ this.changeFocusedItemIndex(event, itemIndex);
1470
+ event.preventDefault();
1471
+ }
1472
+ }
1473
+ onArrowRightKey(event) {
1474
+ const processedItem = this.visibleItems[this.focusedItemInfo().index];
1475
+ if (processedItem ? this.activeItemPath().find((p) => p.key === processedItem.parentKey) : null) {
1476
+ if (this.isProccessedItemGroup(processedItem)) {
1477
+ this.onItemChange({
1478
+ originalEvent: event,
1479
+ processedItem
1480
+ });
1481
+ this.focusedItemInfo.set({
1482
+ index: -1,
1483
+ parentKey: processedItem.key,
1484
+ item: processedItem.item
1485
+ });
1486
+ this.onArrowDownKey(event);
1487
+ }
1488
+ } else {
1489
+ const itemIndex = this.focusedItemInfo().index !== -1 ? this.findNextItemIndex(this.focusedItemInfo().index) : this.findFirstFocusedItemIndex();
1490
+ this.changeFocusedItemIndex(event, itemIndex);
1491
+ event.preventDefault();
1492
+ }
1493
+ }
1494
+ onArrowUpKey(event) {
1495
+ const processedItem = this.visibleItems[this.focusedItemInfo().index];
1496
+ if (isEmpty(processedItem.parent)) {
1497
+ if (this.isProccessedItemGroup(processedItem)) {
1498
+ this.onItemChange({
1499
+ originalEvent: event,
1500
+ processedItem
1501
+ });
1502
+ this.focusedItemInfo.set({
1503
+ index: -1,
1504
+ parentKey: processedItem.key,
1505
+ item: processedItem.item
1506
+ });
1507
+ const itemIndex = this.findLastItemIndex();
1508
+ this.changeFocusedItemIndex(event, itemIndex);
1509
+ }
1510
+ } else {
1511
+ const parentItem = this.activeItemPath().find((p) => p.key === processedItem.parentKey);
1512
+ if (this.focusedItemInfo().index === 0) {
1513
+ this.focusedItemInfo.set({
1514
+ index: -1,
1515
+ parentKey: parentItem ? parentItem.parentKey : "",
1516
+ item: processedItem.item
1517
+ });
1518
+ this.searchValue = "";
1519
+ this.onArrowLeftKey(event);
1520
+ const activeItemPath = this.activeItemPath().filter((p) => p.parentKey !== this.focusedItemInfo().parentKey);
1521
+ this.activeItemPath.set(activeItemPath);
1522
+ } else {
1523
+ const itemIndex = this.focusedItemInfo().index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo().index) : this.findLastFocusedItemIndex();
1524
+ this.changeFocusedItemIndex(event, itemIndex);
1525
+ }
1526
+ }
1527
+ event.preventDefault();
1528
+ }
1529
+ onArrowLeftKey(event) {
1530
+ const processedItem = this.visibleItems[this.focusedItemInfo().index];
1531
+ const parentItem = processedItem ? this.activeItemPath().find((p) => p.key === processedItem.parentKey) : null;
1532
+ if (parentItem) {
1533
+ this.onItemChange({
1534
+ originalEvent: event,
1535
+ processedItem: parentItem
1536
+ });
1537
+ const activeItemPath = this.activeItemPath().filter((p) => p.parentKey !== this.focusedItemInfo().parentKey);
1538
+ this.activeItemPath.set(activeItemPath);
1539
+ event.preventDefault();
1540
+ } else {
1541
+ const itemIndex = this.focusedItemInfo().index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo().index) : this.findLastFocusedItemIndex();
1542
+ this.changeFocusedItemIndex(event, itemIndex);
1543
+ event.preventDefault();
1544
+ }
1545
+ }
1546
+ onHomeKey(event) {
1547
+ this.changeFocusedItemIndex(event, this.findFirstItemIndex());
1548
+ event.preventDefault();
1549
+ }
1550
+ onEndKey(event) {
1551
+ this.changeFocusedItemIndex(event, this.findLastItemIndex());
1552
+ event.preventDefault();
1553
+ }
1554
+ onSpaceKey(event) {
1555
+ this.onEnterKey(event);
1556
+ }
1557
+ onEscapeKey(event) {
1558
+ this.hide(event, true);
1559
+ this.focusedItemInfo().index = this.findFirstFocusedItemIndex();
1560
+ event.preventDefault();
1561
+ }
1562
+ onTabKey(event) {
1563
+ if (this.focusedItemInfo().index !== -1) {
1564
+ const processedItem = this.visibleItems[this.focusedItemInfo().index];
1565
+ !this.isProccessedItemGroup(processedItem) && this.onItemChange({
1566
+ originalEvent: event,
1567
+ processedItem
1568
+ });
1569
+ }
1570
+ this.hide();
1571
+ }
1572
+ onEnterKey(event) {
1573
+ if (this.focusedItemInfo().index !== -1) {
1574
+ const element = findSingle(this.rootmenu()?.el.nativeElement, `li[id="${`${this.focusedItemId}`}"]`);
1575
+ const anchorElement = element && (findSingle(element, "[data-pc-section=\"itemlink\"]") || findSingle(element, "a,button"));
1576
+ anchorElement ? anchorElement.click() : element && element.click();
1577
+ }
1578
+ event.preventDefault();
1579
+ }
1580
+ findLastFocusedItemIndex() {
1581
+ const selectedIndex = this.findSelectedItemIndex();
1582
+ return selectedIndex < 0 ? this.findLastItemIndex() : selectedIndex;
1583
+ }
1584
+ findLastItemIndex() {
1585
+ return findLastIndex(this.visibleItems, (processedItem) => this.isValidItem(processedItem));
1586
+ }
1587
+ findPrevItemIndex(index) {
1588
+ const matchedItemIndex = index > 0 ? findLastIndex(this.visibleItems.slice(0, index), (processedItem) => this.isValidItem(processedItem)) : -1;
1589
+ return matchedItemIndex > -1 ? matchedItemIndex : index;
1590
+ }
1591
+ findNextItemIndex(index) {
1592
+ const matchedItemIndex = index < this.visibleItems.length - 1 ? this.visibleItems.slice(index + 1).findIndex((processedItem) => this.isValidItem(processedItem)) : -1;
1593
+ return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index;
1594
+ }
1595
+ bindResizeListener() {
1596
+ if (isPlatformBrowser(this.platformId)) {
1597
+ if (!this.resizeListener) this.resizeListener = this.renderer.listen(this.document.defaultView, "resize", (event) => {
1598
+ if (!isTouchDevice()) this.hide(event, true);
1599
+ this.mobileActive = false;
1600
+ });
1601
+ }
1602
+ }
1603
+ bindOutsideClickListener() {
1604
+ if (isPlatformBrowser(this.platformId)) {
1605
+ if (!this.outsideClickListener) this.outsideClickListener = this.renderer.listen(this.document, "click", (event) => {
1606
+ const rootmenu = this.rootmenu();
1607
+ const isOutsideContainer = rootmenu?.el.nativeElement !== event.target && !rootmenu?.el.nativeElement?.contains(event.target);
1608
+ const menubutton = this.menubutton();
1609
+ const isOutsideMenuButton = this.mobileActive && menubutton?.nativeElement !== event.target && !menubutton?.nativeElement?.contains(event.target);
1610
+ if (isOutsideContainer) isOutsideMenuButton ? this.mobileActive = false : this.hide();
1611
+ });
1612
+ }
1613
+ }
1614
+ unbindOutsideClickListener() {
1615
+ if (this.outsideClickListener) {
1616
+ this.outsideClickListener();
1617
+ this.outsideClickListener = null;
1618
+ }
1619
+ }
1620
+ unbindResizeListener() {
1621
+ if (this.resizeListener) {
1622
+ this.resizeListener();
1623
+ this.resizeListener = null;
1624
+ }
1625
+ }
1626
+ onDestroy() {
1627
+ this.mouseLeaveSubscriber?.unsubscribe();
1628
+ this.unbindOutsideClickListener();
1629
+ this.unbindResizeListener();
1630
+ this.unbindMatchMediaListener();
1631
+ }
1632
+ static ɵfac = i0.ɵɵngDeclareFactory({
1633
+ minVersion: "12.0.0",
1634
+ version: "22.2.1",
1635
+ ngImport: i0,
1636
+ type: Menubar,
1637
+ deps: [
1638
+ { token: DOCUMENT },
1639
+ { token: PLATFORM_ID },
1640
+ { token: i0.ElementRef },
1641
+ { token: i0.Renderer2 },
1642
+ { token: i0.ChangeDetectorRef },
1643
+ { token: MenubarService }
1644
+ ],
1645
+ target: i0.ɵɵFactoryTarget.Component
1646
+ });
1647
+ static ɵcmp = i0.ɵɵngDeclareComponent({
1648
+ minVersion: "17.0.0",
1649
+ version: "22.2.1",
1650
+ type: Menubar,
1651
+ isStandalone: true,
1652
+ selector: "h-menubar",
1653
+ inputs: {
1654
+ model: {
1655
+ classPropertyName: "model",
1656
+ publicName: "model",
1657
+ isSignal: true,
1658
+ isRequired: false,
1659
+ transformFunction: null
1660
+ },
1661
+ styleClass: {
1662
+ classPropertyName: "styleClass",
1663
+ publicName: "styleClass",
1664
+ isSignal: true,
1665
+ isRequired: false,
1666
+ transformFunction: null
1667
+ },
1668
+ autoZIndex: {
1669
+ classPropertyName: "autoZIndex",
1670
+ publicName: "autoZIndex",
1671
+ isSignal: true,
1672
+ isRequired: false,
1673
+ transformFunction: null
1674
+ },
1675
+ baseZIndex: {
1676
+ classPropertyName: "baseZIndex",
1677
+ publicName: "baseZIndex",
1678
+ isSignal: true,
1679
+ isRequired: false,
1680
+ transformFunction: null
1681
+ },
1682
+ autoDisplay: {
1683
+ classPropertyName: "autoDisplay",
1684
+ publicName: "autoDisplay",
1685
+ isSignal: true,
1686
+ isRequired: false,
1687
+ transformFunction: null
1688
+ },
1689
+ autoHide: {
1690
+ classPropertyName: "autoHide",
1691
+ publicName: "autoHide",
1692
+ isSignal: true,
1693
+ isRequired: false,
1694
+ transformFunction: null
1695
+ },
1696
+ breakpoint: {
1697
+ classPropertyName: "breakpoint",
1698
+ publicName: "breakpoint",
1699
+ isSignal: true,
1700
+ isRequired: false,
1701
+ transformFunction: null
1702
+ },
1703
+ autoHideDelay: {
1704
+ classPropertyName: "autoHideDelay",
1705
+ publicName: "autoHideDelay",
1706
+ isSignal: true,
1707
+ isRequired: false,
1708
+ transformFunction: null
1709
+ },
1710
+ id: {
1711
+ classPropertyName: "id",
1712
+ publicName: "id",
1713
+ isSignal: true,
1714
+ isRequired: false,
1715
+ transformFunction: null
1716
+ },
1717
+ ariaLabel: {
1718
+ classPropertyName: "ariaLabel",
1719
+ publicName: "ariaLabel",
1720
+ isSignal: true,
1721
+ isRequired: false,
1722
+ transformFunction: null
1723
+ },
1724
+ ariaLabelledBy: {
1725
+ classPropertyName: "ariaLabelledBy",
1726
+ publicName: "ariaLabelledBy",
1727
+ isSignal: true,
1728
+ isRequired: false,
1729
+ transformFunction: null
1730
+ }
1731
+ },
1732
+ outputs: {
1733
+ onFocus: "onFocus",
1734
+ onBlur: "onBlur"
1735
+ },
1736
+ host: { properties: { "class": "cn(cx(\"root\"), styleClass())" } },
1737
+ providers: [
1738
+ MenubarService,
1739
+ MenuBarStyle,
1740
+ {
1741
+ provide: MENUBAR_INSTANCE,
1742
+ useExisting: Menubar
1743
+ },
1744
+ {
1745
+ provide: PARENT_INSTANCE,
1746
+ useExisting: Menubar
1747
+ }
1748
+ ],
1749
+ queries: [
1750
+ {
1751
+ propertyName: "startTemplate",
1752
+ first: true,
1753
+ predicate: ["start"],
1754
+ isSignal: true
1755
+ },
1756
+ {
1757
+ propertyName: "endTemplate",
1758
+ first: true,
1759
+ predicate: ["end"],
1760
+ isSignal: true
1761
+ },
1762
+ {
1763
+ propertyName: "itemTemplate",
1764
+ first: true,
1765
+ predicate: ["item"],
1766
+ isSignal: true
1767
+ },
1768
+ {
1769
+ propertyName: "menuIconTemplate",
1770
+ first: true,
1771
+ predicate: ["menuicon"],
1772
+ isSignal: true
1773
+ },
1774
+ {
1775
+ propertyName: "submenuIconTemplate",
1776
+ first: true,
1777
+ predicate: ["submenuicon"],
1778
+ isSignal: true
1779
+ },
1780
+ {
1781
+ propertyName: "templates",
1782
+ predicate: HelixTemplate,
1783
+ isSignal: true
1784
+ }
1785
+ ],
1786
+ viewQueries: [{
1787
+ propertyName: "menubutton",
1788
+ first: true,
1789
+ predicate: ["menubutton"],
1790
+ descendants: true,
1791
+ isSignal: true
1792
+ }, {
1793
+ propertyName: "rootmenu",
1794
+ first: true,
1795
+ predicate: ["rootmenu"],
1796
+ descendants: true,
1797
+ isSignal: true
1798
+ }],
1799
+ usesInheritance: true,
1800
+ hostDirectives: [{ directive: i4.Bind }],
1801
+ ngImport: i0,
1802
+ 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 (model() && model()!.length > 0) {\n <a\n #menubutton\n tabindex=\"0\"\n role=\"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 [class]=\"cx('button')\"\n [hBind]=\"ptm('button')\"\n (click)=\"menuButtonClick($event)\"\n (keydown)=\"menuButtonKeydown($event)\"\n >\n @if (!menuIconTemplate() && !_menuIconTemplate) {\n <svg data-h-icon=\"bars\" [hBind]=\"ptm('buttonIcon')\" />\n }\n <ng-template *ngTemplateOutlet=\"menuIconTemplate() || _menuIconTemplate\"></ng-template>\n </a>\n}\n<ul\n hMenubarSub\n #rootmenu\n [items]=\"processedItems\"\n [itemTemplate]=\"itemTemplate()\"\n tabindex=\"0\"\n [menuId]=\"$id()\"\n [root]=\"true\"\n [baseZIndex]=\"baseZIndex()\"\n [autoZIndex]=\"autoZIndex()\"\n [mobileActive]=\"mobileActive\"\n [autoDisplay]=\"autoDisplay()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [focusedItemId]=\"focused ? focusedItemId : undefined\"\n [submenuiconTemplate]=\"submenuIconTemplate() || _submenuIconTemplate\"\n [activeItemPath]=\"activeItemPath()\"\n (itemClick)=\"onItemClick($event)\"\n (mousedown)=\"onMenuMouseDown($event)\"\n (focus)=\"onMenuFocus($event)\"\n (blur)=\"onMenuBlur($event)\"\n (keydown)=\"onKeyDown($event)\"\n (itemMouseEnter)=\"onItemMouseEnter($event)\"\n (mouseleave)=\"onMouseLeave($event)\"\n [pt]=\"pt()\"\n [hBind]=\"ptm('rootList')\"\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} @else {\n <div [class]=\"cx('end')\">\n <ng-content></ng-content>\n </div>\n}\n",
1803
+ dependencies: [
1804
+ {
1805
+ kind: "ngmodule",
1806
+ type: CommonModule
1807
+ },
1808
+ {
1809
+ kind: "directive",
1810
+ type: i1.NgTemplateOutlet,
1811
+ selector: "[ngTemplateOutlet]",
1812
+ inputs: [
1813
+ "ngTemplateOutletContext",
1814
+ "ngTemplateOutlet",
1815
+ "ngTemplateOutletInjector"
1816
+ ]
1817
+ },
1818
+ {
1819
+ kind: "ngmodule",
1820
+ type: RouterModule
1821
+ },
1822
+ {
1823
+ kind: "component",
1824
+ type: MenubarSub,
1825
+ selector: "h-menubarSub, h-menubarsub, [hMenubarSub]",
1826
+ inputs: [
1827
+ "items",
1828
+ "itemTemplate",
1829
+ "root",
1830
+ "autoZIndex",
1831
+ "baseZIndex",
1832
+ "mobileActive",
1833
+ "autoDisplay",
1834
+ "menuId",
1835
+ "ariaLabel",
1836
+ "ariaLabelledBy",
1837
+ "level",
1838
+ "focusedItemId",
1839
+ "activeItemPath",
1840
+ "inlineStyles",
1841
+ "submenuiconTemplate"
1842
+ ],
1843
+ outputs: [
1844
+ "itemClick",
1845
+ "itemMouseEnter",
1846
+ "menuFocus",
1847
+ "menuBlur",
1848
+ "menuKeydown"
1849
+ ]
1850
+ },
1851
+ {
1852
+ kind: "ngmodule",
1853
+ type: TooltipModule
1854
+ },
1855
+ {
1856
+ kind: "directive",
1857
+ type: i4.Bind,
1858
+ selector: "[hBind]",
1859
+ inputs: ["hBind"]
1860
+ },
1861
+ {
1862
+ kind: "component",
1863
+ type: BarsIcon,
1864
+ selector: "[data-h-icon=\"bars\"]"
1865
+ },
1866
+ {
1867
+ kind: "ngmodule",
1868
+ type: BadgeModule
1869
+ },
1870
+ {
1871
+ kind: "ngmodule",
1872
+ type: SharedModule
1873
+ },
1874
+ {
1875
+ kind: "ngmodule",
1876
+ type: BindModule
1877
+ }
1878
+ ],
1879
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1880
+ encapsulation: i0.ViewEncapsulation.None
1881
+ });
1882
+ };
1883
+ i0.ɵɵngDeclareClassMetadata({
1884
+ minVersion: "12.0.0",
1885
+ version: "22.2.1",
1886
+ ngImport: i0,
1887
+ type: Menubar,
1888
+ decorators: [{
1889
+ type: Component,
1890
+ args: [{
1891
+ selector: "h-menubar",
1892
+ standalone: true,
1893
+ imports: [
1894
+ CommonModule,
1895
+ RouterModule,
1896
+ MenubarSub,
1897
+ TooltipModule,
1898
+ BarsIcon,
1899
+ BadgeModule,
1900
+ SharedModule,
1901
+ BindModule
1902
+ ],
1903
+ changeDetection: ChangeDetectionStrategy.OnPush,
1904
+ encapsulation: ViewEncapsulation.None,
1905
+ providers: [
1906
+ MenubarService,
1907
+ MenuBarStyle,
1908
+ {
1909
+ provide: MENUBAR_INSTANCE,
1910
+ useExisting: Menubar
1911
+ },
1912
+ {
1913
+ provide: PARENT_INSTANCE,
1914
+ useExisting: Menubar
1915
+ }
1916
+ ],
1917
+ host: { "[class]": "cn(cx(\"root\"), styleClass())" },
1918
+ hostDirectives: [Bind],
1919
+ 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 (model() && model()!.length > 0) {\n <a\n #menubutton\n tabindex=\"0\"\n role=\"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 [class]=\"cx('button')\"\n [hBind]=\"ptm('button')\"\n (click)=\"menuButtonClick($event)\"\n (keydown)=\"menuButtonKeydown($event)\"\n >\n @if (!menuIconTemplate() && !_menuIconTemplate) {\n <svg data-h-icon=\"bars\" [hBind]=\"ptm('buttonIcon')\" />\n }\n <ng-template *ngTemplateOutlet=\"menuIconTemplate() || _menuIconTemplate\"></ng-template>\n </a>\n}\n<ul\n hMenubarSub\n #rootmenu\n [items]=\"processedItems\"\n [itemTemplate]=\"itemTemplate()\"\n tabindex=\"0\"\n [menuId]=\"$id()\"\n [root]=\"true\"\n [baseZIndex]=\"baseZIndex()\"\n [autoZIndex]=\"autoZIndex()\"\n [mobileActive]=\"mobileActive\"\n [autoDisplay]=\"autoDisplay()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [focusedItemId]=\"focused ? focusedItemId : undefined\"\n [submenuiconTemplate]=\"submenuIconTemplate() || _submenuIconTemplate\"\n [activeItemPath]=\"activeItemPath()\"\n (itemClick)=\"onItemClick($event)\"\n (mousedown)=\"onMenuMouseDown($event)\"\n (focus)=\"onMenuFocus($event)\"\n (blur)=\"onMenuBlur($event)\"\n (keydown)=\"onKeyDown($event)\"\n (itemMouseEnter)=\"onItemMouseEnter($event)\"\n (mouseleave)=\"onMouseLeave($event)\"\n [pt]=\"pt()\"\n [hBind]=\"ptm('rootList')\"\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} @else {\n <div [class]=\"cx('end')\">\n <ng-content></ng-content>\n </div>\n}\n"
1920
+ }]
1921
+ }],
1922
+ ctorParameters: () => [
1923
+ {
1924
+ type: Document,
1925
+ decorators: [{
1926
+ type: Inject,
1927
+ args: [DOCUMENT]
1928
+ }]
1929
+ },
1930
+ {
1931
+ type: void 0,
1932
+ decorators: [{
1933
+ type: Inject,
1934
+ args: [PLATFORM_ID]
1935
+ }]
1936
+ },
1937
+ { type: i0.ElementRef },
1938
+ { type: i0.Renderer2 },
1939
+ { type: i0.ChangeDetectorRef },
1940
+ { type: MenubarService }
1941
+ ],
1942
+ propDecorators: {
1943
+ model: [{
1944
+ type: i0.Input,
1945
+ args: [{
1946
+ isSignal: true,
1947
+ alias: "model",
1948
+ required: false
1949
+ }]
1950
+ }],
1951
+ styleClass: [{
1952
+ type: i0.Input,
1953
+ args: [{
1954
+ isSignal: true,
1955
+ alias: "styleClass",
1956
+ required: false
1957
+ }]
1958
+ }],
1959
+ autoZIndex: [{
1960
+ type: i0.Input,
1961
+ args: [{
1962
+ isSignal: true,
1963
+ alias: "autoZIndex",
1964
+ required: false
1965
+ }]
1966
+ }],
1967
+ baseZIndex: [{
1968
+ type: i0.Input,
1969
+ args: [{
1970
+ isSignal: true,
1971
+ alias: "baseZIndex",
1972
+ required: false
1973
+ }]
1974
+ }],
1975
+ autoDisplay: [{
1976
+ type: i0.Input,
1977
+ args: [{
1978
+ isSignal: true,
1979
+ alias: "autoDisplay",
1980
+ required: false
1981
+ }]
1982
+ }],
1983
+ autoHide: [{
1984
+ type: i0.Input,
1985
+ args: [{
1986
+ isSignal: true,
1987
+ alias: "autoHide",
1988
+ required: false
1989
+ }]
1990
+ }],
1991
+ breakpoint: [{
1992
+ type: i0.Input,
1993
+ args: [{
1994
+ isSignal: true,
1995
+ alias: "breakpoint",
1996
+ required: false
1997
+ }]
1998
+ }],
1999
+ autoHideDelay: [{
2000
+ type: i0.Input,
2001
+ args: [{
2002
+ isSignal: true,
2003
+ alias: "autoHideDelay",
2004
+ required: false
2005
+ }]
2006
+ }],
2007
+ id: [{
2008
+ type: i0.Input,
2009
+ args: [{
2010
+ isSignal: true,
2011
+ alias: "id",
2012
+ required: false
2013
+ }]
2014
+ }],
2015
+ ariaLabel: [{
2016
+ type: i0.Input,
2017
+ args: [{
2018
+ isSignal: true,
2019
+ alias: "ariaLabel",
2020
+ required: false
2021
+ }]
2022
+ }],
2023
+ ariaLabelledBy: [{
2024
+ type: i0.Input,
2025
+ args: [{
2026
+ isSignal: true,
2027
+ alias: "ariaLabelledBy",
2028
+ required: false
2029
+ }]
2030
+ }],
2031
+ onFocus: [{
2032
+ type: i0.Output,
2033
+ args: ["onFocus"]
2034
+ }],
2035
+ onBlur: [{
2036
+ type: i0.Output,
2037
+ args: ["onBlur"]
2038
+ }],
2039
+ menubutton: [{
2040
+ type: i0.ViewChild,
2041
+ args: ["menubutton", { isSignal: true }]
2042
+ }],
2043
+ rootmenu: [{
2044
+ type: i0.ViewChild,
2045
+ args: ["rootmenu", { isSignal: true }]
2046
+ }],
2047
+ startTemplate: [{
2048
+ type: i0.ContentChild,
2049
+ args: ["start", {
2050
+ descendants: false,
2051
+ isSignal: true
2052
+ }]
2053
+ }],
2054
+ endTemplate: [{
2055
+ type: i0.ContentChild,
2056
+ args: ["end", {
2057
+ descendants: false,
2058
+ isSignal: true
2059
+ }]
2060
+ }],
2061
+ itemTemplate: [{
2062
+ type: i0.ContentChild,
2063
+ args: ["item", {
2064
+ descendants: false,
2065
+ isSignal: true
2066
+ }]
2067
+ }],
2068
+ menuIconTemplate: [{
2069
+ type: i0.ContentChild,
2070
+ args: ["menuicon", {
2071
+ descendants: false,
2072
+ isSignal: true
2073
+ }]
2074
+ }],
2075
+ submenuIconTemplate: [{
2076
+ type: i0.ContentChild,
2077
+ args: ["submenuicon", {
2078
+ descendants: false,
2079
+ isSignal: true
2080
+ }]
2081
+ }],
2082
+ templates: [{
2083
+ type: i0.ContentChildren,
2084
+ args: [i0.forwardRef(() => HelixTemplate), { isSignal: true }]
2085
+ }]
2086
+ }
2087
+ });
2088
+ var MenubarModule = class MenubarModule {
2089
+ static ɵfac = i0.ɵɵngDeclareFactory({
2090
+ minVersion: "12.0.0",
2091
+ version: "22.2.1",
2092
+ ngImport: i0,
2093
+ type: MenubarModule,
2094
+ deps: [],
2095
+ target: i0.ɵɵFactoryTarget.NgModule
2096
+ });
2097
+ static ɵmod = i0.ɵɵngDeclareNgModule({
2098
+ minVersion: "14.0.0",
2099
+ version: "22.2.1",
2100
+ ngImport: i0,
2101
+ type: MenubarModule,
2102
+ imports: [Menubar, SharedModule],
2103
+ exports: [Menubar, SharedModule]
2104
+ });
2105
+ static ɵinj = i0.ɵɵngDeclareInjector({
2106
+ minVersion: "12.0.0",
2107
+ version: "22.2.1",
2108
+ ngImport: i0,
2109
+ type: MenubarModule,
2110
+ imports: [
2111
+ Menubar,
2112
+ SharedModule,
2113
+ SharedModule
2114
+ ]
2115
+ });
2116
+ };
2117
+ i0.ɵɵngDeclareClassMetadata({
2118
+ minVersion: "12.0.0",
2119
+ version: "22.2.1",
2120
+ ngImport: i0,
2121
+ type: MenubarModule,
2122
+ decorators: [{
2123
+ type: NgModule,
2124
+ args: [{
2125
+ imports: [Menubar, SharedModule],
2126
+ exports: [Menubar, SharedModule]
2127
+ }]
2128
+ }]
2129
+ });
1258
2130
  export { MenuBarStyle, Menubar, MenubarClasses, MenubarModule, MenubarService, MenubarSub };
1259
- //# sourceMappingURL=gravionlabs-helix-core-menubar.mjs.map
2131
+
2132
+ //# sourceMappingURL=gravionlabs-helix-core-menubar.mjs.map