@gravionlabs/helix-core 22.1.2 → 22.1.4

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