@gravionlabs/helix-core 22.1.1 → 22.1.3

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