primeng 0.0.0-watch

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 (507) hide show
  1. package/LICENSE.md +77 -0
  2. package/README.md +11 -0
  3. package/accordion/index.d.ts +255 -0
  4. package/animateonscroll/index.d.ts +71 -0
  5. package/api/index.d.ts +1820 -0
  6. package/autocomplete/index.d.ts +925 -0
  7. package/autofocus/index.d.ts +31 -0
  8. package/avatar/index.d.ts +115 -0
  9. package/avatargroup/index.d.ts +60 -0
  10. package/badge/index.d.ts +156 -0
  11. package/base/index.d.ts +63 -0
  12. package/basecomponent/index.d.ts +54 -0
  13. package/baseeditableholder/index.d.ts +45 -0
  14. package/baseinput/index.d.ts +73 -0
  15. package/basemodelholder/index.d.ts +12 -0
  16. package/blockui/index.d.ts +114 -0
  17. package/breadcrumb/index.d.ts +179 -0
  18. package/button/index.d.ts +478 -0
  19. package/buttongroup/index.d.ts +43 -0
  20. package/card/index.d.ts +154 -0
  21. package/carousel/index.d.ts +443 -0
  22. package/cascadeselect/index.d.ts +729 -0
  23. package/chart/index.d.ts +128 -0
  24. package/checkbox/index.d.ts +248 -0
  25. package/chip/index.d.ts +165 -0
  26. package/colorpicker/index.d.ts +329 -0
  27. package/config/index.d.ts +89 -0
  28. package/confirmdialog/index.d.ts +358 -0
  29. package/confirmpopup/index.d.ts +218 -0
  30. package/contextmenu/index.d.ts +356 -0
  31. package/dataview/index.d.ts +539 -0
  32. package/datepicker/index.d.ts +1191 -0
  33. package/dialog/index.d.ts +531 -0
  34. package/divider/index.d.ts +114 -0
  35. package/dock/index.d.ts +201 -0
  36. package/dom/index.d.ts +109 -0
  37. package/dragdrop/index.d.ts +121 -0
  38. package/drawer/index.d.ts +309 -0
  39. package/dynamicdialog/index.d.ts +544 -0
  40. package/editor/index.d.ts +306 -0
  41. package/fesm2022/primeng-accordion.mjs +593 -0
  42. package/fesm2022/primeng-accordion.mjs.map +1 -0
  43. package/fesm2022/primeng-animateonscroll.mjs +178 -0
  44. package/fesm2022/primeng-animateonscroll.mjs.map +1 -0
  45. package/fesm2022/primeng-api.mjs +836 -0
  46. package/fesm2022/primeng-api.mjs.map +1 -0
  47. package/fesm2022/primeng-autocomplete.mjs +2073 -0
  48. package/fesm2022/primeng-autocomplete.mjs.map +1 -0
  49. package/fesm2022/primeng-autofocus.mjs +83 -0
  50. package/fesm2022/primeng-autofocus.mjs.map +1 -0
  51. package/fesm2022/primeng-avatar.mjs +181 -0
  52. package/fesm2022/primeng-avatar.mjs.map +1 -0
  53. package/fesm2022/primeng-avatargroup.mjs +103 -0
  54. package/fesm2022/primeng-avatargroup.mjs.map +1 -0
  55. package/fesm2022/primeng-badge.mjs +366 -0
  56. package/fesm2022/primeng-badge.mjs.map +1 -0
  57. package/fesm2022/primeng-base.mjs +127 -0
  58. package/fesm2022/primeng-base.mjs.map +1 -0
  59. package/fesm2022/primeng-basecomponent.mjs +173 -0
  60. package/fesm2022/primeng-basecomponent.mjs.map +1 -0
  61. package/fesm2022/primeng-baseeditableholder.mjs +67 -0
  62. package/fesm2022/primeng-baseeditableholder.mjs.map +1 -0
  63. package/fesm2022/primeng-baseinput.mjs +85 -0
  64. package/fesm2022/primeng-baseinput.mjs.map +1 -0
  65. package/fesm2022/primeng-basemodelholder.mjs +25 -0
  66. package/fesm2022/primeng-basemodelholder.mjs.map +1 -0
  67. package/fesm2022/primeng-blockui.mjs +237 -0
  68. package/fesm2022/primeng-blockui.mjs.map +1 -0
  69. package/fesm2022/primeng-breadcrumb.mjs +457 -0
  70. package/fesm2022/primeng-breadcrumb.mjs.map +1 -0
  71. package/fesm2022/primeng-button.mjs +864 -0
  72. package/fesm2022/primeng-button.mjs.map +1 -0
  73. package/fesm2022/primeng-buttongroup.mjs +109 -0
  74. package/fesm2022/primeng-buttongroup.mjs.map +1 -0
  75. package/fesm2022/primeng-card.mjs +271 -0
  76. package/fesm2022/primeng-card.mjs.map +1 -0
  77. package/fesm2022/primeng-carousel.mjs +1101 -0
  78. package/fesm2022/primeng-carousel.mjs.map +1 -0
  79. package/fesm2022/primeng-cascadeselect.mjs +1778 -0
  80. package/fesm2022/primeng-cascadeselect.mjs.map +1 -0
  81. package/fesm2022/primeng-chart.mjs +246 -0
  82. package/fesm2022/primeng-chart.mjs.map +1 -0
  83. package/fesm2022/primeng-checkbox.mjs +441 -0
  84. package/fesm2022/primeng-checkbox.mjs.map +1 -0
  85. package/fesm2022/primeng-chip.mjs +323 -0
  86. package/fesm2022/primeng-chip.mjs.map +1 -0
  87. package/fesm2022/primeng-colorpicker.mjs +865 -0
  88. package/fesm2022/primeng-colorpicker.mjs.map +1 -0
  89. package/fesm2022/primeng-config.mjs +289 -0
  90. package/fesm2022/primeng-config.mjs.map +1 -0
  91. package/fesm2022/primeng-confirmdialog.mjs +823 -0
  92. package/fesm2022/primeng-confirmdialog.mjs.map +1 -0
  93. package/fesm2022/primeng-confirmpopup.mjs +630 -0
  94. package/fesm2022/primeng-confirmpopup.mjs.map +1 -0
  95. package/fesm2022/primeng-contextmenu.mjs +1410 -0
  96. package/fesm2022/primeng-contextmenu.mjs.map +1 -0
  97. package/fesm2022/primeng-dataview.mjs +812 -0
  98. package/fesm2022/primeng-dataview.mjs.map +1 -0
  99. package/fesm2022/primeng-datepicker.mjs +4373 -0
  100. package/fesm2022/primeng-datepicker.mjs.map +1 -0
  101. package/fesm2022/primeng-dialog.mjs +1278 -0
  102. package/fesm2022/primeng-dialog.mjs.map +1 -0
  103. package/fesm2022/primeng-divider.mjs +145 -0
  104. package/fesm2022/primeng-divider.mjs.map +1 -0
  105. package/fesm2022/primeng-dock.mjs +540 -0
  106. package/fesm2022/primeng-dock.mjs.map +1 -0
  107. package/fesm2022/primeng-dom.mjs +775 -0
  108. package/fesm2022/primeng-dom.mjs.map +1 -0
  109. package/fesm2022/primeng-dragdrop.mjs +336 -0
  110. package/fesm2022/primeng-dragdrop.mjs.map +1 -0
  111. package/fesm2022/primeng-drawer.mjs +738 -0
  112. package/fesm2022/primeng-drawer.mjs.map +1 -0
  113. package/fesm2022/primeng-dynamicdialog.mjs +1242 -0
  114. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -0
  115. package/fesm2022/primeng-editor.mjs +511 -0
  116. package/fesm2022/primeng-editor.mjs.map +1 -0
  117. package/fesm2022/primeng-fieldset.mjs +417 -0
  118. package/fesm2022/primeng-fieldset.mjs.map +1 -0
  119. package/fesm2022/primeng-fileupload.mjs +1561 -0
  120. package/fesm2022/primeng-fileupload.mjs.map +1 -0
  121. package/fesm2022/primeng-floatlabel.mjs +103 -0
  122. package/fesm2022/primeng-floatlabel.mjs.map +1 -0
  123. package/fesm2022/primeng-fluid.mjs +80 -0
  124. package/fesm2022/primeng-fluid.mjs.map +1 -0
  125. package/fesm2022/primeng-focustrap.mjs +110 -0
  126. package/fesm2022/primeng-focustrap.mjs.map +1 -0
  127. package/fesm2022/primeng-galleria.mjs +1874 -0
  128. package/fesm2022/primeng-galleria.mjs.map +1 -0
  129. package/fesm2022/primeng-iconfield.mjs +101 -0
  130. package/fesm2022/primeng-iconfield.mjs.map +1 -0
  131. package/fesm2022/primeng-icons-angledoubledown.mjs +37 -0
  132. package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -0
  133. package/fesm2022/primeng-icons-angledoubleleft.mjs +37 -0
  134. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -0
  135. package/fesm2022/primeng-icons-angledoubleright.mjs +37 -0
  136. package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -0
  137. package/fesm2022/primeng-icons-angledoubleup.mjs +37 -0
  138. package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -0
  139. package/fesm2022/primeng-icons-angledown.mjs +33 -0
  140. package/fesm2022/primeng-icons-angledown.mjs.map +1 -0
  141. package/fesm2022/primeng-icons-angleleft.mjs +33 -0
  142. package/fesm2022/primeng-icons-angleleft.mjs.map +1 -0
  143. package/fesm2022/primeng-icons-angleright.mjs +33 -0
  144. package/fesm2022/primeng-icons-angleright.mjs.map +1 -0
  145. package/fesm2022/primeng-icons-angleup.mjs +33 -0
  146. package/fesm2022/primeng-icons-angleup.mjs.map +1 -0
  147. package/fesm2022/primeng-icons-arrowdown.mjs +57 -0
  148. package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -0
  149. package/fesm2022/primeng-icons-arrowdownleft.mjs +33 -0
  150. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -0
  151. package/fesm2022/primeng-icons-arrowdownright.mjs +33 -0
  152. package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -0
  153. package/fesm2022/primeng-icons-arrowleft.mjs +57 -0
  154. package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -0
  155. package/fesm2022/primeng-icons-arrowright.mjs +37 -0
  156. package/fesm2022/primeng-icons-arrowright.mjs.map +1 -0
  157. package/fesm2022/primeng-icons-arrowup.mjs +57 -0
  158. package/fesm2022/primeng-icons-arrowup.mjs.map +1 -0
  159. package/fesm2022/primeng-icons-ban.mjs +53 -0
  160. package/fesm2022/primeng-icons-ban.mjs.map +1 -0
  161. package/fesm2022/primeng-icons-bars.mjs +37 -0
  162. package/fesm2022/primeng-icons-bars.mjs.map +1 -0
  163. package/fesm2022/primeng-icons-baseicon.mjs +102 -0
  164. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -0
  165. package/fesm2022/primeng-icons-blank.mjs +23 -0
  166. package/fesm2022/primeng-icons-blank.mjs.map +1 -0
  167. package/fesm2022/primeng-icons-calendar.mjs +33 -0
  168. package/fesm2022/primeng-icons-calendar.mjs.map +1 -0
  169. package/fesm2022/primeng-icons-caretleft.mjs +33 -0
  170. package/fesm2022/primeng-icons-caretleft.mjs.map +1 -0
  171. package/fesm2022/primeng-icons-caretright.mjs +33 -0
  172. package/fesm2022/primeng-icons-caretright.mjs.map +1 -0
  173. package/fesm2022/primeng-icons-check.mjs +33 -0
  174. package/fesm2022/primeng-icons-check.mjs.map +1 -0
  175. package/fesm2022/primeng-icons-chevrondown.mjs +33 -0
  176. package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -0
  177. package/fesm2022/primeng-icons-chevronleft.mjs +33 -0
  178. package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -0
  179. package/fesm2022/primeng-icons-chevronright.mjs +33 -0
  180. package/fesm2022/primeng-icons-chevronright.mjs.map +1 -0
  181. package/fesm2022/primeng-icons-chevronup.mjs +33 -0
  182. package/fesm2022/primeng-icons-chevronup.mjs.map +1 -0
  183. package/fesm2022/primeng-icons-exclamationtriangle.mjs +69 -0
  184. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -0
  185. package/fesm2022/primeng-icons-eye.mjs +37 -0
  186. package/fesm2022/primeng-icons-eye.mjs.map +1 -0
  187. package/fesm2022/primeng-icons-eyeslash.mjs +57 -0
  188. package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -0
  189. package/fesm2022/primeng-icons-filter.mjs +53 -0
  190. package/fesm2022/primeng-icons-filter.mjs.map +1 -0
  191. package/fesm2022/primeng-icons-filterfill.mjs +33 -0
  192. package/fesm2022/primeng-icons-filterfill.mjs.map +1 -0
  193. package/fesm2022/primeng-icons-filterslash.mjs +57 -0
  194. package/fesm2022/primeng-icons-filterslash.mjs.map +1 -0
  195. package/fesm2022/primeng-icons-home.mjs +57 -0
  196. package/fesm2022/primeng-icons-home.mjs.map +1 -0
  197. package/fesm2022/primeng-icons-infocircle.mjs +57 -0
  198. package/fesm2022/primeng-icons-infocircle.mjs.map +1 -0
  199. package/fesm2022/primeng-icons-minus.mjs +33 -0
  200. package/fesm2022/primeng-icons-minus.mjs.map +1 -0
  201. package/fesm2022/primeng-icons-pencil.mjs +53 -0
  202. package/fesm2022/primeng-icons-pencil.mjs.map +1 -0
  203. package/fesm2022/primeng-icons-plus.mjs +53 -0
  204. package/fesm2022/primeng-icons-plus.mjs.map +1 -0
  205. package/fesm2022/primeng-icons-refresh.mjs +57 -0
  206. package/fesm2022/primeng-icons-refresh.mjs.map +1 -0
  207. package/fesm2022/primeng-icons-search.mjs +57 -0
  208. package/fesm2022/primeng-icons-search.mjs.map +1 -0
  209. package/fesm2022/primeng-icons-searchminus.mjs +57 -0
  210. package/fesm2022/primeng-icons-searchminus.mjs.map +1 -0
  211. package/fesm2022/primeng-icons-searchplus.mjs +57 -0
  212. package/fesm2022/primeng-icons-searchplus.mjs.map +1 -0
  213. package/fesm2022/primeng-icons-sortalt.mjs +65 -0
  214. package/fesm2022/primeng-icons-sortalt.mjs.map +1 -0
  215. package/fesm2022/primeng-icons-sortamountdown.mjs +53 -0
  216. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -0
  217. package/fesm2022/primeng-icons-sortamountupalt.mjs +53 -0
  218. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -0
  219. package/fesm2022/primeng-icons-spinner.mjs +53 -0
  220. package/fesm2022/primeng-icons-spinner.mjs.map +1 -0
  221. package/fesm2022/primeng-icons-star.mjs +53 -0
  222. package/fesm2022/primeng-icons-star.mjs.map +1 -0
  223. package/fesm2022/primeng-icons-starfill.mjs +53 -0
  224. package/fesm2022/primeng-icons-starfill.mjs.map +1 -0
  225. package/fesm2022/primeng-icons-thlarge.mjs +57 -0
  226. package/fesm2022/primeng-icons-thlarge.mjs.map +1 -0
  227. package/fesm2022/primeng-icons-times.mjs +33 -0
  228. package/fesm2022/primeng-icons-times.mjs.map +1 -0
  229. package/fesm2022/primeng-icons-timescircle.mjs +57 -0
  230. package/fesm2022/primeng-icons-timescircle.mjs.map +1 -0
  231. package/fesm2022/primeng-icons-trash.mjs +57 -0
  232. package/fesm2022/primeng-icons-trash.mjs.map +1 -0
  233. package/fesm2022/primeng-icons-undo.mjs +57 -0
  234. package/fesm2022/primeng-icons-undo.mjs.map +1 -0
  235. package/fesm2022/primeng-icons-upload.mjs +57 -0
  236. package/fesm2022/primeng-icons-upload.mjs.map +1 -0
  237. package/fesm2022/primeng-icons-windowmaximize.mjs +57 -0
  238. package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -0
  239. package/fesm2022/primeng-icons-windowminimize.mjs +57 -0
  240. package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -0
  241. package/fesm2022/primeng-icons.mjs +63 -0
  242. package/fesm2022/primeng-icons.mjs.map +1 -0
  243. package/fesm2022/primeng-iftalabel.mjs +89 -0
  244. package/fesm2022/primeng-iftalabel.mjs.map +1 -0
  245. package/fesm2022/primeng-image.mjs +705 -0
  246. package/fesm2022/primeng-image.mjs.map +1 -0
  247. package/fesm2022/primeng-imagecompare.mjs +192 -0
  248. package/fesm2022/primeng-imagecompare.mjs.map +1 -0
  249. package/fesm2022/primeng-inplace.mjs +319 -0
  250. package/fesm2022/primeng-inplace.mjs.map +1 -0
  251. package/fesm2022/primeng-inputgroup.mjs +128 -0
  252. package/fesm2022/primeng-inputgroup.mjs.map +1 -0
  253. package/fesm2022/primeng-inputgroupaddon.mjs +83 -0
  254. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -0
  255. package/fesm2022/primeng-inputicon.mjs +71 -0
  256. package/fesm2022/primeng-inputicon.mjs.map +1 -0
  257. package/fesm2022/primeng-inputmask.mjs +926 -0
  258. package/fesm2022/primeng-inputmask.mjs.map +1 -0
  259. package/fesm2022/primeng-inputnumber.mjs +1621 -0
  260. package/fesm2022/primeng-inputnumber.mjs.map +1 -0
  261. package/fesm2022/primeng-inputotp.mjs +443 -0
  262. package/fesm2022/primeng-inputotp.mjs.map +1 -0
  263. package/fesm2022/primeng-inputtext.mjs +145 -0
  264. package/fesm2022/primeng-inputtext.mjs.map +1 -0
  265. package/fesm2022/primeng-keyfilter.mjs +267 -0
  266. package/fesm2022/primeng-keyfilter.mjs.map +1 -0
  267. package/fesm2022/primeng-knob.mjs +491 -0
  268. package/fesm2022/primeng-knob.mjs.map +1 -0
  269. package/fesm2022/primeng-listbox.mjs +1925 -0
  270. package/fesm2022/primeng-listbox.mjs.map +1 -0
  271. package/fesm2022/primeng-megamenu.mjs +1493 -0
  272. package/fesm2022/primeng-megamenu.mjs.map +1 -0
  273. package/fesm2022/primeng-menu.mjs +1069 -0
  274. package/fesm2022/primeng-menu.mjs.map +1 -0
  275. package/fesm2022/primeng-menubar.mjs +1391 -0
  276. package/fesm2022/primeng-menubar.mjs.map +1 -0
  277. package/fesm2022/primeng-message.mjs +420 -0
  278. package/fesm2022/primeng-message.mjs.map +1 -0
  279. package/fesm2022/primeng-metergroup.mjs +393 -0
  280. package/fesm2022/primeng-metergroup.mjs.map +1 -0
  281. package/fesm2022/primeng-multiselect.mjs +2519 -0
  282. package/fesm2022/primeng-multiselect.mjs.map +1 -0
  283. package/fesm2022/primeng-orderlist.mjs +890 -0
  284. package/fesm2022/primeng-orderlist.mjs.map +1 -0
  285. package/fesm2022/primeng-organizationchart.mjs +520 -0
  286. package/fesm2022/primeng-organizationchart.mjs.map +1 -0
  287. package/fesm2022/primeng-overlay.mjs +776 -0
  288. package/fesm2022/primeng-overlay.mjs.map +1 -0
  289. package/fesm2022/primeng-overlaybadge.mjs +151 -0
  290. package/fesm2022/primeng-overlaybadge.mjs.map +1 -0
  291. package/fesm2022/primeng-paginator.mjs +802 -0
  292. package/fesm2022/primeng-paginator.mjs.map +1 -0
  293. package/fesm2022/primeng-panel.mjs +595 -0
  294. package/fesm2022/primeng-panel.mjs.map +1 -0
  295. package/fesm2022/primeng-panelmenu.mjs +1442 -0
  296. package/fesm2022/primeng-panelmenu.mjs.map +1 -0
  297. package/fesm2022/primeng-password.mjs +1156 -0
  298. package/fesm2022/primeng-password.mjs.map +1 -0
  299. package/fesm2022/primeng-picklist.mjs +2057 -0
  300. package/fesm2022/primeng-picklist.mjs.map +1 -0
  301. package/fesm2022/primeng-popover.mjs +611 -0
  302. package/fesm2022/primeng-popover.mjs.map +1 -0
  303. package/fesm2022/primeng-progressbar.mjs +196 -0
  304. package/fesm2022/primeng-progressbar.mjs.map +1 -0
  305. package/fesm2022/primeng-progressspinner.mjs +140 -0
  306. package/fesm2022/primeng-progressspinner.mjs.map +1 -0
  307. package/fesm2022/primeng-radiobutton.mjs +358 -0
  308. package/fesm2022/primeng-radiobutton.mjs.map +1 -0
  309. package/fesm2022/primeng-rating.mjs +388 -0
  310. package/fesm2022/primeng-rating.mjs.map +1 -0
  311. package/fesm2022/primeng-ripple.mjs +190 -0
  312. package/fesm2022/primeng-ripple.mjs.map +1 -0
  313. package/fesm2022/primeng-scroller.mjs +1306 -0
  314. package/fesm2022/primeng-scroller.mjs.map +1 -0
  315. package/fesm2022/primeng-scrollpanel.mjs +560 -0
  316. package/fesm2022/primeng-scrollpanel.mjs.map +1 -0
  317. package/fesm2022/primeng-scrolltop.mjs +339 -0
  318. package/fesm2022/primeng-scrolltop.mjs.map +1 -0
  319. package/fesm2022/primeng-select.mjs +2250 -0
  320. package/fesm2022/primeng-select.mjs.map +1 -0
  321. package/fesm2022/primeng-selectbutton.mjs +413 -0
  322. package/fesm2022/primeng-selectbutton.mjs.map +1 -0
  323. package/fesm2022/primeng-skeleton.mjs +154 -0
  324. package/fesm2022/primeng-skeleton.mjs.map +1 -0
  325. package/fesm2022/primeng-slider.mjs +843 -0
  326. package/fesm2022/primeng-slider.mjs.map +1 -0
  327. package/fesm2022/primeng-speeddial.mjs +901 -0
  328. package/fesm2022/primeng-speeddial.mjs.map +1 -0
  329. package/fesm2022/primeng-splitbutton.mjs +598 -0
  330. package/fesm2022/primeng-splitbutton.mjs.map +1 -0
  331. package/fesm2022/primeng-splitter.mjs +587 -0
  332. package/fesm2022/primeng-splitter.mjs.map +1 -0
  333. package/fesm2022/primeng-stepper.mjs +683 -0
  334. package/fesm2022/primeng-stepper.mjs.map +1 -0
  335. package/fesm2022/primeng-steps.mjs +424 -0
  336. package/fesm2022/primeng-steps.mjs.map +1 -0
  337. package/fesm2022/primeng-styleclass.mjs +354 -0
  338. package/fesm2022/primeng-styleclass.mjs.map +1 -0
  339. package/fesm2022/primeng-table.mjs +7540 -0
  340. package/fesm2022/primeng-table.mjs.map +1 -0
  341. package/fesm2022/primeng-tabs.mjs +794 -0
  342. package/fesm2022/primeng-tabs.mjs.map +1 -0
  343. package/fesm2022/primeng-tag.mjs +176 -0
  344. package/fesm2022/primeng-tag.mjs.map +1 -0
  345. package/fesm2022/primeng-terminal.mjs +254 -0
  346. package/fesm2022/primeng-terminal.mjs.map +1 -0
  347. package/fesm2022/primeng-textarea.mjs +197 -0
  348. package/fesm2022/primeng-textarea.mjs.map +1 -0
  349. package/fesm2022/primeng-tieredmenu.mjs +1457 -0
  350. package/fesm2022/primeng-tieredmenu.mjs.map +1 -0
  351. package/fesm2022/primeng-timeline.mjs +228 -0
  352. package/fesm2022/primeng-timeline.mjs.map +1 -0
  353. package/fesm2022/primeng-toast.mjs +751 -0
  354. package/fesm2022/primeng-toast.mjs.map +1 -0
  355. package/fesm2022/primeng-togglebutton.mjs +361 -0
  356. package/fesm2022/primeng-togglebutton.mjs.map +1 -0
  357. package/fesm2022/primeng-toggleswitch.mjs +330 -0
  358. package/fesm2022/primeng-toggleswitch.mjs.map +1 -0
  359. package/fesm2022/primeng-toolbar.mjs +189 -0
  360. package/fesm2022/primeng-toolbar.mjs.map +1 -0
  361. package/fesm2022/primeng-tooltip.mjs +757 -0
  362. package/fesm2022/primeng-tooltip.mjs.map +1 -0
  363. package/fesm2022/primeng-tree.mjs +2188 -0
  364. package/fesm2022/primeng-tree.mjs.map +1 -0
  365. package/fesm2022/primeng-treeselect.mjs +1328 -0
  366. package/fesm2022/primeng-treeselect.mjs.map +1 -0
  367. package/fesm2022/primeng-treetable.mjs +5080 -0
  368. package/fesm2022/primeng-treetable.mjs.map +1 -0
  369. package/fesm2022/primeng-ts-helpers.mjs +4 -0
  370. package/fesm2022/primeng-ts-helpers.mjs.map +1 -0
  371. package/fesm2022/primeng-usestyle.mjs +52 -0
  372. package/fesm2022/primeng-usestyle.mjs.map +1 -0
  373. package/fesm2022/primeng-utils.mjs +332 -0
  374. package/fesm2022/primeng-utils.mjs.map +1 -0
  375. package/fesm2022/primeng.mjs +6 -0
  376. package/fesm2022/primeng.mjs.map +1 -0
  377. package/fieldset/index.d.ts +217 -0
  378. package/fileupload/index.d.ts +786 -0
  379. package/floatlabel/index.d.ts +59 -0
  380. package/fluid/index.d.ts +48 -0
  381. package/focustrap/index.d.ts +36 -0
  382. package/galleria/index.d.ts +710 -0
  383. package/iconfield/index.d.ts +64 -0
  384. package/icons/angledoubledown/index.d.ts +9 -0
  385. package/icons/angledoubleleft/index.d.ts +9 -0
  386. package/icons/angledoubleright/index.d.ts +9 -0
  387. package/icons/angledoubleup/index.d.ts +9 -0
  388. package/icons/angledown/index.d.ts +9 -0
  389. package/icons/angleleft/index.d.ts +9 -0
  390. package/icons/angleright/index.d.ts +9 -0
  391. package/icons/angleup/index.d.ts +9 -0
  392. package/icons/arrowdown/index.d.ts +12 -0
  393. package/icons/arrowdownleft/index.d.ts +9 -0
  394. package/icons/arrowdownright/index.d.ts +9 -0
  395. package/icons/arrowleft/index.d.ts +11 -0
  396. package/icons/arrowright/index.d.ts +9 -0
  397. package/icons/arrowup/index.d.ts +11 -0
  398. package/icons/ban/index.d.ts +11 -0
  399. package/icons/bars/index.d.ts +9 -0
  400. package/icons/baseicon/index.d.ts +33 -0
  401. package/icons/blank/index.d.ts +9 -0
  402. package/icons/calendar/index.d.ts +9 -0
  403. package/icons/caretleft/index.d.ts +9 -0
  404. package/icons/caretright/index.d.ts +9 -0
  405. package/icons/check/index.d.ts +9 -0
  406. package/icons/chevrondown/index.d.ts +9 -0
  407. package/icons/chevronleft/index.d.ts +9 -0
  408. package/icons/chevronright/index.d.ts +9 -0
  409. package/icons/chevronup/index.d.ts +9 -0
  410. package/icons/exclamationtriangle/index.d.ts +12 -0
  411. package/icons/eye/index.d.ts +9 -0
  412. package/icons/eyeslash/index.d.ts +11 -0
  413. package/icons/filter/index.d.ts +11 -0
  414. package/icons/filterfill/index.d.ts +9 -0
  415. package/icons/filterslash/index.d.ts +11 -0
  416. package/icons/home/index.d.ts +11 -0
  417. package/icons/index.d.ts +53 -0
  418. package/icons/infocircle/index.d.ts +11 -0
  419. package/icons/minus/index.d.ts +9 -0
  420. package/icons/pencil/index.d.ts +11 -0
  421. package/icons/plus/index.d.ts +11 -0
  422. package/icons/refresh/index.d.ts +11 -0
  423. package/icons/search/index.d.ts +11 -0
  424. package/icons/searchminus/index.d.ts +11 -0
  425. package/icons/searchplus/index.d.ts +11 -0
  426. package/icons/sortalt/index.d.ts +11 -0
  427. package/icons/sortamountdown/index.d.ts +11 -0
  428. package/icons/sortamountupalt/index.d.ts +11 -0
  429. package/icons/spinner/index.d.ts +11 -0
  430. package/icons/star/index.d.ts +11 -0
  431. package/icons/starfill/index.d.ts +11 -0
  432. package/icons/thlarge/index.d.ts +11 -0
  433. package/icons/times/index.d.ts +9 -0
  434. package/icons/timescircle/index.d.ts +11 -0
  435. package/icons/trash/index.d.ts +11 -0
  436. package/icons/undo/index.d.ts +11 -0
  437. package/icons/upload/index.d.ts +11 -0
  438. package/icons/windowmaximize/index.d.ts +11 -0
  439. package/icons/windowminimize/index.d.ts +11 -0
  440. package/iftalabel/index.d.ts +50 -0
  441. package/image/index.d.ts +376 -0
  442. package/imagecompare/index.d.ts +93 -0
  443. package/index.d.ts +2 -0
  444. package/inplace/index.d.ts +183 -0
  445. package/inputgroup/index.d.ts +58 -0
  446. package/inputgroupaddon/index.d.ts +45 -0
  447. package/inputicon/index.d.ts +36 -0
  448. package/inputmask/index.d.ts +282 -0
  449. package/inputnumber/index.d.ts +466 -0
  450. package/inputotp/index.d.ts +209 -0
  451. package/inputtext/index.d.ts +89 -0
  452. package/keyfilter/index.d.ts +66 -0
  453. package/knob/index.d.ts +206 -0
  454. package/listbox/index.d.ts +802 -0
  455. package/megamenu/index.d.ts +408 -0
  456. package/menu/index.d.ts +341 -0
  457. package/menubar/index.d.ts +418 -0
  458. package/message/index.d.ts +195 -0
  459. package/metergroup/index.d.ts +291 -0
  460. package/multiselect/index.d.ts +1060 -0
  461. package/orderlist/index.d.ts +464 -0
  462. package/organizationchart/index.d.ts +285 -0
  463. package/overlay/index.d.ts +255 -0
  464. package/overlaybadge/index.d.ts +73 -0
  465. package/package.json +725 -0
  466. package/paginator/index.d.ts +393 -0
  467. package/panel/index.d.ts +266 -0
  468. package/panelmenu/index.d.ts +380 -0
  469. package/password/index.d.ts +436 -0
  470. package/picklist/index.d.ts +906 -0
  471. package/popover/index.d.ts +176 -0
  472. package/progressbar/index.d.ts +112 -0
  473. package/progressspinner/index.d.ts +85 -0
  474. package/radiobutton/index.d.ts +201 -0
  475. package/rating/index.d.ts +218 -0
  476. package/ripple/index.d.ts +62 -0
  477. package/scroller/index.d.ts +614 -0
  478. package/scrollpanel/index.d.ts +161 -0
  479. package/scrolltop/index.d.ts +158 -0
  480. package/select/index.d.ts +923 -0
  481. package/selectbutton/index.d.ts +221 -0
  482. package/skeleton/index.d.ts +96 -0
  483. package/slider/index.d.ts +255 -0
  484. package/speeddial/index.d.ts +454 -0
  485. package/splitbutton/index.d.ts +306 -0
  486. package/splitter/index.d.ts +239 -0
  487. package/stepper/index.d.ts +297 -0
  488. package/steps/index.d.ts +152 -0
  489. package/styleclass/index.d.ts +115 -0
  490. package/table/index.d.ts +2700 -0
  491. package/tabs/index.d.ts +321 -0
  492. package/tag/index.d.ts +114 -0
  493. package/terminal/index.d.ts +134 -0
  494. package/textarea/index.d.ts +108 -0
  495. package/tieredmenu/index.d.ts +430 -0
  496. package/timeline/index.d.ts +170 -0
  497. package/toast/index.d.ts +320 -0
  498. package/togglebutton/index.d.ts +243 -0
  499. package/toggleswitch/index.d.ts +188 -0
  500. package/toolbar/index.d.ts +118 -0
  501. package/tooltip/index.d.ts +247 -0
  502. package/tree/index.d.ts +847 -0
  503. package/treeselect/index.d.ts +655 -0
  504. package/treetable/index.d.ts +1727 -0
  505. package/ts-helpers/index.d.ts +6 -0
  506. package/usestyle/index.d.ts +15 -0
  507. package/utils/index.d.ts +43 -0
@@ -0,0 +1,1410 @@
1
+ import { trigger, transition, style as style$1, animate } from '@angular/animations';
2
+ import * as i1 from '@angular/common';
3
+ import { CommonModule, isPlatformBrowser } from '@angular/common';
4
+ import * as i0 from '@angular/core';
5
+ import { Injectable, EventEmitter, inject, forwardRef, numberAttribute, booleanAttribute, ViewChild, Output, Input, Inject, ViewEncapsulation, Component, input, signal, computed, effect, ContentChildren, ContentChild, ChangeDetectionStrategy, NgModule } from '@angular/core';
6
+ import * as i2 from '@angular/router';
7
+ import { RouterModule } from '@angular/router';
8
+ import { resolve, isNotEmpty, getOffset, getViewport, getHiddenElementOuterWidth, getOuterWidth, calculateScrollbarWidth, uuid, isIOS, isAndroid, focus, isPrintableCharacter, isEmpty, findSingle, getHiddenElementOuterHeight, findLastIndex } from '@primeuix/utils';
9
+ import * as i5 from 'primeng/api';
10
+ import { SharedModule, PrimeTemplate } from 'primeng/api';
11
+ import * as i4 from 'primeng/badge';
12
+ import { BadgeModule } from 'primeng/badge';
13
+ import { BaseComponent } from 'primeng/basecomponent';
14
+ import { DomHandler } from 'primeng/dom';
15
+ import { AngleRightIcon } from 'primeng/icons';
16
+ import { Ripple } from 'primeng/ripple';
17
+ import * as i3 from 'primeng/tooltip';
18
+ import { TooltipModule } from 'primeng/tooltip';
19
+ import { ZIndexUtils } from 'primeng/utils';
20
+ import { BaseStyle } from 'primeng/base';
21
+ import { style } from '@primeuix/styles/contextmenu';
22
+
23
+ const inlineStyles = {
24
+ root: { position: 'absolute' }
25
+ };
26
+ const classes = {
27
+ root: () => ['p-contextmenu p-component'],
28
+ rootList: 'p-contextmenu-root-list',
29
+ item: ({ instance, processedItem }) => [
30
+ 'p-contextmenu-item',
31
+ {
32
+ 'p-contextmenu-item-active': instance.isItemActive(processedItem),
33
+ 'p-focus': instance.isItemFocused(processedItem),
34
+ 'p-disabled': instance.isItemDisabled(processedItem),
35
+ 'p-contextmenu-mobile': instance.queryMatches
36
+ }
37
+ ],
38
+ itemContent: 'p-contextmenu-item-content',
39
+ itemLink: 'p-contextmenu-item-link',
40
+ itemIcon: 'p-contextmenu-item-icon',
41
+ itemLabel: 'p-contextmenu-item-label',
42
+ submenuIcon: 'p-contextmenu-submenu-icon',
43
+ submenu: 'p-contextmenu-submenu',
44
+ separator: 'p-contextmenu-separator'
45
+ };
46
+ class ContextMenuStyle extends BaseStyle {
47
+ name = 'contextmenu';
48
+ theme = style;
49
+ classes = classes;
50
+ inlineStyles = inlineStyles;
51
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: ContextMenuStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
52
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: ContextMenuStyle });
53
+ }
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: ContextMenuStyle, decorators: [{
55
+ type: Injectable
56
+ }] });
57
+ /**
58
+ *
59
+ * ContextMenu displays an overlay menu on right click of its target. Note that components like DataTable has special integration with ContextMenu.
60
+ * Refer to documentation of the individual documentation of the with context menu support.
61
+ *
62
+ * [Live Demo](https://www.primeng.org/contextmenu/)
63
+ *
64
+ * @module contextmenustyle
65
+ *
66
+ */
67
+ var ContextMenuClasses;
68
+ (function (ContextMenuClasses) {
69
+ /**
70
+ * Class name of the root element
71
+ */
72
+ ContextMenuClasses["root"] = "p-contextmenu";
73
+ /**
74
+ * Class name of the root list element
75
+ */
76
+ ContextMenuClasses["rootList"] = "p-contextmenu-root-list";
77
+ /**
78
+ * Class name of the item element
79
+ */
80
+ ContextMenuClasses["item"] = "p-contextmenu-item";
81
+ /**
82
+ * Class name of the item content element
83
+ */
84
+ ContextMenuClasses["itemContent"] = "p-contextmenu-item-content";
85
+ /**
86
+ * Class name of the item link element
87
+ */
88
+ ContextMenuClasses["itemLink"] = "p-contextmenu-item-link";
89
+ /**
90
+ * Class name of the item icon element
91
+ */
92
+ ContextMenuClasses["itemIcon"] = "p-contextmenu-item-icon";
93
+ /**
94
+ * Class name of the item label element
95
+ */
96
+ ContextMenuClasses["itemLabel"] = "p-contextmenu-item-label";
97
+ /**
98
+ * Class name of the submenu icon element
99
+ */
100
+ ContextMenuClasses["submenuIcon"] = "p-contextmenu-submenu-icon";
101
+ /**
102
+ * Class name of the submenu element
103
+ */
104
+ ContextMenuClasses["submenu"] = "p-contextmenu-submenu";
105
+ /**
106
+ * Class name of the separator element
107
+ */
108
+ ContextMenuClasses["separator"] = "p-contextmenu-separator";
109
+ })(ContextMenuClasses || (ContextMenuClasses = {}));
110
+
111
+ class ContextMenuSub extends BaseComponent {
112
+ contextMenu;
113
+ visible = false;
114
+ items;
115
+ itemTemplate;
116
+ root = false;
117
+ autoZIndex = true;
118
+ baseZIndex = 0;
119
+ popup;
120
+ menuId;
121
+ ariaLabel;
122
+ ariaLabelledBy;
123
+ level = 0;
124
+ focusedItemId;
125
+ activeItemPath;
126
+ tabindex = 0;
127
+ itemClick = new EventEmitter();
128
+ itemMouseEnter = new EventEmitter();
129
+ menuFocus = new EventEmitter();
130
+ menuBlur = new EventEmitter();
131
+ menuKeydown = new EventEmitter();
132
+ sublistViewChild;
133
+ _componentStyle = inject(ContextMenuStyle);
134
+ constructor(contextMenu) {
135
+ super();
136
+ this.contextMenu = contextMenu;
137
+ }
138
+ getItemProp(processedItem, name, params = null) {
139
+ return processedItem && processedItem.item ? resolve(processedItem.item[name], params) : undefined;
140
+ }
141
+ getItemId(processedItem) {
142
+ return processedItem.item && processedItem.item?.id ? processedItem.item.id : `${this.menuId}_${processedItem.key}`;
143
+ }
144
+ getItemKey(processedItem) {
145
+ return this.getItemId(processedItem);
146
+ }
147
+ getItemLabel(processedItem) {
148
+ return this.getItemProp(processedItem, 'label');
149
+ }
150
+ getAriaSetSize() {
151
+ return this.items.filter((processedItem) => this.isItemVisible(processedItem) && !this.getItemProp(processedItem, 'separator')).length;
152
+ }
153
+ getAriaPosInset(index) {
154
+ return index - this.items.slice(0, index).filter((processedItem) => this.isItemVisible(processedItem) && this.getItemProp(processedItem, 'separator')).length + 1;
155
+ }
156
+ isItemVisible(processedItem) {
157
+ return this.getItemProp(processedItem, 'visible') !== false;
158
+ }
159
+ isItemActive(processedItem) {
160
+ if (this.activeItemPath) {
161
+ return this.activeItemPath.some((path) => path.key === processedItem.key);
162
+ }
163
+ }
164
+ isItemDisabled(processedItem) {
165
+ return this.getItemProp(processedItem, 'disabled');
166
+ }
167
+ isItemFocused(processedItem) {
168
+ return this.focusedItemId === this.getItemId(processedItem);
169
+ }
170
+ isItemGroup(processedItem) {
171
+ return isNotEmpty(processedItem.items);
172
+ }
173
+ onItemMouseEnter(param) {
174
+ const { event, processedItem } = param;
175
+ this.itemMouseEnter.emit({ originalEvent: event, processedItem });
176
+ }
177
+ onItemClick(event, processedItem) {
178
+ this.getItemProp(processedItem, 'command', { originalEvent: event, item: processedItem.item });
179
+ this.itemClick.emit({ originalEvent: event, processedItem, isFocus: true });
180
+ }
181
+ onEnter(event, sublist) {
182
+ if (event.fromState === 'void' && event.toState) {
183
+ const sublist = event.element;
184
+ this.position(sublist);
185
+ }
186
+ }
187
+ position(sublist) {
188
+ const parentItem = sublist.parentElement.parentElement;
189
+ const containerOffset = getOffset(sublist.parentElement.parentElement);
190
+ const viewport = getViewport();
191
+ const sublistWidth = sublist.offsetParent ? sublist.offsetWidth : getHiddenElementOuterWidth(sublist);
192
+ const itemOuterWidth = getOuterWidth(parentItem.children[0]);
193
+ sublist.style.top = '0px';
194
+ if (parseInt(containerOffset.left, 10) + itemOuterWidth + sublistWidth > viewport.width - calculateScrollbarWidth()) {
195
+ sublist.style.left = -1 * sublistWidth + 'px';
196
+ }
197
+ else {
198
+ sublist.style.left = itemOuterWidth + 'px';
199
+ }
200
+ }
201
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: ContextMenuSub, deps: [{ token: forwardRef(() => ContextMenu) }], target: i0.ɵɵFactoryTarget.Component });
202
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.2.4", type: ContextMenuSub, isStandalone: true, selector: "p-contextMenuSub, p-contextmenu-sub", inputs: { visible: ["visible", "visible", booleanAttribute], items: "items", itemTemplate: "itemTemplate", root: ["root", "root", booleanAttribute], autoZIndex: ["autoZIndex", "autoZIndex", booleanAttribute], baseZIndex: ["baseZIndex", "baseZIndex", numberAttribute], popup: ["popup", "popup", booleanAttribute], menuId: "menuId", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", level: ["level", "level", numberAttribute], focusedItemId: "focusedItemId", activeItemPath: "activeItemPath", tabindex: ["tabindex", "tabindex", numberAttribute] }, outputs: { itemClick: "itemClick", itemMouseEnter: "itemMouseEnter", menuFocus: "menuFocus", menuBlur: "menuBlur", menuKeydown: "menuKeydown" }, providers: [ContextMenuStyle], viewQueries: [{ propertyName: "sublistViewChild", first: true, predicate: ["sublist"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
203
+ <ul
204
+ *ngIf="root ? true : visible"
205
+ #sublist
206
+ role="menu"
207
+ [class]="root ? cx('rootList') : cx('submenu')"
208
+ [@overlayAnimation]="visible"
209
+ (@overlayAnimation.start)="onEnter($event, sublist)"
210
+ [attr.id]="menuId + '_list'"
211
+ [tabindex]="tabindex"
212
+ [attr.aria-label]="ariaLabel"
213
+ [attr.aria-labelledBy]="ariaLabelledBy"
214
+ [attr.aria-activedescendant]="focusedItemId"
215
+ [attr.aria-orientation]="'vertical'"
216
+ [attr.data-pc-section]="'menu'"
217
+ (keydown)="menuKeydown.emit($event)"
218
+ (focus)="menuFocus.emit($event)"
219
+ (blur)="menuBlur.emit($event)"
220
+ >
221
+ <ng-template ngFor let-processedItem [ngForOf]="items" let-index="index">
222
+ <li
223
+ *ngIf="isItemVisible(processedItem) && getItemProp(processedItem, 'separator')"
224
+ [attr.id]="getItemId(processedItem)"
225
+ [style]="getItemProp(processedItem, 'style')"
226
+ [class]="cn(cx('separator'), getItemProp(processedItem, 'styleClass'))"
227
+ role="separator"
228
+ [attr.data-pc-section]="'separator'"
229
+ ></li>
230
+ <li
231
+ #listItem
232
+ *ngIf="isItemVisible(processedItem) && !getItemProp(processedItem, 'separator')"
233
+ role="menuitem"
234
+ [attr.id]="getItemId(processedItem)"
235
+ [attr.data-pc-section]="'menuitem'"
236
+ [attr.data-p-highlight]="isItemActive(processedItem)"
237
+ [attr.data-p-focused]="isItemFocused(processedItem)"
238
+ [attr.data-p-disabled]="isItemDisabled(processedItem)"
239
+ [attr.aria-label]="getItemLabel(processedItem)"
240
+ [attr.aria-disabled]="isItemDisabled(processedItem) || undefined"
241
+ [attr.aria-haspopup]="isItemGroup(processedItem) && !getItemProp(processedItem, 'to') ? 'menu' : undefined"
242
+ [attr.aria-expanded]="isItemGroup(processedItem) ? isItemActive(processedItem) : undefined"
243
+ [attr.aria-level]="level + 1"
244
+ [attr.aria-setsize]="getAriaSetSize()"
245
+ [attr.aria-posinset]="getAriaPosInset(index)"
246
+ [style]="getItemProp(processedItem, 'style')"
247
+ [class]="cn(cx('item', { instance: this, processedItem }), getItemProp(processedItem, 'styleClass'))"
248
+ pTooltip
249
+ [tooltipOptions]="getItemProp(processedItem, 'tooltipOptions')"
250
+ >
251
+ <div [attr.data-pc-section]="'content'" [class]="cx('itemContent')" (click)="onItemClick($event, processedItem)" (mouseenter)="onItemMouseEnter({ $event, processedItem })">
252
+ <ng-container *ngIf="!itemTemplate">
253
+ <a
254
+ *ngIf="!getItemProp(processedItem, 'routerLink')"
255
+ [attr.href]="getItemProp(processedItem, 'url')"
256
+ [attr.data-automationid]="getItemProp(processedItem, 'automationId')"
257
+ [attr.data-pc-section]="'action'"
258
+ [target]="getItemProp(processedItem, 'target')"
259
+ [class]="cx('itemLink')"
260
+ [attr.tabindex]="-1"
261
+ pRipple
262
+ >
263
+ <span
264
+ *ngIf="getItemProp(processedItem, 'icon')"
265
+ [class]="cn(cx('itemIcon'), getItemProp(processedItem, 'icon'))"
266
+ [ngStyle]="getItemProp(processedItem, 'iconStyle')"
267
+ [attr.data-pc-section]="'icon'"
268
+ [attr.aria-hidden]="true"
269
+ [attr.tabindex]="-1"
270
+ >
271
+ </span>
272
+ <span *ngIf="getItemProp(processedItem, 'escape'); else htmlLabel" [class]="cx('itemLabel')" [attr.data-pc-section]="'label'">
273
+ {{ getItemLabel(processedItem) }}
274
+ </span>
275
+ <ng-template #htmlLabel> <span [class]="cx('itemLabel')" [innerHTML]="getItemLabel(processedItem)" [attr.data-pc-section]="'label'"></span> </ng-template>
276
+ <p-badge *ngIf="getItemProp(processedItem, 'badge')" [class]="getItemProp(processedItem, 'badgeStyleClass')" [value]="getItemProp(processedItem, 'badge')" />
277
+ <ng-container *ngIf="isItemGroup(processedItem)">
278
+ <svg data-p-icon="angle-right" *ngIf="!contextMenu.submenuIconTemplate && !contextMenu._submenuIconTemplate" [class]="cx('submenuIcon')" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true" />
279
+ <ng-template
280
+ *ngTemplateOutlet="contextMenu.submenuIconTemplate || contextMenu._submenuIconTemplate; context: { class: 'p-contextmenu-submenu-icon' }"
281
+ [attr.data-pc-section]="'submenuicon'"
282
+ [attr.aria-hidden]="true"
283
+ ></ng-template>
284
+ </ng-container>
285
+ </a>
286
+ <a
287
+ *ngIf="getItemProp(processedItem, 'routerLink')"
288
+ [routerLink]="getItemProp(processedItem, 'routerLink')"
289
+ [attr.data-automationid]="getItemProp(processedItem, 'automationId')"
290
+ [attr.tabindex]="-1"
291
+ [attr.data-pc-section]="'action'"
292
+ [queryParams]="getItemProp(processedItem, 'queryParams')"
293
+ [routerLinkActiveOptions]="getItemProp(processedItem, 'routerLinActiveOptions') || { exact: false }"
294
+ [target]="getItemProp(processedItem, 'target')"
295
+ [class]="cx('itemLink')"
296
+ [fragment]="getItemProp(processedItem, 'fragment')"
297
+ [queryParamsHandling]="getItemProp(processedItem, 'queryParamsHandling')"
298
+ [preserveFragment]="getItemProp(processedItem, 'preserveFragment')"
299
+ [skipLocationChange]="getItemProp(processedItem, 'skipLocationChange')"
300
+ [replaceUrl]="getItemProp(processedItem, 'replaceUrl')"
301
+ [state]="getItemProp(processedItem, 'state')"
302
+ pRipple
303
+ >
304
+ <span
305
+ *ngIf="getItemProp(processedItem, 'icon')"
306
+ [class]="cn(cx('itemIcon'), getItemProp(processedItem, 'icon'))"
307
+ [ngStyle]="getItemProp(processedItem, 'iconStyle')"
308
+ [attr.data-pc-section]="'icon'"
309
+ [attr.aria-hidden]="true"
310
+ [attr.tabindex]="-1"
311
+ >
312
+ </span>
313
+ <span *ngIf="getItemProp(processedItem, 'escape'); else htmlLabel" [class]="cx('itemLabel')" [attr.data-pc-section]="'label'">
314
+ {{ getItemLabel(processedItem) }}
315
+ </span>
316
+ <ng-template #htmlLabel>
317
+ <span [class]="cx('itemLabel')" [innerHTML]="getItemLabel(processedItem)" [attr.data-pc-section]="'label'"></span>
318
+ </ng-template>
319
+ <p-badge *ngIf="getItemProp(processedItem, 'badge')" [class]="getItemProp(processedItem, 'badgeStyleClass')" [value]="getItemProp(processedItem, 'badge')" />
320
+ <ng-container *ngIf="isItemGroup(processedItem)">
321
+ <svg data-p-icon="angle-right" *ngIf="!contextMenu.submenuIconTemplate && !contextMenu._submenuIconTemplate" [class]="cx('submenuIcon')" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true" />
322
+ <ng-template
323
+ *ngTemplateOutlet="!contextMenu.submenuIconTemplate || !contextMenu._submenuIconTemplate; context: { class: 'p-contextmenu-submenu-icon' }"
324
+ [attr.data-pc-section]="'submenuicon'"
325
+ [attr.aria-hidden]="true"
326
+ ></ng-template>
327
+ </ng-container>
328
+ </a>
329
+ </ng-container>
330
+ <ng-container *ngIf="itemTemplate">
331
+ <ng-template *ngTemplateOutlet="itemTemplate; context: { $implicit: processedItem.item }"></ng-template>
332
+ </ng-container>
333
+ </div>
334
+
335
+ <p-contextmenu-sub
336
+ *ngIf="isItemVisible(processedItem) && isItemGroup(processedItem)"
337
+ [items]="processedItem.items"
338
+ [itemTemplate]="itemTemplate"
339
+ [menuId]="menuId"
340
+ [visible]="isItemActive(processedItem) && isItemGroup(processedItem)"
341
+ [activeItemPath]="activeItemPath"
342
+ [focusedItemId]="focusedItemId"
343
+ [level]="level + 1"
344
+ (itemClick)="itemClick.emit($event)"
345
+ (itemMouseEnter)="onItemMouseEnter($event)"
346
+ />
347
+ </li>
348
+ </ng-template>
349
+ </ul>
350
+ `, isInline: true, dependencies: [{ kind: "component", type: ContextMenuSub, selector: "p-contextMenuSub, p-contextmenu-sub", inputs: ["visible", "items", "itemTemplate", "root", "autoZIndex", "baseZIndex", "popup", "menuId", "ariaLabel", "ariaLabelledBy", "level", "focusedItemId", "activeItemPath", "tabindex"], outputs: ["itemClick", "itemMouseEnter", "menuFocus", "menuBlur", "menuKeydown"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "component", type: AngleRightIcon, selector: "[data-p-icon=\"angle-right\"]" }, { kind: "ngmodule", type: BadgeModule }, { kind: "component", type: i4.Badge, selector: "p-badge", inputs: ["styleClass", "badgeSize", "size", "severity", "value", "badgeDisabled"] }, { kind: "ngmodule", type: SharedModule }], animations: [trigger('overlayAnimation', [transition(':enter', [style$1({ opacity: 0 })]), transition(':leave', [style$1({ opacity: 0 })])])], encapsulation: i0.ViewEncapsulation.None });
351
+ }
352
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: ContextMenuSub, decorators: [{
353
+ type: Component,
354
+ args: [{
355
+ selector: 'p-contextMenuSub, p-contextmenu-sub',
356
+ standalone: true,
357
+ imports: [CommonModule, RouterModule, Ripple, TooltipModule, AngleRightIcon, BadgeModule, SharedModule],
358
+ template: `
359
+ <ul
360
+ *ngIf="root ? true : visible"
361
+ #sublist
362
+ role="menu"
363
+ [class]="root ? cx('rootList') : cx('submenu')"
364
+ [@overlayAnimation]="visible"
365
+ (@overlayAnimation.start)="onEnter($event, sublist)"
366
+ [attr.id]="menuId + '_list'"
367
+ [tabindex]="tabindex"
368
+ [attr.aria-label]="ariaLabel"
369
+ [attr.aria-labelledBy]="ariaLabelledBy"
370
+ [attr.aria-activedescendant]="focusedItemId"
371
+ [attr.aria-orientation]="'vertical'"
372
+ [attr.data-pc-section]="'menu'"
373
+ (keydown)="menuKeydown.emit($event)"
374
+ (focus)="menuFocus.emit($event)"
375
+ (blur)="menuBlur.emit($event)"
376
+ >
377
+ <ng-template ngFor let-processedItem [ngForOf]="items" let-index="index">
378
+ <li
379
+ *ngIf="isItemVisible(processedItem) && getItemProp(processedItem, 'separator')"
380
+ [attr.id]="getItemId(processedItem)"
381
+ [style]="getItemProp(processedItem, 'style')"
382
+ [class]="cn(cx('separator'), getItemProp(processedItem, 'styleClass'))"
383
+ role="separator"
384
+ [attr.data-pc-section]="'separator'"
385
+ ></li>
386
+ <li
387
+ #listItem
388
+ *ngIf="isItemVisible(processedItem) && !getItemProp(processedItem, 'separator')"
389
+ role="menuitem"
390
+ [attr.id]="getItemId(processedItem)"
391
+ [attr.data-pc-section]="'menuitem'"
392
+ [attr.data-p-highlight]="isItemActive(processedItem)"
393
+ [attr.data-p-focused]="isItemFocused(processedItem)"
394
+ [attr.data-p-disabled]="isItemDisabled(processedItem)"
395
+ [attr.aria-label]="getItemLabel(processedItem)"
396
+ [attr.aria-disabled]="isItemDisabled(processedItem) || undefined"
397
+ [attr.aria-haspopup]="isItemGroup(processedItem) && !getItemProp(processedItem, 'to') ? 'menu' : undefined"
398
+ [attr.aria-expanded]="isItemGroup(processedItem) ? isItemActive(processedItem) : undefined"
399
+ [attr.aria-level]="level + 1"
400
+ [attr.aria-setsize]="getAriaSetSize()"
401
+ [attr.aria-posinset]="getAriaPosInset(index)"
402
+ [style]="getItemProp(processedItem, 'style')"
403
+ [class]="cn(cx('item', { instance: this, processedItem }), getItemProp(processedItem, 'styleClass'))"
404
+ pTooltip
405
+ [tooltipOptions]="getItemProp(processedItem, 'tooltipOptions')"
406
+ >
407
+ <div [attr.data-pc-section]="'content'" [class]="cx('itemContent')" (click)="onItemClick($event, processedItem)" (mouseenter)="onItemMouseEnter({ $event, processedItem })">
408
+ <ng-container *ngIf="!itemTemplate">
409
+ <a
410
+ *ngIf="!getItemProp(processedItem, 'routerLink')"
411
+ [attr.href]="getItemProp(processedItem, 'url')"
412
+ [attr.data-automationid]="getItemProp(processedItem, 'automationId')"
413
+ [attr.data-pc-section]="'action'"
414
+ [target]="getItemProp(processedItem, 'target')"
415
+ [class]="cx('itemLink')"
416
+ [attr.tabindex]="-1"
417
+ pRipple
418
+ >
419
+ <span
420
+ *ngIf="getItemProp(processedItem, 'icon')"
421
+ [class]="cn(cx('itemIcon'), getItemProp(processedItem, 'icon'))"
422
+ [ngStyle]="getItemProp(processedItem, 'iconStyle')"
423
+ [attr.data-pc-section]="'icon'"
424
+ [attr.aria-hidden]="true"
425
+ [attr.tabindex]="-1"
426
+ >
427
+ </span>
428
+ <span *ngIf="getItemProp(processedItem, 'escape'); else htmlLabel" [class]="cx('itemLabel')" [attr.data-pc-section]="'label'">
429
+ {{ getItemLabel(processedItem) }}
430
+ </span>
431
+ <ng-template #htmlLabel> <span [class]="cx('itemLabel')" [innerHTML]="getItemLabel(processedItem)" [attr.data-pc-section]="'label'"></span> </ng-template>
432
+ <p-badge *ngIf="getItemProp(processedItem, 'badge')" [class]="getItemProp(processedItem, 'badgeStyleClass')" [value]="getItemProp(processedItem, 'badge')" />
433
+ <ng-container *ngIf="isItemGroup(processedItem)">
434
+ <svg data-p-icon="angle-right" *ngIf="!contextMenu.submenuIconTemplate && !contextMenu._submenuIconTemplate" [class]="cx('submenuIcon')" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true" />
435
+ <ng-template
436
+ *ngTemplateOutlet="contextMenu.submenuIconTemplate || contextMenu._submenuIconTemplate; context: { class: 'p-contextmenu-submenu-icon' }"
437
+ [attr.data-pc-section]="'submenuicon'"
438
+ [attr.aria-hidden]="true"
439
+ ></ng-template>
440
+ </ng-container>
441
+ </a>
442
+ <a
443
+ *ngIf="getItemProp(processedItem, 'routerLink')"
444
+ [routerLink]="getItemProp(processedItem, 'routerLink')"
445
+ [attr.data-automationid]="getItemProp(processedItem, 'automationId')"
446
+ [attr.tabindex]="-1"
447
+ [attr.data-pc-section]="'action'"
448
+ [queryParams]="getItemProp(processedItem, 'queryParams')"
449
+ [routerLinkActiveOptions]="getItemProp(processedItem, 'routerLinActiveOptions') || { exact: false }"
450
+ [target]="getItemProp(processedItem, 'target')"
451
+ [class]="cx('itemLink')"
452
+ [fragment]="getItemProp(processedItem, 'fragment')"
453
+ [queryParamsHandling]="getItemProp(processedItem, 'queryParamsHandling')"
454
+ [preserveFragment]="getItemProp(processedItem, 'preserveFragment')"
455
+ [skipLocationChange]="getItemProp(processedItem, 'skipLocationChange')"
456
+ [replaceUrl]="getItemProp(processedItem, 'replaceUrl')"
457
+ [state]="getItemProp(processedItem, 'state')"
458
+ pRipple
459
+ >
460
+ <span
461
+ *ngIf="getItemProp(processedItem, 'icon')"
462
+ [class]="cn(cx('itemIcon'), getItemProp(processedItem, 'icon'))"
463
+ [ngStyle]="getItemProp(processedItem, 'iconStyle')"
464
+ [attr.data-pc-section]="'icon'"
465
+ [attr.aria-hidden]="true"
466
+ [attr.tabindex]="-1"
467
+ >
468
+ </span>
469
+ <span *ngIf="getItemProp(processedItem, 'escape'); else htmlLabel" [class]="cx('itemLabel')" [attr.data-pc-section]="'label'">
470
+ {{ getItemLabel(processedItem) }}
471
+ </span>
472
+ <ng-template #htmlLabel>
473
+ <span [class]="cx('itemLabel')" [innerHTML]="getItemLabel(processedItem)" [attr.data-pc-section]="'label'"></span>
474
+ </ng-template>
475
+ <p-badge *ngIf="getItemProp(processedItem, 'badge')" [class]="getItemProp(processedItem, 'badgeStyleClass')" [value]="getItemProp(processedItem, 'badge')" />
476
+ <ng-container *ngIf="isItemGroup(processedItem)">
477
+ <svg data-p-icon="angle-right" *ngIf="!contextMenu.submenuIconTemplate && !contextMenu._submenuIconTemplate" [class]="cx('submenuIcon')" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true" />
478
+ <ng-template
479
+ *ngTemplateOutlet="!contextMenu.submenuIconTemplate || !contextMenu._submenuIconTemplate; context: { class: 'p-contextmenu-submenu-icon' }"
480
+ [attr.data-pc-section]="'submenuicon'"
481
+ [attr.aria-hidden]="true"
482
+ ></ng-template>
483
+ </ng-container>
484
+ </a>
485
+ </ng-container>
486
+ <ng-container *ngIf="itemTemplate">
487
+ <ng-template *ngTemplateOutlet="itemTemplate; context: { $implicit: processedItem.item }"></ng-template>
488
+ </ng-container>
489
+ </div>
490
+
491
+ <p-contextmenu-sub
492
+ *ngIf="isItemVisible(processedItem) && isItemGroup(processedItem)"
493
+ [items]="processedItem.items"
494
+ [itemTemplate]="itemTemplate"
495
+ [menuId]="menuId"
496
+ [visible]="isItemActive(processedItem) && isItemGroup(processedItem)"
497
+ [activeItemPath]="activeItemPath"
498
+ [focusedItemId]="focusedItemId"
499
+ [level]="level + 1"
500
+ (itemClick)="itemClick.emit($event)"
501
+ (itemMouseEnter)="onItemMouseEnter($event)"
502
+ />
503
+ </li>
504
+ </ng-template>
505
+ </ul>
506
+ `,
507
+ animations: [trigger('overlayAnimation', [transition(':enter', [style$1({ opacity: 0 })]), transition(':leave', [style$1({ opacity: 0 })])])],
508
+ encapsulation: ViewEncapsulation.None,
509
+ providers: [ContextMenuStyle]
510
+ }]
511
+ }], ctorParameters: () => [{ type: ContextMenu, decorators: [{
512
+ type: Inject,
513
+ args: [forwardRef(() => ContextMenu)]
514
+ }] }], propDecorators: { visible: [{
515
+ type: Input,
516
+ args: [{ transform: booleanAttribute }]
517
+ }], items: [{
518
+ type: Input
519
+ }], itemTemplate: [{
520
+ type: Input
521
+ }], root: [{
522
+ type: Input,
523
+ args: [{ transform: booleanAttribute }]
524
+ }], autoZIndex: [{
525
+ type: Input,
526
+ args: [{ transform: booleanAttribute }]
527
+ }], baseZIndex: [{
528
+ type: Input,
529
+ args: [{ transform: numberAttribute }]
530
+ }], popup: [{
531
+ type: Input,
532
+ args: [{ transform: booleanAttribute }]
533
+ }], menuId: [{
534
+ type: Input
535
+ }], ariaLabel: [{
536
+ type: Input
537
+ }], ariaLabelledBy: [{
538
+ type: Input
539
+ }], level: [{
540
+ type: Input,
541
+ args: [{ transform: numberAttribute }]
542
+ }], focusedItemId: [{
543
+ type: Input
544
+ }], activeItemPath: [{
545
+ type: Input
546
+ }], tabindex: [{
547
+ type: Input,
548
+ args: [{ transform: numberAttribute }]
549
+ }], itemClick: [{
550
+ type: Output
551
+ }], itemMouseEnter: [{
552
+ type: Output
553
+ }], menuFocus: [{
554
+ type: Output
555
+ }], menuBlur: [{
556
+ type: Output
557
+ }], menuKeydown: [{
558
+ type: Output
559
+ }], sublistViewChild: [{
560
+ type: ViewChild,
561
+ args: ['sublist']
562
+ }] } });
563
+ /**
564
+ * ContextMenu displays an overlay menu on right click of its target. Note that components like Table has special integration with ContextMenu.
565
+ * @group Components
566
+ */
567
+ class ContextMenu extends BaseComponent {
568
+ overlayService;
569
+ /**
570
+ * An array of menuitems.
571
+ * @group Props
572
+ */
573
+ set model(value) {
574
+ this._model = value;
575
+ this._processedItems = this.createProcessedItems(this._model || []);
576
+ }
577
+ get model() {
578
+ return this._model;
579
+ }
580
+ /**
581
+ * Event for which the menu must be displayed.
582
+ * @group Props
583
+ */
584
+ triggerEvent = 'contextmenu';
585
+ /**
586
+ * Local template variable name of the element to attach the context menu.
587
+ * @group Props
588
+ */
589
+ target;
590
+ /**
591
+ * Attaches the menu to document instead of a particular item.
592
+ * @group Props
593
+ */
594
+ global;
595
+ /**
596
+ * Inline style of the component.
597
+ * @group Props
598
+ */
599
+ style;
600
+ /**
601
+ * Style class of the component.
602
+ * @group Props
603
+ */
604
+ styleClass;
605
+ /**
606
+ * Whether to automatically manage layering.
607
+ * @group Props
608
+ */
609
+ autoZIndex = true;
610
+ /**
611
+ * Base zIndex value to use in layering.
612
+ * @group Props
613
+ */
614
+ baseZIndex = 0;
615
+ /**
616
+ * Current id state as a string.
617
+ * @group Props
618
+ */
619
+ id;
620
+ /**
621
+ * The breakpoint to define the maximum width boundary.
622
+ * @group Props
623
+ */
624
+ breakpoint = '960px';
625
+ /**
626
+ * Defines a string value that labels an interactive element.
627
+ * @group Props
628
+ */
629
+ ariaLabel;
630
+ /**
631
+ * Identifier of the underlying input element.
632
+ * @group Props
633
+ */
634
+ ariaLabelledBy;
635
+ /**
636
+ * Press delay in touch devices as miliseconds.
637
+ * @group Props
638
+ */
639
+ pressDelay = 500;
640
+ /**
641
+ * 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).
642
+ * @defaultValue 'self'
643
+ * @group Props
644
+ */
645
+ appendTo = input(undefined, ...(ngDevMode ? [{ debugName: "appendTo" }] : []));
646
+ /**
647
+ * Callback to invoke when overlay menu is shown.
648
+ * @group Emits
649
+ */
650
+ onShow = new EventEmitter();
651
+ /**
652
+ * Callback to invoke when overlay menu is hidden.
653
+ * @group Emits
654
+ */
655
+ onHide = new EventEmitter();
656
+ rootmenu;
657
+ containerViewChild;
658
+ container;
659
+ outsideClickListener;
660
+ resizeListener;
661
+ triggerEventListener;
662
+ documentClickListener;
663
+ documentTriggerListener;
664
+ touchEndListener;
665
+ pageX;
666
+ pageY;
667
+ visible = signal(false, ...(ngDevMode ? [{ debugName: "visible" }] : []));
668
+ focused = false;
669
+ activeItemPath = signal([], ...(ngDevMode ? [{ debugName: "activeItemPath" }] : []));
670
+ focusedItemInfo = signal({ index: -1, level: 0, parentKey: '', item: null }, ...(ngDevMode ? [{ debugName: "focusedItemInfo" }] : []));
671
+ submenuVisible = signal(false, ...(ngDevMode ? [{ debugName: "submenuVisible" }] : []));
672
+ $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo(), ...(ngDevMode ? [{ debugName: "$appendTo" }] : []));
673
+ searchValue = '';
674
+ searchTimeout;
675
+ _processedItems;
676
+ _model;
677
+ pressTimer;
678
+ matchMediaListener;
679
+ query;
680
+ queryMatches;
681
+ _componentStyle = inject(ContextMenuStyle);
682
+ get visibleItems() {
683
+ const processedItem = this.activeItemPath().find((p) => p.key === this.focusedItemInfo().parentKey);
684
+ return processedItem ? processedItem.items : this.processedItems;
685
+ }
686
+ get processedItems() {
687
+ if (!this._processedItems || !this._processedItems.length) {
688
+ this._processedItems = this.createProcessedItems(this.model || []);
689
+ }
690
+ return this._processedItems;
691
+ }
692
+ get focusedItemId() {
693
+ const focusedItem = this.focusedItemInfo();
694
+ return focusedItem.item && focusedItem.item?.id ? focusedItem.item.id : focusedItem.index !== -1 ? `${this.id}${isNotEmpty(focusedItem.parentKey) ? '_' + focusedItem.parentKey : ''}_${focusedItem.index}` : null;
695
+ }
696
+ constructor(overlayService) {
697
+ super();
698
+ this.overlayService = overlayService;
699
+ effect(() => {
700
+ const path = this.activeItemPath();
701
+ if (isNotEmpty(path)) {
702
+ this.bindGlobalListeners();
703
+ }
704
+ else if (!this.visible()) {
705
+ this.unbindGlobalListeners();
706
+ }
707
+ });
708
+ }
709
+ ngOnInit() {
710
+ super.ngOnInit();
711
+ this.id = this.id || uuid('pn_id_');
712
+ this.bindMatchMediaListener();
713
+ this.bindTriggerEventListener();
714
+ }
715
+ isMobile() {
716
+ return isIOS() || isAndroid();
717
+ }
718
+ bindTriggerEventListener() {
719
+ if (isPlatformBrowser(this.platformId)) {
720
+ if (!this.triggerEventListener) {
721
+ if (!this.isMobile()) {
722
+ if (this.global) {
723
+ this.triggerEventListener = this.renderer.listen(this.document, this.triggerEvent, (event) => {
724
+ this.show(event);
725
+ });
726
+ }
727
+ else if (this.target) {
728
+ this.triggerEventListener = this.renderer.listen(this.target, this.triggerEvent, (event) => {
729
+ this.show(event);
730
+ });
731
+ }
732
+ }
733
+ else {
734
+ if (this.global) {
735
+ this.triggerEventListener = this.renderer.listen(this.document, 'touchstart', this.onTouchStart.bind(this));
736
+ this.touchEndListener = this.renderer.listen(this.document, 'touchend', this.onTouchEnd.bind(this));
737
+ }
738
+ else if (this.target) {
739
+ this.triggerEventListener = this.renderer.listen(this.target, 'touchstart', this.onTouchStart.bind(this));
740
+ this.touchEndListener = this.renderer.listen(this.target, 'touchend', this.onTouchEnd.bind(this));
741
+ }
742
+ }
743
+ }
744
+ }
745
+ }
746
+ bindGlobalListeners() {
747
+ if (isPlatformBrowser(this.platformId)) {
748
+ if (!this.documentClickListener) {
749
+ const documentTarget = this.el ? this.el.nativeElement.ownerDocument : 'document';
750
+ this.documentClickListener = this.renderer.listen(documentTarget, 'click', (event) => {
751
+ if (this.containerViewChild.nativeElement.offsetParent && this.isOutsideClicked(event) && !event.ctrlKey && event.button !== 2 && this.triggerEvent !== 'click') {
752
+ this.hide();
753
+ }
754
+ });
755
+ }
756
+ if (!this.resizeListener) {
757
+ this.resizeListener = this.renderer.listen(this.document.defaultView, 'resize', (event) => {
758
+ this.hide();
759
+ });
760
+ }
761
+ }
762
+ }
763
+ /**
764
+ * Defines template option for item.
765
+ * @group Templates
766
+ */
767
+ itemTemplate;
768
+ /**
769
+ * Defines template option for submenuIcon.
770
+ * @group Templates
771
+ */
772
+ submenuIconTemplate;
773
+ templates;
774
+ _submenuIconTemplate;
775
+ _itemTemplate;
776
+ ngAfterContentInit() {
777
+ this.templates?.forEach((item) => {
778
+ switch (item.getType()) {
779
+ case 'submenuicon':
780
+ this._submenuIconTemplate = item.template;
781
+ break;
782
+ case 'item':
783
+ this._itemTemplate = item.template;
784
+ break;
785
+ default:
786
+ this._itemTemplate = item.template;
787
+ break;
788
+ }
789
+ });
790
+ }
791
+ createProcessedItems(items, level = 0, parent = {}, parentKey = '') {
792
+ const processedItems = [];
793
+ items &&
794
+ items.forEach((item, index) => {
795
+ const key = (parentKey !== '' ? parentKey + '_' : '') + index;
796
+ const newItem = {
797
+ item,
798
+ index,
799
+ level,
800
+ key,
801
+ parent,
802
+ parentKey
803
+ };
804
+ newItem['items'] = this.createProcessedItems(item.items, level + 1, newItem, key);
805
+ processedItems.push(newItem);
806
+ });
807
+ return processedItems;
808
+ }
809
+ bindMatchMediaListener() {
810
+ if (isPlatformBrowser(this.platformId)) {
811
+ if (!this.matchMediaListener) {
812
+ const query = window.matchMedia(`(max-width: ${this.breakpoint})`);
813
+ this.query = query;
814
+ this.queryMatches = query.matches;
815
+ this.matchMediaListener = () => {
816
+ this.queryMatches = query.matches;
817
+ };
818
+ query.addEventListener('change', this.matchMediaListener);
819
+ }
820
+ }
821
+ }
822
+ unbindMatchMediaListener() {
823
+ if (this.matchMediaListener) {
824
+ this.query.removeEventListener('change', this.matchMediaListener);
825
+ this.matchMediaListener = null;
826
+ }
827
+ }
828
+ getItemProp(item, name) {
829
+ return item ? resolve(item[name]) : undefined;
830
+ }
831
+ getProccessedItemLabel(processedItem) {
832
+ return processedItem ? this.getItemLabel(processedItem.item) : undefined;
833
+ }
834
+ getItemLabel(item) {
835
+ return this.getItemProp(item, 'label');
836
+ }
837
+ isProcessedItemGroup(processedItem) {
838
+ return processedItem && isNotEmpty(processedItem.items);
839
+ }
840
+ isSelected(processedItem) {
841
+ return this.activeItemPath().some((p) => p.key === processedItem.key);
842
+ }
843
+ isValidSelectedItem(processedItem) {
844
+ return this.isValidItem(processedItem) && this.isSelected(processedItem);
845
+ }
846
+ isValidItem(processedItem) {
847
+ return !!processedItem && !this.isItemDisabled(processedItem.item) && !this.isItemSeparator(processedItem.item);
848
+ }
849
+ isItemDisabled(item) {
850
+ return this.getItemProp(item, 'disabled');
851
+ }
852
+ isItemSeparator(item) {
853
+ return this.getItemProp(item, 'separator');
854
+ }
855
+ isItemMatched(processedItem) {
856
+ return this.isValidItem(processedItem) && this.getProccessedItemLabel(processedItem).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase());
857
+ }
858
+ isProccessedItemGroup(processedItem) {
859
+ return processedItem && isNotEmpty(processedItem.items);
860
+ }
861
+ onItemClick(event) {
862
+ const { processedItem } = event;
863
+ const grouped = this.isProcessedItemGroup(processedItem);
864
+ const selected = this.isSelected(processedItem);
865
+ if (selected) {
866
+ const { index, key, level, parentKey, item } = processedItem;
867
+ this.activeItemPath.set(this.activeItemPath().filter((p) => key !== p.key && key.startsWith(p.key)));
868
+ this.focusedItemInfo.set({ index, level, parentKey, item });
869
+ focus(this.rootmenu.sublistViewChild.nativeElement);
870
+ }
871
+ else {
872
+ grouped ? this.onItemChange(event) : this.hide();
873
+ }
874
+ }
875
+ onItemMouseEnter(event) {
876
+ this.onItemChange(event, 'hover');
877
+ }
878
+ onKeyDown(event) {
879
+ const metaKey = event.metaKey || event.ctrlKey;
880
+ switch (event.code) {
881
+ case 'ArrowDown':
882
+ this.onArrowDownKey(event);
883
+ break;
884
+ case 'ArrowUp':
885
+ this.onArrowUpKey(event);
886
+ break;
887
+ case 'ArrowLeft':
888
+ this.onArrowLeftKey(event);
889
+ break;
890
+ case 'ArrowRight':
891
+ this.onArrowRightKey(event);
892
+ break;
893
+ case 'Home':
894
+ this.onHomeKey(event);
895
+ break;
896
+ case 'End':
897
+ this.onEndKey(event);
898
+ break;
899
+ case 'Space':
900
+ this.onSpaceKey(event);
901
+ break;
902
+ case 'Enter':
903
+ this.onEnterKey(event);
904
+ break;
905
+ case 'Escape':
906
+ this.onEscapeKey(event);
907
+ break;
908
+ case 'Tab':
909
+ this.onTabKey(event);
910
+ break;
911
+ case 'PageDown':
912
+ case 'PageUp':
913
+ case 'Backspace':
914
+ case 'ShiftLeft':
915
+ case 'ShiftRight':
916
+ //NOOP
917
+ break;
918
+ default:
919
+ if (!metaKey && isPrintableCharacter(event.key)) {
920
+ this.searchItems(event, event.key);
921
+ }
922
+ break;
923
+ }
924
+ }
925
+ onArrowDownKey(event) {
926
+ const itemIndex = this.focusedItemInfo().index !== -1 ? this.findNextItemIndex(this.focusedItemInfo().index) : this.findFirstFocusedItemIndex();
927
+ this.changeFocusedItemIndex(event, itemIndex);
928
+ event.preventDefault();
929
+ }
930
+ onArrowRightKey(event) {
931
+ const processedItem = this.visibleItems[this.focusedItemInfo().index];
932
+ const grouped = this.isProccessedItemGroup(processedItem);
933
+ if (grouped) {
934
+ this.onItemChange({ originalEvent: event, processedItem });
935
+ this.focusedItemInfo.set({ index: -1, parentKey: processedItem.key, item: processedItem.item });
936
+ this.searchValue = '';
937
+ this.onArrowDownKey(event);
938
+ }
939
+ event.preventDefault();
940
+ }
941
+ onArrowUpKey(event) {
942
+ if (event.altKey) {
943
+ if (this.focusedItemInfo().index !== -1) {
944
+ const processedItem = this.visibleItems[this.focusedItemInfo().index];
945
+ const grouped = this.isProccessedItemGroup(processedItem);
946
+ !grouped && this.onItemChange({ originalEvent: event, processedItem });
947
+ }
948
+ this.hide();
949
+ event.preventDefault();
950
+ }
951
+ else {
952
+ const itemIndex = this.focusedItemInfo().index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo().index) : this.findLastFocusedItemIndex();
953
+ this.changeFocusedItemIndex(event, itemIndex);
954
+ event.preventDefault();
955
+ }
956
+ }
957
+ onArrowLeftKey(event) {
958
+ const processedItem = this.visibleItems[this.focusedItemInfo().index];
959
+ const parentItem = this.activeItemPath().find((p) => p.key === processedItem.parentKey);
960
+ const root = isEmpty(processedItem.parent);
961
+ if (!root) {
962
+ this.focusedItemInfo.set({ index: -1, parentKey: parentItem ? parentItem.parentKey : '', item: processedItem.item });
963
+ this.searchValue = '';
964
+ this.onArrowDownKey(event);
965
+ }
966
+ const activeItemPath = this.activeItemPath().filter((p) => p.parentKey !== this.focusedItemInfo().parentKey);
967
+ this.activeItemPath.set(activeItemPath);
968
+ event.preventDefault();
969
+ }
970
+ onHomeKey(event) {
971
+ this.changeFocusedItemIndex(event, this.findFirstItemIndex());
972
+ event.preventDefault();
973
+ }
974
+ onEndKey(event) {
975
+ this.changeFocusedItemIndex(event, this.findLastItemIndex());
976
+ event.preventDefault();
977
+ }
978
+ onSpaceKey(event) {
979
+ this.onEnterKey(event);
980
+ }
981
+ onEscapeKey(event) {
982
+ this.hide();
983
+ const processedItem = this.findVisibleItem(this.findFirstFocusedItemIndex());
984
+ const focusedItemInfo = this.focusedItemInfo();
985
+ this.focusedItemInfo.set({ ...focusedItemInfo, index: this.findFirstFocusedItemIndex(), item: processedItem.item });
986
+ event.preventDefault();
987
+ }
988
+ onTabKey(event) {
989
+ if (this.focusedItemInfo().index !== -1) {
990
+ const processedItem = this.visibleItems[this.focusedItemInfo().index];
991
+ const grouped = this.isProccessedItemGroup(processedItem);
992
+ !grouped && this.onItemChange({ originalEvent: event, processedItem });
993
+ }
994
+ this.hide();
995
+ }
996
+ onEnterKey(event) {
997
+ if (this.focusedItemInfo().index !== -1) {
998
+ const element = findSingle(this.rootmenu.el.nativeElement, `li[id="${`${this.focusedItemId}`}"]`);
999
+ const anchorElement = element && findSingle(element, 'a[data-pc-section="action"]');
1000
+ anchorElement ? anchorElement.click() : element && element.click();
1001
+ const processedItem = this.visibleItems[this.focusedItemInfo().index];
1002
+ const grouped = this.isProccessedItemGroup(processedItem);
1003
+ if (!grouped) {
1004
+ const focusedItemInfo = this.focusedItemInfo();
1005
+ this.focusedItemInfo.set({ ...focusedItemInfo, index: this.findFirstFocusedItemIndex() });
1006
+ }
1007
+ }
1008
+ event.preventDefault();
1009
+ }
1010
+ onItemChange(event, type) {
1011
+ const { processedItem, isFocus } = event;
1012
+ if (isEmpty(processedItem))
1013
+ return;
1014
+ const { index, key, level, parentKey, items } = processedItem;
1015
+ const grouped = isNotEmpty(items);
1016
+ const activeItemPath = this.activeItemPath().filter((p) => p.parentKey !== parentKey && p.parentKey !== key);
1017
+ if (grouped) {
1018
+ activeItemPath.push(processedItem);
1019
+ this.submenuVisible.set(true);
1020
+ }
1021
+ this.focusedItemInfo.set({ index, level, parentKey, item: processedItem.item });
1022
+ isFocus && focus(this.rootmenu.sublistViewChild.nativeElement);
1023
+ if (type === 'hover' && this.queryMatches) {
1024
+ return;
1025
+ }
1026
+ this.activeItemPath.set(activeItemPath);
1027
+ }
1028
+ onMenuFocus(event) {
1029
+ this.focused = true;
1030
+ const focusedItemInfo = this.focusedItemInfo().index !== -1 ? this.focusedItemInfo() : { index: -1, level: 0, parentKey: '', item: null };
1031
+ this.focusedItemInfo.set(focusedItemInfo);
1032
+ }
1033
+ onMenuBlur(event) {
1034
+ this.focused = false;
1035
+ this.focusedItemInfo.set({ index: -1, level: 0, parentKey: '', item: null });
1036
+ this.searchValue = '';
1037
+ }
1038
+ onOverlayAnimationStart(event) {
1039
+ switch (event.toState) {
1040
+ case 'visible':
1041
+ this.container = event.element;
1042
+ this.position();
1043
+ this.moveOnTop();
1044
+ this.attrSelector && this.container.setAttribute(this.attrSelector, '');
1045
+ this.appendOverlay();
1046
+ this.bindGlobalListeners();
1047
+ focus(this.rootmenu.sublistViewChild.nativeElement);
1048
+ break;
1049
+ }
1050
+ }
1051
+ onOverlayAnimationEnd(event) {
1052
+ switch (event.toState) {
1053
+ case 'void':
1054
+ this.onOverlayHide();
1055
+ break;
1056
+ }
1057
+ }
1058
+ appendOverlay() {
1059
+ DomHandler.appendOverlay(this.container, this.$appendTo() === 'body' ? this.document.body : this.$appendTo(), this.$appendTo());
1060
+ }
1061
+ moveOnTop() {
1062
+ if (this.autoZIndex && this.containerViewChild) {
1063
+ ZIndexUtils.set('menu', this.containerViewChild.nativeElement, this.baseZIndex + this.config.zIndex.menu);
1064
+ }
1065
+ }
1066
+ onOverlayHide() {
1067
+ this.unbindGlobalListeners();
1068
+ if (!this.cd.destroyed) {
1069
+ this.target = null;
1070
+ }
1071
+ if (this.container && this.autoZIndex) {
1072
+ ZIndexUtils.clear(this.container);
1073
+ }
1074
+ this.container = null;
1075
+ }
1076
+ onTouchStart(event) {
1077
+ this.pressTimer = setTimeout(() => {
1078
+ this.show(event);
1079
+ }, this.pressDelay);
1080
+ }
1081
+ onTouchEnd() {
1082
+ clearTimeout(this.pressTimer);
1083
+ }
1084
+ hide() {
1085
+ this.visible.set(false);
1086
+ this.onHide.emit();
1087
+ this.activeItemPath.set([]);
1088
+ this.focusedItemInfo.set({ index: -1, level: 0, parentKey: '', item: null });
1089
+ }
1090
+ toggle(event) {
1091
+ this.visible() ? this.hide() : this.show(event);
1092
+ }
1093
+ show(event) {
1094
+ this.activeItemPath.set([]);
1095
+ this.focusedItemInfo.set({ index: -1, level: 0, parentKey: '', item: null });
1096
+ focus(this.rootmenu?.sublistViewChild?.nativeElement);
1097
+ this.pageX = event.pageX;
1098
+ this.pageY = event.pageY;
1099
+ this.onShow.emit();
1100
+ this.visible() ? this.position() : this.visible.set(true);
1101
+ event.stopPropagation();
1102
+ event.preventDefault();
1103
+ }
1104
+ position() {
1105
+ let left = this.pageX + 1;
1106
+ let top = this.pageY + 1;
1107
+ let width = this.containerViewChild.nativeElement.offsetParent ? this.containerViewChild.nativeElement.offsetWidth : getHiddenElementOuterWidth(this.containerViewChild.nativeElement);
1108
+ let height = this.containerViewChild.nativeElement.offsetParent ? this.containerViewChild.nativeElement.offsetHeight : getHiddenElementOuterHeight(this.containerViewChild.nativeElement);
1109
+ let viewport = getViewport();
1110
+ //flip
1111
+ if (left + width - this.document.scrollingElement.scrollLeft > viewport.width) {
1112
+ left -= width;
1113
+ }
1114
+ //flip
1115
+ if (top + height - this.document.scrollingElement.scrollTop > viewport.height) {
1116
+ top -= height;
1117
+ }
1118
+ //fit
1119
+ if (left < this.document.scrollingElement.scrollLeft) {
1120
+ left = this.document.scrollingElement.scrollLeft;
1121
+ }
1122
+ //fit
1123
+ if (top < this.document.scrollingElement.scrollTop) {
1124
+ top = this.document.scrollingElement.scrollTop;
1125
+ }
1126
+ this.containerViewChild.nativeElement.style.left = left + 'px';
1127
+ this.containerViewChild.nativeElement.style.top = top + 'px';
1128
+ }
1129
+ searchItems(event, char) {
1130
+ this.searchValue = (this.searchValue || '') + char;
1131
+ let itemIndex = -1;
1132
+ let matched = false;
1133
+ if (this.focusedItemInfo().index !== -1) {
1134
+ itemIndex = this.visibleItems.slice(this.focusedItemInfo().index).findIndex((processedItem) => this.isItemMatched(processedItem));
1135
+ itemIndex = itemIndex === -1 ? this.visibleItems.slice(0, this.focusedItemInfo().index).findIndex((processedItem) => this.isItemMatched(processedItem)) : itemIndex + this.focusedItemInfo().index;
1136
+ }
1137
+ else {
1138
+ itemIndex = this.visibleItems.findIndex((processedItem) => this.isItemMatched(processedItem));
1139
+ }
1140
+ if (itemIndex !== -1) {
1141
+ matched = true;
1142
+ }
1143
+ if (itemIndex === -1 && this.focusedItemInfo().index === -1) {
1144
+ itemIndex = this.findFirstFocusedItemIndex();
1145
+ }
1146
+ if (itemIndex !== -1) {
1147
+ this.changeFocusedItemIndex(event, itemIndex);
1148
+ }
1149
+ if (this.searchTimeout) {
1150
+ clearTimeout(this.searchTimeout);
1151
+ }
1152
+ this.searchTimeout = setTimeout(() => {
1153
+ this.searchValue = '';
1154
+ this.searchTimeout = null;
1155
+ }, 500);
1156
+ return matched;
1157
+ }
1158
+ findVisibleItem(index) {
1159
+ return isNotEmpty(this.visibleItems) ? this.visibleItems[index] : null;
1160
+ }
1161
+ findLastFocusedItemIndex() {
1162
+ const selectedIndex = this.findSelectedItemIndex();
1163
+ return selectedIndex < 0 ? this.findLastItemIndex() : selectedIndex;
1164
+ }
1165
+ findLastItemIndex() {
1166
+ return findLastIndex(this.visibleItems, (processedItem) => this.isValidItem(processedItem));
1167
+ }
1168
+ findPrevItemIndex(index) {
1169
+ const matchedItemIndex = index > 0 ? findLastIndex(this.visibleItems.slice(0, index), (processedItem) => this.isValidItem(processedItem)) : -1;
1170
+ return matchedItemIndex > -1 ? matchedItemIndex : index;
1171
+ }
1172
+ findNextItemIndex(index) {
1173
+ const matchedItemIndex = index < this.visibleItems.length - 1 ? this.visibleItems.slice(index + 1).findIndex((processedItem) => this.isValidItem(processedItem)) : -1;
1174
+ return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index;
1175
+ }
1176
+ findFirstFocusedItemIndex() {
1177
+ const selectedIndex = this.findSelectedItemIndex();
1178
+ return selectedIndex < 0 ? this.findFirstItemIndex() : selectedIndex;
1179
+ }
1180
+ findFirstItemIndex() {
1181
+ return this.visibleItems.findIndex((processedItem) => this.isValidItem(processedItem));
1182
+ }
1183
+ findSelectedItemIndex() {
1184
+ return this.visibleItems.findIndex((processedItem) => this.isValidSelectedItem(processedItem));
1185
+ }
1186
+ changeFocusedItemIndex(event, index) {
1187
+ const processedItem = this.findVisibleItem(index);
1188
+ const focusedItemInfo = this.focusedItemInfo();
1189
+ if (focusedItemInfo.index !== index) {
1190
+ this.focusedItemInfo.set({ ...focusedItemInfo, index, item: processedItem.item });
1191
+ this.scrollInView();
1192
+ }
1193
+ }
1194
+ scrollInView(index = -1) {
1195
+ const id = index !== -1 ? `${this.id}_${index}` : this.focusedItemId;
1196
+ const element = findSingle(this.rootmenu.el.nativeElement, `li[id="${id}"]`);
1197
+ if (element) {
1198
+ element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });
1199
+ }
1200
+ }
1201
+ bindResizeListener() {
1202
+ if (isPlatformBrowser(this.platformId)) {
1203
+ if (!this.resizeListener) {
1204
+ this.resizeListener = this.renderer.listen(this.document.defaultView, 'resize', (event) => {
1205
+ this.hide();
1206
+ });
1207
+ }
1208
+ }
1209
+ }
1210
+ isOutsideClicked(event) {
1211
+ return !(this.containerViewChild.nativeElement.isSameNode(event.target) || this.containerViewChild.nativeElement.contains(event.target));
1212
+ }
1213
+ unbindResizeListener() {
1214
+ if (this.resizeListener) {
1215
+ this.resizeListener();
1216
+ this.resizeListener = null;
1217
+ }
1218
+ }
1219
+ unbindGlobalListeners() {
1220
+ if (this.documentClickListener) {
1221
+ this.documentClickListener();
1222
+ this.documentClickListener = null;
1223
+ }
1224
+ if (this.documentTriggerListener) {
1225
+ this.documentTriggerListener();
1226
+ this.documentTriggerListener = null;
1227
+ }
1228
+ if (this.resizeListener) {
1229
+ this.resizeListener();
1230
+ this.resizeListener = null;
1231
+ }
1232
+ if (this.touchEndListener) {
1233
+ this.touchEndListener();
1234
+ this.touchEndListener = null;
1235
+ }
1236
+ }
1237
+ unbindTriggerEventListener() {
1238
+ if (this.triggerEventListener) {
1239
+ this.triggerEventListener();
1240
+ this.triggerEventListener = null;
1241
+ }
1242
+ }
1243
+ removeAppendedElements() {
1244
+ if (this.$appendTo() && this.containerViewChild) {
1245
+ if (this.$appendTo() === 'body') {
1246
+ this.renderer.removeChild(this.document.body, this.containerViewChild.nativeElement);
1247
+ }
1248
+ }
1249
+ }
1250
+ ngOnDestroy() {
1251
+ this.unbindGlobalListeners();
1252
+ this.unbindTriggerEventListener();
1253
+ this.unbindMatchMediaListener();
1254
+ this.removeAppendedElements();
1255
+ super.ngOnDestroy();
1256
+ }
1257
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: ContextMenu, deps: [{ token: i5.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
1258
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.2.4", type: ContextMenu, isStandalone: true, selector: "p-contextMenu, p-contextmenu, p-context-menu", inputs: { model: { classPropertyName: "model", publicName: "model", isSignal: false, isRequired: false, transformFunction: null }, triggerEvent: { classPropertyName: "triggerEvent", publicName: "triggerEvent", isSignal: false, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: false, isRequired: false, transformFunction: null }, global: { classPropertyName: "global", publicName: "global", 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 }, autoZIndex: { classPropertyName: "autoZIndex", publicName: "autoZIndex", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, baseZIndex: { classPropertyName: "baseZIndex", publicName: "baseZIndex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, breakpoint: { classPropertyName: "breakpoint", publicName: "breakpoint", 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 }, pressDelay: { classPropertyName: "pressDelay", publicName: "pressDelay", isSignal: false, isRequired: false, transformFunction: numberAttribute }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onShow: "onShow", onHide: "onHide" }, providers: [ContextMenuStyle], queries: [{ propertyName: "itemTemplate", first: true, predicate: ["item"] }, { propertyName: "submenuIconTemplate", first: true, predicate: ["submenuicon"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "rootmenu", first: true, predicate: ["rootmenu"], descendants: true }, { propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
1259
+ <div
1260
+ #container
1261
+ [attr.data-pc-section]="'root'"
1262
+ [attr.data-pc-name]="'contextmenu'"
1263
+ [attr.id]="id"
1264
+ [class]="cn(cx('root'), styleClass)"
1265
+ [style]="sx('root')"
1266
+ [ngStyle]="style"
1267
+ [@overlayAnimation]="{ value: 'visible' }"
1268
+ (@overlayAnimation.start)="onOverlayAnimationStart($event)"
1269
+ (@overlayAnimation.done)="onOverlayAnimationEnd($event)"
1270
+ *ngIf="visible()"
1271
+ >
1272
+ <p-contextmenu-sub
1273
+ #rootmenu
1274
+ [root]="true"
1275
+ [items]="processedItems"
1276
+ [itemTemplate]="itemTemplate || _itemTemplate"
1277
+ [menuId]="id"
1278
+ [tabindex]="!disabled ? tabindex : -1"
1279
+ [ariaLabel]="ariaLabel"
1280
+ [ariaLabelledBy]="ariaLabelledBy"
1281
+ [baseZIndex]="baseZIndex"
1282
+ [autoZIndex]="autoZIndex"
1283
+ [visible]="submenuVisible()"
1284
+ [focusedItemId]="focused ? focusedItemId : undefined"
1285
+ [activeItemPath]="activeItemPath()"
1286
+ (itemClick)="onItemClick($event)"
1287
+ (menuFocus)="onMenuFocus($event)"
1288
+ (menuBlur)="onMenuBlur($event)"
1289
+ (menuKeydown)="onKeyDown($event)"
1290
+ (itemMouseEnter)="onItemMouseEnter($event)"
1291
+ />
1292
+ </div>
1293
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ContextMenuSub, selector: "p-contextMenuSub, p-contextmenu-sub", inputs: ["visible", "items", "itemTemplate", "root", "autoZIndex", "baseZIndex", "popup", "menuId", "ariaLabel", "ariaLabelledBy", "level", "focusedItemId", "activeItemPath", "tabindex"], outputs: ["itemClick", "itemMouseEnter", "menuFocus", "menuBlur", "menuKeydown"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: BadgeModule }, { kind: "ngmodule", type: SharedModule }], animations: [trigger('overlayAnimation', [transition(':enter', [style$1({ opacity: 0 }), animate('250ms')]), transition(':leave', [animate('.1s linear', style$1({ opacity: 0 }))])])], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1294
+ }
1295
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: ContextMenu, decorators: [{
1296
+ type: Component,
1297
+ args: [{
1298
+ selector: 'p-contextMenu, p-contextmenu, p-context-menu',
1299
+ standalone: true,
1300
+ imports: [CommonModule, ContextMenuSub, RouterModule, TooltipModule, BadgeModule, SharedModule],
1301
+ template: `
1302
+ <div
1303
+ #container
1304
+ [attr.data-pc-section]="'root'"
1305
+ [attr.data-pc-name]="'contextmenu'"
1306
+ [attr.id]="id"
1307
+ [class]="cn(cx('root'), styleClass)"
1308
+ [style]="sx('root')"
1309
+ [ngStyle]="style"
1310
+ [@overlayAnimation]="{ value: 'visible' }"
1311
+ (@overlayAnimation.start)="onOverlayAnimationStart($event)"
1312
+ (@overlayAnimation.done)="onOverlayAnimationEnd($event)"
1313
+ *ngIf="visible()"
1314
+ >
1315
+ <p-contextmenu-sub
1316
+ #rootmenu
1317
+ [root]="true"
1318
+ [items]="processedItems"
1319
+ [itemTemplate]="itemTemplate || _itemTemplate"
1320
+ [menuId]="id"
1321
+ [tabindex]="!disabled ? tabindex : -1"
1322
+ [ariaLabel]="ariaLabel"
1323
+ [ariaLabelledBy]="ariaLabelledBy"
1324
+ [baseZIndex]="baseZIndex"
1325
+ [autoZIndex]="autoZIndex"
1326
+ [visible]="submenuVisible()"
1327
+ [focusedItemId]="focused ? focusedItemId : undefined"
1328
+ [activeItemPath]="activeItemPath()"
1329
+ (itemClick)="onItemClick($event)"
1330
+ (menuFocus)="onMenuFocus($event)"
1331
+ (menuBlur)="onMenuBlur($event)"
1332
+ (menuKeydown)="onKeyDown($event)"
1333
+ (itemMouseEnter)="onItemMouseEnter($event)"
1334
+ />
1335
+ </div>
1336
+ `,
1337
+ animations: [trigger('overlayAnimation', [transition(':enter', [style$1({ opacity: 0 }), animate('250ms')]), transition(':leave', [animate('.1s linear', style$1({ opacity: 0 }))])])],
1338
+ changeDetection: ChangeDetectionStrategy.OnPush,
1339
+ encapsulation: ViewEncapsulation.None,
1340
+ providers: [ContextMenuStyle]
1341
+ }]
1342
+ }], ctorParameters: () => [{ type: i5.OverlayService }], propDecorators: { model: [{
1343
+ type: Input
1344
+ }], triggerEvent: [{
1345
+ type: Input
1346
+ }], target: [{
1347
+ type: Input
1348
+ }], global: [{
1349
+ type: Input,
1350
+ args: [{ transform: booleanAttribute }]
1351
+ }], style: [{
1352
+ type: Input
1353
+ }], styleClass: [{
1354
+ type: Input
1355
+ }], autoZIndex: [{
1356
+ type: Input,
1357
+ args: [{ transform: booleanAttribute }]
1358
+ }], baseZIndex: [{
1359
+ type: Input,
1360
+ args: [{ transform: numberAttribute }]
1361
+ }], id: [{
1362
+ type: Input
1363
+ }], breakpoint: [{
1364
+ type: Input
1365
+ }], ariaLabel: [{
1366
+ type: Input
1367
+ }], ariaLabelledBy: [{
1368
+ type: Input
1369
+ }], pressDelay: [{
1370
+ type: Input,
1371
+ args: [{ transform: numberAttribute }]
1372
+ }], onShow: [{
1373
+ type: Output
1374
+ }], onHide: [{
1375
+ type: Output
1376
+ }], rootmenu: [{
1377
+ type: ViewChild,
1378
+ args: ['rootmenu']
1379
+ }], containerViewChild: [{
1380
+ type: ViewChild,
1381
+ args: ['container']
1382
+ }], itemTemplate: [{
1383
+ type: ContentChild,
1384
+ args: ['item', { descendants: false }]
1385
+ }], submenuIconTemplate: [{
1386
+ type: ContentChild,
1387
+ args: ['submenuicon', { descendants: false }]
1388
+ }], templates: [{
1389
+ type: ContentChildren,
1390
+ args: [PrimeTemplate]
1391
+ }] } });
1392
+ class ContextMenuModule {
1393
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: ContextMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1394
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.4", ngImport: i0, type: ContextMenuModule, imports: [ContextMenu, SharedModule], exports: [ContextMenu, SharedModule] });
1395
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: ContextMenuModule, imports: [ContextMenu, SharedModule, SharedModule] });
1396
+ }
1397
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: ContextMenuModule, decorators: [{
1398
+ type: NgModule,
1399
+ args: [{
1400
+ imports: [ContextMenu, SharedModule],
1401
+ exports: [ContextMenu, SharedModule]
1402
+ }]
1403
+ }] });
1404
+
1405
+ /**
1406
+ * Generated bundle index. Do not edit.
1407
+ */
1408
+
1409
+ export { ContextMenu, ContextMenuClasses, ContextMenuModule, ContextMenuStyle, ContextMenuSub };
1410
+ //# sourceMappingURL=primeng-contextmenu.mjs.map