@anguless/angulux 22.0.0-rc.0

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 (633) hide show
  1. package/LICENSE +22 -0
  2. package/NOTICE +40 -0
  3. package/fesm2022/anguless-angulux-api.mjs +843 -0
  4. package/fesm2022/anguless-angulux-api.mjs.map +1 -0
  5. package/fesm2022/anguless-angulux-autofocus.mjs +83 -0
  6. package/fesm2022/anguless-angulux-autofocus.mjs.map +1 -0
  7. package/fesm2022/anguless-angulux-avatar.mjs +212 -0
  8. package/fesm2022/anguless-angulux-avatar.mjs.map +1 -0
  9. package/fesm2022/anguless-angulux-avatargroup.mjs +104 -0
  10. package/fesm2022/anguless-angulux-avatargroup.mjs.map +1 -0
  11. package/fesm2022/anguless-angulux-badge.mjs +423 -0
  12. package/fesm2022/anguless-angulux-badge.mjs.map +1 -0
  13. package/fesm2022/anguless-angulux-base.mjs +124 -0
  14. package/fesm2022/anguless-angulux-base.mjs.map +1 -0
  15. package/fesm2022/anguless-angulux-basecomponent.mjs +443 -0
  16. package/fesm2022/anguless-angulux-basecomponent.mjs.map +1 -0
  17. package/fesm2022/anguless-angulux-baseeditableholder.mjs +70 -0
  18. package/fesm2022/anguless-angulux-baseeditableholder.mjs.map +1 -0
  19. package/fesm2022/anguless-angulux-baseinput.mjs +95 -0
  20. package/fesm2022/anguless-angulux-baseinput.mjs.map +1 -0
  21. package/fesm2022/anguless-angulux-basemodelholder.mjs +27 -0
  22. package/fesm2022/anguless-angulux-basemodelholder.mjs.map +1 -0
  23. package/fesm2022/anguless-angulux-bind.mjs +99 -0
  24. package/fesm2022/anguless-angulux-bind.mjs.map +1 -0
  25. package/fesm2022/anguless-angulux-button.mjs +1039 -0
  26. package/fesm2022/anguless-angulux-button.mjs.map +1 -0
  27. package/fesm2022/anguless-angulux-card.mjs +311 -0
  28. package/fesm2022/anguless-angulux-card.mjs.map +1 -0
  29. package/fesm2022/anguless-angulux-chart.mjs +268 -0
  30. package/fesm2022/anguless-angulux-chart.mjs.map +1 -0
  31. package/fesm2022/anguless-angulux-checkbox.mjs +469 -0
  32. package/fesm2022/anguless-angulux-checkbox.mjs.map +1 -0
  33. package/fesm2022/anguless-angulux-chip.mjs +376 -0
  34. package/fesm2022/anguless-angulux-chip.mjs.map +1 -0
  35. package/fesm2022/anguless-angulux-colorpicker.mjs +807 -0
  36. package/fesm2022/anguless-angulux-colorpicker.mjs.map +1 -0
  37. package/fesm2022/anguless-angulux-config.mjs +309 -0
  38. package/fesm2022/anguless-angulux-config.mjs.map +1 -0
  39. package/fesm2022/anguless-angulux-confirmdialog.mjs +858 -0
  40. package/fesm2022/anguless-angulux-confirmdialog.mjs.map +1 -0
  41. package/fesm2022/anguless-angulux-datepicker.mjs +4441 -0
  42. package/fesm2022/anguless-angulux-datepicker.mjs.map +1 -0
  43. package/fesm2022/anguless-angulux-dialog.mjs +1420 -0
  44. package/fesm2022/anguless-angulux-dialog.mjs.map +1 -0
  45. package/fesm2022/anguless-angulux-divider.mjs +160 -0
  46. package/fesm2022/anguless-angulux-divider.mjs.map +1 -0
  47. package/fesm2022/anguless-angulux-dom.mjs +778 -0
  48. package/fesm2022/anguless-angulux-dom.mjs.map +1 -0
  49. package/fesm2022/anguless-angulux-drawer.mjs +782 -0
  50. package/fesm2022/anguless-angulux-drawer.mjs.map +1 -0
  51. package/fesm2022/anguless-angulux-fileupload.mjs +1580 -0
  52. package/fesm2022/anguless-angulux-fileupload.mjs.map +1 -0
  53. package/fesm2022/anguless-angulux-fluid.mjs +87 -0
  54. package/fesm2022/anguless-angulux-fluid.mjs.map +1 -0
  55. package/fesm2022/anguless-angulux-focustrap.mjs +108 -0
  56. package/fesm2022/anguless-angulux-focustrap.mjs.map +1 -0
  57. package/fesm2022/anguless-angulux-iconfield.mjs +112 -0
  58. package/fesm2022/anguless-angulux-iconfield.mjs.map +1 -0
  59. package/fesm2022/anguless-angulux-icons-angledoubledown.mjs +38 -0
  60. package/fesm2022/anguless-angulux-icons-angledoubledown.mjs.map +1 -0
  61. package/fesm2022/anguless-angulux-icons-angledoubleleft.mjs +38 -0
  62. package/fesm2022/anguless-angulux-icons-angledoubleleft.mjs.map +1 -0
  63. package/fesm2022/anguless-angulux-icons-angledoubleright.mjs +38 -0
  64. package/fesm2022/anguless-angulux-icons-angledoubleright.mjs.map +1 -0
  65. package/fesm2022/anguless-angulux-icons-angledoubleup.mjs +38 -0
  66. package/fesm2022/anguless-angulux-icons-angledoubleup.mjs.map +1 -0
  67. package/fesm2022/anguless-angulux-icons-angledown.mjs +34 -0
  68. package/fesm2022/anguless-angulux-icons-angledown.mjs.map +1 -0
  69. package/fesm2022/anguless-angulux-icons-angleleft.mjs +34 -0
  70. package/fesm2022/anguless-angulux-icons-angleleft.mjs.map +1 -0
  71. package/fesm2022/anguless-angulux-icons-angleright.mjs +34 -0
  72. package/fesm2022/anguless-angulux-icons-angleright.mjs.map +1 -0
  73. package/fesm2022/anguless-angulux-icons-angleup.mjs +34 -0
  74. package/fesm2022/anguless-angulux-icons-angleup.mjs.map +1 -0
  75. package/fesm2022/anguless-angulux-icons-arrowdown.mjs +57 -0
  76. package/fesm2022/anguless-angulux-icons-arrowdown.mjs.map +1 -0
  77. package/fesm2022/anguless-angulux-icons-arrowdownleft.mjs +34 -0
  78. package/fesm2022/anguless-angulux-icons-arrowdownleft.mjs.map +1 -0
  79. package/fesm2022/anguless-angulux-icons-arrowdownright.mjs +34 -0
  80. package/fesm2022/anguless-angulux-icons-arrowdownright.mjs.map +1 -0
  81. package/fesm2022/anguless-angulux-icons-arrowleft.mjs +57 -0
  82. package/fesm2022/anguless-angulux-icons-arrowleft.mjs.map +1 -0
  83. package/fesm2022/anguless-angulux-icons-arrowright.mjs +38 -0
  84. package/fesm2022/anguless-angulux-icons-arrowright.mjs.map +1 -0
  85. package/fesm2022/anguless-angulux-icons-arrowup.mjs +57 -0
  86. package/fesm2022/anguless-angulux-icons-arrowup.mjs.map +1 -0
  87. package/fesm2022/anguless-angulux-icons-ban.mjs +53 -0
  88. package/fesm2022/anguless-angulux-icons-ban.mjs.map +1 -0
  89. package/fesm2022/anguless-angulux-icons-bars.mjs +38 -0
  90. package/fesm2022/anguless-angulux-icons-bars.mjs.map +1 -0
  91. package/fesm2022/anguless-angulux-icons-baseicon.mjs +101 -0
  92. package/fesm2022/anguless-angulux-icons-baseicon.mjs.map +1 -0
  93. package/fesm2022/anguless-angulux-icons-blank.mjs +24 -0
  94. package/fesm2022/anguless-angulux-icons-blank.mjs.map +1 -0
  95. package/fesm2022/anguless-angulux-icons-calendar.mjs +34 -0
  96. package/fesm2022/anguless-angulux-icons-calendar.mjs.map +1 -0
  97. package/fesm2022/anguless-angulux-icons-caretleft.mjs +34 -0
  98. package/fesm2022/anguless-angulux-icons-caretleft.mjs.map +1 -0
  99. package/fesm2022/anguless-angulux-icons-caretright.mjs +34 -0
  100. package/fesm2022/anguless-angulux-icons-caretright.mjs.map +1 -0
  101. package/fesm2022/anguless-angulux-icons-check.mjs +34 -0
  102. package/fesm2022/anguless-angulux-icons-check.mjs.map +1 -0
  103. package/fesm2022/anguless-angulux-icons-chevrondown.mjs +34 -0
  104. package/fesm2022/anguless-angulux-icons-chevrondown.mjs.map +1 -0
  105. package/fesm2022/anguless-angulux-icons-chevronleft.mjs +34 -0
  106. package/fesm2022/anguless-angulux-icons-chevronleft.mjs.map +1 -0
  107. package/fesm2022/anguless-angulux-icons-chevronright.mjs +34 -0
  108. package/fesm2022/anguless-angulux-icons-chevronright.mjs.map +1 -0
  109. package/fesm2022/anguless-angulux-icons-chevronup.mjs +34 -0
  110. package/fesm2022/anguless-angulux-icons-chevronup.mjs.map +1 -0
  111. package/fesm2022/anguless-angulux-icons-exclamationtriangle.mjs +69 -0
  112. package/fesm2022/anguless-angulux-icons-exclamationtriangle.mjs.map +1 -0
  113. package/fesm2022/anguless-angulux-icons-eye.mjs +38 -0
  114. package/fesm2022/anguless-angulux-icons-eye.mjs.map +1 -0
  115. package/fesm2022/anguless-angulux-icons-eyeslash.mjs +57 -0
  116. package/fesm2022/anguless-angulux-icons-eyeslash.mjs.map +1 -0
  117. package/fesm2022/anguless-angulux-icons-filter.mjs +53 -0
  118. package/fesm2022/anguless-angulux-icons-filter.mjs.map +1 -0
  119. package/fesm2022/anguless-angulux-icons-filterfill.mjs +34 -0
  120. package/fesm2022/anguless-angulux-icons-filterfill.mjs.map +1 -0
  121. package/fesm2022/anguless-angulux-icons-filterslash.mjs +57 -0
  122. package/fesm2022/anguless-angulux-icons-filterslash.mjs.map +1 -0
  123. package/fesm2022/anguless-angulux-icons-home.mjs +57 -0
  124. package/fesm2022/anguless-angulux-icons-home.mjs.map +1 -0
  125. package/fesm2022/anguless-angulux-icons-infocircle.mjs +57 -0
  126. package/fesm2022/anguless-angulux-icons-infocircle.mjs.map +1 -0
  127. package/fesm2022/anguless-angulux-icons-minus.mjs +34 -0
  128. package/fesm2022/anguless-angulux-icons-minus.mjs.map +1 -0
  129. package/fesm2022/anguless-angulux-icons-pencil.mjs +53 -0
  130. package/fesm2022/anguless-angulux-icons-pencil.mjs.map +1 -0
  131. package/fesm2022/anguless-angulux-icons-plus.mjs +53 -0
  132. package/fesm2022/anguless-angulux-icons-plus.mjs.map +1 -0
  133. package/fesm2022/anguless-angulux-icons-refresh.mjs +57 -0
  134. package/fesm2022/anguless-angulux-icons-refresh.mjs.map +1 -0
  135. package/fesm2022/anguless-angulux-icons-search.mjs +57 -0
  136. package/fesm2022/anguless-angulux-icons-search.mjs.map +1 -0
  137. package/fesm2022/anguless-angulux-icons-searchminus.mjs +57 -0
  138. package/fesm2022/anguless-angulux-icons-searchminus.mjs.map +1 -0
  139. package/fesm2022/anguless-angulux-icons-searchplus.mjs +57 -0
  140. package/fesm2022/anguless-angulux-icons-searchplus.mjs.map +1 -0
  141. package/fesm2022/anguless-angulux-icons-sortalt.mjs +65 -0
  142. package/fesm2022/anguless-angulux-icons-sortalt.mjs.map +1 -0
  143. package/fesm2022/anguless-angulux-icons-sortamountdown.mjs +53 -0
  144. package/fesm2022/anguless-angulux-icons-sortamountdown.mjs.map +1 -0
  145. package/fesm2022/anguless-angulux-icons-sortamountupalt.mjs +53 -0
  146. package/fesm2022/anguless-angulux-icons-sortamountupalt.mjs.map +1 -0
  147. package/fesm2022/anguless-angulux-icons-spinner.mjs +53 -0
  148. package/fesm2022/anguless-angulux-icons-spinner.mjs.map +1 -0
  149. package/fesm2022/anguless-angulux-icons-star.mjs +53 -0
  150. package/fesm2022/anguless-angulux-icons-star.mjs.map +1 -0
  151. package/fesm2022/anguless-angulux-icons-starfill.mjs +53 -0
  152. package/fesm2022/anguless-angulux-icons-starfill.mjs.map +1 -0
  153. package/fesm2022/anguless-angulux-icons-thlarge.mjs +57 -0
  154. package/fesm2022/anguless-angulux-icons-thlarge.mjs.map +1 -0
  155. package/fesm2022/anguless-angulux-icons-times.mjs +34 -0
  156. package/fesm2022/anguless-angulux-icons-times.mjs.map +1 -0
  157. package/fesm2022/anguless-angulux-icons-timescircle.mjs +57 -0
  158. package/fesm2022/anguless-angulux-icons-timescircle.mjs.map +1 -0
  159. package/fesm2022/anguless-angulux-icons-trash.mjs +57 -0
  160. package/fesm2022/anguless-angulux-icons-trash.mjs.map +1 -0
  161. package/fesm2022/anguless-angulux-icons-undo.mjs +57 -0
  162. package/fesm2022/anguless-angulux-icons-undo.mjs.map +1 -0
  163. package/fesm2022/anguless-angulux-icons-upload.mjs +57 -0
  164. package/fesm2022/anguless-angulux-icons-upload.mjs.map +1 -0
  165. package/fesm2022/anguless-angulux-icons-windowmaximize.mjs +57 -0
  166. package/fesm2022/anguless-angulux-icons-windowmaximize.mjs.map +1 -0
  167. package/fesm2022/anguless-angulux-icons-windowminimize.mjs +57 -0
  168. package/fesm2022/anguless-angulux-icons-windowminimize.mjs.map +1 -0
  169. package/fesm2022/anguless-angulux-icons.mjs +63 -0
  170. package/fesm2022/anguless-angulux-icons.mjs.map +1 -0
  171. package/fesm2022/anguless-angulux-inputicon.mjs +84 -0
  172. package/fesm2022/anguless-angulux-inputicon.mjs.map +1 -0
  173. package/fesm2022/anguless-angulux-inputnumber.mjs +1673 -0
  174. package/fesm2022/anguless-angulux-inputnumber.mjs.map +1 -0
  175. package/fesm2022/anguless-angulux-inputtext.mjs +199 -0
  176. package/fesm2022/anguless-angulux-inputtext.mjs.map +1 -0
  177. package/fesm2022/anguless-angulux-menu.mjs +1160 -0
  178. package/fesm2022/anguless-angulux-menu.mjs.map +1 -0
  179. package/fesm2022/anguless-angulux-message.mjs +409 -0
  180. package/fesm2022/anguless-angulux-message.mjs.map +1 -0
  181. package/fesm2022/anguless-angulux-motion.mjs +721 -0
  182. package/fesm2022/anguless-angulux-motion.mjs.map +1 -0
  183. package/fesm2022/anguless-angulux-multiselect.mjs +2712 -0
  184. package/fesm2022/anguless-angulux-multiselect.mjs.map +1 -0
  185. package/fesm2022/anguless-angulux-overlay.mjs +886 -0
  186. package/fesm2022/anguless-angulux-overlay.mjs.map +1 -0
  187. package/fesm2022/anguless-angulux-paginator.mjs +823 -0
  188. package/fesm2022/anguless-angulux-paginator.mjs.map +1 -0
  189. package/fesm2022/anguless-angulux-password.mjs +1181 -0
  190. package/fesm2022/anguless-angulux-password.mjs.map +1 -0
  191. package/fesm2022/anguless-angulux-popover.mjs +532 -0
  192. package/fesm2022/anguless-angulux-popover.mjs.map +1 -0
  193. package/fesm2022/anguless-angulux-progressbar.mjs +214 -0
  194. package/fesm2022/anguless-angulux-progressbar.mjs.map +1 -0
  195. package/fesm2022/anguless-angulux-progressspinner.mjs +146 -0
  196. package/fesm2022/anguless-angulux-progressspinner.mjs.map +1 -0
  197. package/fesm2022/anguless-angulux-radiobutton.mjs +381 -0
  198. package/fesm2022/anguless-angulux-radiobutton.mjs.map +1 -0
  199. package/fesm2022/anguless-angulux-ripple.mjs +194 -0
  200. package/fesm2022/anguless-angulux-ripple.mjs.map +1 -0
  201. package/fesm2022/anguless-angulux-scroller.mjs +1325 -0
  202. package/fesm2022/anguless-angulux-scroller.mjs.map +1 -0
  203. package/fesm2022/anguless-angulux-select.mjs +2408 -0
  204. package/fesm2022/anguless-angulux-select.mjs.map +1 -0
  205. package/fesm2022/anguless-angulux-selectbutton.mjs +434 -0
  206. package/fesm2022/anguless-angulux-selectbutton.mjs.map +1 -0
  207. package/fesm2022/anguless-angulux-skeleton.mjs +168 -0
  208. package/fesm2022/anguless-angulux-skeleton.mjs.map +1 -0
  209. package/fesm2022/anguless-angulux-splitbutton.mjs +643 -0
  210. package/fesm2022/anguless-angulux-splitbutton.mjs.map +1 -0
  211. package/fesm2022/anguless-angulux-table.mjs +7815 -0
  212. package/fesm2022/anguless-angulux-table.mjs.map +1 -0
  213. package/fesm2022/anguless-angulux-tabs.mjs +921 -0
  214. package/fesm2022/anguless-angulux-tabs.mjs.map +1 -0
  215. package/fesm2022/anguless-angulux-tag.mjs +196 -0
  216. package/fesm2022/anguless-angulux-tag.mjs.map +1 -0
  217. package/fesm2022/anguless-angulux-textarea.mjs +227 -0
  218. package/fesm2022/anguless-angulux-textarea.mjs.map +1 -0
  219. package/fesm2022/anguless-angulux-tieredmenu.mjs +1635 -0
  220. package/fesm2022/anguless-angulux-tieredmenu.mjs.map +1 -0
  221. package/fesm2022/anguless-angulux-timeline.mjs +248 -0
  222. package/fesm2022/anguless-angulux-timeline.mjs.map +1 -0
  223. package/fesm2022/anguless-angulux-toast.mjs +788 -0
  224. package/fesm2022/anguless-angulux-toast.mjs.map +1 -0
  225. package/fesm2022/anguless-angulux-togglebutton.mjs +391 -0
  226. package/fesm2022/anguless-angulux-togglebutton.mjs.map +1 -0
  227. package/fesm2022/anguless-angulux-toggleswitch.mjs +345 -0
  228. package/fesm2022/anguless-angulux-toggleswitch.mjs.map +1 -0
  229. package/fesm2022/anguless-angulux-tooltip.mjs +845 -0
  230. package/fesm2022/anguless-angulux-tooltip.mjs.map +1 -0
  231. package/fesm2022/anguless-angulux-treetable.mjs +5167 -0
  232. package/fesm2022/anguless-angulux-treetable.mjs.map +1 -0
  233. package/fesm2022/anguless-angulux-ts-helpers.mjs +4 -0
  234. package/fesm2022/anguless-angulux-ts-helpers.mjs.map +1 -0
  235. package/fesm2022/anguless-angulux-types-accordion.mjs +4 -0
  236. package/fesm2022/anguless-angulux-types-accordion.mjs.map +1 -0
  237. package/fesm2022/anguless-angulux-types-autocomplete.mjs +4 -0
  238. package/fesm2022/anguless-angulux-types-autocomplete.mjs.map +1 -0
  239. package/fesm2022/anguless-angulux-types-avatar.mjs +4 -0
  240. package/fesm2022/anguless-angulux-types-avatar.mjs.map +1 -0
  241. package/fesm2022/anguless-angulux-types-avatargroup.mjs +4 -0
  242. package/fesm2022/anguless-angulux-types-avatargroup.mjs.map +1 -0
  243. package/fesm2022/anguless-angulux-types-badge.mjs +4 -0
  244. package/fesm2022/anguless-angulux-types-badge.mjs.map +1 -0
  245. package/fesm2022/anguless-angulux-types-blockui.mjs +4 -0
  246. package/fesm2022/anguless-angulux-types-blockui.mjs.map +1 -0
  247. package/fesm2022/anguless-angulux-types-breadcrumb.mjs +4 -0
  248. package/fesm2022/anguless-angulux-types-breadcrumb.mjs.map +1 -0
  249. package/fesm2022/anguless-angulux-types-button.mjs +4 -0
  250. package/fesm2022/anguless-angulux-types-button.mjs.map +1 -0
  251. package/fesm2022/anguless-angulux-types-card.mjs +4 -0
  252. package/fesm2022/anguless-angulux-types-card.mjs.map +1 -0
  253. package/fesm2022/anguless-angulux-types-carousel.mjs +4 -0
  254. package/fesm2022/anguless-angulux-types-carousel.mjs.map +1 -0
  255. package/fesm2022/anguless-angulux-types-cascadeselect.mjs +4 -0
  256. package/fesm2022/anguless-angulux-types-cascadeselect.mjs.map +1 -0
  257. package/fesm2022/anguless-angulux-types-chart.mjs +4 -0
  258. package/fesm2022/anguless-angulux-types-chart.mjs.map +1 -0
  259. package/fesm2022/anguless-angulux-types-checkbox.mjs +4 -0
  260. package/fesm2022/anguless-angulux-types-checkbox.mjs.map +1 -0
  261. package/fesm2022/anguless-angulux-types-chip.mjs +4 -0
  262. package/fesm2022/anguless-angulux-types-chip.mjs.map +1 -0
  263. package/fesm2022/anguless-angulux-types-colorpicker.mjs +4 -0
  264. package/fesm2022/anguless-angulux-types-colorpicker.mjs.map +1 -0
  265. package/fesm2022/anguless-angulux-types-confirmdialog.mjs +4 -0
  266. package/fesm2022/anguless-angulux-types-confirmdialog.mjs.map +1 -0
  267. package/fesm2022/anguless-angulux-types-confirmpopup.mjs +4 -0
  268. package/fesm2022/anguless-angulux-types-confirmpopup.mjs.map +1 -0
  269. package/fesm2022/anguless-angulux-types-contextmenu.mjs +4 -0
  270. package/fesm2022/anguless-angulux-types-contextmenu.mjs.map +1 -0
  271. package/fesm2022/anguless-angulux-types-dataview.mjs +4 -0
  272. package/fesm2022/anguless-angulux-types-dataview.mjs.map +1 -0
  273. package/fesm2022/anguless-angulux-types-datepicker.mjs +4 -0
  274. package/fesm2022/anguless-angulux-types-datepicker.mjs.map +1 -0
  275. package/fesm2022/anguless-angulux-types-dialog.mjs +4 -0
  276. package/fesm2022/anguless-angulux-types-dialog.mjs.map +1 -0
  277. package/fesm2022/anguless-angulux-types-divider.mjs +4 -0
  278. package/fesm2022/anguless-angulux-types-divider.mjs.map +1 -0
  279. package/fesm2022/anguless-angulux-types-dock.mjs +4 -0
  280. package/fesm2022/anguless-angulux-types-dock.mjs.map +1 -0
  281. package/fesm2022/anguless-angulux-types-drawer.mjs +4 -0
  282. package/fesm2022/anguless-angulux-types-drawer.mjs.map +1 -0
  283. package/fesm2022/anguless-angulux-types-editor.mjs +4 -0
  284. package/fesm2022/anguless-angulux-types-editor.mjs.map +1 -0
  285. package/fesm2022/anguless-angulux-types-fieldset.mjs +4 -0
  286. package/fesm2022/anguless-angulux-types-fieldset.mjs.map +1 -0
  287. package/fesm2022/anguless-angulux-types-fileupload.mjs +4 -0
  288. package/fesm2022/anguless-angulux-types-fileupload.mjs.map +1 -0
  289. package/fesm2022/anguless-angulux-types-floatlabel.mjs +4 -0
  290. package/fesm2022/anguless-angulux-types-floatlabel.mjs.map +1 -0
  291. package/fesm2022/anguless-angulux-types-fluid.mjs +4 -0
  292. package/fesm2022/anguless-angulux-types-fluid.mjs.map +1 -0
  293. package/fesm2022/anguless-angulux-types-galleria.mjs +4 -0
  294. package/fesm2022/anguless-angulux-types-galleria.mjs.map +1 -0
  295. package/fesm2022/anguless-angulux-types-iconfield.mjs +4 -0
  296. package/fesm2022/anguless-angulux-types-iconfield.mjs.map +1 -0
  297. package/fesm2022/anguless-angulux-types-iftalabel.mjs +4 -0
  298. package/fesm2022/anguless-angulux-types-iftalabel.mjs.map +1 -0
  299. package/fesm2022/anguless-angulux-types-image.mjs +4 -0
  300. package/fesm2022/anguless-angulux-types-image.mjs.map +1 -0
  301. package/fesm2022/anguless-angulux-types-imagecompare.mjs +4 -0
  302. package/fesm2022/anguless-angulux-types-imagecompare.mjs.map +1 -0
  303. package/fesm2022/anguless-angulux-types-inplace.mjs +4 -0
  304. package/fesm2022/anguless-angulux-types-inplace.mjs.map +1 -0
  305. package/fesm2022/anguless-angulux-types-inputgroup.mjs +4 -0
  306. package/fesm2022/anguless-angulux-types-inputgroup.mjs.map +1 -0
  307. package/fesm2022/anguless-angulux-types-inputgroupaddon.mjs +4 -0
  308. package/fesm2022/anguless-angulux-types-inputgroupaddon.mjs.map +1 -0
  309. package/fesm2022/anguless-angulux-types-inputicon.mjs +4 -0
  310. package/fesm2022/anguless-angulux-types-inputicon.mjs.map +1 -0
  311. package/fesm2022/anguless-angulux-types-inputmask.mjs +4 -0
  312. package/fesm2022/anguless-angulux-types-inputmask.mjs.map +1 -0
  313. package/fesm2022/anguless-angulux-types-inputnumber.mjs +4 -0
  314. package/fesm2022/anguless-angulux-types-inputnumber.mjs.map +1 -0
  315. package/fesm2022/anguless-angulux-types-inputotp.mjs +4 -0
  316. package/fesm2022/anguless-angulux-types-inputotp.mjs.map +1 -0
  317. package/fesm2022/anguless-angulux-types-inputtext.mjs +4 -0
  318. package/fesm2022/anguless-angulux-types-inputtext.mjs.map +1 -0
  319. package/fesm2022/anguless-angulux-types-knob.mjs +4 -0
  320. package/fesm2022/anguless-angulux-types-knob.mjs.map +1 -0
  321. package/fesm2022/anguless-angulux-types-listbox.mjs +4 -0
  322. package/fesm2022/anguless-angulux-types-listbox.mjs.map +1 -0
  323. package/fesm2022/anguless-angulux-types-megamenu.mjs +4 -0
  324. package/fesm2022/anguless-angulux-types-megamenu.mjs.map +1 -0
  325. package/fesm2022/anguless-angulux-types-menu.mjs +4 -0
  326. package/fesm2022/anguless-angulux-types-menu.mjs.map +1 -0
  327. package/fesm2022/anguless-angulux-types-menubar.mjs +4 -0
  328. package/fesm2022/anguless-angulux-types-menubar.mjs.map +1 -0
  329. package/fesm2022/anguless-angulux-types-message.mjs +4 -0
  330. package/fesm2022/anguless-angulux-types-message.mjs.map +1 -0
  331. package/fesm2022/anguless-angulux-types-metergroup.mjs +4 -0
  332. package/fesm2022/anguless-angulux-types-metergroup.mjs.map +1 -0
  333. package/fesm2022/anguless-angulux-types-motion.mjs +4 -0
  334. package/fesm2022/anguless-angulux-types-motion.mjs.map +1 -0
  335. package/fesm2022/anguless-angulux-types-multiselect.mjs +4 -0
  336. package/fesm2022/anguless-angulux-types-multiselect.mjs.map +1 -0
  337. package/fesm2022/anguless-angulux-types-orderlist.mjs +4 -0
  338. package/fesm2022/anguless-angulux-types-orderlist.mjs.map +1 -0
  339. package/fesm2022/anguless-angulux-types-organizationchart.mjs +4 -0
  340. package/fesm2022/anguless-angulux-types-organizationchart.mjs.map +1 -0
  341. package/fesm2022/anguless-angulux-types-overlay.mjs +4 -0
  342. package/fesm2022/anguless-angulux-types-overlay.mjs.map +1 -0
  343. package/fesm2022/anguless-angulux-types-overlaybadge.mjs +4 -0
  344. package/fesm2022/anguless-angulux-types-overlaybadge.mjs.map +1 -0
  345. package/fesm2022/anguless-angulux-types-paginator.mjs +4 -0
  346. package/fesm2022/anguless-angulux-types-paginator.mjs.map +1 -0
  347. package/fesm2022/anguless-angulux-types-panel.mjs +4 -0
  348. package/fesm2022/anguless-angulux-types-panel.mjs.map +1 -0
  349. package/fesm2022/anguless-angulux-types-panelmenu.mjs +4 -0
  350. package/fesm2022/anguless-angulux-types-panelmenu.mjs.map +1 -0
  351. package/fesm2022/anguless-angulux-types-password.mjs +4 -0
  352. package/fesm2022/anguless-angulux-types-password.mjs.map +1 -0
  353. package/fesm2022/anguless-angulux-types-picklist.mjs +4 -0
  354. package/fesm2022/anguless-angulux-types-picklist.mjs.map +1 -0
  355. package/fesm2022/anguless-angulux-types-popover.mjs +4 -0
  356. package/fesm2022/anguless-angulux-types-popover.mjs.map +1 -0
  357. package/fesm2022/anguless-angulux-types-progressbar.mjs +4 -0
  358. package/fesm2022/anguless-angulux-types-progressbar.mjs.map +1 -0
  359. package/fesm2022/anguless-angulux-types-progressspinner.mjs +4 -0
  360. package/fesm2022/anguless-angulux-types-progressspinner.mjs.map +1 -0
  361. package/fesm2022/anguless-angulux-types-radiobutton.mjs +4 -0
  362. package/fesm2022/anguless-angulux-types-radiobutton.mjs.map +1 -0
  363. package/fesm2022/anguless-angulux-types-rating.mjs +4 -0
  364. package/fesm2022/anguless-angulux-types-rating.mjs.map +1 -0
  365. package/fesm2022/anguless-angulux-types-scroller.mjs +4 -0
  366. package/fesm2022/anguless-angulux-types-scroller.mjs.map +1 -0
  367. package/fesm2022/anguless-angulux-types-scrollpanel.mjs +4 -0
  368. package/fesm2022/anguless-angulux-types-scrollpanel.mjs.map +1 -0
  369. package/fesm2022/anguless-angulux-types-scrolltop.mjs +4 -0
  370. package/fesm2022/anguless-angulux-types-scrolltop.mjs.map +1 -0
  371. package/fesm2022/anguless-angulux-types-select.mjs +4 -0
  372. package/fesm2022/anguless-angulux-types-select.mjs.map +1 -0
  373. package/fesm2022/anguless-angulux-types-selectbutton.mjs +4 -0
  374. package/fesm2022/anguless-angulux-types-selectbutton.mjs.map +1 -0
  375. package/fesm2022/anguless-angulux-types-skeleton.mjs +4 -0
  376. package/fesm2022/anguless-angulux-types-skeleton.mjs.map +1 -0
  377. package/fesm2022/anguless-angulux-types-slider.mjs +4 -0
  378. package/fesm2022/anguless-angulux-types-slider.mjs.map +1 -0
  379. package/fesm2022/anguless-angulux-types-speeddial.mjs +4 -0
  380. package/fesm2022/anguless-angulux-types-speeddial.mjs.map +1 -0
  381. package/fesm2022/anguless-angulux-types-splitbutton.mjs +4 -0
  382. package/fesm2022/anguless-angulux-types-splitbutton.mjs.map +1 -0
  383. package/fesm2022/anguless-angulux-types-splitter.mjs +4 -0
  384. package/fesm2022/anguless-angulux-types-splitter.mjs.map +1 -0
  385. package/fesm2022/anguless-angulux-types-stepper.mjs +4 -0
  386. package/fesm2022/anguless-angulux-types-stepper.mjs.map +1 -0
  387. package/fesm2022/anguless-angulux-types-table.mjs +4 -0
  388. package/fesm2022/anguless-angulux-types-table.mjs.map +1 -0
  389. package/fesm2022/anguless-angulux-types-tabs.mjs +4 -0
  390. package/fesm2022/anguless-angulux-types-tabs.mjs.map +1 -0
  391. package/fesm2022/anguless-angulux-types-tag.mjs +4 -0
  392. package/fesm2022/anguless-angulux-types-tag.mjs.map +1 -0
  393. package/fesm2022/anguless-angulux-types-terminal.mjs +4 -0
  394. package/fesm2022/anguless-angulux-types-terminal.mjs.map +1 -0
  395. package/fesm2022/anguless-angulux-types-textarea.mjs +4 -0
  396. package/fesm2022/anguless-angulux-types-textarea.mjs.map +1 -0
  397. package/fesm2022/anguless-angulux-types-tieredmenu.mjs +4 -0
  398. package/fesm2022/anguless-angulux-types-tieredmenu.mjs.map +1 -0
  399. package/fesm2022/anguless-angulux-types-timeline.mjs +4 -0
  400. package/fesm2022/anguless-angulux-types-timeline.mjs.map +1 -0
  401. package/fesm2022/anguless-angulux-types-toast.mjs +4 -0
  402. package/fesm2022/anguless-angulux-types-toast.mjs.map +1 -0
  403. package/fesm2022/anguless-angulux-types-togglebutton.mjs +4 -0
  404. package/fesm2022/anguless-angulux-types-togglebutton.mjs.map +1 -0
  405. package/fesm2022/anguless-angulux-types-toggleswitch.mjs +4 -0
  406. package/fesm2022/anguless-angulux-types-toggleswitch.mjs.map +1 -0
  407. package/fesm2022/anguless-angulux-types-toolbar.mjs +4 -0
  408. package/fesm2022/anguless-angulux-types-toolbar.mjs.map +1 -0
  409. package/fesm2022/anguless-angulux-types-tooltip.mjs +4 -0
  410. package/fesm2022/anguless-angulux-types-tooltip.mjs.map +1 -0
  411. package/fesm2022/anguless-angulux-types-tree.mjs +4 -0
  412. package/fesm2022/anguless-angulux-types-tree.mjs.map +1 -0
  413. package/fesm2022/anguless-angulux-types-treeselect.mjs +4 -0
  414. package/fesm2022/anguless-angulux-types-treeselect.mjs.map +1 -0
  415. package/fesm2022/anguless-angulux-types-treetable.mjs +4 -0
  416. package/fesm2022/anguless-angulux-types-treetable.mjs.map +1 -0
  417. package/fesm2022/anguless-angulux-usestyle.mjs +54 -0
  418. package/fesm2022/anguless-angulux-usestyle.mjs.map +1 -0
  419. package/fesm2022/anguless-angulux-utils.mjs +332 -0
  420. package/fesm2022/anguless-angulux-utils.mjs.map +1 -0
  421. package/fesm2022/anguless-angulux.mjs +6 -0
  422. package/fesm2022/anguless-angulux.mjs.map +1 -0
  423. package/package.json +904 -0
  424. package/types/anguless-angulux-api.d.ts +1976 -0
  425. package/types/anguless-angulux-autofocus.d.ts +31 -0
  426. package/types/anguless-angulux-avatar.d.ts +138 -0
  427. package/types/anguless-angulux-avatargroup.d.ts +64 -0
  428. package/types/anguless-angulux-badge.d.ts +182 -0
  429. package/types/anguless-angulux-base.d.ts +58 -0
  430. package/types/anguless-angulux-basecomponent.d.ts +175 -0
  431. package/types/anguless-angulux-baseeditableholder.d.ts +45 -0
  432. package/types/anguless-angulux-baseinput.d.ts +73 -0
  433. package/types/anguless-angulux-basemodelholder.d.ts +12 -0
  434. package/types/anguless-angulux-bind.d.ts +38 -0
  435. package/types/anguless-angulux-button.d.ts +489 -0
  436. package/types/anguless-angulux-card.d.ts +155 -0
  437. package/types/anguless-angulux-chart.d.ts +133 -0
  438. package/types/anguless-angulux-checkbox.d.ts +229 -0
  439. package/types/anguless-angulux-chip.d.ts +165 -0
  440. package/types/anguless-angulux-colorpicker.d.ts +315 -0
  441. package/types/anguless-angulux-config.d.ts +268 -0
  442. package/types/anguless-angulux-confirmdialog.d.ts +358 -0
  443. package/types/anguless-angulux-datepicker.d.ts +1015 -0
  444. package/types/anguless-angulux-dialog.d.ts +553 -0
  445. package/types/anguless-angulux-divider.d.ts +120 -0
  446. package/types/anguless-angulux-dom.d.ts +109 -0
  447. package/types/anguless-angulux-drawer.d.ts +301 -0
  448. package/types/anguless-angulux-fileupload.d.ts +560 -0
  449. package/types/anguless-angulux-fluid.d.ts +52 -0
  450. package/types/anguless-angulux-focustrap.d.ts +36 -0
  451. package/types/anguless-angulux-iconfield.d.ts +71 -0
  452. package/types/anguless-angulux-icons-angledoubledown.d.ts +9 -0
  453. package/types/anguless-angulux-icons-angledoubleleft.d.ts +9 -0
  454. package/types/anguless-angulux-icons-angledoubleright.d.ts +9 -0
  455. package/types/anguless-angulux-icons-angledoubleup.d.ts +9 -0
  456. package/types/anguless-angulux-icons-angledown.d.ts +9 -0
  457. package/types/anguless-angulux-icons-angleleft.d.ts +9 -0
  458. package/types/anguless-angulux-icons-angleright.d.ts +9 -0
  459. package/types/anguless-angulux-icons-angleup.d.ts +9 -0
  460. package/types/anguless-angulux-icons-arrowdown.d.ts +11 -0
  461. package/types/anguless-angulux-icons-arrowdownleft.d.ts +9 -0
  462. package/types/anguless-angulux-icons-arrowdownright.d.ts +9 -0
  463. package/types/anguless-angulux-icons-arrowleft.d.ts +11 -0
  464. package/types/anguless-angulux-icons-arrowright.d.ts +9 -0
  465. package/types/anguless-angulux-icons-arrowup.d.ts +11 -0
  466. package/types/anguless-angulux-icons-ban.d.ts +11 -0
  467. package/types/anguless-angulux-icons-bars.d.ts +9 -0
  468. package/types/anguless-angulux-icons-baseicon.d.ts +31 -0
  469. package/types/anguless-angulux-icons-blank.d.ts +9 -0
  470. package/types/anguless-angulux-icons-calendar.d.ts +9 -0
  471. package/types/anguless-angulux-icons-caretleft.d.ts +9 -0
  472. package/types/anguless-angulux-icons-caretright.d.ts +9 -0
  473. package/types/anguless-angulux-icons-check.d.ts +9 -0
  474. package/types/anguless-angulux-icons-chevrondown.d.ts +9 -0
  475. package/types/anguless-angulux-icons-chevronleft.d.ts +9 -0
  476. package/types/anguless-angulux-icons-chevronright.d.ts +9 -0
  477. package/types/anguless-angulux-icons-chevronup.d.ts +9 -0
  478. package/types/anguless-angulux-icons-exclamationtriangle.d.ts +11 -0
  479. package/types/anguless-angulux-icons-eye.d.ts +9 -0
  480. package/types/anguless-angulux-icons-eyeslash.d.ts +11 -0
  481. package/types/anguless-angulux-icons-filter.d.ts +11 -0
  482. package/types/anguless-angulux-icons-filterfill.d.ts +9 -0
  483. package/types/anguless-angulux-icons-filterslash.d.ts +11 -0
  484. package/types/anguless-angulux-icons-home.d.ts +11 -0
  485. package/types/anguless-angulux-icons-infocircle.d.ts +11 -0
  486. package/types/anguless-angulux-icons-minus.d.ts +9 -0
  487. package/types/anguless-angulux-icons-pencil.d.ts +11 -0
  488. package/types/anguless-angulux-icons-plus.d.ts +11 -0
  489. package/types/anguless-angulux-icons-refresh.d.ts +11 -0
  490. package/types/anguless-angulux-icons-search.d.ts +11 -0
  491. package/types/anguless-angulux-icons-searchminus.d.ts +11 -0
  492. package/types/anguless-angulux-icons-searchplus.d.ts +11 -0
  493. package/types/anguless-angulux-icons-sortalt.d.ts +11 -0
  494. package/types/anguless-angulux-icons-sortamountdown.d.ts +11 -0
  495. package/types/anguless-angulux-icons-sortamountupalt.d.ts +11 -0
  496. package/types/anguless-angulux-icons-spinner.d.ts +11 -0
  497. package/types/anguless-angulux-icons-star.d.ts +11 -0
  498. package/types/anguless-angulux-icons-starfill.d.ts +11 -0
  499. package/types/anguless-angulux-icons-thlarge.d.ts +11 -0
  500. package/types/anguless-angulux-icons-times.d.ts +9 -0
  501. package/types/anguless-angulux-icons-timescircle.d.ts +11 -0
  502. package/types/anguless-angulux-icons-trash.d.ts +11 -0
  503. package/types/anguless-angulux-icons-undo.d.ts +11 -0
  504. package/types/anguless-angulux-icons-upload.d.ts +11 -0
  505. package/types/anguless-angulux-icons-windowmaximize.d.ts +11 -0
  506. package/types/anguless-angulux-icons-windowminimize.d.ts +11 -0
  507. package/types/anguless-angulux-icons.d.ts +53 -0
  508. package/types/anguless-angulux-inputicon.d.ts +44 -0
  509. package/types/anguless-angulux-inputnumber.d.ts +434 -0
  510. package/types/anguless-angulux-inputtext.d.ts +115 -0
  511. package/types/anguless-angulux-menu.d.ts +362 -0
  512. package/types/anguless-angulux-message.d.ts +211 -0
  513. package/types/anguless-angulux-motion.d.ts +398 -0
  514. package/types/anguless-angulux-multiselect.d.ts +902 -0
  515. package/types/anguless-angulux-overlay.d.ts +355 -0
  516. package/types/anguless-angulux-paginator.d.ts +361 -0
  517. package/types/anguless-angulux-password.d.ts +492 -0
  518. package/types/anguless-angulux-popover.d.ts +202 -0
  519. package/types/anguless-angulux-progressbar.d.ts +122 -0
  520. package/types/anguless-angulux-progressspinner.d.ts +90 -0
  521. package/types/anguless-angulux-radiobutton.d.ts +191 -0
  522. package/types/anguless-angulux-ripple.d.ts +61 -0
  523. package/types/anguless-angulux-scroller.d.ts +450 -0
  524. package/types/anguless-angulux-select.d.ts +790 -0
  525. package/types/anguless-angulux-selectbutton.d.ts +184 -0
  526. package/types/anguless-angulux-skeleton.d.ts +102 -0
  527. package/types/anguless-angulux-splitbutton.d.ts +292 -0
  528. package/types/anguless-angulux-table.d.ts +2087 -0
  529. package/types/anguless-angulux-tabs.d.ts +358 -0
  530. package/types/anguless-angulux-tag.d.ts +113 -0
  531. package/types/anguless-angulux-textarea.d.ts +125 -0
  532. package/types/anguless-angulux-tieredmenu.d.ts +430 -0
  533. package/types/anguless-angulux-timeline.d.ts +139 -0
  534. package/types/anguless-angulux-toast.d.ts +301 -0
  535. package/types/anguless-angulux-togglebutton.d.ts +203 -0
  536. package/types/anguless-angulux-toggleswitch.d.ts +166 -0
  537. package/types/anguless-angulux-tooltip.d.ts +284 -0
  538. package/types/anguless-angulux-treetable.d.ts +1276 -0
  539. package/types/anguless-angulux-ts-helpers.d.ts +6 -0
  540. package/types/anguless-angulux-types-accordion.d.ts +97 -0
  541. package/types/anguless-angulux-types-autocomplete.d.ts +312 -0
  542. package/types/anguless-angulux-types-avatar.d.ts +40 -0
  543. package/types/anguless-angulux-types-avatargroup.d.ts +28 -0
  544. package/types/anguless-angulux-types-badge.d.ts +26 -0
  545. package/types/anguless-angulux-types-blockui.d.ts +39 -0
  546. package/types/anguless-angulux-types-breadcrumb.d.ts +96 -0
  547. package/types/anguless-angulux-types-button.d.ts +124 -0
  548. package/types/anguless-angulux-types-card.d.ts +75 -0
  549. package/types/anguless-angulux-types-carousel.d.ts +143 -0
  550. package/types/anguless-angulux-types-cascadeselect.d.ts +215 -0
  551. package/types/anguless-angulux-types-chart.d.ts +32 -0
  552. package/types/anguless-angulux-types-checkbox.d.ts +81 -0
  553. package/types/anguless-angulux-types-chip.d.ts +71 -0
  554. package/types/anguless-angulux-types-colorpicker.d.ts +78 -0
  555. package/types/anguless-angulux-types-confirmdialog.d.ts +147 -0
  556. package/types/anguless-angulux-types-confirmpopup.d.ts +105 -0
  557. package/types/anguless-angulux-types-contextmenu.d.ts +102 -0
  558. package/types/anguless-angulux-types-dataview.d.ts +253 -0
  559. package/types/anguless-angulux-types-datepicker.d.ts +521 -0
  560. package/types/anguless-angulux-types-dialog.d.ts +107 -0
  561. package/types/anguless-angulux-types-divider.d.ts +28 -0
  562. package/types/anguless-angulux-types-dock.d.ts +70 -0
  563. package/types/anguless-angulux-types-drawer.d.ts +82 -0
  564. package/types/anguless-angulux-types-editor.d.ts +210 -0
  565. package/types/anguless-angulux-types-fieldset.d.ts +101 -0
  566. package/types/anguless-angulux-types-fileupload.d.ts +360 -0
  567. package/types/anguless-angulux-types-floatlabel.d.ts +26 -0
  568. package/types/anguless-angulux-types-fluid.d.ts +28 -0
  569. package/types/anguless-angulux-types-galleria.d.ts +250 -0
  570. package/types/anguless-angulux-types-iconfield.d.ts +26 -0
  571. package/types/anguless-angulux-types-iftalabel.d.ts +26 -0
  572. package/types/anguless-angulux-types-image.d.ts +144 -0
  573. package/types/anguless-angulux-types-imagecompare.d.ts +43 -0
  574. package/types/anguless-angulux-types-inplace.d.ts +72 -0
  575. package/types/anguless-angulux-types-inputgroup.d.ts +28 -0
  576. package/types/anguless-angulux-types-inputgroupaddon.d.ts +28 -0
  577. package/types/anguless-angulux-types-inputicon.d.ts +26 -0
  578. package/types/anguless-angulux-types-inputmask.d.ts +56 -0
  579. package/types/anguless-angulux-types-inputnumber.d.ts +95 -0
  580. package/types/anguless-angulux-types-inputotp.d.ts +101 -0
  581. package/types/anguless-angulux-types-inputtext.d.ts +24 -0
  582. package/types/anguless-angulux-types-knob.d.ts +40 -0
  583. package/types/anguless-angulux-types-listbox.d.ts +359 -0
  584. package/types/anguless-angulux-types-megamenu.d.ts +138 -0
  585. package/types/anguless-angulux-types-menu.d.ts +114 -0
  586. package/types/anguless-angulux-types-menubar.d.ts +124 -0
  587. package/types/anguless-angulux-types-message.d.ts +87 -0
  588. package/types/anguless-angulux-types-metergroup.d.ts +176 -0
  589. package/types/anguless-angulux-types-motion.d.ts +26 -0
  590. package/types/anguless-angulux-types-multiselect.d.ts +414 -0
  591. package/types/anguless-angulux-types-orderlist.d.ts +173 -0
  592. package/types/anguless-angulux-types-organizationchart.d.ts +138 -0
  593. package/types/anguless-angulux-types-overlay.d.ts +60 -0
  594. package/types/anguless-angulux-types-overlaybadge.d.ts +34 -0
  595. package/types/anguless-angulux-types-paginator.d.ts +167 -0
  596. package/types/anguless-angulux-types-panel.d.ts +129 -0
  597. package/types/anguless-angulux-types-panelmenu.d.ts +131 -0
  598. package/types/anguless-angulux-types-password.d.ts +120 -0
  599. package/types/anguless-angulux-types-picklist.d.ts +348 -0
  600. package/types/anguless-angulux-types-popover.d.ts +59 -0
  601. package/types/anguless-angulux-types-progressbar.d.ts +58 -0
  602. package/types/anguless-angulux-types-progressspinner.d.ts +36 -0
  603. package/types/anguless-angulux-types-radiobutton.d.ts +51 -0
  604. package/types/anguless-angulux-types-rating.d.ts +94 -0
  605. package/types/anguless-angulux-types-scroller.d.ts +231 -0
  606. package/types/anguless-angulux-types-scrollpanel.d.ts +51 -0
  607. package/types/anguless-angulux-types-scrolltop.d.ts +61 -0
  608. package/types/anguless-angulux-types-select.d.ts +319 -0
  609. package/types/anguless-angulux-types-selectbutton.d.ts +92 -0
  610. package/types/anguless-angulux-types-skeleton.d.ts +28 -0
  611. package/types/anguless-angulux-types-slider.d.ts +78 -0
  612. package/types/anguless-angulux-types-speeddial.d.ts +100 -0
  613. package/types/anguless-angulux-types-splitbutton.d.ts +70 -0
  614. package/types/anguless-angulux-types-splitter.d.ts +70 -0
  615. package/types/anguless-angulux-types-stepper.d.ts +162 -0
  616. package/types/anguless-angulux-types-table.d.ts +893 -0
  617. package/types/anguless-angulux-types-tabs.d.ts +119 -0
  618. package/types/anguless-angulux-types-tag.d.ts +47 -0
  619. package/types/anguless-angulux-types-terminal.d.ts +60 -0
  620. package/types/anguless-angulux-types-textarea.d.ts +28 -0
  621. package/types/anguless-angulux-types-tieredmenu.d.ts +95 -0
  622. package/types/anguless-angulux-types-timeline.d.ts +85 -0
  623. package/types/anguless-angulux-types-toast.d.ts +131 -0
  624. package/types/anguless-angulux-types-togglebutton.d.ts +86 -0
  625. package/types/anguless-angulux-types-toggleswitch.d.ts +73 -0
  626. package/types/anguless-angulux-types-toolbar.d.ts +55 -0
  627. package/types/anguless-angulux-types-tooltip.d.ts +32 -0
  628. package/types/anguless-angulux-types-tree.d.ts +342 -0
  629. package/types/anguless-angulux-types-treeselect.d.ts +251 -0
  630. package/types/anguless-angulux-types-treetable.d.ts +629 -0
  631. package/types/anguless-angulux-usestyle.d.ts +15 -0
  632. package/types/anguless-angulux-utils.d.ts +43 -0
  633. package/types/anguless-angulux.d.ts +2 -0
@@ -0,0 +1,1635 @@
1
+ export * from '@anguless/angulux/types/tieredmenu';
2
+ import * as i0 from '@angular/core';
3
+ import { Injectable, InjectionToken, input, EventEmitter, signal, inject, forwardRef, numberAttribute, booleanAttribute, ViewChild, Output, Input, Inject, ViewEncapsulation, ChangeDetectionStrategy, Component, computed, effect, ContentChildren, ContentChild, NgModule } from '@angular/core';
4
+ import { style } from '@anguless/angulux-styles/tieredmenu';
5
+ import { BaseStyle } from '@anguless/angulux/base';
6
+ import * as i2 from '@angular/common';
7
+ import { isPlatformBrowser, CommonModule } from '@angular/common';
8
+ import * as i3 from '@angular/router';
9
+ import { RouterModule } from '@angular/router';
10
+ import { nestedPosition, resolve, isNotEmpty, uuid, isEmpty, focus, isTouchDevice, isPrintableCharacter, findSingle, addStyle, relativePosition, absolutePosition, getOuterWidth, appendChild, findLastIndex } from '@anguless/angulux-utils';
11
+ import * as i6 from '@anguless/angulux/api';
12
+ import { SharedModule, AglTemplate } from '@anguless/angulux/api';
13
+ import { BaseComponent, PARENT_INSTANCE } from '@anguless/angulux/basecomponent';
14
+ import * as i1 from '@anguless/angulux/bind';
15
+ import { Bind, BindModule } from '@anguless/angulux/bind';
16
+ import { ConnectedOverlayScrollHandler } from '@anguless/angulux/dom';
17
+ import { AngleRightIcon } from '@anguless/angulux/icons';
18
+ import * as i5 from '@anguless/angulux/motion';
19
+ import { MotionModule } from '@anguless/angulux/motion';
20
+ import { Ripple } from '@anguless/angulux/ripple';
21
+ import * as i4 from '@anguless/angulux/tooltip';
22
+ import { TooltipModule } from '@anguless/angulux/tooltip';
23
+ import { ZIndexUtils } from '@anguless/angulux/utils';
24
+
25
+ const inlineStyles = {
26
+ submenu: ({ instance, processedItem }) => ({ display: instance.isItemActive(processedItem) ? 'flex' : 'none' })
27
+ };
28
+ const classes = {
29
+ root: ({ instance }) => [
30
+ 'p-tieredmenu p-component',
31
+ {
32
+ 'p-tieredmenu-overlay': instance.popup,
33
+ 'p-tieredmenu-mobile': instance.queryMatches()
34
+ }
35
+ ],
36
+ start: 'p-tieredmenu-start',
37
+ rootList: 'p-tieredmenu-root-list',
38
+ item: ({ instance, processedItem }) => [
39
+ 'p-tieredmenu-item',
40
+ {
41
+ 'p-tieredmenu-item-active': instance.isItemActive(processedItem),
42
+ 'p-focus': instance.isItemFocused(processedItem),
43
+ 'p-disabled': instance.isItemDisabled(processedItem)
44
+ }
45
+ ],
46
+ itemContent: 'p-tieredmenu-item-content',
47
+ itemLink: 'p-tieredmenu-item-link',
48
+ itemIcon: 'p-tieredmenu-item-icon',
49
+ itemLabel: 'p-tieredmenu-item-label',
50
+ itemBadge: 'p-menuitem-badge',
51
+ submenuIcon: 'p-tieredmenu-submenu-icon',
52
+ submenu: 'p-tieredmenu-submenu',
53
+ separator: 'p-tieredmenu-separator',
54
+ end: 'p-tieredmenu-end'
55
+ };
56
+ class TieredMenuStyle extends BaseStyle {
57
+ name = 'tieredmenu';
58
+ style = style;
59
+ classes = classes;
60
+ inlineStyles = inlineStyles;
61
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TieredMenuStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
62
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TieredMenuStyle });
63
+ }
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TieredMenuStyle, decorators: [{
65
+ type: Injectable
66
+ }] });
67
+ /**
68
+ *
69
+ * TieredMenu displays submenus in nested overlays.
70
+ *
71
+ * @module tieredmenustyle
72
+ *
73
+ */
74
+ var TieredMenuClasses;
75
+ (function (TieredMenuClasses) {
76
+ /**
77
+ * Class name of the root element
78
+ */
79
+ TieredMenuClasses["root"] = "p-tieredmenu";
80
+ /**
81
+ * Class name of the start element
82
+ */
83
+ TieredMenuClasses["start"] = "p-tieredmenu-start";
84
+ /**
85
+ * Class name of the root list element
86
+ */
87
+ TieredMenuClasses["rootList"] = "p-tieredmenu-root-list";
88
+ /**
89
+ * Class name of the item element
90
+ */
91
+ TieredMenuClasses["item"] = "p-tieredmenu-item";
92
+ /**
93
+ * Class name of the item content element
94
+ */
95
+ TieredMenuClasses["itemContent"] = "p-tieredmenu-item-content";
96
+ /**
97
+ * Class name of the item link element
98
+ */
99
+ TieredMenuClasses["itemLink"] = "p-tieredmenu-item-link";
100
+ /**
101
+ * Class name of the item icon element
102
+ */
103
+ TieredMenuClasses["itemIcon"] = "p-tieredmenu-item-icon";
104
+ /**
105
+ * Class name of the item label element
106
+ */
107
+ TieredMenuClasses["itemLabel"] = "p-tieredmenu-item-label";
108
+ /**
109
+ * Class name of the submenu icon element
110
+ */
111
+ TieredMenuClasses["submenuIcon"] = "p-tieredmenu-submenu-icon";
112
+ /**
113
+ * Class name of the submenu element
114
+ */
115
+ TieredMenuClasses["submenu"] = "p-tieredmenu-submenu";
116
+ /**
117
+ * Class name of the separator element
118
+ */
119
+ TieredMenuClasses["separator"] = "p-tieredmenu-separator";
120
+ /**
121
+ * Class name of the end element
122
+ */
123
+ TieredMenuClasses["end"] = "p-tieredmenu-end";
124
+ })(TieredMenuClasses || (TieredMenuClasses = {}));
125
+
126
+ const TIEREDMENU_INSTANCE = new InjectionToken('TIEREDMENU_INSTANCE');
127
+ const TIEREDMENUSUB_INSTANCE = new InjectionToken('TIEREDMENUSUB_INSTANCE');
128
+ class TieredMenuSub extends BaseComponent {
129
+ el;
130
+ renderer;
131
+ tieredMenu;
132
+ get visible() {
133
+ return this._visible;
134
+ }
135
+ set visible(value) {
136
+ this._visible = value;
137
+ if (this._visible || this.root) {
138
+ this.render.set(true);
139
+ }
140
+ }
141
+ items;
142
+ itemTemplate;
143
+ root = false;
144
+ autoDisplay;
145
+ autoZIndex = true;
146
+ baseZIndex = 0;
147
+ popup;
148
+ menuId;
149
+ ariaLabel;
150
+ ariaLabelledBy;
151
+ level = 0;
152
+ focusedItemId;
153
+ activeItemPath = input([], /* @ts-ignore */
154
+ ...(ngDevMode ? [{ debugName: "activeItemPath" }] : /* istanbul ignore next */ []));
155
+ motionOptions;
156
+ tabindex = 0;
157
+ inlineStyles;
158
+ itemClick = new EventEmitter();
159
+ itemMouseEnter = new EventEmitter();
160
+ menuFocus = new EventEmitter();
161
+ menuBlur = new EventEmitter();
162
+ menuKeydown = new EventEmitter();
163
+ sublistViewChild;
164
+ render = signal(false, /* @ts-ignore */
165
+ ...(ngDevMode ? [{ debugName: "render" }] : /* istanbul ignore next */ []));
166
+ _componentStyle = inject(TieredMenuStyle);
167
+ bindDirectiveInstance = inject(Bind, { self: true });
168
+ $pcTieredMenu = inject(TIEREDMENU_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
169
+ $pcTieredMenuSub = inject(TIEREDMENUSUB_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
170
+ _visible = false;
171
+ onAfterViewChecked() {
172
+ this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
173
+ }
174
+ constructor(el, renderer, tieredMenu) {
175
+ super();
176
+ this.el = el;
177
+ this.renderer = renderer;
178
+ this.tieredMenu = tieredMenu;
179
+ }
180
+ positionSubmenu(sublist) {
181
+ if (isPlatformBrowser(this.tieredMenu.platformId)) {
182
+ if (sublist) {
183
+ nestedPosition(sublist, this.level);
184
+ }
185
+ }
186
+ }
187
+ getItemProp(processedItem, name, params = null) {
188
+ return processedItem && processedItem.item ? resolve(processedItem.item[name], params) : undefined;
189
+ }
190
+ getItemId(processedItem) {
191
+ return processedItem.item?.id ?? `${this.menuId}_${processedItem.key}`;
192
+ }
193
+ getItemKey(processedItem) {
194
+ return this.getItemId(processedItem);
195
+ }
196
+ getItemLabel(processedItem) {
197
+ return this.getItemProp(processedItem, 'label');
198
+ }
199
+ getAriaSetSize() {
200
+ return this.items.filter((processedItem) => this.isItemVisible(processedItem) && !this.getItemProp(processedItem, 'separator')).length;
201
+ }
202
+ getAriaPosInset(index) {
203
+ return (index -
204
+ this.items.slice(0, index).filter((processedItem) => {
205
+ const isItemVisible = this.isItemVisible(processedItem);
206
+ const isVisibleSeparator = isItemVisible && this.getItemProp(processedItem, 'separator');
207
+ return !isItemVisible || isVisibleSeparator;
208
+ }).length +
209
+ 1);
210
+ }
211
+ isItemVisible(processedItem) {
212
+ return this.getItemProp(processedItem, 'visible') !== false;
213
+ }
214
+ isItemActive(processedItem) {
215
+ if (this.activeItemPath()) {
216
+ return this.activeItemPath().some((path) => path.key === processedItem.key);
217
+ }
218
+ return false;
219
+ }
220
+ isItemDisabled(processedItem) {
221
+ return this.getItemProp(processedItem, 'disabled');
222
+ }
223
+ isItemFocused(processedItem) {
224
+ return this.focusedItemId === this.getItemId(processedItem);
225
+ }
226
+ isItemGroup(processedItem) {
227
+ return isNotEmpty(processedItem.items);
228
+ }
229
+ // TODO: will be removed later. Helper method to get PT from parent ContextMenu if available, otherwise use own PT
230
+ _ptm(section, options) {
231
+ return this.$pcTieredMenu ? this.$pcTieredMenu.ptm(section, options) : this.ptm(section, options);
232
+ }
233
+ getPTOptions(processedItem, index, key) {
234
+ return this._ptm(key, {
235
+ context: {
236
+ item: processedItem.item,
237
+ index,
238
+ active: this.isItemActive(processedItem),
239
+ focused: this.isItemFocused(processedItem),
240
+ disabled: this.isItemDisabled(processedItem)
241
+ }
242
+ });
243
+ }
244
+ onItemMouseEnter(param) {
245
+ if (this.autoDisplay) {
246
+ const { event, processedItem } = param;
247
+ this.itemMouseEnter.emit({ originalEvent: event, processedItem });
248
+ }
249
+ }
250
+ onItemClick(event, processedItem) {
251
+ this.getItemProp(processedItem, 'command', { originalEvent: event, item: processedItem.item });
252
+ this.itemClick.emit({ originalEvent: event, processedItem, isFocus: true });
253
+ }
254
+ onBeforeEnter(event) {
255
+ this.positionSubmenu(event.element);
256
+ }
257
+ onAfterLeave() {
258
+ this.render.set(false);
259
+ }
260
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TieredMenuSub, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: forwardRef(() => TieredMenu) }], target: i0.ɵɵFactoryTarget.Component });
261
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: TieredMenuSub, isStandalone: true, selector: "agl-tieredMenuSub, agl-tieredmenusub", inputs: { visible: { classPropertyName: "visible", publicName: "visible", isSignal: false, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: false, isRequired: false, transformFunction: null }, itemTemplate: { classPropertyName: "itemTemplate", publicName: "itemTemplate", isSignal: false, isRequired: false, transformFunction: null }, root: { classPropertyName: "root", publicName: "root", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autoDisplay: { classPropertyName: "autoDisplay", publicName: "autoDisplay", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autoZIndex: { classPropertyName: "autoZIndex", publicName: "autoZIndex", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, baseZIndex: { classPropertyName: "baseZIndex", publicName: "baseZIndex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, popup: { classPropertyName: "popup", publicName: "popup", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, menuId: { classPropertyName: "menuId", publicName: "menuId", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, level: { classPropertyName: "level", publicName: "level", isSignal: false, isRequired: false, transformFunction: numberAttribute }, focusedItemId: { classPropertyName: "focusedItemId", publicName: "focusedItemId", isSignal: false, isRequired: false, transformFunction: null }, activeItemPath: { classPropertyName: "activeItemPath", publicName: "activeItemPath", isSignal: true, isRequired: false, transformFunction: null }, motionOptions: { classPropertyName: "motionOptions", publicName: "motionOptions", isSignal: false, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, inlineStyles: { classPropertyName: "inlineStyles", publicName: "inlineStyles", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { itemClick: "itemClick", itemMouseEnter: "itemMouseEnter", menuFocus: "menuFocus", menuBlur: "menuBlur", menuKeydown: "menuKeydown" }, providers: [
262
+ { provide: TIEREDMENUSUB_INSTANCE, useExisting: forwardRef(() => TieredMenuSub) },
263
+ { provide: PARENT_INSTANCE, useExisting: forwardRef(() => TieredMenuSub) }
264
+ ], viewQueries: [{ propertyName: "sublistViewChild", first: true, predicate: ["sublist"], descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
265
+ @if (render()) {
266
+ <ul
267
+ #sublist
268
+ role="menu"
269
+ [class]="root ? cx('rootList') : cx('submenu')"
270
+ [id]="menuId + '_list'"
271
+ [tabindex]="tabindex"
272
+ [attr.aria-label]="ariaLabel"
273
+ [attr.aria-labelledBy]="ariaLabelledBy"
274
+ [attr.aria-activedescendant]="focusedItemId"
275
+ [attr.aria-orientation]="'vertical'"
276
+ [aglBind]="_ptm(root ? 'rootList' : 'submenu')"
277
+ (keydown)="menuKeydown.emit($event)"
278
+ (focus)="menuFocus.emit($event)"
279
+ (blur)="menuBlur.emit($event)"
280
+ [style]="inlineStyles"
281
+ [aglMotion]="root ? true : visible"
282
+ [aglMotionDisabled]="root"
283
+ [aglMotionAppear]="true"
284
+ [aglMotionName]="'p-anchored-overlay'"
285
+ [aglMotionOptions]="motionOptions"
286
+ (aglMotionOnBeforeEnter)="onBeforeEnter($event)"
287
+ (aglMotionOnAfterLeave)="onAfterLeave()"
288
+ >
289
+ <ng-template ngFor let-processedItem [ngForOf]="items" let-index="index">
290
+ <li
291
+ *ngIf="isItemVisible(processedItem) && getItemProp(processedItem, 'separator')"
292
+ [attr.id]="getItemId(processedItem)"
293
+ [style]="getItemProp(processedItem, 'style')"
294
+ [class]="cn(cx('separator'), getItemProp(processedItem, 'class'), getItemProp(processedItem, 'styleClass'))"
295
+ role="separator"
296
+ [aglBind]="_ptm('separator')"
297
+ ></li>
298
+ <li
299
+ #listItem
300
+ *ngIf="isItemVisible(processedItem) && !getItemProp(processedItem, 'separator')"
301
+ role="menuitem"
302
+ [attr.id]="getItemId(processedItem)"
303
+ [attr.data-p-highlight]="isItemActive(processedItem)"
304
+ [attr.data-p-focused]="isItemFocused(processedItem)"
305
+ [attr.data-p-disabled]="isItemDisabled(processedItem)"
306
+ [attr.aria-label]="getItemLabel(processedItem)"
307
+ [attr.aria-disabled]="isItemDisabled(processedItem) || undefined"
308
+ [attr.aria-haspopup]="isItemGroup(processedItem) && !getItemProp(processedItem, 'to') ? 'menu' : undefined"
309
+ [attr.aria-expanded]="isItemGroup(processedItem) ? isItemActive(processedItem) : undefined"
310
+ [attr.aria-setsize]="getAriaSetSize()"
311
+ [attr.aria-posinset]="getAriaPosInset(index)"
312
+ [ngStyle]="getItemProp(processedItem, 'style')"
313
+ [class]="cn(cx('item', { processedItem }), getItemProp(processedItem, 'styleClass'))"
314
+ [aglBind]="getPTOptions(processedItem, index, 'item')"
315
+ [aglTooltip]="getItemProp(processedItem, 'tooltip')"
316
+ [tooltipOptions]="getItemProp(processedItem, 'tooltipOptions')"
317
+ [pTooltipUnstyled]="unstyled()"
318
+ >
319
+ <div [class]="cx('itemContent')" [aglBind]="getPTOptions(processedItem, index, 'itemContent')" (click)="onItemClick($event, processedItem)" (mouseenter)="onItemMouseEnter({ $event, processedItem })">
320
+ <ng-container *ngIf="!itemTemplate">
321
+ <a
322
+ *ngIf="!getItemProp(processedItem, 'routerLink')"
323
+ [attr.href]="getItemProp(processedItem, 'url')"
324
+ [attr.data-automationid]="getItemProp(processedItem, 'automationId')"
325
+ [attr.title]="getItemProp(processedItem, 'title')"
326
+ [target]="getItemProp(processedItem, 'target')"
327
+ [class]="cn(cx('itemLink'), getItemProp(processedItem, 'linkClass'))"
328
+ [ngStyle]="getItemProp(processedItem, 'linkStyle')"
329
+ [attr.tabindex]="-1"
330
+ [aglBind]="getPTOptions(processedItem, index, 'itemLink')"
331
+ aglRipple
332
+ >
333
+ <span
334
+ *ngIf="getItemProp(processedItem, 'icon')"
335
+ [class]="cn(cx('itemIcon'), getItemProp(processedItem, 'icon'), getItemProp(processedItem, 'iconClass'))"
336
+ [ngStyle]="getItemProp(processedItem, 'iconStyle')"
337
+ [aglBind]="getPTOptions(processedItem, index, 'itemIcon')"
338
+ [attr.tabindex]="-1"
339
+ >
340
+ </span>
341
+ <span
342
+ *ngIf="getItemProp(processedItem, 'escape'); else htmlLabel"
343
+ [class]="cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))"
344
+ [ngStyle]="getItemProp(processedItem, 'labelStyle')"
345
+ [aglBind]="getPTOptions(processedItem, index, 'itemLabel')"
346
+ >
347
+ {{ getItemLabel(processedItem) }}
348
+ </span>
349
+ <ng-template #htmlLabel>
350
+ <span
351
+ [class]="cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))"
352
+ [ngStyle]="getItemProp(processedItem, 'labelStyle')"
353
+ [innerHTML]="getItemLabel(processedItem)"
354
+ [aglBind]="getPTOptions(processedItem, index, 'itemLabel')"
355
+ ></span>
356
+ </ng-template>
357
+ <span *ngIf="getItemProp(processedItem, 'badge')" [class]="cn(cx('itemBadge'), getItemProp(processedItem, 'badgeStyleClass'))">{{ getItemProp(processedItem, 'badge') }}</span>
358
+
359
+ <ng-container *ngIf="isItemGroup(processedItem)">
360
+ <svg
361
+ data-p-icon="angle-right"
362
+ *ngIf="!tieredMenu.submenuIconTemplate && !tieredMenu._submenuIconTemplate"
363
+ [class]="cx('submenuIcon')"
364
+ [aglBind]="getPTOptions(processedItem, index, 'submenuIcon')"
365
+ [attr.aria-hidden]="true"
366
+ />
367
+ <ng-template *ngTemplateOutlet="tieredMenu.submenuIconTemplate || tieredMenu._submenuIconTemplate" [attr.aria-hidden]="true"></ng-template>
368
+ </ng-container>
369
+ </a>
370
+ <a
371
+ *ngIf="getItemProp(processedItem, 'routerLink')"
372
+ [routerLink]="getItemProp(processedItem, 'routerLink')"
373
+ [attr.data-automationid]="getItemProp(processedItem, 'automationId')"
374
+ [attr.title]="getItemProp(processedItem, 'title')"
375
+ [attr.tabindex]="-1"
376
+ [queryParams]="getItemProp(processedItem, 'queryParams')"
377
+ [routerLinkActive]="'p-tieredmenu-item-link-active'"
378
+ [routerLinkActiveOptions]="getItemProp(processedItem, 'routerLinkActiveOptions') || { exact: false }"
379
+ [target]="getItemProp(processedItem, 'target')"
380
+ [class]="cn(cx('itemLink'), getItemProp(processedItem, 'linkClass'))"
381
+ [ngStyle]="getItemProp(processedItem, 'linkStyle')"
382
+ [fragment]="getItemProp(processedItem, 'fragment')"
383
+ [queryParamsHandling]="getItemProp(processedItem, 'queryParamsHandling')"
384
+ [preserveFragment]="getItemProp(processedItem, 'preserveFragment')"
385
+ [skipLocationChange]="getItemProp(processedItem, 'skipLocationChange')"
386
+ [replaceUrl]="getItemProp(processedItem, 'replaceUrl')"
387
+ [state]="getItemProp(processedItem, 'state')"
388
+ [aglBind]="getPTOptions(processedItem, index, 'itemLink')"
389
+ aglRipple
390
+ >
391
+ <span
392
+ *ngIf="getItemProp(processedItem, 'icon')"
393
+ [class]="cn(cx('itemIcon'), getItemProp(processedItem, 'icon'), getItemProp(processedItem, 'iconClass'))"
394
+ [ngStyle]="getItemProp(processedItem, 'iconStyle')"
395
+ [aglBind]="getPTOptions(processedItem, index, 'itemIcon')"
396
+ [attr.aria-hidden]="true"
397
+ [attr.tabindex]="-1"
398
+ >
399
+ </span>
400
+ <span
401
+ *ngIf="getItemProp(processedItem, 'escape'); else htmlLabel"
402
+ [class]="cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))"
403
+ [ngStyle]="getItemProp(processedItem, 'labelStyle')"
404
+ [aglBind]="getPTOptions(processedItem, index, 'itemLabel')"
405
+ >
406
+ {{ getItemLabel(processedItem) }}
407
+ </span>
408
+ <ng-template #htmlLabel>
409
+ <span
410
+ [class]="cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))"
411
+ [ngStyle]="getItemProp(processedItem, 'labelStyle')"
412
+ [innerHTML]="getItemLabel(processedItem)"
413
+ [aglBind]="getPTOptions(processedItem, index, 'itemLabel')"
414
+ ></span>
415
+ </ng-template>
416
+ <span *ngIf="getItemProp(processedItem, 'badge')" [class]="cn(cx('itemBadge'), getItemProp(processedItem, 'badgeStyleClass'))">{{ getItemProp(processedItem, 'badge') }}</span>
417
+
418
+ <ng-container *ngIf="isItemGroup(processedItem)">
419
+ <svg
420
+ data-p-icon="angle-right"
421
+ *ngIf="!tieredMenu.submenuIconTemplate && !tieredMenu._submenuIconTemplate"
422
+ [class]="cx('submenuIcon')"
423
+ [aglBind]="getPTOptions(processedItem, index, 'submenuIcon')"
424
+ [attr.aria-hidden]="true"
425
+ />
426
+ <ng-template *ngTemplateOutlet="tieredMenu.submenuIconTemplate || tieredMenu._submenuIconTemplate" [attr.aria-hidden]="true"></ng-template>
427
+ </ng-container>
428
+ </a>
429
+ </ng-container>
430
+ <ng-container *ngIf="itemTemplate">
431
+ <ng-template *ngTemplateOutlet="itemTemplate; context: { $implicit: processedItem.item, hasSubmenu: getItemProp(processedItem, 'items') }"></ng-template>
432
+ </ng-container>
433
+ </div>
434
+
435
+ <agl-tieredmenusub
436
+ *ngIf="isItemVisible(processedItem) && isItemGroup(processedItem)"
437
+ [items]="processedItem.items"
438
+ [itemTemplate]="itemTemplate"
439
+ [autoDisplay]="autoDisplay"
440
+ [menuId]="menuId"
441
+ [visible]="isItemActive(processedItem) && isItemGroup(processedItem)"
442
+ [activeItemPath]="activeItemPath()"
443
+ [focusedItemId]="focusedItemId"
444
+ [ariaLabelledBy]="getItemId(processedItem)"
445
+ [level]="level + 1"
446
+ (itemClick)="itemClick.emit($event)"
447
+ (itemMouseEnter)="onItemMouseEnter($event)"
448
+ [pt]="pt()"
449
+ [motionOptions]="motionOptions"
450
+ [unstyled]="unstyled()"
451
+ ></agl-tieredmenusub>
452
+ </li>
453
+ </ng-template>
454
+ </ul>
455
+ }
456
+ `, isInline: true, dependencies: [{ kind: "component", type: TieredMenuSub, selector: "agl-tieredMenuSub, agl-tieredmenusub", inputs: ["visible", "items", "itemTemplate", "root", "autoDisplay", "autoZIndex", "baseZIndex", "popup", "menuId", "ariaLabel", "ariaLabelledBy", "level", "focusedItemId", "activeItemPath", "motionOptions", "tabindex", "inlineStyles"], outputs: ["itemClick", "itemMouseEnter", "menuFocus", "menuBlur", "menuKeydown"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "browserUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: Ripple, selector: "[aglRipple]" }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.Tooltip, selector: "[aglTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "showOnEllipsis", "aglTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip", "pTooltipPT", "pTooltipUnstyled"] }, { kind: "directive", type: i1.Bind, selector: "[aglBind]", inputs: ["aglBind"] }, { kind: "component", type: AngleRightIcon, selector: "[data-p-icon=\"angle-right\"]" }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: BindModule }, { kind: "ngmodule", type: MotionModule }, { kind: "directive", type: i5.MotionDirective, selector: "[aglMotion]", inputs: ["aglMotion", "aglMotionName", "aglMotionType", "aglMotionSafe", "aglMotionDisabled", "aglMotionAppear", "aglMotionEnter", "aglMotionLeave", "aglMotionDuration", "aglMotionHideStrategy", "aglMotionEnterFromClass", "aglMotionEnterToClass", "aglMotionEnterActiveClass", "aglMotionLeaveFromClass", "aglMotionLeaveToClass", "aglMotionLeaveActiveClass", "aglMotionOptions"], outputs: ["aglMotionOnBeforeEnter", "aglMotionOnEnter", "aglMotionOnAfterEnter", "aglMotionOnEnterCancelled", "aglMotionOnBeforeLeave", "aglMotionOnLeave", "aglMotionOnAfterLeave", "aglMotionOnLeaveCancelled"] }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None });
457
+ }
458
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TieredMenuSub, decorators: [{
459
+ type: Component,
460
+ args: [{
461
+ changeDetection: ChangeDetectionStrategy.Eager,
462
+ selector: 'agl-tieredMenuSub, agl-tieredmenusub',
463
+ standalone: true,
464
+ imports: [CommonModule, RouterModule, Ripple, TooltipModule, AngleRightIcon, SharedModule, BindModule, MotionModule],
465
+ template: `
466
+ @if (render()) {
467
+ <ul
468
+ #sublist
469
+ role="menu"
470
+ [class]="root ? cx('rootList') : cx('submenu')"
471
+ [id]="menuId + '_list'"
472
+ [tabindex]="tabindex"
473
+ [attr.aria-label]="ariaLabel"
474
+ [attr.aria-labelledBy]="ariaLabelledBy"
475
+ [attr.aria-activedescendant]="focusedItemId"
476
+ [attr.aria-orientation]="'vertical'"
477
+ [aglBind]="_ptm(root ? 'rootList' : 'submenu')"
478
+ (keydown)="menuKeydown.emit($event)"
479
+ (focus)="menuFocus.emit($event)"
480
+ (blur)="menuBlur.emit($event)"
481
+ [style]="inlineStyles"
482
+ [aglMotion]="root ? true : visible"
483
+ [aglMotionDisabled]="root"
484
+ [aglMotionAppear]="true"
485
+ [aglMotionName]="'p-anchored-overlay'"
486
+ [aglMotionOptions]="motionOptions"
487
+ (aglMotionOnBeforeEnter)="onBeforeEnter($event)"
488
+ (aglMotionOnAfterLeave)="onAfterLeave()"
489
+ >
490
+ <ng-template ngFor let-processedItem [ngForOf]="items" let-index="index">
491
+ <li
492
+ *ngIf="isItemVisible(processedItem) && getItemProp(processedItem, 'separator')"
493
+ [attr.id]="getItemId(processedItem)"
494
+ [style]="getItemProp(processedItem, 'style')"
495
+ [class]="cn(cx('separator'), getItemProp(processedItem, 'class'), getItemProp(processedItem, 'styleClass'))"
496
+ role="separator"
497
+ [aglBind]="_ptm('separator')"
498
+ ></li>
499
+ <li
500
+ #listItem
501
+ *ngIf="isItemVisible(processedItem) && !getItemProp(processedItem, 'separator')"
502
+ role="menuitem"
503
+ [attr.id]="getItemId(processedItem)"
504
+ [attr.data-p-highlight]="isItemActive(processedItem)"
505
+ [attr.data-p-focused]="isItemFocused(processedItem)"
506
+ [attr.data-p-disabled]="isItemDisabled(processedItem)"
507
+ [attr.aria-label]="getItemLabel(processedItem)"
508
+ [attr.aria-disabled]="isItemDisabled(processedItem) || undefined"
509
+ [attr.aria-haspopup]="isItemGroup(processedItem) && !getItemProp(processedItem, 'to') ? 'menu' : undefined"
510
+ [attr.aria-expanded]="isItemGroup(processedItem) ? isItemActive(processedItem) : undefined"
511
+ [attr.aria-setsize]="getAriaSetSize()"
512
+ [attr.aria-posinset]="getAriaPosInset(index)"
513
+ [ngStyle]="getItemProp(processedItem, 'style')"
514
+ [class]="cn(cx('item', { processedItem }), getItemProp(processedItem, 'styleClass'))"
515
+ [aglBind]="getPTOptions(processedItem, index, 'item')"
516
+ [aglTooltip]="getItemProp(processedItem, 'tooltip')"
517
+ [tooltipOptions]="getItemProp(processedItem, 'tooltipOptions')"
518
+ [pTooltipUnstyled]="unstyled()"
519
+ >
520
+ <div [class]="cx('itemContent')" [aglBind]="getPTOptions(processedItem, index, 'itemContent')" (click)="onItemClick($event, processedItem)" (mouseenter)="onItemMouseEnter({ $event, processedItem })">
521
+ <ng-container *ngIf="!itemTemplate">
522
+ <a
523
+ *ngIf="!getItemProp(processedItem, 'routerLink')"
524
+ [attr.href]="getItemProp(processedItem, 'url')"
525
+ [attr.data-automationid]="getItemProp(processedItem, 'automationId')"
526
+ [attr.title]="getItemProp(processedItem, 'title')"
527
+ [target]="getItemProp(processedItem, 'target')"
528
+ [class]="cn(cx('itemLink'), getItemProp(processedItem, 'linkClass'))"
529
+ [ngStyle]="getItemProp(processedItem, 'linkStyle')"
530
+ [attr.tabindex]="-1"
531
+ [aglBind]="getPTOptions(processedItem, index, 'itemLink')"
532
+ aglRipple
533
+ >
534
+ <span
535
+ *ngIf="getItemProp(processedItem, 'icon')"
536
+ [class]="cn(cx('itemIcon'), getItemProp(processedItem, 'icon'), getItemProp(processedItem, 'iconClass'))"
537
+ [ngStyle]="getItemProp(processedItem, 'iconStyle')"
538
+ [aglBind]="getPTOptions(processedItem, index, 'itemIcon')"
539
+ [attr.tabindex]="-1"
540
+ >
541
+ </span>
542
+ <span
543
+ *ngIf="getItemProp(processedItem, 'escape'); else htmlLabel"
544
+ [class]="cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))"
545
+ [ngStyle]="getItemProp(processedItem, 'labelStyle')"
546
+ [aglBind]="getPTOptions(processedItem, index, 'itemLabel')"
547
+ >
548
+ {{ getItemLabel(processedItem) }}
549
+ </span>
550
+ <ng-template #htmlLabel>
551
+ <span
552
+ [class]="cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))"
553
+ [ngStyle]="getItemProp(processedItem, 'labelStyle')"
554
+ [innerHTML]="getItemLabel(processedItem)"
555
+ [aglBind]="getPTOptions(processedItem, index, 'itemLabel')"
556
+ ></span>
557
+ </ng-template>
558
+ <span *ngIf="getItemProp(processedItem, 'badge')" [class]="cn(cx('itemBadge'), getItemProp(processedItem, 'badgeStyleClass'))">{{ getItemProp(processedItem, 'badge') }}</span>
559
+
560
+ <ng-container *ngIf="isItemGroup(processedItem)">
561
+ <svg
562
+ data-p-icon="angle-right"
563
+ *ngIf="!tieredMenu.submenuIconTemplate && !tieredMenu._submenuIconTemplate"
564
+ [class]="cx('submenuIcon')"
565
+ [aglBind]="getPTOptions(processedItem, index, 'submenuIcon')"
566
+ [attr.aria-hidden]="true"
567
+ />
568
+ <ng-template *ngTemplateOutlet="tieredMenu.submenuIconTemplate || tieredMenu._submenuIconTemplate" [attr.aria-hidden]="true"></ng-template>
569
+ </ng-container>
570
+ </a>
571
+ <a
572
+ *ngIf="getItemProp(processedItem, 'routerLink')"
573
+ [routerLink]="getItemProp(processedItem, 'routerLink')"
574
+ [attr.data-automationid]="getItemProp(processedItem, 'automationId')"
575
+ [attr.title]="getItemProp(processedItem, 'title')"
576
+ [attr.tabindex]="-1"
577
+ [queryParams]="getItemProp(processedItem, 'queryParams')"
578
+ [routerLinkActive]="'p-tieredmenu-item-link-active'"
579
+ [routerLinkActiveOptions]="getItemProp(processedItem, 'routerLinkActiveOptions') || { exact: false }"
580
+ [target]="getItemProp(processedItem, 'target')"
581
+ [class]="cn(cx('itemLink'), getItemProp(processedItem, 'linkClass'))"
582
+ [ngStyle]="getItemProp(processedItem, 'linkStyle')"
583
+ [fragment]="getItemProp(processedItem, 'fragment')"
584
+ [queryParamsHandling]="getItemProp(processedItem, 'queryParamsHandling')"
585
+ [preserveFragment]="getItemProp(processedItem, 'preserveFragment')"
586
+ [skipLocationChange]="getItemProp(processedItem, 'skipLocationChange')"
587
+ [replaceUrl]="getItemProp(processedItem, 'replaceUrl')"
588
+ [state]="getItemProp(processedItem, 'state')"
589
+ [aglBind]="getPTOptions(processedItem, index, 'itemLink')"
590
+ aglRipple
591
+ >
592
+ <span
593
+ *ngIf="getItemProp(processedItem, 'icon')"
594
+ [class]="cn(cx('itemIcon'), getItemProp(processedItem, 'icon'), getItemProp(processedItem, 'iconClass'))"
595
+ [ngStyle]="getItemProp(processedItem, 'iconStyle')"
596
+ [aglBind]="getPTOptions(processedItem, index, 'itemIcon')"
597
+ [attr.aria-hidden]="true"
598
+ [attr.tabindex]="-1"
599
+ >
600
+ </span>
601
+ <span
602
+ *ngIf="getItemProp(processedItem, 'escape'); else htmlLabel"
603
+ [class]="cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))"
604
+ [ngStyle]="getItemProp(processedItem, 'labelStyle')"
605
+ [aglBind]="getPTOptions(processedItem, index, 'itemLabel')"
606
+ >
607
+ {{ getItemLabel(processedItem) }}
608
+ </span>
609
+ <ng-template #htmlLabel>
610
+ <span
611
+ [class]="cn(cx('itemLabel'), getItemProp(processedItem, 'labelClass'))"
612
+ [ngStyle]="getItemProp(processedItem, 'labelStyle')"
613
+ [innerHTML]="getItemLabel(processedItem)"
614
+ [aglBind]="getPTOptions(processedItem, index, 'itemLabel')"
615
+ ></span>
616
+ </ng-template>
617
+ <span *ngIf="getItemProp(processedItem, 'badge')" [class]="cn(cx('itemBadge'), getItemProp(processedItem, 'badgeStyleClass'))">{{ getItemProp(processedItem, 'badge') }}</span>
618
+
619
+ <ng-container *ngIf="isItemGroup(processedItem)">
620
+ <svg
621
+ data-p-icon="angle-right"
622
+ *ngIf="!tieredMenu.submenuIconTemplate && !tieredMenu._submenuIconTemplate"
623
+ [class]="cx('submenuIcon')"
624
+ [aglBind]="getPTOptions(processedItem, index, 'submenuIcon')"
625
+ [attr.aria-hidden]="true"
626
+ />
627
+ <ng-template *ngTemplateOutlet="tieredMenu.submenuIconTemplate || tieredMenu._submenuIconTemplate" [attr.aria-hidden]="true"></ng-template>
628
+ </ng-container>
629
+ </a>
630
+ </ng-container>
631
+ <ng-container *ngIf="itemTemplate">
632
+ <ng-template *ngTemplateOutlet="itemTemplate; context: { $implicit: processedItem.item, hasSubmenu: getItemProp(processedItem, 'items') }"></ng-template>
633
+ </ng-container>
634
+ </div>
635
+
636
+ <agl-tieredmenusub
637
+ *ngIf="isItemVisible(processedItem) && isItemGroup(processedItem)"
638
+ [items]="processedItem.items"
639
+ [itemTemplate]="itemTemplate"
640
+ [autoDisplay]="autoDisplay"
641
+ [menuId]="menuId"
642
+ [visible]="isItemActive(processedItem) && isItemGroup(processedItem)"
643
+ [activeItemPath]="activeItemPath()"
644
+ [focusedItemId]="focusedItemId"
645
+ [ariaLabelledBy]="getItemId(processedItem)"
646
+ [level]="level + 1"
647
+ (itemClick)="itemClick.emit($event)"
648
+ (itemMouseEnter)="onItemMouseEnter($event)"
649
+ [pt]="pt()"
650
+ [motionOptions]="motionOptions"
651
+ [unstyled]="unstyled()"
652
+ ></agl-tieredmenusub>
653
+ </li>
654
+ </ng-template>
655
+ </ul>
656
+ }
657
+ `,
658
+ encapsulation: ViewEncapsulation.None,
659
+ providers: [
660
+ { provide: TIEREDMENUSUB_INSTANCE, useExisting: forwardRef(() => TieredMenuSub) },
661
+ { provide: PARENT_INSTANCE, useExisting: forwardRef(() => TieredMenuSub) }
662
+ ],
663
+ hostDirectives: [Bind]
664
+ }]
665
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: TieredMenu, decorators: [{
666
+ type: Inject,
667
+ args: [forwardRef(() => TieredMenu)]
668
+ }] }], propDecorators: { visible: [{
669
+ type: Input
670
+ }], items: [{
671
+ type: Input
672
+ }], itemTemplate: [{
673
+ type: Input
674
+ }], root: [{
675
+ type: Input,
676
+ args: [{ transform: booleanAttribute }]
677
+ }], autoDisplay: [{
678
+ type: Input,
679
+ args: [{ transform: booleanAttribute }]
680
+ }], autoZIndex: [{
681
+ type: Input,
682
+ args: [{ transform: booleanAttribute }]
683
+ }], baseZIndex: [{
684
+ type: Input,
685
+ args: [{ transform: numberAttribute }]
686
+ }], popup: [{
687
+ type: Input,
688
+ args: [{ transform: booleanAttribute }]
689
+ }], menuId: [{
690
+ type: Input
691
+ }], ariaLabel: [{
692
+ type: Input
693
+ }], ariaLabelledBy: [{
694
+ type: Input
695
+ }], level: [{
696
+ type: Input,
697
+ args: [{ transform: numberAttribute }]
698
+ }], focusedItemId: [{
699
+ type: Input
700
+ }], activeItemPath: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeItemPath", required: false }] }], motionOptions: [{
701
+ type: Input
702
+ }], tabindex: [{
703
+ type: Input,
704
+ args: [{ transform: numberAttribute }]
705
+ }], inlineStyles: [{
706
+ type: Input
707
+ }], itemClick: [{
708
+ type: Output
709
+ }], itemMouseEnter: [{
710
+ type: Output
711
+ }], menuFocus: [{
712
+ type: Output
713
+ }], menuBlur: [{
714
+ type: Output
715
+ }], menuKeydown: [{
716
+ type: Output
717
+ }], sublistViewChild: [{
718
+ type: ViewChild,
719
+ args: ['sublist']
720
+ }] } });
721
+ /**
722
+ * TieredMenu displays submenus in nested overlays.
723
+ * @group Components
724
+ */
725
+ class TieredMenu extends BaseComponent {
726
+ overlayService;
727
+ componentName = 'TieredMenu';
728
+ /**
729
+ * An array of menuitems.
730
+ * @group Props
731
+ */
732
+ set model(value) {
733
+ this._model = value;
734
+ this._processedItems = this.createProcessedItems(this._model || []);
735
+ }
736
+ get model() {
737
+ return this._model;
738
+ }
739
+ /**
740
+ * Defines if menu would displayed as a popup.
741
+ * @group Props
742
+ */
743
+ popup;
744
+ /**
745
+ * Inline style of the component.
746
+ * @group Props
747
+ */
748
+ style;
749
+ /**
750
+ * Style class of the component.
751
+ * @group Props
752
+ */
753
+ styleClass;
754
+ /**
755
+ * The breakpoint to define the maximum width boundary.
756
+ * @group Props
757
+ */
758
+ breakpoint = '960px';
759
+ /**
760
+ * Whether to automatically manage layering.
761
+ * @group Props
762
+ */
763
+ autoZIndex = true;
764
+ /**
765
+ * Base zIndex value to use in layering.
766
+ * @group Props
767
+ */
768
+ baseZIndex = 0;
769
+ /**
770
+ * Whether to show a root submenu on mouse over.
771
+ * @defaultValue true
772
+ * @group Props
773
+ */
774
+ autoDisplay = true;
775
+ /**
776
+ * Transition options of the show animation.
777
+ * @group Props
778
+ * @deprecated since v21.0.0, use `motionOptions` instead.
779
+ */
780
+ showTransitionOptions = '.12s cubic-bezier(0, 0, 0.2, 1)';
781
+ /**
782
+ * Transition options of the hide animation.
783
+ * @group Props
784
+ * @deprecated since v21.0.0, use `motionOptions` instead.
785
+ */
786
+ hideTransitionOptions = '.1s linear';
787
+ /**
788
+ * Current id state as a string.
789
+ * @group Props
790
+ */
791
+ id;
792
+ /**
793
+ * Defines a string value that labels an interactive element.
794
+ * @group Props
795
+ */
796
+ ariaLabel;
797
+ /**
798
+ * Identifier of the underlying input element.
799
+ * @group Props
800
+ */
801
+ ariaLabelledBy;
802
+ /**
803
+ * When present, it specifies that the component should be disabled.
804
+ * @group Props
805
+ */
806
+ disabled = false;
807
+ /**
808
+ * Index of the element in tabbing order.
809
+ * @group Props
810
+ */
811
+ tabindex = 0;
812
+ /**
813
+ * 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).
814
+ * @defaultValue 'self'
815
+ * @group Props
816
+ */
817
+ appendTo = input(undefined, /* @ts-ignore */
818
+ ...(ngDevMode ? [{ debugName: "appendTo" }] : /* istanbul ignore next */ []));
819
+ /**
820
+ * The motion options.
821
+ * @group Props
822
+ */
823
+ motionOptions = input(undefined, /* @ts-ignore */
824
+ ...(ngDevMode ? [{ debugName: "motionOptions" }] : /* istanbul ignore next */ []));
825
+ computedMotionOptions = computed(() => {
826
+ return {
827
+ ...this.ptm('motion'),
828
+ ...this.motionOptions()
829
+ };
830
+ }, /* @ts-ignore */
831
+ ...(ngDevMode ? [{ debugName: "computedMotionOptions" }] : /* istanbul ignore next */ []));
832
+ /**
833
+ * Callback to invoke when overlay menu is shown.
834
+ * @group Emits
835
+ */
836
+ onShow = new EventEmitter();
837
+ /**
838
+ * Callback to invoke when overlay menu is hidden.
839
+ * @group Emits
840
+ */
841
+ onHide = new EventEmitter();
842
+ rootmenu;
843
+ containerViewChild;
844
+ /**
845
+ * Custom submenu icon template.
846
+ * @group Templates
847
+ */
848
+ submenuIconTemplate;
849
+ /**
850
+ * Custom item template.
851
+ * @param {TieredMenuItemTemplateContext} context - item context.
852
+ * @see {@link TieredMenuItemTemplateContext}
853
+ * @group Templates
854
+ */
855
+ itemTemplate;
856
+ templates;
857
+ $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo(), /* @ts-ignore */
858
+ ...(ngDevMode ? [{ debugName: "$appendTo" }] : /* istanbul ignore next */ []));
859
+ render = signal(false, /* @ts-ignore */
860
+ ...(ngDevMode ? [{ debugName: "render" }] : /* istanbul ignore next */ []));
861
+ container;
862
+ outsideClickListener;
863
+ resizeListener;
864
+ scrollHandler;
865
+ target;
866
+ relatedTarget;
867
+ visible;
868
+ dirty = false;
869
+ focused = false;
870
+ activeItemPath = signal([], /* @ts-ignore */
871
+ ...(ngDevMode ? [{ debugName: "activeItemPath" }] : /* istanbul ignore next */ []));
872
+ number = signal(0, /* @ts-ignore */
873
+ ...(ngDevMode ? [{ debugName: "number" }] : /* istanbul ignore next */ []));
874
+ focusedItemInfo = signal({ index: -1, level: 0, parentKey: '', item: null }, /* @ts-ignore */
875
+ ...(ngDevMode ? [{ debugName: "focusedItemInfo" }] : /* istanbul ignore next */ []));
876
+ searchValue = '';
877
+ searchTimeout;
878
+ _processedItems;
879
+ _model;
880
+ _componentStyle = inject(TieredMenuStyle);
881
+ bindDirectiveInstance = inject(Bind, { self: true });
882
+ matchMediaListener;
883
+ query;
884
+ queryMatches = signal(false, /* @ts-ignore */
885
+ ...(ngDevMode ? [{ debugName: "queryMatches" }] : /* istanbul ignore next */ []));
886
+ _submenuIconTemplate;
887
+ _itemTemplate;
888
+ get visibleItems() {
889
+ const processedItem = this.activeItemPath().find((p) => p.key === this.focusedItemInfo().parentKey);
890
+ return processedItem ? processedItem.items : this.processedItems;
891
+ }
892
+ get processedItems() {
893
+ if (!this._processedItems || !this._processedItems.length) {
894
+ this._processedItems = this.createProcessedItems(this.model || []);
895
+ }
896
+ return this._processedItems;
897
+ }
898
+ get focusedItemId() {
899
+ const focusedItemInfo = this.focusedItemInfo();
900
+ return focusedItemInfo.item?.id ? focusedItemInfo.item.id : focusedItemInfo.index !== -1 ? `${this.id}${isNotEmpty(focusedItemInfo.parentKey) ? '_' + focusedItemInfo.parentKey : ''}_${focusedItemInfo.index}` : null;
901
+ }
902
+ constructor(overlayService) {
903
+ super();
904
+ this.overlayService = overlayService;
905
+ effect(() => {
906
+ const path = this.activeItemPath();
907
+ if (isNotEmpty(path)) {
908
+ this.bindOutsideClickListener();
909
+ this.bindResizeListener();
910
+ }
911
+ else {
912
+ this.unbindOutsideClickListener();
913
+ this.unbindResizeListener();
914
+ }
915
+ });
916
+ }
917
+ onAfterViewChecked() {
918
+ this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
919
+ }
920
+ onInit() {
921
+ this.bindMatchMediaListener();
922
+ this.id = this.id || uuid('pn_id_');
923
+ }
924
+ onAfterContentInit() {
925
+ this.templates?.forEach((item) => {
926
+ switch (item.getType()) {
927
+ case 'submenuicon':
928
+ this._submenuIconTemplate = item.template;
929
+ break;
930
+ case 'item':
931
+ this._itemTemplate = item.template;
932
+ break;
933
+ default:
934
+ this._itemTemplate = item.template;
935
+ break;
936
+ }
937
+ });
938
+ }
939
+ bindMatchMediaListener() {
940
+ if (isPlatformBrowser(this.platformId)) {
941
+ if (!this.matchMediaListener) {
942
+ const query = window.matchMedia(`(max-width: ${this.breakpoint})`);
943
+ this.query = query;
944
+ this.queryMatches.set(query.matches);
945
+ this.matchMediaListener = () => {
946
+ this.queryMatches.set(query.matches);
947
+ };
948
+ query.addEventListener('change', this.matchMediaListener);
949
+ }
950
+ }
951
+ }
952
+ unbindMatchMediaListener() {
953
+ if (this.matchMediaListener) {
954
+ this.query.removeEventListener('change', this.matchMediaListener);
955
+ this.matchMediaListener = null;
956
+ }
957
+ }
958
+ createProcessedItems(items, level = 0, parent = {}, parentKey = '') {
959
+ const processedItems = [];
960
+ items &&
961
+ items.forEach((item, index) => {
962
+ const key = (parentKey !== '' ? parentKey + '_' : '') + index;
963
+ const newItem = {
964
+ item,
965
+ index,
966
+ level,
967
+ key,
968
+ parent,
969
+ parentKey
970
+ };
971
+ newItem['items'] = this.createProcessedItems(item.items, level + 1, newItem, key);
972
+ processedItems.push(newItem);
973
+ });
974
+ return processedItems;
975
+ }
976
+ getItemProp(item, name) {
977
+ return item ? resolve(item[name]) : undefined;
978
+ }
979
+ getProccessedItemLabel(processedItem) {
980
+ return processedItem ? this.getItemLabel(processedItem.item) : undefined;
981
+ }
982
+ getItemLabel(item) {
983
+ return this.getItemProp(item, 'label');
984
+ }
985
+ isProcessedItemGroup(processedItem) {
986
+ return processedItem && isNotEmpty(processedItem.items);
987
+ }
988
+ isSelected(processedItem) {
989
+ return this.activeItemPath().some((p) => p.key === processedItem.key);
990
+ }
991
+ isValidSelectedItem(processedItem) {
992
+ return this.isValidItem(processedItem) && this.isSelected(processedItem);
993
+ }
994
+ isValidItem(processedItem) {
995
+ return !!processedItem && !this.isItemDisabled(processedItem.item) && !this.isItemSeparator(processedItem.item) && this.isItemVisible(processedItem.item);
996
+ }
997
+ isItemDisabled(item) {
998
+ return this.getItemProp(item, 'disabled');
999
+ }
1000
+ isItemVisible(item) {
1001
+ return this.getItemProp(item, 'visible') !== false;
1002
+ }
1003
+ isItemSeparator(item) {
1004
+ return this.getItemProp(item, 'separator');
1005
+ }
1006
+ isItemMatched(processedItem) {
1007
+ return this.isValidItem(processedItem) && this.getProccessedItemLabel(processedItem).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase());
1008
+ }
1009
+ isProccessedItemGroup(processedItem) {
1010
+ return processedItem && isNotEmpty(processedItem.items);
1011
+ }
1012
+ onOverlayClick(event) {
1013
+ if (this.popup) {
1014
+ this.overlayService.add({
1015
+ originalEvent: event,
1016
+ target: this.el.nativeElement
1017
+ });
1018
+ }
1019
+ }
1020
+ onItemClick(event) {
1021
+ const { originalEvent, processedItem } = event;
1022
+ const grouped = this.isProcessedItemGroup(processedItem);
1023
+ const root = isEmpty(processedItem.parent);
1024
+ const selected = this.isSelected(processedItem);
1025
+ if (selected) {
1026
+ const { index, key, level, parentKey, item } = processedItem;
1027
+ this.activeItemPath.set(this.activeItemPath().filter((p) => key !== p.key && key.startsWith(p.key)));
1028
+ this.focusedItemInfo.set({ index, level, parentKey, item });
1029
+ this.dirty = true;
1030
+ focus(this.rootmenu?.sublistViewChild?.nativeElement);
1031
+ }
1032
+ else {
1033
+ if (grouped) {
1034
+ this.onItemChange(event);
1035
+ }
1036
+ else {
1037
+ const rootProcessedItem = root ? processedItem : this.activeItemPath().find((p) => p.parentKey === '');
1038
+ this.hide(originalEvent);
1039
+ this.changeFocusedItemIndex(originalEvent, rootProcessedItem?.index ?? -1);
1040
+ focus(this.rootmenu?.sublistViewChild?.nativeElement);
1041
+ }
1042
+ }
1043
+ }
1044
+ onItemMouseEnter(event) {
1045
+ if (!isTouchDevice()) {
1046
+ if (this.dirty) {
1047
+ this.onItemChange(event, 'hover');
1048
+ }
1049
+ }
1050
+ else {
1051
+ this.onItemChange({ event, processedItem: event.processedItem, focus: this.autoDisplay }, 'hover');
1052
+ }
1053
+ }
1054
+ onKeyDown(event) {
1055
+ const metaKey = event.metaKey || event.ctrlKey;
1056
+ switch (event.code) {
1057
+ case 'ArrowDown':
1058
+ this.onArrowDownKey(event);
1059
+ break;
1060
+ case 'ArrowUp':
1061
+ this.onArrowUpKey(event);
1062
+ break;
1063
+ case 'ArrowLeft':
1064
+ this.onArrowLeftKey(event);
1065
+ break;
1066
+ case 'ArrowRight':
1067
+ this.onArrowRightKey(event);
1068
+ break;
1069
+ case 'Home':
1070
+ this.onHomeKey(event);
1071
+ break;
1072
+ case 'End':
1073
+ this.onEndKey(event);
1074
+ break;
1075
+ case 'Space':
1076
+ this.onSpaceKey(event);
1077
+ break;
1078
+ case 'Enter':
1079
+ this.onEnterKey(event);
1080
+ break;
1081
+ case 'Escape':
1082
+ this.onEscapeKey(event);
1083
+ break;
1084
+ case 'Tab':
1085
+ this.onTabKey(event);
1086
+ break;
1087
+ case 'PageDown':
1088
+ case 'PageUp':
1089
+ case 'Backspace':
1090
+ case 'ShiftLeft':
1091
+ case 'ShiftRight':
1092
+ //NOOP
1093
+ break;
1094
+ default:
1095
+ if (!metaKey && isPrintableCharacter(event.key)) {
1096
+ this.searchItems(event, event.key);
1097
+ }
1098
+ break;
1099
+ }
1100
+ }
1101
+ onArrowDownKey(event) {
1102
+ const itemIndex = this.focusedItemInfo().index !== -1 ? this.findNextItemIndex(this.focusedItemInfo().index) : this.findFirstFocusedItemIndex();
1103
+ this.changeFocusedItemIndex(event, itemIndex);
1104
+ event.preventDefault();
1105
+ }
1106
+ onArrowRightKey(event) {
1107
+ const processedItem = this.visibleItems[this.focusedItemInfo().index];
1108
+ const grouped = this.isProccessedItemGroup(processedItem);
1109
+ const item = processedItem?.item;
1110
+ if (grouped) {
1111
+ this.onItemChange({ originalEvent: event, processedItem });
1112
+ this.focusedItemInfo.set({ index: -1, parentKey: processedItem.key, item });
1113
+ this.searchValue = '';
1114
+ this.onArrowDownKey(event);
1115
+ }
1116
+ event.preventDefault();
1117
+ }
1118
+ onArrowUpKey(event) {
1119
+ if (event.altKey) {
1120
+ if (this.focusedItemInfo().index !== -1) {
1121
+ const processedItem = this.visibleItems[this.focusedItemInfo().index];
1122
+ const grouped = this.isProccessedItemGroup(processedItem);
1123
+ !grouped && this.onItemChange({ originalEvent: event, processedItem });
1124
+ }
1125
+ this.popup && this.hide(event, true);
1126
+ event.preventDefault();
1127
+ }
1128
+ else {
1129
+ const itemIndex = this.focusedItemInfo().index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo().index) : this.findLastFocusedItemIndex();
1130
+ this.changeFocusedItemIndex(event, itemIndex);
1131
+ event.preventDefault();
1132
+ }
1133
+ }
1134
+ onArrowLeftKey(event) {
1135
+ const processedItem = this.visibleItems[this.focusedItemInfo().index];
1136
+ if (!processedItem) {
1137
+ event.preventDefault();
1138
+ return;
1139
+ }
1140
+ const parentItem = this.activeItemPath().find((p) => p.key === processedItem.parentKey);
1141
+ const root = isEmpty(processedItem.parent);
1142
+ if (!root) {
1143
+ this.focusedItemInfo.set({ index: -1, parentKey: parentItem ? parentItem.parentKey : '', item: processedItem.item });
1144
+ this.searchValue = '';
1145
+ this.onArrowDownKey(event);
1146
+ }
1147
+ const activeItemPath = this.activeItemPath().filter((p) => p.parentKey !== this.focusedItemInfo().parentKey);
1148
+ this.activeItemPath.set(activeItemPath);
1149
+ event.preventDefault();
1150
+ }
1151
+ onHomeKey(event) {
1152
+ this.changeFocusedItemIndex(event, this.findFirstItemIndex());
1153
+ event.preventDefault();
1154
+ }
1155
+ onEndKey(event) {
1156
+ this.changeFocusedItemIndex(event, this.findLastItemIndex());
1157
+ event.preventDefault();
1158
+ }
1159
+ onSpaceKey(event) {
1160
+ this.onEnterKey(event);
1161
+ }
1162
+ onEscapeKey(event) {
1163
+ this.hide(event, true);
1164
+ this.focusedItemInfo().index = this.findFirstFocusedItemIndex();
1165
+ event.preventDefault();
1166
+ }
1167
+ onTabKey(event) {
1168
+ if (this.focusedItemInfo().index !== -1) {
1169
+ const processedItem = this.visibleItems[this.focusedItemInfo().index];
1170
+ const grouped = this.isProccessedItemGroup(processedItem);
1171
+ !grouped && this.onItemChange({ originalEvent: event, processedItem });
1172
+ }
1173
+ this.hide();
1174
+ }
1175
+ onEnterKey(event) {
1176
+ if (this.focusedItemInfo().index !== -1) {
1177
+ const element = findSingle(this.rootmenu?.el?.nativeElement, `li[id="${`${this.focusedItemId}`}"]`);
1178
+ const anchorElement = element && (findSingle(element, '[data-pc-section="itemlink"]') || findSingle(element, 'a,button'));
1179
+ anchorElement ? anchorElement.click() : element && element.click();
1180
+ if (!this.popup) {
1181
+ const processedItem = this.visibleItems[this.focusedItemInfo().index];
1182
+ const grouped = this.isProccessedItemGroup(processedItem);
1183
+ !grouped && (this.focusedItemInfo().index = this.findFirstFocusedItemIndex());
1184
+ }
1185
+ }
1186
+ event.preventDefault();
1187
+ }
1188
+ onItemChange(event, type) {
1189
+ const { processedItem, isFocus } = event;
1190
+ if (isEmpty(processedItem))
1191
+ return;
1192
+ const { index, key, level, parentKey, items, item } = processedItem;
1193
+ const grouped = isNotEmpty(items);
1194
+ const activeItemPath = this.activeItemPath().filter((p) => p.parentKey !== parentKey && p.parentKey !== key);
1195
+ grouped && activeItemPath.push(processedItem);
1196
+ this.focusedItemInfo.set({ index, level, parentKey, item });
1197
+ grouped && (this.dirty = true);
1198
+ isFocus && focus(this.rootmenu?.sublistViewChild?.nativeElement);
1199
+ if (type === 'hover' && this.queryMatches()) {
1200
+ return;
1201
+ }
1202
+ this.activeItemPath.set(activeItemPath);
1203
+ }
1204
+ onMenuFocus(event) {
1205
+ this.focused = true;
1206
+ if (this.focusedItemInfo().index === -1 && !this.popup) {
1207
+ // this.onArrowDownKey(event);
1208
+ }
1209
+ }
1210
+ onMenuBlur(event) {
1211
+ this.focused = false;
1212
+ this.focusedItemInfo.set({ index: -1, level: 0, parentKey: '', item: null });
1213
+ this.searchValue = '';
1214
+ this.dirty = false;
1215
+ }
1216
+ onOverlayBeforeEnter(event) {
1217
+ if (this.popup) {
1218
+ this.container = event.element;
1219
+ addStyle(this.container, { position: 'absolute' });
1220
+ this.moveOnTop();
1221
+ this.onShow.emit({});
1222
+ this.$attrSelector && this.container?.setAttribute(this.$attrSelector, '');
1223
+ this.appendOverlay();
1224
+ this.alignOverlay();
1225
+ }
1226
+ }
1227
+ onOverlayAfterEnter() {
1228
+ if (this.popup) {
1229
+ this.bindOutsideClickListener();
1230
+ this.bindResizeListener();
1231
+ this.bindScrollListener();
1232
+ this.scrollInView();
1233
+ }
1234
+ focus(this.rootmenu?.sublistViewChild?.nativeElement);
1235
+ }
1236
+ onOverlayAfterLeave() {
1237
+ this.restoreOverlayAppend();
1238
+ this.onOverlayHide();
1239
+ this.render.set(false);
1240
+ this.onHide.emit({});
1241
+ }
1242
+ relativeAlign = false;
1243
+ alignOverlay() {
1244
+ if (this.container && this.target) {
1245
+ if (this.relativeAlign)
1246
+ relativePosition(this.container, this.target);
1247
+ else
1248
+ absolutePosition(this.container, this.target);
1249
+ const targetWidth = getOuterWidth(this.target);
1250
+ if (targetWidth > getOuterWidth(this.container)) {
1251
+ this.container.style.minWidth = getOuterWidth(this.target) + 'px';
1252
+ }
1253
+ }
1254
+ }
1255
+ appendOverlay() {
1256
+ if (this.$appendTo() && this.$appendTo() !== 'self') {
1257
+ if (this.$appendTo() === 'body') {
1258
+ appendChild(this.document.body, this.container);
1259
+ }
1260
+ else {
1261
+ appendChild(this.$appendTo(), this.container);
1262
+ }
1263
+ }
1264
+ }
1265
+ restoreOverlayAppend() {
1266
+ if (this.container && this.$appendTo() !== 'self') {
1267
+ appendChild(this.el.nativeElement, this.container);
1268
+ }
1269
+ }
1270
+ moveOnTop() {
1271
+ if (this.autoZIndex) {
1272
+ ZIndexUtils.set('menu', this.container, this.baseZIndex + this.config.zIndex.menu);
1273
+ }
1274
+ }
1275
+ /**
1276
+ * Hides the popup menu.
1277
+ * @group Method
1278
+ */
1279
+ hide(event, isFocus) {
1280
+ if (this.popup) {
1281
+ this.onHide.emit({});
1282
+ this.visible = false;
1283
+ }
1284
+ this.activeItemPath.set([]);
1285
+ this.focusedItemInfo.set({ index: -1, level: 0, parentKey: '' });
1286
+ isFocus && focus(this.relatedTarget || this.target || this.rootmenu?.sublistViewChild?.nativeElement);
1287
+ this.dirty = false;
1288
+ }
1289
+ /**
1290
+ * Toggles the visibility of the popup menu.
1291
+ * @param {Event} event - Browser event.
1292
+ * @group Method
1293
+ */
1294
+ toggle(event) {
1295
+ this.visible ? this.hide(event, true) : this.show(event);
1296
+ }
1297
+ /**
1298
+ * Displays the popup menu.
1299
+ * @param {Event} even - Browser event.
1300
+ * @group Method
1301
+ */
1302
+ show(event, isFocus) {
1303
+ if (this.popup) {
1304
+ this.visible = true;
1305
+ this.target = this.target || event.currentTarget;
1306
+ this.relatedTarget = event.relatedTarget || null;
1307
+ this.relativeAlign = event?.relativeAlign || null;
1308
+ }
1309
+ this.render.set(true);
1310
+ this.focusedItemInfo.set({ index: -1, level: 0, parentKey: '' });
1311
+ isFocus && focus(this.rootmenu?.sublistViewChild?.nativeElement);
1312
+ this.cd.markForCheck();
1313
+ }
1314
+ searchItems(event, char) {
1315
+ this.searchValue = (this.searchValue || '') + char;
1316
+ let itemIndex = -1;
1317
+ let matched = false;
1318
+ if (this.focusedItemInfo().index !== -1) {
1319
+ itemIndex = this.visibleItems.slice(this.focusedItemInfo().index).findIndex((processedItem) => this.isItemMatched(processedItem));
1320
+ itemIndex = itemIndex === -1 ? this.visibleItems.slice(0, this.focusedItemInfo().index).findIndex((processedItem) => this.isItemMatched(processedItem)) : itemIndex + this.focusedItemInfo().index;
1321
+ }
1322
+ else {
1323
+ itemIndex = this.visibleItems.findIndex((processedItem) => this.isItemMatched(processedItem));
1324
+ }
1325
+ if (itemIndex !== -1) {
1326
+ matched = true;
1327
+ }
1328
+ if (itemIndex === -1 && this.focusedItemInfo().index === -1) {
1329
+ itemIndex = this.findFirstFocusedItemIndex();
1330
+ }
1331
+ if (itemIndex !== -1) {
1332
+ this.changeFocusedItemIndex(event, itemIndex);
1333
+ }
1334
+ if (this.searchTimeout) {
1335
+ clearTimeout(this.searchTimeout);
1336
+ }
1337
+ this.searchTimeout = setTimeout(() => {
1338
+ this.searchValue = '';
1339
+ this.searchTimeout = null;
1340
+ }, 500);
1341
+ return matched;
1342
+ }
1343
+ findLastFocusedItemIndex() {
1344
+ const selectedIndex = this.findSelectedItemIndex();
1345
+ return selectedIndex < 0 ? this.findLastItemIndex() : selectedIndex;
1346
+ }
1347
+ findLastItemIndex() {
1348
+ return findLastIndex(this.visibleItems, (processedItem) => this.isValidItem(processedItem));
1349
+ }
1350
+ findPrevItemIndex(index) {
1351
+ const matchedItemIndex = index > 0 ? findLastIndex(this.visibleItems.slice(0, index), (processedItem) => this.isValidItem(processedItem)) : -1;
1352
+ return matchedItemIndex > -1 ? matchedItemIndex : index;
1353
+ }
1354
+ findNextItemIndex(index) {
1355
+ const matchedItemIndex = index < this.visibleItems.length - 1 ? this.visibleItems.slice(index + 1).findIndex((processedItem) => this.isValidItem(processedItem)) : -1;
1356
+ return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index;
1357
+ }
1358
+ findFirstFocusedItemIndex() {
1359
+ const selectedIndex = this.findSelectedItemIndex();
1360
+ return selectedIndex < 0 ? this.findFirstItemIndex() : selectedIndex;
1361
+ }
1362
+ findFirstItemIndex() {
1363
+ return this.visibleItems.findIndex((processedItem) => this.isValidItem(processedItem));
1364
+ }
1365
+ findSelectedItemIndex() {
1366
+ return this.visibleItems.findIndex((processedItem) => this.isValidSelectedItem(processedItem));
1367
+ }
1368
+ changeFocusedItemIndex(event, index) {
1369
+ if (this.focusedItemInfo().index !== index) {
1370
+ const focusedItemInfo = this.focusedItemInfo();
1371
+ this.focusedItemInfo.set({ ...focusedItemInfo, item: this.visibleItems[index].item, index });
1372
+ this.scrollInView();
1373
+ }
1374
+ }
1375
+ scrollInView(index = -1) {
1376
+ const id = index !== -1 ? `${this.id}_${index}` : this.focusedItemId;
1377
+ const element = findSingle(this.rootmenu?.el?.nativeElement, `li[id="${id}"]`);
1378
+ if (element) {
1379
+ element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });
1380
+ }
1381
+ }
1382
+ bindScrollListener() {
1383
+ if (!this.scrollHandler) {
1384
+ this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, (event) => {
1385
+ if (this.visible) {
1386
+ this.hide(event, true);
1387
+ }
1388
+ });
1389
+ }
1390
+ this.scrollHandler.bindScrollListener();
1391
+ }
1392
+ unbindScrollListener() {
1393
+ if (this.scrollHandler) {
1394
+ this.scrollHandler.unbindScrollListener();
1395
+ this.scrollHandler = null;
1396
+ }
1397
+ }
1398
+ bindResizeListener() {
1399
+ if (isPlatformBrowser(this.platformId)) {
1400
+ if (!this.resizeListener) {
1401
+ this.resizeListener = this.renderer.listen(this.document.defaultView, 'resize', (event) => {
1402
+ if (!isTouchDevice()) {
1403
+ this.hide(event, true);
1404
+ }
1405
+ });
1406
+ }
1407
+ }
1408
+ }
1409
+ bindOutsideClickListener() {
1410
+ if (isPlatformBrowser(this.platformId)) {
1411
+ if (!this.outsideClickListener) {
1412
+ this.outsideClickListener = this.renderer.listen(this.document, 'click', (event) => {
1413
+ const isOutsideContainer = this.containerViewChild && !this.containerViewChild.nativeElement.contains(event.target);
1414
+ const isOutsideTarget = this.popup ? !(this.target && (this.target === event.target || this.target.contains(event.target))) : true;
1415
+ if (isOutsideContainer && isOutsideTarget) {
1416
+ this.hide();
1417
+ }
1418
+ });
1419
+ }
1420
+ }
1421
+ }
1422
+ unbindOutsideClickListener() {
1423
+ if (this.outsideClickListener) {
1424
+ document.removeEventListener('click', this.outsideClickListener);
1425
+ this.outsideClickListener = null;
1426
+ }
1427
+ }
1428
+ unbindResizeListener() {
1429
+ if (this.resizeListener) {
1430
+ this.resizeListener();
1431
+ this.resizeListener = null;
1432
+ }
1433
+ }
1434
+ onOverlayHide() {
1435
+ this.unbindOutsideClickListener();
1436
+ this.unbindResizeListener();
1437
+ this.unbindScrollListener();
1438
+ if (!this.cd.destroyed) {
1439
+ this.target = null;
1440
+ }
1441
+ if (this.container && this.autoZIndex) {
1442
+ ZIndexUtils.clear(this.container);
1443
+ }
1444
+ }
1445
+ onDestroy() {
1446
+ if (this.popup) {
1447
+ if (this.scrollHandler) {
1448
+ this.scrollHandler.destroy();
1449
+ this.scrollHandler = null;
1450
+ }
1451
+ this.restoreOverlayAppend();
1452
+ this.onOverlayHide();
1453
+ }
1454
+ this.unbindMatchMediaListener();
1455
+ }
1456
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TieredMenu, deps: [{ token: i6.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
1457
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: TieredMenu, isStandalone: true, selector: "agl-tieredMenu, agl-tieredmenu, agl-tiered-menu", inputs: { model: { classPropertyName: "model", publicName: "model", isSignal: false, isRequired: false, transformFunction: null }, popup: { classPropertyName: "popup", publicName: "popup", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, style: { classPropertyName: "style", publicName: "style", isSignal: false, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: false, isRequired: false, transformFunction: null }, breakpoint: { classPropertyName: "breakpoint", publicName: "breakpoint", isSignal: false, isRequired: false, transformFunction: null }, autoZIndex: { classPropertyName: "autoZIndex", publicName: "autoZIndex", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, baseZIndex: { classPropertyName: "baseZIndex", publicName: "baseZIndex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, autoDisplay: { classPropertyName: "autoDisplay", publicName: "autoDisplay", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, showTransitionOptions: { classPropertyName: "showTransitionOptions", publicName: "showTransitionOptions", isSignal: false, isRequired: false, transformFunction: null }, hideTransitionOptions: { classPropertyName: "hideTransitionOptions", publicName: "hideTransitionOptions", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null }, motionOptions: { classPropertyName: "motionOptions", publicName: "motionOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onShow: "onShow", onHide: "onHide" }, providers: [TieredMenuStyle, { provide: TIEREDMENU_INSTANCE, useExisting: TieredMenu }, { provide: PARENT_INSTANCE, useExisting: TieredMenu }], queries: [{ propertyName: "submenuIconTemplate", first: true, predicate: ["submenuicon"] }, { propertyName: "itemTemplate", first: true, predicate: ["item"] }, { propertyName: "templates", predicate: AglTemplate }], viewQueries: [{ propertyName: "rootmenu", first: true, predicate: ["rootmenu"], descendants: true }, { propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
1458
+ @if (render() || !popup) {
1459
+ <div
1460
+ #container
1461
+ [id]="id"
1462
+ [class]="cn(cx('root'), styleClass)"
1463
+ [ngStyle]="style"
1464
+ [aglBind]="ptm('root')"
1465
+ (click)="onOverlayClick($event)"
1466
+ [aglMotion]="visible || !popup"
1467
+ [aglMotionName]="'p-anchored-overlay'"
1468
+ [aglMotionAppear]="true"
1469
+ [aglMotionDisabled]="!popup"
1470
+ [aglMotionOptions]="computedMotionOptions()"
1471
+ (aglMotionOnBeforeEnter)="onOverlayBeforeEnter($event)"
1472
+ (aglMotionOnAfterEnter)="onOverlayAfterEnter()"
1473
+ (aglMotionOnAfterLeave)="onOverlayAfterLeave()"
1474
+ >
1475
+ <agl-tieredMenuSub
1476
+ #rootmenu
1477
+ [root]="true"
1478
+ [visible]="true"
1479
+ [items]="processedItems"
1480
+ [itemTemplate]="itemTemplate || _itemTemplate"
1481
+ [menuId]="id"
1482
+ [tabindex]="!disabled ? tabindex : -1"
1483
+ [ariaLabel]="ariaLabel"
1484
+ [ariaLabelledBy]="ariaLabelledBy"
1485
+ [baseZIndex]="baseZIndex"
1486
+ [autoZIndex]="autoZIndex"
1487
+ [autoDisplay]="autoDisplay"
1488
+ [popup]="popup"
1489
+ [focusedItemId]="focused ? focusedItemId : undefined"
1490
+ [activeItemPath]="activeItemPath()"
1491
+ (itemClick)="onItemClick($event)"
1492
+ (menuFocus)="onMenuFocus($event)"
1493
+ (menuBlur)="onMenuBlur($event)"
1494
+ (menuKeydown)="onKeyDown($event)"
1495
+ (itemMouseEnter)="onItemMouseEnter($event)"
1496
+ [pt]="pt()"
1497
+ [unstyled]="unstyled()"
1498
+ [motionOptions]="computedMotionOptions()"
1499
+ ></agl-tieredMenuSub>
1500
+ </div>
1501
+ }
1502
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: TieredMenuSub, selector: "agl-tieredMenuSub, agl-tieredmenusub", inputs: ["visible", "items", "itemTemplate", "root", "autoDisplay", "autoZIndex", "baseZIndex", "popup", "menuId", "ariaLabel", "ariaLabelledBy", "level", "focusedItemId", "activeItemPath", "motionOptions", "tabindex", "inlineStyles"], outputs: ["itemClick", "itemMouseEnter", "menuFocus", "menuBlur", "menuKeydown"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i1.Bind, selector: "[aglBind]", inputs: ["aglBind"] }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: BindModule }, { kind: "ngmodule", type: MotionModule }, { kind: "directive", type: i5.MotionDirective, selector: "[aglMotion]", inputs: ["aglMotion", "aglMotionName", "aglMotionType", "aglMotionSafe", "aglMotionDisabled", "aglMotionAppear", "aglMotionEnter", "aglMotionLeave", "aglMotionDuration", "aglMotionHideStrategy", "aglMotionEnterFromClass", "aglMotionEnterToClass", "aglMotionEnterActiveClass", "aglMotionLeaveFromClass", "aglMotionLeaveToClass", "aglMotionLeaveActiveClass", "aglMotionOptions"], outputs: ["aglMotionOnBeforeEnter", "aglMotionOnEnter", "aglMotionOnAfterEnter", "aglMotionOnEnterCancelled", "aglMotionOnBeforeLeave", "aglMotionOnLeave", "aglMotionOnAfterLeave", "aglMotionOnLeaveCancelled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1503
+ }
1504
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TieredMenu, decorators: [{
1505
+ type: Component,
1506
+ args: [{
1507
+ selector: 'agl-tieredMenu, agl-tieredmenu, agl-tiered-menu',
1508
+ standalone: true,
1509
+ imports: [CommonModule, TieredMenuSub, RouterModule, TooltipModule, SharedModule, BindModule, MotionModule],
1510
+ template: `
1511
+ @if (render() || !popup) {
1512
+ <div
1513
+ #container
1514
+ [id]="id"
1515
+ [class]="cn(cx('root'), styleClass)"
1516
+ [ngStyle]="style"
1517
+ [aglBind]="ptm('root')"
1518
+ (click)="onOverlayClick($event)"
1519
+ [aglMotion]="visible || !popup"
1520
+ [aglMotionName]="'p-anchored-overlay'"
1521
+ [aglMotionAppear]="true"
1522
+ [aglMotionDisabled]="!popup"
1523
+ [aglMotionOptions]="computedMotionOptions()"
1524
+ (aglMotionOnBeforeEnter)="onOverlayBeforeEnter($event)"
1525
+ (aglMotionOnAfterEnter)="onOverlayAfterEnter()"
1526
+ (aglMotionOnAfterLeave)="onOverlayAfterLeave()"
1527
+ >
1528
+ <agl-tieredMenuSub
1529
+ #rootmenu
1530
+ [root]="true"
1531
+ [visible]="true"
1532
+ [items]="processedItems"
1533
+ [itemTemplate]="itemTemplate || _itemTemplate"
1534
+ [menuId]="id"
1535
+ [tabindex]="!disabled ? tabindex : -1"
1536
+ [ariaLabel]="ariaLabel"
1537
+ [ariaLabelledBy]="ariaLabelledBy"
1538
+ [baseZIndex]="baseZIndex"
1539
+ [autoZIndex]="autoZIndex"
1540
+ [autoDisplay]="autoDisplay"
1541
+ [popup]="popup"
1542
+ [focusedItemId]="focused ? focusedItemId : undefined"
1543
+ [activeItemPath]="activeItemPath()"
1544
+ (itemClick)="onItemClick($event)"
1545
+ (menuFocus)="onMenuFocus($event)"
1546
+ (menuBlur)="onMenuBlur($event)"
1547
+ (menuKeydown)="onKeyDown($event)"
1548
+ (itemMouseEnter)="onItemMouseEnter($event)"
1549
+ [pt]="pt()"
1550
+ [unstyled]="unstyled()"
1551
+ [motionOptions]="computedMotionOptions()"
1552
+ ></agl-tieredMenuSub>
1553
+ </div>
1554
+ }
1555
+ `,
1556
+ changeDetection: ChangeDetectionStrategy.OnPush,
1557
+ encapsulation: ViewEncapsulation.None,
1558
+ providers: [TieredMenuStyle, { provide: TIEREDMENU_INSTANCE, useExisting: TieredMenu }, { provide: PARENT_INSTANCE, useExisting: TieredMenu }],
1559
+ hostDirectives: [Bind]
1560
+ }]
1561
+ }], ctorParameters: () => [{ type: i6.OverlayService }], propDecorators: { model: [{
1562
+ type: Input
1563
+ }], popup: [{
1564
+ type: Input,
1565
+ args: [{ transform: booleanAttribute }]
1566
+ }], style: [{
1567
+ type: Input
1568
+ }], styleClass: [{
1569
+ type: Input
1570
+ }], breakpoint: [{
1571
+ type: Input
1572
+ }], autoZIndex: [{
1573
+ type: Input,
1574
+ args: [{ transform: booleanAttribute }]
1575
+ }], baseZIndex: [{
1576
+ type: Input,
1577
+ args: [{ transform: numberAttribute }]
1578
+ }], autoDisplay: [{
1579
+ type: Input,
1580
+ args: [{ transform: booleanAttribute }]
1581
+ }], showTransitionOptions: [{
1582
+ type: Input
1583
+ }], hideTransitionOptions: [{
1584
+ type: Input
1585
+ }], id: [{
1586
+ type: Input
1587
+ }], ariaLabel: [{
1588
+ type: Input
1589
+ }], ariaLabelledBy: [{
1590
+ type: Input
1591
+ }], disabled: [{
1592
+ type: Input,
1593
+ args: [{ transform: booleanAttribute }]
1594
+ }], tabindex: [{
1595
+ type: Input,
1596
+ args: [{ transform: numberAttribute }]
1597
+ }], appendTo: [{ type: i0.Input, args: [{ isSignal: true, alias: "appendTo", required: false }] }], motionOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "motionOptions", required: false }] }], onShow: [{
1598
+ type: Output
1599
+ }], onHide: [{
1600
+ type: Output
1601
+ }], rootmenu: [{
1602
+ type: ViewChild,
1603
+ args: ['rootmenu']
1604
+ }], containerViewChild: [{
1605
+ type: ViewChild,
1606
+ args: ['container']
1607
+ }], submenuIconTemplate: [{
1608
+ type: ContentChild,
1609
+ args: ['submenuicon', { descendants: false }]
1610
+ }], itemTemplate: [{
1611
+ type: ContentChild,
1612
+ args: ['item', { descendants: false }]
1613
+ }], templates: [{
1614
+ type: ContentChildren,
1615
+ args: [AglTemplate]
1616
+ }] } });
1617
+ class TieredMenuModule {
1618
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TieredMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1619
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: TieredMenuModule, imports: [TieredMenu, SharedModule], exports: [TieredMenu, SharedModule] });
1620
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TieredMenuModule, imports: [TieredMenu, SharedModule, SharedModule] });
1621
+ }
1622
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TieredMenuModule, decorators: [{
1623
+ type: NgModule,
1624
+ args: [{
1625
+ imports: [TieredMenu, SharedModule],
1626
+ exports: [TieredMenu, SharedModule]
1627
+ }]
1628
+ }] });
1629
+
1630
+ /**
1631
+ * Generated bundle index. Do not edit.
1632
+ */
1633
+
1634
+ export { TieredMenu, TieredMenuClasses, TieredMenuModule, TieredMenuStyle, TieredMenuSub };
1635
+ //# sourceMappingURL=anguless-angulux-tieredmenu.mjs.map