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