primevue 3.20.0 → 3.22.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 (593) hide show
  1. package/README.md +3 -15
  2. package/accordion/accordion.cjs.js +1 -1
  3. package/accordion/accordion.cjs.min.js +1 -1
  4. package/accordion/accordion.esm.js +1 -1
  5. package/accordion/accordion.esm.min.js +1 -1
  6. package/accordion/accordion.js +1 -1
  7. package/accordion/accordion.min.js +1 -1
  8. package/autocomplete/AutoComplete.d.ts +9 -1
  9. package/autocomplete/AutoComplete.vue +41 -22
  10. package/autocomplete/autocomplete.cjs.js +53 -25
  11. package/autocomplete/autocomplete.cjs.min.js +1 -1
  12. package/autocomplete/autocomplete.esm.js +53 -25
  13. package/autocomplete/autocomplete.esm.min.js +1 -1
  14. package/autocomplete/autocomplete.js +53 -25
  15. package/autocomplete/autocomplete.min.js +1 -1
  16. package/avatar/avatar.cjs.js +1 -1
  17. package/avatar/avatar.cjs.min.js +1 -1
  18. package/avatar/avatar.esm.js +1 -1
  19. package/avatar/avatar.esm.min.js +1 -1
  20. package/avatar/avatar.js +1 -1
  21. package/avatar/avatar.min.js +1 -1
  22. package/avatargroup/avatargroup.cjs.js +1 -1
  23. package/avatargroup/avatargroup.cjs.min.js +1 -1
  24. package/avatargroup/avatargroup.esm.js +1 -1
  25. package/avatargroup/avatargroup.esm.min.js +1 -1
  26. package/avatargroup/avatargroup.js +1 -1
  27. package/avatargroup/avatargroup.min.js +1 -1
  28. package/badgedirective/badgedirective.cjs.js +1 -1
  29. package/badgedirective/badgedirective.cjs.min.js +1 -1
  30. package/badgedirective/badgedirective.esm.js +1 -1
  31. package/badgedirective/badgedirective.esm.min.js +1 -1
  32. package/badgedirective/badgedirective.js +1 -1
  33. package/badgedirective/badgedirective.min.js +1 -1
  34. package/breadcrumb/Breadcrumb.vue +1 -1
  35. package/breadcrumb/breadcrumb.cjs.js +2 -3
  36. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  37. package/breadcrumb/breadcrumb.esm.js +2 -3
  38. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  39. package/breadcrumb/breadcrumb.js +2 -3
  40. package/breadcrumb/breadcrumb.min.js +1 -1
  41. package/calendar/Calendar.d.ts +1 -1
  42. package/calendar/Calendar.vue +3 -2
  43. package/calendar/calendar.cjs.js +4 -3
  44. package/calendar/calendar.cjs.min.js +1 -1
  45. package/calendar/calendar.esm.js +4 -3
  46. package/calendar/calendar.esm.min.js +1 -1
  47. package/calendar/calendar.js +4 -3
  48. package/calendar/calendar.min.js +1 -1
  49. package/carousel/Carousel.d.ts +9 -1
  50. package/carousel/Carousel.vue +144 -19
  51. package/carousel/carousel.cjs.js +159 -45
  52. package/carousel/carousel.cjs.min.js +1 -1
  53. package/carousel/carousel.esm.js +160 -46
  54. package/carousel/carousel.esm.min.js +1 -1
  55. package/carousel/carousel.js +160 -46
  56. package/carousel/carousel.min.js +1 -1
  57. package/cascadeselect/CascadeSelect.vue +9 -4
  58. package/cascadeselect/cascadeselect.cjs.js +9 -4
  59. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  60. package/cascadeselect/cascadeselect.esm.js +9 -4
  61. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  62. package/cascadeselect/cascadeselect.js +9 -4
  63. package/cascadeselect/cascadeselect.min.js +1 -1
  64. package/chart/Chart.d.ts +5 -0
  65. package/chart/Chart.vue +5 -1
  66. package/chart/chart.cjs.js +6 -2
  67. package/chart/chart.cjs.min.js +1 -1
  68. package/chart/chart.esm.js +7 -3
  69. package/chart/chart.esm.min.js +1 -1
  70. package/chart/chart.js +6 -2
  71. package/chart/chart.min.js +1 -1
  72. package/checkbox/Checkbox.vue +1 -3
  73. package/checkbox/checkbox.cjs.js +3 -4
  74. package/checkbox/checkbox.cjs.min.js +1 -1
  75. package/checkbox/checkbox.esm.js +4 -5
  76. package/checkbox/checkbox.esm.min.js +1 -1
  77. package/checkbox/checkbox.js +3 -4
  78. package/checkbox/checkbox.min.js +1 -1
  79. package/chip/chip.cjs.js +1 -1
  80. package/chip/chip.cjs.min.js +1 -1
  81. package/chip/chip.esm.js +1 -1
  82. package/chip/chip.esm.min.js +1 -1
  83. package/chip/chip.js +1 -1
  84. package/chip/chip.min.js +1 -1
  85. package/chips/chips.cjs.js +1 -1
  86. package/chips/chips.cjs.min.js +1 -1
  87. package/chips/chips.esm.js +1 -1
  88. package/chips/chips.esm.min.js +1 -1
  89. package/chips/chips.js +1 -1
  90. package/chips/chips.min.js +1 -1
  91. package/colorpicker/ColorPicker.vue +5 -7
  92. package/colorpicker/colorpicker.cjs.js +5 -7
  93. package/colorpicker/colorpicker.cjs.min.js +1 -1
  94. package/colorpicker/colorpicker.esm.js +5 -7
  95. package/colorpicker/colorpicker.esm.min.js +1 -1
  96. package/colorpicker/colorpicker.js +6 -8
  97. package/colorpicker/colorpicker.min.js +1 -1
  98. package/config/PrimeVue.d.ts +37 -0
  99. package/config/config.cjs.js +38 -1
  100. package/config/config.cjs.min.js +1 -1
  101. package/config/config.esm.js +38 -1
  102. package/config/config.esm.min.js +1 -1
  103. package/config/config.js +38 -1
  104. package/config/config.min.js +1 -1
  105. package/confirmationservice/ConfirmationService.d.ts +1 -1
  106. package/confirmdialog/ConfirmDialog.vue +1 -1
  107. package/confirmdialog/confirmdialog.cjs.js +6 -3
  108. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  109. package/confirmdialog/confirmdialog.esm.js +7 -4
  110. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  111. package/confirmdialog/confirmdialog.js +6 -3
  112. package/confirmdialog/confirmdialog.min.js +1 -1
  113. package/confirmpopup/ConfirmPopup.vue +11 -10
  114. package/confirmpopup/confirmpopup.cjs.js +15 -13
  115. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  116. package/confirmpopup/confirmpopup.esm.js +15 -13
  117. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  118. package/confirmpopup/confirmpopup.js +15 -13
  119. package/confirmpopup/confirmpopup.min.js +1 -1
  120. package/contextmenu/ContextMenuSub.vue +3 -5
  121. package/contextmenu/contextmenu.cjs.js +4 -6
  122. package/contextmenu/contextmenu.cjs.min.js +1 -1
  123. package/contextmenu/contextmenu.esm.js +4 -6
  124. package/contextmenu/contextmenu.esm.min.js +1 -1
  125. package/contextmenu/contextmenu.js +4 -6
  126. package/contextmenu/contextmenu.min.js +1 -1
  127. package/core/core.js +537 -261
  128. package/core/core.min.js +13 -13
  129. package/datatable/BodyCell.vue +39 -14
  130. package/datatable/ColumnFilter.vue +67 -41
  131. package/datatable/DataTable.d.ts +11 -3
  132. package/datatable/DataTable.vue +162 -25
  133. package/datatable/HeaderCell.vue +12 -6
  134. package/datatable/HeaderCheckbox.vue +17 -14
  135. package/datatable/RowCheckbox.vue +28 -13
  136. package/datatable/RowRadioButton.vue +11 -3
  137. package/datatable/TableBody.vue +25 -7
  138. package/datatable/TableFooter.vue +1 -1
  139. package/datatable/TableHeader.vue +9 -3
  140. package/datatable/TableLoadingBody.vue +1 -1
  141. package/datatable/datatable.cjs.js +540 -269
  142. package/datatable/datatable.cjs.min.js +1 -1
  143. package/datatable/datatable.esm.js +539 -269
  144. package/datatable/datatable.esm.min.js +1 -1
  145. package/datatable/datatable.js +539 -269
  146. package/datatable/datatable.min.js +1 -1
  147. package/dataviewlayoutoptions/DataViewLayoutOptions.vue +23 -3
  148. package/dataviewlayoutoptions/dataviewlayoutoptions.cjs.js +40 -11
  149. package/dataviewlayoutoptions/dataviewlayoutoptions.cjs.min.js +1 -1
  150. package/dataviewlayoutoptions/dataviewlayoutoptions.esm.js +40 -11
  151. package/dataviewlayoutoptions/dataviewlayoutoptions.esm.min.js +1 -1
  152. package/dataviewlayoutoptions/dataviewlayoutoptions.js +40 -11
  153. package/dataviewlayoutoptions/dataviewlayoutoptions.min.js +1 -1
  154. package/dialog/Dialog.vue +12 -7
  155. package/dialog/dialog.cjs.js +15 -10
  156. package/dialog/dialog.cjs.min.js +1 -1
  157. package/dialog/dialog.esm.js +15 -10
  158. package/dialog/dialog.esm.min.js +1 -1
  159. package/dialog/dialog.js +15 -10
  160. package/dialog/dialog.min.js +1 -1
  161. package/divider/divider.cjs.js +1 -1
  162. package/divider/divider.cjs.min.js +1 -1
  163. package/divider/divider.esm.js +1 -1
  164. package/divider/divider.esm.min.js +1 -1
  165. package/divider/divider.js +1 -1
  166. package/divider/divider.min.js +1 -1
  167. package/dock/dock.cjs.js +1 -1
  168. package/dock/dock.cjs.min.js +1 -1
  169. package/dock/dock.esm.js +1 -1
  170. package/dock/dock.esm.min.js +1 -1
  171. package/dock/dock.js +1 -1
  172. package/dock/dock.min.js +1 -1
  173. package/dropdown/Dropdown.vue +24 -16
  174. package/dropdown/dropdown.cjs.js +25 -17
  175. package/dropdown/dropdown.cjs.min.js +1 -1
  176. package/dropdown/dropdown.esm.js +25 -17
  177. package/dropdown/dropdown.esm.min.js +1 -1
  178. package/dropdown/dropdown.js +25 -17
  179. package/dropdown/dropdown.min.js +1 -1
  180. package/editor/Editor.vue +7 -1
  181. package/editor/editor.cjs.js +35 -6
  182. package/editor/editor.cjs.min.js +1 -1
  183. package/editor/editor.esm.js +35 -6
  184. package/editor/editor.esm.min.js +1 -1
  185. package/editor/editor.js +35 -6
  186. package/editor/editor.min.js +1 -1
  187. package/fieldset/Fieldset.vue +1 -1
  188. package/fieldset/fieldset.cjs.js +2 -2
  189. package/fieldset/fieldset.cjs.min.js +1 -1
  190. package/fieldset/fieldset.esm.js +2 -2
  191. package/fieldset/fieldset.esm.min.js +1 -1
  192. package/fieldset/fieldset.js +3 -3
  193. package/fieldset/fieldset.min.js +1 -1
  194. package/fileupload/FileUpload.d.ts +51 -1
  195. package/fileupload/FileUpload.vue +2 -2
  196. package/fileupload/fileupload.cjs.js +3 -3
  197. package/fileupload/fileupload.cjs.min.js +1 -1
  198. package/fileupload/fileupload.esm.js +3 -3
  199. package/fileupload/fileupload.esm.min.js +1 -1
  200. package/fileupload/fileupload.js +3 -3
  201. package/fileupload/fileupload.min.js +1 -1
  202. package/focustrap/focustrap.cjs.js +86 -64
  203. package/focustrap/focustrap.cjs.min.js +1 -1
  204. package/focustrap/focustrap.esm.js +85 -63
  205. package/focustrap/focustrap.esm.min.js +1 -1
  206. package/focustrap/focustrap.js +86 -64
  207. package/focustrap/focustrap.min.js +1 -1
  208. package/galleria/Galleria.d.ts +15 -3
  209. package/galleria/Galleria.vue +36 -6
  210. package/galleria/GalleriaContent.vue +11 -7
  211. package/galleria/GalleriaItem.vue +36 -6
  212. package/galleria/GalleriaThumbnails.vue +108 -4
  213. package/galleria/galleria.cjs.js +259 -123
  214. package/galleria/galleria.cjs.min.js +1 -1
  215. package/galleria/galleria.esm.js +258 -123
  216. package/galleria/galleria.esm.min.js +1 -1
  217. package/galleria/galleria.js +259 -124
  218. package/galleria/galleria.min.js +1 -1
  219. package/image/Image.vue +71 -13
  220. package/image/image.cjs.js +113 -40
  221. package/image/image.cjs.min.js +1 -1
  222. package/image/image.esm.js +113 -41
  223. package/image/image.esm.min.js +1 -1
  224. package/image/image.js +113 -41
  225. package/image/image.min.js +1 -1
  226. package/inlinemessage/inlinemessage.cjs.js +1 -1
  227. package/inlinemessage/inlinemessage.cjs.min.js +1 -1
  228. package/inlinemessage/inlinemessage.esm.js +1 -1
  229. package/inlinemessage/inlinemessage.esm.min.js +1 -1
  230. package/inlinemessage/inlinemessage.js +1 -1
  231. package/inlinemessage/inlinemessage.min.js +1 -1
  232. package/inplace/inplace.cjs.js +1 -1
  233. package/inplace/inplace.cjs.min.js +1 -1
  234. package/inplace/inplace.esm.js +1 -1
  235. package/inplace/inplace.esm.min.js +1 -1
  236. package/inplace/inplace.js +1 -1
  237. package/inplace/inplace.min.js +1 -1
  238. package/inputnumber/InputNumber.vue +11 -20
  239. package/inputnumber/inputnumber.cjs.js +12 -21
  240. package/inputnumber/inputnumber.cjs.min.js +1 -1
  241. package/inputnumber/inputnumber.esm.js +12 -21
  242. package/inputnumber/inputnumber.esm.min.js +1 -1
  243. package/inputnumber/inputnumber.js +12 -21
  244. package/inputnumber/inputnumber.min.js +1 -1
  245. package/knob/knob.cjs.js +1 -1
  246. package/knob/knob.cjs.min.js +1 -1
  247. package/knob/knob.esm.js +1 -1
  248. package/knob/knob.esm.min.js +1 -1
  249. package/knob/knob.js +1 -1
  250. package/knob/knob.min.js +1 -1
  251. package/listbox/Listbox.vue +12 -8
  252. package/listbox/listbox.cjs.js +13 -9
  253. package/listbox/listbox.cjs.min.js +1 -1
  254. package/listbox/listbox.esm.js +13 -9
  255. package/listbox/listbox.esm.min.js +1 -1
  256. package/listbox/listbox.js +14 -10
  257. package/listbox/listbox.min.js +1 -1
  258. package/megamenu/MegaMenu.vue +10 -1
  259. package/megamenu/MegaMenuSub.vue +3 -5
  260. package/megamenu/megamenu.cjs.js +14 -7
  261. package/megamenu/megamenu.cjs.min.js +1 -1
  262. package/megamenu/megamenu.esm.js +14 -7
  263. package/megamenu/megamenu.esm.min.js +1 -1
  264. package/megamenu/megamenu.js +14 -7
  265. package/megamenu/megamenu.min.js +1 -1
  266. package/menu/Menu.vue +8 -2
  267. package/menu/menu.cjs.js +9 -3
  268. package/menu/menu.cjs.min.js +1 -1
  269. package/menu/menu.esm.js +9 -3
  270. package/menu/menu.esm.min.js +1 -1
  271. package/menu/menu.js +9 -3
  272. package/menu/menu.min.js +1 -1
  273. package/menubar/Menubar.vue +7 -2
  274. package/menubar/MenubarSub.vue +3 -5
  275. package/menubar/menubar.cjs.js +11 -8
  276. package/menubar/menubar.cjs.min.js +1 -1
  277. package/menubar/menubar.esm.js +11 -8
  278. package/menubar/menubar.esm.min.js +1 -1
  279. package/menubar/menubar.js +11 -8
  280. package/menubar/menubar.min.js +1 -1
  281. package/message/Message.d.ts +5 -1
  282. package/message/Message.vue +15 -5
  283. package/message/message.cjs.js +24 -10
  284. package/message/message.cjs.min.js +1 -1
  285. package/message/message.esm.js +25 -11
  286. package/message/message.esm.min.js +1 -1
  287. package/message/message.js +24 -10
  288. package/message/message.min.js +1 -1
  289. package/multiselect/MultiSelect.vue +53 -36
  290. package/multiselect/multiselect.cjs.js +54 -37
  291. package/multiselect/multiselect.cjs.min.js +1 -1
  292. package/multiselect/multiselect.esm.js +55 -38
  293. package/multiselect/multiselect.esm.min.js +1 -1
  294. package/multiselect/multiselect.js +54 -37
  295. package/multiselect/multiselect.min.js +1 -1
  296. package/orderlist/OrderList.d.ts +33 -1
  297. package/orderlist/OrderList.vue +265 -63
  298. package/orderlist/orderlist.cjs.js +280 -70
  299. package/orderlist/orderlist.cjs.min.js +1 -1
  300. package/orderlist/orderlist.esm.js +281 -71
  301. package/orderlist/orderlist.esm.min.js +1 -1
  302. package/orderlist/orderlist.js +281 -71
  303. package/orderlist/orderlist.min.js +1 -1
  304. package/organizationchart/OrganizationChartNode.vue +7 -1
  305. package/organizationchart/organizationchart.cjs.js +8 -2
  306. package/organizationchart/organizationchart.cjs.min.js +1 -1
  307. package/organizationchart/organizationchart.esm.js +9 -3
  308. package/organizationchart/organizationchart.esm.min.js +1 -1
  309. package/organizationchart/organizationchart.js +8 -2
  310. package/organizationchart/organizationchart.min.js +1 -1
  311. package/overlaypanel/overlaypanel.cjs.js +1 -1
  312. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  313. package/overlaypanel/overlaypanel.esm.js +1 -1
  314. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  315. package/overlaypanel/overlaypanel.js +1 -1
  316. package/overlaypanel/overlaypanel.min.js +1 -1
  317. package/package.json +2 -2
  318. package/paginator/CurrentPageReport.vue +0 -1
  319. package/paginator/JumpToPageDropdown.vue +0 -1
  320. package/paginator/JumpToPageInput.vue +19 -4
  321. package/paginator/PageLinks.vue +16 -1
  322. package/paginator/Paginator.vue +24 -11
  323. package/paginator/RowsPerPageDropdown.vue +0 -1
  324. package/paginator/paginator.cjs.js +51 -20
  325. package/paginator/paginator.cjs.min.js +1 -1
  326. package/paginator/paginator.esm.js +51 -20
  327. package/paginator/paginator.esm.min.js +1 -1
  328. package/paginator/paginator.js +51 -20
  329. package/paginator/paginator.min.js +1 -1
  330. package/panel/Panel.vue +2 -2
  331. package/panel/panel.cjs.js +3 -3
  332. package/panel/panel.cjs.min.js +1 -1
  333. package/panel/panel.esm.js +3 -3
  334. package/panel/panel.esm.min.js +1 -1
  335. package/panel/panel.js +4 -4
  336. package/panel/panel.min.js +1 -1
  337. package/panelmenu/PanelMenu.vue +4 -4
  338. package/panelmenu/PanelMenuList.vue +57 -0
  339. package/panelmenu/PanelMenuSub.vue +3 -5
  340. package/panelmenu/panelmenu.cjs.js +78 -10
  341. package/panelmenu/panelmenu.cjs.min.js +1 -1
  342. package/panelmenu/panelmenu.esm.js +78 -10
  343. package/panelmenu/panelmenu.esm.min.js +1 -1
  344. package/panelmenu/panelmenu.js +78 -10
  345. package/panelmenu/panelmenu.min.js +1 -1
  346. package/password/Password.vue +5 -0
  347. package/password/password.cjs.js +1 -1
  348. package/password/password.cjs.min.js +1 -1
  349. package/password/password.esm.js +1 -1
  350. package/password/password.esm.min.js +1 -1
  351. package/password/password.js +1 -1
  352. package/password/password.min.js +1 -1
  353. package/picklist/PickList.d.ts +45 -1
  354. package/picklist/PickList.vue +305 -58
  355. package/picklist/picklist.cjs.js +350 -89
  356. package/picklist/picklist.cjs.min.js +1 -1
  357. package/picklist/picklist.esm.js +351 -90
  358. package/picklist/picklist.esm.min.js +1 -1
  359. package/picklist/picklist.js +351 -90
  360. package/picklist/picklist.min.js +1 -1
  361. package/progressbar/progressbar.cjs.js +1 -1
  362. package/progressbar/progressbar.cjs.min.js +1 -1
  363. package/progressbar/progressbar.esm.js +1 -1
  364. package/progressbar/progressbar.esm.min.js +1 -1
  365. package/progressbar/progressbar.js +1 -1
  366. package/progressbar/progressbar.min.js +1 -1
  367. package/progressspinner/ProgressSpinner.vue +0 -47
  368. package/progressspinner/progressspinner.cjs.js +1 -1
  369. package/progressspinner/progressspinner.cjs.min.js +1 -1
  370. package/progressspinner/progressspinner.esm.js +1 -1
  371. package/progressspinner/progressspinner.esm.min.js +1 -1
  372. package/progressspinner/progressspinner.js +1 -1
  373. package/progressspinner/progressspinner.min.js +1 -1
  374. package/rating/Rating.d.ts +1 -0
  375. package/rating/rating.cjs.js +1 -1
  376. package/rating/rating.cjs.min.js +1 -1
  377. package/rating/rating.esm.js +1 -1
  378. package/rating/rating.esm.min.js +1 -1
  379. package/rating/rating.js +1 -1
  380. package/rating/rating.min.js +1 -1
  381. package/resources/primevue.css +2 -6
  382. package/resources/primevue.min.css +1 -1
  383. package/resources/themes/arya-blue/theme.css +77 -14
  384. package/resources/themes/arya-green/theme.css +77 -14
  385. package/resources/themes/arya-orange/theme.css +77 -14
  386. package/resources/themes/arya-purple/theme.css +77 -14
  387. package/resources/themes/bootstrap4-dark-blue/theme.css +77 -14
  388. package/resources/themes/bootstrap4-dark-purple/theme.css +77 -14
  389. package/resources/themes/bootstrap4-light-blue/theme.css +77 -14
  390. package/resources/themes/bootstrap4-light-purple/theme.css +77 -14
  391. package/resources/themes/fluent-light/theme.css +77 -14
  392. package/resources/themes/lara-dark-blue/theme.css +81 -14
  393. package/resources/themes/lara-dark-indigo/theme.css +81 -14
  394. package/resources/themes/lara-dark-purple/theme.css +81 -14
  395. package/resources/themes/lara-dark-teal/theme.css +81 -14
  396. package/resources/themes/lara-light-blue/theme.css +81 -14
  397. package/resources/themes/lara-light-indigo/theme.css +81 -14
  398. package/resources/themes/lara-light-purple/theme.css +81 -14
  399. package/resources/themes/lara-light-teal/theme.css +81 -14
  400. package/resources/themes/luna-amber/theme.css +77 -14
  401. package/resources/themes/luna-blue/theme.css +77 -14
  402. package/resources/themes/luna-green/theme.css +77 -14
  403. package/resources/themes/luna-pink/theme.css +77 -14
  404. package/resources/themes/md-dark-deeppurple/theme.css +101 -20
  405. package/resources/themes/md-dark-indigo/theme.css +101 -20
  406. package/resources/themes/md-light-deeppurple/theme.css +101 -20
  407. package/resources/themes/md-light-indigo/theme.css +101 -20
  408. package/resources/themes/mdc-dark-deeppurple/theme.css +101 -20
  409. package/resources/themes/mdc-dark-indigo/theme.css +101 -20
  410. package/resources/themes/mdc-light-deeppurple/theme.css +101 -20
  411. package/resources/themes/mdc-light-indigo/theme.css +101 -20
  412. package/resources/themes/nova/theme.css +77 -14
  413. package/resources/themes/nova-accent/theme.css +77 -14
  414. package/resources/themes/nova-alt/theme.css +77 -14
  415. package/resources/themes/nova-vue/theme.css +77 -14
  416. package/resources/themes/rhea/theme.css +77 -14
  417. package/resources/themes/saga-blue/theme.css +77 -14
  418. package/resources/themes/saga-green/theme.css +77 -14
  419. package/resources/themes/saga-orange/theme.css +77 -14
  420. package/resources/themes/saga-purple/theme.css +77 -14
  421. package/resources/themes/tailwind-light/theme.css +81 -14
  422. package/resources/themes/vela-blue/theme.css +77 -14
  423. package/resources/themes/vela-green/theme.css +77 -14
  424. package/resources/themes/vela-orange/theme.css +77 -14
  425. package/resources/themes/vela-purple/theme.css +77 -14
  426. package/scrollpanel/scrollpanel.cjs.js +1 -1
  427. package/scrollpanel/scrollpanel.cjs.min.js +1 -1
  428. package/scrollpanel/scrollpanel.esm.js +1 -1
  429. package/scrollpanel/scrollpanel.esm.min.js +1 -1
  430. package/scrollpanel/scrollpanel.js +1 -1
  431. package/scrollpanel/scrollpanel.min.js +1 -1
  432. package/scrolltop/scrolltop.cjs.js +1 -1
  433. package/scrolltop/scrolltop.cjs.min.js +1 -1
  434. package/scrolltop/scrolltop.esm.js +1 -1
  435. package/scrolltop/scrolltop.esm.min.js +1 -1
  436. package/scrolltop/scrolltop.js +1 -1
  437. package/scrolltop/scrolltop.min.js +1 -1
  438. package/selectbutton/SelectButton.vue +1 -1
  439. package/selectbutton/selectbutton.cjs.js +1 -1
  440. package/selectbutton/selectbutton.cjs.min.js +1 -1
  441. package/selectbutton/selectbutton.esm.js +1 -1
  442. package/selectbutton/selectbutton.esm.min.js +1 -1
  443. package/selectbutton/selectbutton.js +2 -2
  444. package/selectbutton/selectbutton.min.js +1 -1
  445. package/sidebar/Sidebar.d.ts +4 -0
  446. package/sidebar/Sidebar.vue +210 -142
  447. package/sidebar/sidebar.cjs.js +146 -121
  448. package/sidebar/sidebar.cjs.min.js +1 -1
  449. package/sidebar/sidebar.esm.js +147 -122
  450. package/sidebar/sidebar.esm.min.js +1 -1
  451. package/sidebar/sidebar.js +146 -121
  452. package/sidebar/sidebar.min.js +1 -1
  453. package/skeleton/skeleton.cjs.js +1 -1
  454. package/skeleton/skeleton.cjs.min.js +1 -1
  455. package/skeleton/skeleton.esm.js +1 -1
  456. package/skeleton/skeleton.esm.min.js +1 -1
  457. package/skeleton/skeleton.js +1 -1
  458. package/skeleton/skeleton.min.js +1 -1
  459. package/slider/slider.cjs.js +1 -1
  460. package/slider/slider.cjs.min.js +1 -1
  461. package/slider/slider.esm.js +1 -1
  462. package/slider/slider.esm.min.js +1 -1
  463. package/slider/slider.js +1 -1
  464. package/slider/slider.min.js +1 -1
  465. package/speeddial/SpeedDial.d.ts +19 -1
  466. package/speeddial/SpeedDial.vue +254 -7
  467. package/speeddial/speeddial.cjs.js +255 -14
  468. package/speeddial/speeddial.cjs.min.js +1 -1
  469. package/speeddial/speeddial.esm.js +256 -15
  470. package/speeddial/speeddial.esm.min.js +1 -1
  471. package/speeddial/speeddial.js +255 -14
  472. package/speeddial/speeddial.min.js +1 -1
  473. package/splitbutton/SplitButton.d.ts +20 -4
  474. package/splitbutton/SplitButton.vue +56 -8
  475. package/splitbutton/splitbutton.cjs.js +57 -17
  476. package/splitbutton/splitbutton.cjs.min.js +1 -1
  477. package/splitbutton/splitbutton.esm.js +57 -17
  478. package/splitbutton/splitbutton.esm.min.js +1 -1
  479. package/splitbutton/splitbutton.js +57 -17
  480. package/splitbutton/splitbutton.min.js +1 -1
  481. package/splitter/Splitter.vue +1 -1
  482. package/splitter/splitter.cjs.js +1 -1
  483. package/splitter/splitter.cjs.min.js +1 -1
  484. package/splitter/splitter.esm.js +1 -1
  485. package/splitter/splitter.esm.min.js +1 -1
  486. package/splitter/splitter.js +1 -1
  487. package/splitter/splitter.min.js +1 -1
  488. package/steps/steps.cjs.js +1 -1
  489. package/steps/steps.cjs.min.js +1 -1
  490. package/steps/steps.esm.js +1 -1
  491. package/steps/steps.esm.min.js +1 -1
  492. package/steps/steps.js +1 -1
  493. package/steps/steps.min.js +1 -1
  494. package/tabmenu/TabMenu.vue +4 -16
  495. package/tabmenu/tabmenu.cjs.js +19 -16
  496. package/tabmenu/tabmenu.cjs.min.js +1 -1
  497. package/tabmenu/tabmenu.esm.js +19 -16
  498. package/tabmenu/tabmenu.esm.min.js +1 -1
  499. package/tabmenu/tabmenu.js +19 -16
  500. package/tabmenu/tabmenu.min.js +1 -1
  501. package/tabview/TabView.vue +2 -2
  502. package/tabview/tabview.cjs.js +3 -3
  503. package/tabview/tabview.cjs.min.js +1 -1
  504. package/tabview/tabview.esm.js +3 -3
  505. package/tabview/tabview.esm.min.js +1 -1
  506. package/tabview/tabview.js +3 -3
  507. package/tabview/tabview.min.js +1 -1
  508. package/tag/tag.cjs.js +1 -1
  509. package/tag/tag.cjs.min.js +1 -1
  510. package/tag/tag.esm.js +1 -1
  511. package/tag/tag.esm.min.js +1 -1
  512. package/tag/tag.js +1 -1
  513. package/tag/tag.min.js +1 -1
  514. package/terminal/terminal.cjs.js +1 -1
  515. package/terminal/terminal.cjs.min.js +1 -1
  516. package/terminal/terminal.esm.js +1 -1
  517. package/terminal/terminal.esm.min.js +1 -1
  518. package/terminal/terminal.js +1 -1
  519. package/terminal/terminal.min.js +1 -1
  520. package/tieredmenu/TieredMenu.vue +13 -3
  521. package/tieredmenu/TieredMenuSub.vue +3 -5
  522. package/tieredmenu/tieredmenu.cjs.js +17 -9
  523. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  524. package/tieredmenu/tieredmenu.esm.js +17 -9
  525. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  526. package/tieredmenu/tieredmenu.js +17 -9
  527. package/tieredmenu/tieredmenu.min.js +1 -1
  528. package/timeline/timeline.cjs.js +1 -1
  529. package/timeline/timeline.cjs.min.js +1 -1
  530. package/timeline/timeline.esm.js +1 -1
  531. package/timeline/timeline.esm.min.js +1 -1
  532. package/timeline/timeline.js +1 -1
  533. package/timeline/timeline.min.js +1 -1
  534. package/toast/Toast.d.ts +5 -1
  535. package/toast/Toast.vue +5 -0
  536. package/toast/ToastMessage.vue +36 -8
  537. package/toast/toast.cjs.js +49 -13
  538. package/toast/toast.cjs.min.js +1 -1
  539. package/toast/toast.esm.js +50 -14
  540. package/toast/toast.esm.min.js +1 -1
  541. package/toast/toast.js +49 -13
  542. package/toast/toast.min.js +1 -1
  543. package/toolbar/Toolbar.d.ts +6 -0
  544. package/toolbar/Toolbar.vue +12 -2
  545. package/toolbar/toolbar.cjs.js +7 -3
  546. package/toolbar/toolbar.cjs.min.js +1 -1
  547. package/toolbar/toolbar.esm.js +7 -3
  548. package/toolbar/toolbar.esm.min.js +1 -1
  549. package/toolbar/toolbar.js +7 -3
  550. package/toolbar/toolbar.min.js +1 -1
  551. package/tree/Tree.d.ts +8 -0
  552. package/tree/Tree.vue +10 -2
  553. package/tree/TreeNode.vue +174 -37
  554. package/tree/tree.cjs.js +193 -59
  555. package/tree/tree.cjs.min.js +1 -1
  556. package/tree/tree.esm.js +193 -59
  557. package/tree/tree.esm.min.js +1 -1
  558. package/tree/tree.js +193 -59
  559. package/tree/tree.min.js +1 -1
  560. package/treeselect/TreeSelect.vue +40 -26
  561. package/treeselect/treeselect.cjs.js +46 -30
  562. package/treeselect/treeselect.cjs.min.js +1 -1
  563. package/treeselect/treeselect.esm.js +44 -28
  564. package/treeselect/treeselect.esm.min.js +1 -1
  565. package/treeselect/treeselect.js +45 -29
  566. package/treeselect/treeselect.min.js +1 -1
  567. package/treetable/BodyCell.vue +4 -4
  568. package/treetable/HeaderCell.vue +4 -2
  569. package/treetable/TreeTable.d.ts +4 -0
  570. package/treetable/TreeTable.vue +43 -17
  571. package/treetable/TreeTableRow.vue +200 -59
  572. package/treetable/treetable.cjs.js +798 -621
  573. package/treetable/treetable.cjs.min.js +1 -1
  574. package/treetable/treetable.esm.js +795 -618
  575. package/treetable/treetable.esm.min.js +1 -1
  576. package/treetable/treetable.js +795 -618
  577. package/treetable/treetable.min.js +1 -1
  578. package/utils/utils.cjs.js +67 -47
  579. package/utils/utils.cjs.min.js +1 -1
  580. package/utils/utils.esm.js +67 -47
  581. package/utils/utils.esm.min.js +1 -1
  582. package/utils/utils.js +67 -47
  583. package/utils/utils.min.js +1 -1
  584. package/vetur-attributes.json +35 -283
  585. package/vetur-tags.json +26 -89
  586. package/virtualscroller/virtualscroller.cjs.js +1 -1
  587. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  588. package/virtualscroller/virtualscroller.esm.js +1 -1
  589. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  590. package/virtualscroller/virtualscroller.js +1 -1
  591. package/virtualscroller/virtualscroller.min.js +1 -1
  592. package/web-types.json +94 -998
  593. package/galleria/GalleriaItemSlot.vue +0 -53
@@ -48,8 +48,8 @@ var script$2 = {
48
48
  getItemKey(processedItem) {
49
49
  return this.getItemId(processedItem);
50
50
  },
51
- getItemProp(processedItem, name) {
52
- return processedItem && processedItem.item ? utils.ObjectUtils.getItemValue(processedItem.item[name]) : undefined;
51
+ getItemProp(processedItem, name, params) {
52
+ return processedItem && processedItem.item ? utils.ObjectUtils.getItemValue(processedItem.item[name], params) : undefined;
53
53
  },
54
54
  getItemLabel(processedItem) {
55
55
  return this.getItemProp(processedItem, 'label');
@@ -70,9 +70,7 @@ var script$2 = {
70
70
  return utils.ObjectUtils.isNotEmpty(processedItem.items);
71
71
  },
72
72
  onItemClick(event, processedItem) {
73
- const command = this.getItemProp(processedItem, 'command');
74
-
75
- command && command({ originalEvent: event, item: processedItem.item });
73
+ this.getItemProp(processedItem, 'command', { originalEvent: event, item: processedItem.item });
76
74
  this.$emit('item-toggle', { processedItem, expanded: !this.isItemActive(processedItem) });
77
75
  },
78
76
  onItemToggle(event) {
@@ -282,6 +280,8 @@ var script$1 = {
282
280
  default: true
283
281
  }
284
282
  },
283
+ searchTimeout: null,
284
+ searchValue: null,
285
285
  data() {
286
286
  return {
287
287
  focused: false,
@@ -301,6 +301,9 @@ var script$1 = {
301
301
  getItemProp(processedItem, name) {
302
302
  return processedItem && processedItem.item ? utils.ObjectUtils.getItemValue(processedItem.item[name]) : undefined;
303
303
  },
304
+ getItemLabel(processedItem) {
305
+ return this.getItemProp(processedItem, 'label');
306
+ },
304
307
  isItemVisible(processedItem) {
305
308
  return this.getItemProp(processedItem, 'visible') !== false;
306
309
  },
@@ -320,8 +323,11 @@ var script$1 = {
320
323
  onBlur() {
321
324
  this.focused = false;
322
325
  this.focusedItem = null;
326
+ this.searchValue = '';
323
327
  },
324
328
  onKeyDown(event) {
329
+ const metaKey = event.metaKey || event.ctrlKey;
330
+
325
331
  switch (event.code) {
326
332
  case 'ArrowDown':
327
333
  this.onArrowDownKey(event);
@@ -354,6 +360,23 @@ var script$1 = {
354
360
  case 'Enter':
355
361
  this.onEnterKey(event);
356
362
  break;
363
+
364
+ case 'Escape':
365
+ case 'Tab':
366
+ case 'PageDown':
367
+ case 'PageUp':
368
+ case 'Backspace':
369
+ case 'ShiftLeft':
370
+ case 'ShiftRight':
371
+ //NOOP
372
+ break;
373
+
374
+ default:
375
+ if (!metaKey && utils.ObjectUtils.isPrintableCharacter(event.key)) {
376
+ this.searchItems(event, event.key);
377
+ }
378
+
379
+ break;
357
380
  }
358
381
  },
359
382
  onArrowDownKey(event) {
@@ -438,6 +461,9 @@ var script$1 = {
438
461
 
439
462
  return panel && panel.contains(element);
440
463
  },
464
+ isItemMatched(processedItem) {
465
+ return this.isValidItem(processedItem) && this.getItemLabel(processedItem).toLocaleLowerCase(this.searchLocale).startsWith(this.searchValue.toLocaleLowerCase(this.searchLocale));
466
+ },
441
467
  isVisibleItem(processedItem) {
442
468
  return !!processedItem && (processedItem.level === 0 || this.isItemActive(processedItem)) && this.isItemVisible(processedItem);
443
469
  },
@@ -462,6 +488,48 @@ var script$1 = {
462
488
 
463
489
  return matchedItem || processedItem;
464
490
  },
491
+ searchItems(event, char) {
492
+ this.searchValue = (this.searchValue || '') + char;
493
+
494
+ let matchedItem = null;
495
+ let matched = false;
496
+
497
+ if (utils.ObjectUtils.isNotEmpty(this.focusedItem)) {
498
+ const focusedItemIndex = this.visibleItems.findIndex((processedItem) => processedItem.key === this.focusedItem.key);
499
+
500
+ matchedItem = this.visibleItems.slice(focusedItemIndex).find((processedItem) => this.isItemMatched(processedItem));
501
+ matchedItem = utils.ObjectUtils.isEmpty(matchedItem) ? this.visibleItems.slice(0, focusedItemIndex).find((processedItem) => this.isItemMatched(processedItem)) : matchedItem;
502
+ } else {
503
+ matchedItem = this.visibleItems.find((processedItem) => this.isItemMatched(processedItem));
504
+ }
505
+
506
+ if (utils.ObjectUtils.isNotEmpty(matchedItem)) {
507
+ matched = true;
508
+ }
509
+
510
+ if (utils.ObjectUtils.isEmpty(matchedItem) && utils.ObjectUtils.isEmpty(this.focusedItem)) {
511
+ matchedItem = this.findFirstItem();
512
+ }
513
+
514
+ if (utils.ObjectUtils.isNotEmpty(matchedItem)) {
515
+ this.changeFocusedItem({
516
+ originalEvent: event,
517
+ processedItem: matchedItem,
518
+ allowHeaderFocus: false
519
+ });
520
+ }
521
+
522
+ if (this.searchTimeout) {
523
+ clearTimeout(this.searchTimeout);
524
+ }
525
+
526
+ this.searchTimeout = setTimeout(() => {
527
+ this.searchValue = '';
528
+ this.searchTimeout = null;
529
+ }, 500);
530
+
531
+ return matched;
532
+ },
465
533
  changeFocusedItem(event) {
466
534
  const { originalEvent, processedItem, focusOnNext, selfCheck, allowHeaderFocus = true } = event;
467
535
 
@@ -604,6 +672,7 @@ var script = {
604
672
  activeItem: null
605
673
  };
606
674
  },
675
+
607
676
  methods: {
608
677
  getItemProp(item, name) {
609
678
  return item ? utils.ObjectUtils.getItemValue(item[name]) : undefined;
@@ -612,7 +681,7 @@ var script = {
612
681
  return this.getItemProp(item, 'label');
613
682
  },
614
683
  isItemActive(item) {
615
- return this.expandedKeys ? this.expandedKeys[this.getItemProp(item, 'key')] : item === this.activeItem;
684
+ return this.expandedKeys ? this.expandedKeys[this.getItemProp(item, 'key')] : utils.ObjectUtils.equals(item, this.activeItem);
616
685
  },
617
686
  isItemVisible(item) {
618
687
  return this.getItemProp(item, 'visible') !== false;
@@ -727,11 +796,10 @@ var script = {
727
796
  },
728
797
  changeActiveItem(event, item, selfActive = false) {
729
798
  if (!this.isItemDisabled(item)) {
730
- this.activeItem = selfActive ? item : this.activeItem && this.activeItem === item ? null : item;
731
-
732
799
  const active = this.isItemActive(item);
733
- const eventName = active ? 'panel-open' : 'panel-close';
800
+ const eventName = !active ? 'panel-open' : 'panel-close';
734
801
 
802
+ this.activeItem = selfActive ? item : this.activeItem && utils.ObjectUtils.equals(item, this.activeItem) ? null : item;
735
803
  this.changeExpandedKeys({ item, expanded: !active });
736
804
  this.$emit(eventName, { originalEvent: event, item });
737
805
  }
@@ -946,7 +1014,7 @@ function styleInject(css, ref) {
946
1014
  }
947
1015
  }
948
1016
 
949
- var css_248z = "\n.p-panelmenu .p-panelmenu-header-action {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: pointer;\n position: relative;\n text-decoration: none;\n}\n.p-panelmenu .p-panelmenu-header-action:focus {\n z-index: 1;\n}\n.p-panelmenu .p-submenu-list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.p-panelmenu .p-menuitem-link {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: pointer;\n text-decoration: none;\n position: relative;\n overflow: hidden;\n}\n.p-panelmenu .p-menuitem-text {\n line-height: 1;\n}\n";
1017
+ var css_248z = "\n.p-panelmenu .p-panelmenu-header-action {\n display: flex;\n align-items: center;\n user-select: none;\n cursor: pointer;\n position: relative;\n text-decoration: none;\n}\n.p-panelmenu .p-panelmenu-header-action:focus {\n z-index: 1;\n}\n.p-panelmenu .p-submenu-list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.p-panelmenu .p-menuitem-link {\n display: flex;\n align-items: center;\n user-select: none;\n cursor: pointer;\n text-decoration: none;\n position: relative;\n overflow: hidden;\n}\n.p-panelmenu .p-menuitem-text {\n line-height: 1;\n}\n";
950
1018
  styleInject(css_248z);
951
1019
 
952
1020
  script.render = render;
@@ -1 +1 @@
1
- "use strict";var e=require("primevue/utils"),t=require("primevue/ripple"),n=require("vue");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s={name:"PanelMenuSub",emits:["item-toggle"],props:{panelId:{type:String,default:null},focusedItemId:{type:String,default:null},items:{type:Array,default:null},level:{type:Number,default:0},template:{type:Function,default:null},activeItemPath:{type:Object,default:null},exact:{type:Boolean,default:!0}},methods:{getItemId(e){return`${this.panelId}_${e.key}`},getItemKey(e){return this.getItemId(e)},getItemProp:(t,n)=>t&&t.item?e.ObjectUtils.getItemValue(t.item[n]):void 0,getItemLabel(e){return this.getItemProp(e,"label")},isItemActive(e){return this.activeItemPath.some((t=>t.key===e.key))},isItemVisible(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled(e){return this.getItemProp(e,"disabled")},isItemFocused(e){return this.focusedItemId===this.getItemId(e)},isItemGroup:t=>e.ObjectUtils.isNotEmpty(t.items),onItemClick(e,t){const n=this.getItemProp(t,"command");n&&n({originalEvent:e,item:t.item}),this.$emit("item-toggle",{processedItem:t,expanded:!this.isItemActive(t)})},onItemToggle(e){this.$emit("item-toggle",e)},onItemActionClick(e,t){t&&t(e)},getAriaSetSize(){return this.items.filter((e=>this.isItemVisible(e)&&!this.getItemProp(e,"separator"))).length},getAriaPosInset(e){return e-this.items.slice(0,e).filter((e=>this.isItemVisible(e)&&this.getItemProp(e,"separator"))).length+1},getItemClass(e){return["p-menuitem",this.getItemProp(e,"class"),{"p-focus":this.isItemFocused(e),"p-disabled":this.isItemDisabled(e)}]},getItemActionClass(e,t){return["p-menuitem-link",{"router-link-active":t&&t.isActive,"router-link-active-exact":this.exact&&t&&t.isExactActive}]},getItemIconClass(e){return["p-menuitem-icon",this.getItemProp(e,"icon")]},getItemToggleIconClass(e){return["p-submenu-icon",this.isItemActive(e)?"pi pi-fw pi-chevron-down":"pi pi-fw pi-chevron-right"]},getSeparatorItemClass(e){return["p-menuitem-separator",this.getItemProp(e,"class")]}},directives:{ripple:i(t).default}};const a={class:"p-submenu-list"},o=["id","aria-label","aria-expanded","aria-level","aria-setsize","aria-posinset"],l=["onClick"],r=["href","onClick"],c={class:"p-menuitem-text"},m=["href","target"],d={class:"p-menuitem-text"},p={class:"p-toggleable-content"};s.render=function(e,t,i,s,u,I){const h=n.resolveComponent("router-link"),g=n.resolveComponent("PanelMenuSub",!0),f=n.resolveDirective("ripple");return n.openBlock(),n.createElementBlock("ul",a,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(i.items,((e,t)=>(n.openBlock(),n.createElementBlock(n.Fragment,{key:I.getItemKey(e)},[I.isItemVisible(e)&&!I.getItemProp(e,"separator")?(n.openBlock(),n.createElementBlock("li",{key:0,id:I.getItemId(e),style:n.normalizeStyle(I.getItemProp(e,"style")),class:n.normalizeClass(I.getItemClass(e)),role:"treeitem","aria-label":I.getItemLabel(e),"aria-expanded":I.isItemGroup(e)?I.isItemActive(e):void 0,"aria-level":i.level+1,"aria-setsize":I.getAriaSetSize(),"aria-posinset":I.getAriaPosInset(t)},[n.createElementVNode("div",{class:"p-menuitem-content",onClick:t=>I.onItemClick(t,e)},[i.template?(n.openBlock(),n.createBlock(n.resolveDynamicComponent(i.template),{key:1,item:e.item},null,8,["item"])):(n.openBlock(),n.createElementBlock(n.Fragment,{key:0},[I.getItemProp(e,"to")&&!I.isItemDisabled(e)?(n.openBlock(),n.createBlock(h,{key:0,to:I.getItemProp(e,"to"),custom:""},{default:n.withCtx((({navigate:t,href:i,isActive:s,isExactActive:a})=>[n.withDirectives((n.openBlock(),n.createElementBlock("a",{href:i,class:n.normalizeClass(I.getItemActionClass(e,{isActive:s,isExactActive:a})),tabindex:"-1","aria-hidden":"true",onClick:e=>I.onItemActionClick(e,t)},[I.getItemProp(e,"icon")?(n.openBlock(),n.createElementBlock("span",{key:0,class:n.normalizeClass(I.getItemIconClass(e))},null,2)):n.createCommentVNode("",!0),n.createElementVNode("span",c,n.toDisplayString(I.getItemLabel(e)),1)],10,r)),[[f]])])),_:2},1032,["to"])):n.withDirectives((n.openBlock(),n.createElementBlock("a",{key:1,href:I.getItemProp(e,"url"),class:n.normalizeClass(I.getItemActionClass(e)),target:I.getItemProp(e,"target"),tabindex:"-1","aria-hidden":"true"},[I.isItemGroup(e)?(n.openBlock(),n.createElementBlock("span",{key:0,class:n.normalizeClass(I.getItemToggleIconClass(e))},null,2)):n.createCommentVNode("",!0),I.getItemProp(e,"icon")?(n.openBlock(),n.createElementBlock("span",{key:1,class:n.normalizeClass(I.getItemIconClass(e))},null,2)):n.createCommentVNode("",!0),n.createElementVNode("span",d,n.toDisplayString(I.getItemLabel(e)),1)],10,m)),[[f]])],64))],8,l),n.createVNode(n.Transition,{name:"p-toggleable-content"},{default:n.withCtx((()=>[n.withDirectives(n.createElementVNode("div",p,[I.isItemVisible(e)&&I.isItemGroup(e)?(n.openBlock(),n.createBlock(g,{key:0,id:I.getItemId(e)+"_list",role:"group",panelId:i.panelId,focusedItemId:i.focusedItemId,items:e.items,level:i.level+1,template:i.template,activeItemPath:i.activeItemPath,exact:i.exact,onItemToggle:I.onItemToggle},null,8,["id","panelId","focusedItemId","items","level","template","activeItemPath","exact","onItemToggle"])):n.createCommentVNode("",!0)],512),[[n.vShow,I.isItemActive(e)]])])),_:2},1024)],14,o)):n.createCommentVNode("",!0),I.isItemVisible(e)&&I.getItemProp(e,"separator")?(n.openBlock(),n.createElementBlock("li",{key:1,style:n.normalizeStyle(I.getItemProp(e,"style")),class:n.normalizeClass(I.getSeparatorItemClass(e)),role:"separator"},null,6)):n.createCommentVNode("",!0)],64)))),128))])};var u={name:"PanelMenuList",emits:["item-toggle","header-focus"],props:{panelId:{type:String,default:null},items:{type:Array,default:null},template:{type:Function,default:null},expandedKeys:{type:Object,default:null},exact:{type:Boolean,default:!0}},data:()=>({focused:!1,focusedItem:null,activeItemPath:[]}),watch:{expandedKeys(e){this.autoUpdateActiveItemPath(e)}},mounted(){this.autoUpdateActiveItemPath(this.expandedKeys)},methods:{getItemProp:(t,n)=>t&&t.item?e.ObjectUtils.getItemValue(t.item[n]):void 0,isItemVisible(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled(e){return this.getItemProp(e,"disabled")},isItemActive(e){return this.activeItemPath.some((t=>t.key===e.parentKey))},isItemGroup:t=>e.ObjectUtils.isNotEmpty(t.items),onFocus(e){this.focused=!0,this.focusedItem=this.focusedItem||(this.isElementInPanel(e,e.relatedTarget)?this.findFirstItem():this.findLastItem())},onBlur(){this.focused=!1,this.focusedItem=null},onKeyDown(e){switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"ArrowLeft":this.onArrowLeftKey(e);break;case"ArrowRight":this.onArrowRightKey(e);break;case"Home":this.onHomeKey(e);break;case"End":this.onEndKey(e);break;case"Space":this.onSpaceKey(e);break;case"Enter":this.onEnterKey(e)}},onArrowDownKey(t){const n=e.ObjectUtils.isNotEmpty(this.focusedItem)?this.findNextItem(this.focusedItem):this.findFirstItem();this.changeFocusedItem({originalEvent:t,processedItem:n,focusOnNext:!0}),t.preventDefault()},onArrowUpKey(t){const n=e.ObjectUtils.isNotEmpty(this.focusedItem)?this.findPrevItem(this.focusedItem):this.findLastItem();this.changeFocusedItem({originalEvent:t,processedItem:n,selfCheck:!0}),t.preventDefault()},onArrowLeftKey(t){if(e.ObjectUtils.isNotEmpty(this.focusedItem)){this.activeItemPath.some((e=>e.key===this.focusedItem.key))?this.activeItemPath=this.activeItemPath.filter((e=>e.key!==this.focusedItem.key)):this.focusedItem=e.ObjectUtils.isNotEmpty(this.focusedItem.parent)?this.focusedItem.parent:this.focusedItem,t.preventDefault()}},onArrowRightKey(t){if(e.ObjectUtils.isNotEmpty(this.focusedItem)){if(this.isItemGroup(this.focusedItem)){this.activeItemPath.some((e=>e.key===this.focusedItem.key))?this.onArrowDownKey(t):(this.activeItemPath=this.activeItemPath.filter((e=>e.parentKey!==this.focusedItem.parentKey)),this.activeItemPath.push(this.focusedItem))}t.preventDefault()}},onHomeKey(e){this.changeFocusedItem({originalEvent:e,processedItem:this.findFirstItem(),allowHeaderFocus:!1}),e.preventDefault()},onEndKey(e){this.changeFocusedItem({originalEvent:e,processedItem:this.findLastItem(),focusOnNext:!0,allowHeaderFocus:!1}),e.preventDefault()},onEnterKey(t){if(e.ObjectUtils.isNotEmpty(this.focusedItem)){const t=e.DomHandler.findSingle(this.$el,`li[id="${this.focusedItemId}"]`),n=t&&e.DomHandler.findSingle(t,".p-menuitem-link");n?n.click():t&&t.click()}t.preventDefault()},onSpaceKey(e){this.onEnterKey(e)},onItemToggle(t){const{processedItem:n,expanded:i}=t;this.expandedKeys?this.$emit("item-toggle",{item:n.item,expanded:i}):(this.activeItemPath=this.activeItemPath.filter((e=>e.parentKey!==n.parentKey)),i&&this.activeItemPath.push(n)),this.focusedItem=n,e.DomHandler.focus(this.$el)},isElementInPanel(e,t){const n=e.currentTarget.closest(".p-panelmenu-panel");return n&&n.contains(t)},isVisibleItem(e){return!!e&&(0===e.level||this.isItemActive(e))&&this.isItemVisible(e)},isValidItem(e){return!!e&&!this.isItemDisabled(e)},findFirstItem(){return this.visibleItems.find((e=>this.isValidItem(e)))},findLastItem(){return e.ObjectUtils.findLast(this.visibleItems,(e=>this.isValidItem(e)))},findNextItem(e){const t=this.visibleItems.findIndex((t=>t.key===e.key));return(t<this.visibleItems.length-1?this.visibleItems.slice(t+1).find((e=>this.isValidItem(e))):void 0)||e},findPrevItem(t){const n=this.visibleItems.findIndex((e=>e.key===t.key));return(n>0?e.ObjectUtils.findLast(this.visibleItems.slice(0,n),(e=>this.isValidItem(e))):void 0)||t},changeFocusedItem(t){const{originalEvent:n,processedItem:i,focusOnNext:s,selfCheck:a,allowHeaderFocus:o=!0}=t;e.ObjectUtils.isNotEmpty(this.focusedItem)&&this.focusedItem.key!==i.key?(this.focusedItem=i,this.scrollInView()):o&&this.$emit("header-focus",{originalEvent:n,focusOnNext:s,selfCheck:a})},scrollInView(){const t=e.DomHandler.findSingle(this.$el,`li[id="${this.focusedItemId}"]`);t&&t.scrollIntoView&&t.scrollIntoView({block:"nearest",inline:"start"})},autoUpdateActiveItemPath(e){this.activeItemPath=Object.entries(e||{}).reduce(((e,[t,n])=>{if(n){const n=this.findProcessedItemByItemKey(t);n&&e.push(n)}return e}),[])},findProcessedItemByItemKey(e,t,n=0){if(!(t=t||0===n&&this.processedItems))return null;for(let i=0;i<t.length;i++){const s=t[i];if(this.getItemProp(s,"key")===e)return s;const a=this.findProcessedItemByItemKey(e,s.items,n+1);if(a)return a}},createProcessedItems(e,t=0,n={},i=""){const s=[];return e&&e.forEach(((e,a)=>{const o=(""!==i?i+"_":"")+a,l={item:e,index:a,level:t,key:o,parent:n,parentKey:i};l.items=this.createProcessedItems(e.items,t+1,l,o),s.push(l)})),s},flatItems(e,t=[]){return e&&e.forEach((e=>{this.isVisibleItem(e)&&(t.push(e),this.flatItems(e.items,t))})),t}},computed:{processedItems(){return this.createProcessedItems(this.items||[])},visibleItems(){return this.flatItems(this.processedItems)},focusedItemId(){return e.ObjectUtils.isNotEmpty(this.focusedItem)?`${this.panelId}_${this.focusedItem.key}`:null}},components:{PanelMenuSub:s}};u.render=function(e,t,i,s,a,o){const l=n.resolveComponent("PanelMenuSub");return n.openBlock(),n.createBlock(l,{id:i.panelId+"_list",class:"p-panelmenu-root-list",role:"tree",tabindex:-1,"aria-activedescendant":a.focused?o.focusedItemId:void 0,panelId:i.panelId,focusedItemId:a.focused?o.focusedItemId:void 0,items:o.processedItems,template:i.template,activeItemPath:a.activeItemPath,exact:i.exact,onFocus:o.onFocus,onBlur:o.onBlur,onKeydown:o.onKeyDown,onItemToggle:o.onItemToggle},null,8,["id","aria-activedescendant","panelId","focusedItemId","items","template","activeItemPath","exact","onFocus","onBlur","onKeydown","onItemToggle"])};var I={name:"PanelMenu",emits:["update:expandedKeys","panel-open","panel-close"],props:{model:{type:Array,default:null},expandedKeys:{type:Object,default:null},exact:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},data:()=>({activeItem:null}),methods:{getItemProp:(t,n)=>t?e.ObjectUtils.getItemValue(t[n]):void 0,getItemLabel(e){return this.getItemProp(e,"label")},isItemActive(e){return this.expandedKeys?this.expandedKeys[this.getItemProp(e,"key")]:e===this.activeItem},isItemVisible(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled(e){return this.getItemProp(e,"disabled")},getPanelId(e){return`${this.id}_${e}`},getPanelKey(e){return this.getPanelId(e)},getHeaderId(e){return`${this.getPanelId(e)}_header`},getContentId(e){return`${this.getPanelId(e)}_content`},onHeaderClick(t,n){this.isItemDisabled(n)?t.preventDefault():(n.command&&n.command({originalEvent:t,item:n}),this.changeActiveItem(t,n),e.DomHandler.focus(t.currentTarget))},onHeaderKeyDown(e,t){switch(e.code){case"ArrowDown":this.onHeaderArrowDownKey(e);break;case"ArrowUp":this.onHeaderArrowUpKey(e);break;case"Home":this.onHeaderHomeKey(e);break;case"End":this.onHeaderEndKey(e);break;case"Enter":case"Space":this.onHeaderEnterKey(e,t)}},onHeaderArrowDownKey(t){const n=e.DomHandler.hasClass(t.currentTarget,"p-highlight")?e.DomHandler.findSingle(t.currentTarget.nextElementSibling,".p-panelmenu-root-list"):null;n?e.DomHandler.focus(n):this.updateFocusedHeader({originalEvent:t,focusOnNext:!0}),t.preventDefault()},onHeaderArrowUpKey(t){const n=this.findPrevHeader(t.currentTarget.parentElement)||this.findLastHeader(),i=e.DomHandler.hasClass(n,"p-highlight")?e.DomHandler.findSingle(n.nextElementSibling,".p-panelmenu-root-list"):null;i?e.DomHandler.focus(i):this.updateFocusedHeader({originalEvent:t,focusOnNext:!1}),t.preventDefault()},onHeaderHomeKey(e){this.changeFocusedHeader(e,this.findFirstHeader()),e.preventDefault()},onHeaderEndKey(e){this.changeFocusedHeader(e,this.findLastHeader()),e.preventDefault()},onHeaderEnterKey(t,n){const i=e.DomHandler.findSingle(t.currentTarget,".p-panelmenu-header-action");i?i.click():this.onHeaderClick(t,n),t.preventDefault()},onHeaderActionClick(e,t){t&&t(e)},findNextHeader(t,n=!1){const i=n?t:t.nextElementSibling,s=e.DomHandler.findSingle(i,".p-panelmenu-header");return s?e.DomHandler.hasClass(s,"p-disabled")?this.findNextHeader(s.parentElement):s:null},findPrevHeader(t,n=!1){const i=n?t:t.previousElementSibling,s=e.DomHandler.findSingle(i,".p-panelmenu-header");return s?e.DomHandler.hasClass(s,"p-disabled")?this.findPrevHeader(s.parentElement):s:null},findFirstHeader(){return this.findNextHeader(this.$el.firstElementChild,!0)},findLastHeader(){return this.findPrevHeader(this.$el.lastElementChild,!0)},updateFocusedHeader(t){const{originalEvent:n,focusOnNext:i,selfCheck:s}=t,a=n.currentTarget.closest(".p-panelmenu-panel"),o=s?e.DomHandler.findSingle(a,".p-panelmenu-header"):i?this.findNextHeader(a):this.findPrevHeader(a);o?this.changeFocusedHeader(n,o):i?this.onHeaderHomeKey(n):this.onHeaderEndKey(n)},changeActiveItem(e,t,n=!1){if(!this.isItemDisabled(t)){this.activeItem=n?t:this.activeItem&&this.activeItem===t?null:t;const i=this.isItemActive(t),s=i?"panel-open":"panel-close";this.changeExpandedKeys({item:t,expanded:!i}),this.$emit(s,{originalEvent:e,item:t})}},changeExpandedKeys({item:e,expanded:t=!1}){if(this.expandedKeys){let n={...this.expandedKeys};t?n[e.key]=!0:delete n[e.key],this.$emit("update:expandedKeys",n)}},changeFocusedHeader(t,n){n&&e.DomHandler.focus(n)},getPanelClass(e){return["p-panelmenu-panel",this.getItemProp(e,"class")]},getHeaderClass(e){return["p-panelmenu-header",this.getItemProp(e,"headerClass"),{"p-highlight":this.isItemActive(e),"p-disabled":this.isItemDisabled(e)}]},getHeaderActionClass(e,t){return["p-panelmenu-header-action",{"router-link-active":t&&t.isActive,"router-link-active-exact":this.exact&&t&&t.isExactActive}]},getHeaderIconClass(e){return["p-menuitem-icon",this.getItemProp(e,"icon")]},getHeaderToggleIconClass(e){return["p-submenu-icon",this.isItemActive(e)?"pi pi-chevron-down":"pi pi-chevron-right"]}},computed:{id(){return this.$attrs.id||e.UniqueComponentId()}},components:{PanelMenuList:u}};const h=["id"],g=["id","tabindex","aria-label","aria-expanded","aria-controls","aria-disabled","onClick","onKeydown"],f={class:"p-panelmenu-header-content"},y=["href","onClick"],v={class:"p-menuitem-text"},k=["href"],b={class:"p-menuitem-text"},x=["id","aria-labelledby"],P={key:0,class:"p-panelmenu-content"};!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css","top"===n&&i.firstChild?i.insertBefore(s,i.firstChild):i.appendChild(s),s.styleSheet?s.styleSheet.cssText=e:s.appendChild(document.createTextNode(e))}}("\n.p-panelmenu .p-panelmenu-header-action {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: pointer;\n position: relative;\n text-decoration: none;\n}\n.p-panelmenu .p-panelmenu-header-action:focus {\n z-index: 1;\n}\n.p-panelmenu .p-submenu-list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.p-panelmenu .p-menuitem-link {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: pointer;\n text-decoration: none;\n position: relative;\n overflow: hidden;\n}\n.p-panelmenu .p-menuitem-text {\n line-height: 1;\n}\n"),I.render=function(e,t,i,s,a,o){const l=n.resolveComponent("router-link"),r=n.resolveComponent("PanelMenuList");return n.openBlock(),n.createElementBlock("div",{id:o.id,class:"p-panelmenu p-component"},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(i.model,((t,s)=>(n.openBlock(),n.createElementBlock(n.Fragment,{key:o.getPanelKey(s)},[o.isItemVisible(t)?(n.openBlock(),n.createElementBlock("div",{key:0,style:n.normalizeStyle(o.getItemProp(t,"style")),class:n.normalizeClass(o.getPanelClass(t))},[n.createElementVNode("div",{id:o.getHeaderId(s),class:n.normalizeClass(o.getHeaderClass(t)),tabindex:o.isItemDisabled(t)?-1:i.tabindex,role:"button","aria-label":o.getItemLabel(t),"aria-expanded":o.isItemActive(t),"aria-controls":o.getContentId(s),"aria-disabled":o.isItemDisabled(t),onClick:e=>o.onHeaderClick(e,t),onKeydown:e=>o.onHeaderKeyDown(e,t)},[n.createElementVNode("div",f,[e.$slots.item?(n.openBlock(),n.createBlock(n.resolveDynamicComponent(e.$slots.item),{key:1,item:t},null,8,["item"])):(n.openBlock(),n.createElementBlock(n.Fragment,{key:0},[o.getItemProp(t,"to")&&!o.isItemDisabled(t)?(n.openBlock(),n.createBlock(l,{key:0,to:o.getItemProp(t,"to"),custom:""},{default:n.withCtx((({navigate:e,href:i,isActive:s,isExactActive:a})=>[n.createElementVNode("a",{href:i,class:n.normalizeClass(o.getHeaderActionClass(t,{isActive:s,isExactActive:a})),tabindex:-1,onClick:t=>o.onHeaderActionClick(t,e)},[o.getItemProp(t,"icon")?(n.openBlock(),n.createElementBlock("span",{key:0,class:n.normalizeClass(o.getHeaderIconClass(t))},null,2)):n.createCommentVNode("",!0),n.createElementVNode("span",v,n.toDisplayString(o.getItemLabel(t)),1)],10,y)])),_:2},1032,["to"])):(n.openBlock(),n.createElementBlock("a",{key:1,href:o.getItemProp(t,"url"),class:n.normalizeClass(o.getHeaderActionClass(t)),tabindex:-1},[o.getItemProp(t,"items")?(n.openBlock(),n.createElementBlock("span",{key:0,class:n.normalizeClass(o.getHeaderToggleIconClass(t))},null,2)):n.createCommentVNode("",!0),o.getItemProp(t,"icon")?(n.openBlock(),n.createElementBlock("span",{key:1,class:n.normalizeClass(o.getHeaderIconClass(t))},null,2)):n.createCommentVNode("",!0),n.createElementVNode("span",b,n.toDisplayString(o.getItemLabel(t)),1)],10,k))],64))])],42,g),n.createVNode(n.Transition,{name:"p-toggleable-content"},{default:n.withCtx((()=>[n.withDirectives(n.createElementVNode("div",{id:o.getContentId(s),class:"p-toggleable-content",role:"region","aria-labelledby":o.getHeaderId(s)},[o.getItemProp(t,"items")?(n.openBlock(),n.createElementBlock("div",P,[n.createVNode(r,{panelId:o.getPanelId(s),items:o.getItemProp(t,"items"),template:e.$slots.item,expandedKeys:i.expandedKeys,onItemToggle:o.changeExpandedKeys,onHeaderFocus:o.updateFocusedHeader,exact:i.exact},null,8,["panelId","items","template","expandedKeys","onItemToggle","onHeaderFocus","exact"])])):n.createCommentVNode("",!0)],8,x),[[n.vShow,o.isItemActive(t)]])])),_:2},1024)],6)):n.createCommentVNode("",!0)],64)))),128))],8,h)},module.exports=I;
1
+ "use strict";var e=require("primevue/utils"),t=require("primevue/ripple"),i=require("vue");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n={name:"PanelMenuSub",emits:["item-toggle"],props:{panelId:{type:String,default:null},focusedItemId:{type:String,default:null},items:{type:Array,default:null},level:{type:Number,default:0},template:{type:Function,default:null},activeItemPath:{type:Object,default:null},exact:{type:Boolean,default:!0}},methods:{getItemId(e){return`${this.panelId}_${e.key}`},getItemKey(e){return this.getItemId(e)},getItemProp:(t,i,s)=>t&&t.item?e.ObjectUtils.getItemValue(t.item[i],s):void 0,getItemLabel(e){return this.getItemProp(e,"label")},isItemActive(e){return this.activeItemPath.some((t=>t.key===e.key))},isItemVisible(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled(e){return this.getItemProp(e,"disabled")},isItemFocused(e){return this.focusedItemId===this.getItemId(e)},isItemGroup:t=>e.ObjectUtils.isNotEmpty(t.items),onItemClick(e,t){this.getItemProp(t,"command",{originalEvent:e,item:t.item}),this.$emit("item-toggle",{processedItem:t,expanded:!this.isItemActive(t)})},onItemToggle(e){this.$emit("item-toggle",e)},onItemActionClick(e,t){t&&t(e)},getAriaSetSize(){return this.items.filter((e=>this.isItemVisible(e)&&!this.getItemProp(e,"separator"))).length},getAriaPosInset(e){return e-this.items.slice(0,e).filter((e=>this.isItemVisible(e)&&this.getItemProp(e,"separator"))).length+1},getItemClass(e){return["p-menuitem",this.getItemProp(e,"class"),{"p-focus":this.isItemFocused(e),"p-disabled":this.isItemDisabled(e)}]},getItemActionClass(e,t){return["p-menuitem-link",{"router-link-active":t&&t.isActive,"router-link-active-exact":this.exact&&t&&t.isExactActive}]},getItemIconClass(e){return["p-menuitem-icon",this.getItemProp(e,"icon")]},getItemToggleIconClass(e){return["p-submenu-icon",this.isItemActive(e)?"pi pi-fw pi-chevron-down":"pi pi-fw pi-chevron-right"]},getSeparatorItemClass(e){return["p-menuitem-separator",this.getItemProp(e,"class")]}},directives:{ripple:s(t).default}};const a={class:"p-submenu-list"},l=["id","aria-label","aria-expanded","aria-level","aria-setsize","aria-posinset"],o=["onClick"],r=["href","onClick"],c={class:"p-menuitem-text"},m=["href","target"],d={class:"p-menuitem-text"},p={class:"p-toggleable-content"};n.render=function(e,t,s,n,u,h){const I=i.resolveComponent("router-link"),g=i.resolveComponent("PanelMenuSub",!0),f=i.resolveDirective("ripple");return i.openBlock(),i.createElementBlock("ul",a,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(s.items,((e,t)=>(i.openBlock(),i.createElementBlock(i.Fragment,{key:h.getItemKey(e)},[h.isItemVisible(e)&&!h.getItemProp(e,"separator")?(i.openBlock(),i.createElementBlock("li",{key:0,id:h.getItemId(e),style:i.normalizeStyle(h.getItemProp(e,"style")),class:i.normalizeClass(h.getItemClass(e)),role:"treeitem","aria-label":h.getItemLabel(e),"aria-expanded":h.isItemGroup(e)?h.isItemActive(e):void 0,"aria-level":s.level+1,"aria-setsize":h.getAriaSetSize(),"aria-posinset":h.getAriaPosInset(t)},[i.createElementVNode("div",{class:"p-menuitem-content",onClick:t=>h.onItemClick(t,e)},[s.template?(i.openBlock(),i.createBlock(i.resolveDynamicComponent(s.template),{key:1,item:e.item},null,8,["item"])):(i.openBlock(),i.createElementBlock(i.Fragment,{key:0},[h.getItemProp(e,"to")&&!h.isItemDisabled(e)?(i.openBlock(),i.createBlock(I,{key:0,to:h.getItemProp(e,"to"),custom:""},{default:i.withCtx((({navigate:t,href:s,isActive:n,isExactActive:a})=>[i.withDirectives((i.openBlock(),i.createElementBlock("a",{href:s,class:i.normalizeClass(h.getItemActionClass(e,{isActive:n,isExactActive:a})),tabindex:"-1","aria-hidden":"true",onClick:e=>h.onItemActionClick(e,t)},[h.getItemProp(e,"icon")?(i.openBlock(),i.createElementBlock("span",{key:0,class:i.normalizeClass(h.getItemIconClass(e))},null,2)):i.createCommentVNode("",!0),i.createElementVNode("span",c,i.toDisplayString(h.getItemLabel(e)),1)],10,r)),[[f]])])),_:2},1032,["to"])):i.withDirectives((i.openBlock(),i.createElementBlock("a",{key:1,href:h.getItemProp(e,"url"),class:i.normalizeClass(h.getItemActionClass(e)),target:h.getItemProp(e,"target"),tabindex:"-1","aria-hidden":"true"},[h.isItemGroup(e)?(i.openBlock(),i.createElementBlock("span",{key:0,class:i.normalizeClass(h.getItemToggleIconClass(e))},null,2)):i.createCommentVNode("",!0),h.getItemProp(e,"icon")?(i.openBlock(),i.createElementBlock("span",{key:1,class:i.normalizeClass(h.getItemIconClass(e))},null,2)):i.createCommentVNode("",!0),i.createElementVNode("span",d,i.toDisplayString(h.getItemLabel(e)),1)],10,m)),[[f]])],64))],8,o),i.createVNode(i.Transition,{name:"p-toggleable-content"},{default:i.withCtx((()=>[i.withDirectives(i.createElementVNode("div",p,[h.isItemVisible(e)&&h.isItemGroup(e)?(i.openBlock(),i.createBlock(g,{key:0,id:h.getItemId(e)+"_list",role:"group",panelId:s.panelId,focusedItemId:s.focusedItemId,items:e.items,level:s.level+1,template:s.template,activeItemPath:s.activeItemPath,exact:s.exact,onItemToggle:h.onItemToggle},null,8,["id","panelId","focusedItemId","items","level","template","activeItemPath","exact","onItemToggle"])):i.createCommentVNode("",!0)],512),[[i.vShow,h.isItemActive(e)]])])),_:2},1024)],14,l)):i.createCommentVNode("",!0),h.isItemVisible(e)&&h.getItemProp(e,"separator")?(i.openBlock(),i.createElementBlock("li",{key:1,style:i.normalizeStyle(h.getItemProp(e,"style")),class:i.normalizeClass(h.getSeparatorItemClass(e)),role:"separator"},null,6)):i.createCommentVNode("",!0)],64)))),128))])};var u={name:"PanelMenuList",emits:["item-toggle","header-focus"],props:{panelId:{type:String,default:null},items:{type:Array,default:null},template:{type:Function,default:null},expandedKeys:{type:Object,default:null},exact:{type:Boolean,default:!0}},searchTimeout:null,searchValue:null,data:()=>({focused:!1,focusedItem:null,activeItemPath:[]}),watch:{expandedKeys(e){this.autoUpdateActiveItemPath(e)}},mounted(){this.autoUpdateActiveItemPath(this.expandedKeys)},methods:{getItemProp:(t,i)=>t&&t.item?e.ObjectUtils.getItemValue(t.item[i]):void 0,getItemLabel(e){return this.getItemProp(e,"label")},isItemVisible(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled(e){return this.getItemProp(e,"disabled")},isItemActive(e){return this.activeItemPath.some((t=>t.key===e.parentKey))},isItemGroup:t=>e.ObjectUtils.isNotEmpty(t.items),onFocus(e){this.focused=!0,this.focusedItem=this.focusedItem||(this.isElementInPanel(e,e.relatedTarget)?this.findFirstItem():this.findLastItem())},onBlur(){this.focused=!1,this.focusedItem=null,this.searchValue=""},onKeyDown(t){const i=t.metaKey||t.ctrlKey;switch(t.code){case"ArrowDown":this.onArrowDownKey(t);break;case"ArrowUp":this.onArrowUpKey(t);break;case"ArrowLeft":this.onArrowLeftKey(t);break;case"ArrowRight":this.onArrowRightKey(t);break;case"Home":this.onHomeKey(t);break;case"End":this.onEndKey(t);break;case"Space":this.onSpaceKey(t);break;case"Enter":this.onEnterKey(t);break;case"Escape":case"Tab":case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!i&&e.ObjectUtils.isPrintableCharacter(t.key)&&this.searchItems(t,t.key)}},onArrowDownKey(t){const i=e.ObjectUtils.isNotEmpty(this.focusedItem)?this.findNextItem(this.focusedItem):this.findFirstItem();this.changeFocusedItem({originalEvent:t,processedItem:i,focusOnNext:!0}),t.preventDefault()},onArrowUpKey(t){const i=e.ObjectUtils.isNotEmpty(this.focusedItem)?this.findPrevItem(this.focusedItem):this.findLastItem();this.changeFocusedItem({originalEvent:t,processedItem:i,selfCheck:!0}),t.preventDefault()},onArrowLeftKey(t){if(e.ObjectUtils.isNotEmpty(this.focusedItem)){this.activeItemPath.some((e=>e.key===this.focusedItem.key))?this.activeItemPath=this.activeItemPath.filter((e=>e.key!==this.focusedItem.key)):this.focusedItem=e.ObjectUtils.isNotEmpty(this.focusedItem.parent)?this.focusedItem.parent:this.focusedItem,t.preventDefault()}},onArrowRightKey(t){if(e.ObjectUtils.isNotEmpty(this.focusedItem)){if(this.isItemGroup(this.focusedItem)){this.activeItemPath.some((e=>e.key===this.focusedItem.key))?this.onArrowDownKey(t):(this.activeItemPath=this.activeItemPath.filter((e=>e.parentKey!==this.focusedItem.parentKey)),this.activeItemPath.push(this.focusedItem))}t.preventDefault()}},onHomeKey(e){this.changeFocusedItem({originalEvent:e,processedItem:this.findFirstItem(),allowHeaderFocus:!1}),e.preventDefault()},onEndKey(e){this.changeFocusedItem({originalEvent:e,processedItem:this.findLastItem(),focusOnNext:!0,allowHeaderFocus:!1}),e.preventDefault()},onEnterKey(t){if(e.ObjectUtils.isNotEmpty(this.focusedItem)){const t=e.DomHandler.findSingle(this.$el,`li[id="${this.focusedItemId}"]`),i=t&&e.DomHandler.findSingle(t,".p-menuitem-link");i?i.click():t&&t.click()}t.preventDefault()},onSpaceKey(e){this.onEnterKey(e)},onItemToggle(t){const{processedItem:i,expanded:s}=t;this.expandedKeys?this.$emit("item-toggle",{item:i.item,expanded:s}):(this.activeItemPath=this.activeItemPath.filter((e=>e.parentKey!==i.parentKey)),s&&this.activeItemPath.push(i)),this.focusedItem=i,e.DomHandler.focus(this.$el)},isElementInPanel(e,t){const i=e.currentTarget.closest(".p-panelmenu-panel");return i&&i.contains(t)},isItemMatched(e){return this.isValidItem(e)&&this.getItemLabel(e).toLocaleLowerCase(this.searchLocale).startsWith(this.searchValue.toLocaleLowerCase(this.searchLocale))},isVisibleItem(e){return!!e&&(0===e.level||this.isItemActive(e))&&this.isItemVisible(e)},isValidItem(e){return!!e&&!this.isItemDisabled(e)},findFirstItem(){return this.visibleItems.find((e=>this.isValidItem(e)))},findLastItem(){return e.ObjectUtils.findLast(this.visibleItems,(e=>this.isValidItem(e)))},findNextItem(e){const t=this.visibleItems.findIndex((t=>t.key===e.key));return(t<this.visibleItems.length-1?this.visibleItems.slice(t+1).find((e=>this.isValidItem(e))):void 0)||e},findPrevItem(t){const i=this.visibleItems.findIndex((e=>e.key===t.key));return(i>0?e.ObjectUtils.findLast(this.visibleItems.slice(0,i),(e=>this.isValidItem(e))):void 0)||t},searchItems(t,i){this.searchValue=(this.searchValue||"")+i;let s=null,n=!1;if(e.ObjectUtils.isNotEmpty(this.focusedItem)){const t=this.visibleItems.findIndex((e=>e.key===this.focusedItem.key));s=this.visibleItems.slice(t).find((e=>this.isItemMatched(e))),s=e.ObjectUtils.isEmpty(s)?this.visibleItems.slice(0,t).find((e=>this.isItemMatched(e))):s}else s=this.visibleItems.find((e=>this.isItemMatched(e)));return e.ObjectUtils.isNotEmpty(s)&&(n=!0),e.ObjectUtils.isEmpty(s)&&e.ObjectUtils.isEmpty(this.focusedItem)&&(s=this.findFirstItem()),e.ObjectUtils.isNotEmpty(s)&&this.changeFocusedItem({originalEvent:t,processedItem:s,allowHeaderFocus:!1}),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((()=>{this.searchValue="",this.searchTimeout=null}),500),n},changeFocusedItem(t){const{originalEvent:i,processedItem:s,focusOnNext:n,selfCheck:a,allowHeaderFocus:l=!0}=t;e.ObjectUtils.isNotEmpty(this.focusedItem)&&this.focusedItem.key!==s.key?(this.focusedItem=s,this.scrollInView()):l&&this.$emit("header-focus",{originalEvent:i,focusOnNext:n,selfCheck:a})},scrollInView(){const t=e.DomHandler.findSingle(this.$el,`li[id="${this.focusedItemId}"]`);t&&t.scrollIntoView&&t.scrollIntoView({block:"nearest",inline:"start"})},autoUpdateActiveItemPath(e){this.activeItemPath=Object.entries(e||{}).reduce(((e,[t,i])=>{if(i){const i=this.findProcessedItemByItemKey(t);i&&e.push(i)}return e}),[])},findProcessedItemByItemKey(e,t,i=0){if(!(t=t||0===i&&this.processedItems))return null;for(let s=0;s<t.length;s++){const n=t[s];if(this.getItemProp(n,"key")===e)return n;const a=this.findProcessedItemByItemKey(e,n.items,i+1);if(a)return a}},createProcessedItems(e,t=0,i={},s=""){const n=[];return e&&e.forEach(((e,a)=>{const l=(""!==s?s+"_":"")+a,o={item:e,index:a,level:t,key:l,parent:i,parentKey:s};o.items=this.createProcessedItems(e.items,t+1,o,l),n.push(o)})),n},flatItems(e,t=[]){return e&&e.forEach((e=>{this.isVisibleItem(e)&&(t.push(e),this.flatItems(e.items,t))})),t}},computed:{processedItems(){return this.createProcessedItems(this.items||[])},visibleItems(){return this.flatItems(this.processedItems)},focusedItemId(){return e.ObjectUtils.isNotEmpty(this.focusedItem)?`${this.panelId}_${this.focusedItem.key}`:null}},components:{PanelMenuSub:n}};u.render=function(e,t,s,n,a,l){const o=i.resolveComponent("PanelMenuSub");return i.openBlock(),i.createBlock(o,{id:s.panelId+"_list",class:"p-panelmenu-root-list",role:"tree",tabindex:-1,"aria-activedescendant":a.focused?l.focusedItemId:void 0,panelId:s.panelId,focusedItemId:a.focused?l.focusedItemId:void 0,items:l.processedItems,template:s.template,activeItemPath:a.activeItemPath,exact:s.exact,onFocus:l.onFocus,onBlur:l.onBlur,onKeydown:l.onKeyDown,onItemToggle:l.onItemToggle},null,8,["id","aria-activedescendant","panelId","focusedItemId","items","template","activeItemPath","exact","onFocus","onBlur","onKeydown","onItemToggle"])};var h={name:"PanelMenu",emits:["update:expandedKeys","panel-open","panel-close"],props:{model:{type:Array,default:null},expandedKeys:{type:Object,default:null},exact:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},data:()=>({activeItem:null}),methods:{getItemProp:(t,i)=>t?e.ObjectUtils.getItemValue(t[i]):void 0,getItemLabel(e){return this.getItemProp(e,"label")},isItemActive(t){return this.expandedKeys?this.expandedKeys[this.getItemProp(t,"key")]:e.ObjectUtils.equals(t,this.activeItem)},isItemVisible(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled(e){return this.getItemProp(e,"disabled")},getPanelId(e){return`${this.id}_${e}`},getPanelKey(e){return this.getPanelId(e)},getHeaderId(e){return`${this.getPanelId(e)}_header`},getContentId(e){return`${this.getPanelId(e)}_content`},onHeaderClick(t,i){this.isItemDisabled(i)?t.preventDefault():(i.command&&i.command({originalEvent:t,item:i}),this.changeActiveItem(t,i),e.DomHandler.focus(t.currentTarget))},onHeaderKeyDown(e,t){switch(e.code){case"ArrowDown":this.onHeaderArrowDownKey(e);break;case"ArrowUp":this.onHeaderArrowUpKey(e);break;case"Home":this.onHeaderHomeKey(e);break;case"End":this.onHeaderEndKey(e);break;case"Enter":case"Space":this.onHeaderEnterKey(e,t)}},onHeaderArrowDownKey(t){const i=e.DomHandler.hasClass(t.currentTarget,"p-highlight")?e.DomHandler.findSingle(t.currentTarget.nextElementSibling,".p-panelmenu-root-list"):null;i?e.DomHandler.focus(i):this.updateFocusedHeader({originalEvent:t,focusOnNext:!0}),t.preventDefault()},onHeaderArrowUpKey(t){const i=this.findPrevHeader(t.currentTarget.parentElement)||this.findLastHeader(),s=e.DomHandler.hasClass(i,"p-highlight")?e.DomHandler.findSingle(i.nextElementSibling,".p-panelmenu-root-list"):null;s?e.DomHandler.focus(s):this.updateFocusedHeader({originalEvent:t,focusOnNext:!1}),t.preventDefault()},onHeaderHomeKey(e){this.changeFocusedHeader(e,this.findFirstHeader()),e.preventDefault()},onHeaderEndKey(e){this.changeFocusedHeader(e,this.findLastHeader()),e.preventDefault()},onHeaderEnterKey(t,i){const s=e.DomHandler.findSingle(t.currentTarget,".p-panelmenu-header-action");s?s.click():this.onHeaderClick(t,i),t.preventDefault()},onHeaderActionClick(e,t){t&&t(e)},findNextHeader(t,i=!1){const s=i?t:t.nextElementSibling,n=e.DomHandler.findSingle(s,".p-panelmenu-header");return n?e.DomHandler.hasClass(n,"p-disabled")?this.findNextHeader(n.parentElement):n:null},findPrevHeader(t,i=!1){const s=i?t:t.previousElementSibling,n=e.DomHandler.findSingle(s,".p-panelmenu-header");return n?e.DomHandler.hasClass(n,"p-disabled")?this.findPrevHeader(n.parentElement):n:null},findFirstHeader(){return this.findNextHeader(this.$el.firstElementChild,!0)},findLastHeader(){return this.findPrevHeader(this.$el.lastElementChild,!0)},updateFocusedHeader(t){const{originalEvent:i,focusOnNext:s,selfCheck:n}=t,a=i.currentTarget.closest(".p-panelmenu-panel"),l=n?e.DomHandler.findSingle(a,".p-panelmenu-header"):s?this.findNextHeader(a):this.findPrevHeader(a);l?this.changeFocusedHeader(i,l):s?this.onHeaderHomeKey(i):this.onHeaderEndKey(i)},changeActiveItem(t,i,s=!1){if(!this.isItemDisabled(i)){const n=this.isItemActive(i),a=n?"panel-close":"panel-open";this.activeItem=s?i:this.activeItem&&e.ObjectUtils.equals(i,this.activeItem)?null:i,this.changeExpandedKeys({item:i,expanded:!n}),this.$emit(a,{originalEvent:t,item:i})}},changeExpandedKeys({item:e,expanded:t=!1}){if(this.expandedKeys){let i={...this.expandedKeys};t?i[e.key]=!0:delete i[e.key],this.$emit("update:expandedKeys",i)}},changeFocusedHeader(t,i){i&&e.DomHandler.focus(i)},getPanelClass(e){return["p-panelmenu-panel",this.getItemProp(e,"class")]},getHeaderClass(e){return["p-panelmenu-header",this.getItemProp(e,"headerClass"),{"p-highlight":this.isItemActive(e),"p-disabled":this.isItemDisabled(e)}]},getHeaderActionClass(e,t){return["p-panelmenu-header-action",{"router-link-active":t&&t.isActive,"router-link-active-exact":this.exact&&t&&t.isExactActive}]},getHeaderIconClass(e){return["p-menuitem-icon",this.getItemProp(e,"icon")]},getHeaderToggleIconClass(e){return["p-submenu-icon",this.isItemActive(e)?"pi pi-chevron-down":"pi pi-chevron-right"]}},computed:{id(){return this.$attrs.id||e.UniqueComponentId()}},components:{PanelMenuList:u}};const I=["id"],g=["id","tabindex","aria-label","aria-expanded","aria-controls","aria-disabled","onClick","onKeydown"],f={class:"p-panelmenu-header-content"},y=["href","onClick"],v={class:"p-menuitem-text"},k=["href"],b={class:"p-menuitem-text"},P=["id","aria-labelledby"],C={key:0,class:"p-panelmenu-content"};!function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===i&&s.firstChild?s.insertBefore(n,s.firstChild):s.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-panelmenu .p-panelmenu-header-action {\n display: flex;\n align-items: center;\n user-select: none;\n cursor: pointer;\n position: relative;\n text-decoration: none;\n}\n.p-panelmenu .p-panelmenu-header-action:focus {\n z-index: 1;\n}\n.p-panelmenu .p-submenu-list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.p-panelmenu .p-menuitem-link {\n display: flex;\n align-items: center;\n user-select: none;\n cursor: pointer;\n text-decoration: none;\n position: relative;\n overflow: hidden;\n}\n.p-panelmenu .p-menuitem-text {\n line-height: 1;\n}\n"),h.render=function(e,t,s,n,a,l){const o=i.resolveComponent("router-link"),r=i.resolveComponent("PanelMenuList");return i.openBlock(),i.createElementBlock("div",{id:l.id,class:"p-panelmenu p-component"},[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(s.model,((t,n)=>(i.openBlock(),i.createElementBlock(i.Fragment,{key:l.getPanelKey(n)},[l.isItemVisible(t)?(i.openBlock(),i.createElementBlock("div",{key:0,style:i.normalizeStyle(l.getItemProp(t,"style")),class:i.normalizeClass(l.getPanelClass(t))},[i.createElementVNode("div",{id:l.getHeaderId(n),class:i.normalizeClass(l.getHeaderClass(t)),tabindex:l.isItemDisabled(t)?-1:s.tabindex,role:"button","aria-label":l.getItemLabel(t),"aria-expanded":l.isItemActive(t),"aria-controls":l.getContentId(n),"aria-disabled":l.isItemDisabled(t),onClick:e=>l.onHeaderClick(e,t),onKeydown:e=>l.onHeaderKeyDown(e,t)},[i.createElementVNode("div",f,[e.$slots.item?(i.openBlock(),i.createBlock(i.resolveDynamicComponent(e.$slots.item),{key:1,item:t},null,8,["item"])):(i.openBlock(),i.createElementBlock(i.Fragment,{key:0},[l.getItemProp(t,"to")&&!l.isItemDisabled(t)?(i.openBlock(),i.createBlock(o,{key:0,to:l.getItemProp(t,"to"),custom:""},{default:i.withCtx((({navigate:e,href:s,isActive:n,isExactActive:a})=>[i.createElementVNode("a",{href:s,class:i.normalizeClass(l.getHeaderActionClass(t,{isActive:n,isExactActive:a})),tabindex:-1,onClick:t=>l.onHeaderActionClick(t,e)},[l.getItemProp(t,"icon")?(i.openBlock(),i.createElementBlock("span",{key:0,class:i.normalizeClass(l.getHeaderIconClass(t))},null,2)):i.createCommentVNode("",!0),i.createElementVNode("span",v,i.toDisplayString(l.getItemLabel(t)),1)],10,y)])),_:2},1032,["to"])):(i.openBlock(),i.createElementBlock("a",{key:1,href:l.getItemProp(t,"url"),class:i.normalizeClass(l.getHeaderActionClass(t)),tabindex:-1},[l.getItemProp(t,"items")?(i.openBlock(),i.createElementBlock("span",{key:0,class:i.normalizeClass(l.getHeaderToggleIconClass(t))},null,2)):i.createCommentVNode("",!0),l.getItemProp(t,"icon")?(i.openBlock(),i.createElementBlock("span",{key:1,class:i.normalizeClass(l.getHeaderIconClass(t))},null,2)):i.createCommentVNode("",!0),i.createElementVNode("span",b,i.toDisplayString(l.getItemLabel(t)),1)],10,k))],64))])],42,g),i.createVNode(i.Transition,{name:"p-toggleable-content"},{default:i.withCtx((()=>[i.withDirectives(i.createElementVNode("div",{id:l.getContentId(n),class:"p-toggleable-content",role:"region","aria-labelledby":l.getHeaderId(n)},[l.getItemProp(t,"items")?(i.openBlock(),i.createElementBlock("div",C,[i.createVNode(r,{panelId:l.getPanelId(n),items:l.getItemProp(t,"items"),template:e.$slots.item,expandedKeys:s.expandedKeys,onItemToggle:l.changeExpandedKeys,onHeaderFocus:l.updateFocusedHeader,exact:s.exact},null,8,["panelId","items","template","expandedKeys","onItemToggle","onHeaderFocus","exact"])])):i.createCommentVNode("",!0)],8,P),[[i.vShow,l.isItemActive(t)]])])),_:2},1024)],6)):i.createCommentVNode("",!0)],64)))),128))],8,I)},module.exports=h;
@@ -42,8 +42,8 @@ var script$2 = {
42
42
  getItemKey(processedItem) {
43
43
  return this.getItemId(processedItem);
44
44
  },
45
- getItemProp(processedItem, name) {
46
- return processedItem && processedItem.item ? ObjectUtils.getItemValue(processedItem.item[name]) : undefined;
45
+ getItemProp(processedItem, name, params) {
46
+ return processedItem && processedItem.item ? ObjectUtils.getItemValue(processedItem.item[name], params) : undefined;
47
47
  },
48
48
  getItemLabel(processedItem) {
49
49
  return this.getItemProp(processedItem, 'label');
@@ -64,9 +64,7 @@ var script$2 = {
64
64
  return ObjectUtils.isNotEmpty(processedItem.items);
65
65
  },
66
66
  onItemClick(event, processedItem) {
67
- const command = this.getItemProp(processedItem, 'command');
68
-
69
- command && command({ originalEvent: event, item: processedItem.item });
67
+ this.getItemProp(processedItem, 'command', { originalEvent: event, item: processedItem.item });
70
68
  this.$emit('item-toggle', { processedItem, expanded: !this.isItemActive(processedItem) });
71
69
  },
72
70
  onItemToggle(event) {
@@ -276,6 +274,8 @@ var script$1 = {
276
274
  default: true
277
275
  }
278
276
  },
277
+ searchTimeout: null,
278
+ searchValue: null,
279
279
  data() {
280
280
  return {
281
281
  focused: false,
@@ -295,6 +295,9 @@ var script$1 = {
295
295
  getItemProp(processedItem, name) {
296
296
  return processedItem && processedItem.item ? ObjectUtils.getItemValue(processedItem.item[name]) : undefined;
297
297
  },
298
+ getItemLabel(processedItem) {
299
+ return this.getItemProp(processedItem, 'label');
300
+ },
298
301
  isItemVisible(processedItem) {
299
302
  return this.getItemProp(processedItem, 'visible') !== false;
300
303
  },
@@ -314,8 +317,11 @@ var script$1 = {
314
317
  onBlur() {
315
318
  this.focused = false;
316
319
  this.focusedItem = null;
320
+ this.searchValue = '';
317
321
  },
318
322
  onKeyDown(event) {
323
+ const metaKey = event.metaKey || event.ctrlKey;
324
+
319
325
  switch (event.code) {
320
326
  case 'ArrowDown':
321
327
  this.onArrowDownKey(event);
@@ -348,6 +354,23 @@ var script$1 = {
348
354
  case 'Enter':
349
355
  this.onEnterKey(event);
350
356
  break;
357
+
358
+ case 'Escape':
359
+ case 'Tab':
360
+ case 'PageDown':
361
+ case 'PageUp':
362
+ case 'Backspace':
363
+ case 'ShiftLeft':
364
+ case 'ShiftRight':
365
+ //NOOP
366
+ break;
367
+
368
+ default:
369
+ if (!metaKey && ObjectUtils.isPrintableCharacter(event.key)) {
370
+ this.searchItems(event, event.key);
371
+ }
372
+
373
+ break;
351
374
  }
352
375
  },
353
376
  onArrowDownKey(event) {
@@ -432,6 +455,9 @@ var script$1 = {
432
455
 
433
456
  return panel && panel.contains(element);
434
457
  },
458
+ isItemMatched(processedItem) {
459
+ return this.isValidItem(processedItem) && this.getItemLabel(processedItem).toLocaleLowerCase(this.searchLocale).startsWith(this.searchValue.toLocaleLowerCase(this.searchLocale));
460
+ },
435
461
  isVisibleItem(processedItem) {
436
462
  return !!processedItem && (processedItem.level === 0 || this.isItemActive(processedItem)) && this.isItemVisible(processedItem);
437
463
  },
@@ -456,6 +482,48 @@ var script$1 = {
456
482
 
457
483
  return matchedItem || processedItem;
458
484
  },
485
+ searchItems(event, char) {
486
+ this.searchValue = (this.searchValue || '') + char;
487
+
488
+ let matchedItem = null;
489
+ let matched = false;
490
+
491
+ if (ObjectUtils.isNotEmpty(this.focusedItem)) {
492
+ const focusedItemIndex = this.visibleItems.findIndex((processedItem) => processedItem.key === this.focusedItem.key);
493
+
494
+ matchedItem = this.visibleItems.slice(focusedItemIndex).find((processedItem) => this.isItemMatched(processedItem));
495
+ matchedItem = ObjectUtils.isEmpty(matchedItem) ? this.visibleItems.slice(0, focusedItemIndex).find((processedItem) => this.isItemMatched(processedItem)) : matchedItem;
496
+ } else {
497
+ matchedItem = this.visibleItems.find((processedItem) => this.isItemMatched(processedItem));
498
+ }
499
+
500
+ if (ObjectUtils.isNotEmpty(matchedItem)) {
501
+ matched = true;
502
+ }
503
+
504
+ if (ObjectUtils.isEmpty(matchedItem) && ObjectUtils.isEmpty(this.focusedItem)) {
505
+ matchedItem = this.findFirstItem();
506
+ }
507
+
508
+ if (ObjectUtils.isNotEmpty(matchedItem)) {
509
+ this.changeFocusedItem({
510
+ originalEvent: event,
511
+ processedItem: matchedItem,
512
+ allowHeaderFocus: false
513
+ });
514
+ }
515
+
516
+ if (this.searchTimeout) {
517
+ clearTimeout(this.searchTimeout);
518
+ }
519
+
520
+ this.searchTimeout = setTimeout(() => {
521
+ this.searchValue = '';
522
+ this.searchTimeout = null;
523
+ }, 500);
524
+
525
+ return matched;
526
+ },
459
527
  changeFocusedItem(event) {
460
528
  const { originalEvent, processedItem, focusOnNext, selfCheck, allowHeaderFocus = true } = event;
461
529
 
@@ -598,6 +666,7 @@ var script = {
598
666
  activeItem: null
599
667
  };
600
668
  },
669
+
601
670
  methods: {
602
671
  getItemProp(item, name) {
603
672
  return item ? ObjectUtils.getItemValue(item[name]) : undefined;
@@ -606,7 +675,7 @@ var script = {
606
675
  return this.getItemProp(item, 'label');
607
676
  },
608
677
  isItemActive(item) {
609
- return this.expandedKeys ? this.expandedKeys[this.getItemProp(item, 'key')] : item === this.activeItem;
678
+ return this.expandedKeys ? this.expandedKeys[this.getItemProp(item, 'key')] : ObjectUtils.equals(item, this.activeItem);
610
679
  },
611
680
  isItemVisible(item) {
612
681
  return this.getItemProp(item, 'visible') !== false;
@@ -721,11 +790,10 @@ var script = {
721
790
  },
722
791
  changeActiveItem(event, item, selfActive = false) {
723
792
  if (!this.isItemDisabled(item)) {
724
- this.activeItem = selfActive ? item : this.activeItem && this.activeItem === item ? null : item;
725
-
726
793
  const active = this.isItemActive(item);
727
- const eventName = active ? 'panel-open' : 'panel-close';
794
+ const eventName = !active ? 'panel-open' : 'panel-close';
728
795
 
796
+ this.activeItem = selfActive ? item : this.activeItem && ObjectUtils.equals(item, this.activeItem) ? null : item;
729
797
  this.changeExpandedKeys({ item, expanded: !active });
730
798
  this.$emit(eventName, { originalEvent: event, item });
731
799
  }
@@ -940,7 +1008,7 @@ function styleInject(css, ref) {
940
1008
  }
941
1009
  }
942
1010
 
943
- var css_248z = "\n.p-panelmenu .p-panelmenu-header-action {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: pointer;\n position: relative;\n text-decoration: none;\n}\n.p-panelmenu .p-panelmenu-header-action:focus {\n z-index: 1;\n}\n.p-panelmenu .p-submenu-list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.p-panelmenu .p-menuitem-link {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: pointer;\n text-decoration: none;\n position: relative;\n overflow: hidden;\n}\n.p-panelmenu .p-menuitem-text {\n line-height: 1;\n}\n";
1011
+ var css_248z = "\n.p-panelmenu .p-panelmenu-header-action {\n display: flex;\n align-items: center;\n user-select: none;\n cursor: pointer;\n position: relative;\n text-decoration: none;\n}\n.p-panelmenu .p-panelmenu-header-action:focus {\n z-index: 1;\n}\n.p-panelmenu .p-submenu-list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.p-panelmenu .p-menuitem-link {\n display: flex;\n align-items: center;\n user-select: none;\n cursor: pointer;\n text-decoration: none;\n position: relative;\n overflow: hidden;\n}\n.p-panelmenu .p-menuitem-text {\n line-height: 1;\n}\n";
944
1012
  styleInject(css_248z);
945
1013
 
946
1014
  script.render = render;
@@ -1 +1 @@
1
- import{ObjectUtils as e,DomHandler as t,UniqueComponentId as i}from"primevue/utils";import s from"primevue/ripple";import{resolveComponent as n,resolveDirective as a,openBlock as r,createElementBlock as l,Fragment as o,renderList as d,normalizeStyle as m,normalizeClass as c,createElementVNode as u,createBlock as p,withCtx as I,withDirectives as h,createCommentVNode as g,toDisplayString as f,resolveDynamicComponent as y,createVNode as v,Transition as b,vShow as x}from"vue";var P={name:"PanelMenuSub",emits:["item-toggle"],props:{panelId:{type:String,default:null},focusedItemId:{type:String,default:null},items:{type:Array,default:null},level:{type:Number,default:0},template:{type:Function,default:null},activeItemPath:{type:Object,default:null},exact:{type:Boolean,default:!0}},methods:{getItemId(e){return`${this.panelId}_${e.key}`},getItemKey(e){return this.getItemId(e)},getItemProp:(t,i)=>t&&t.item?e.getItemValue(t.item[i]):void 0,getItemLabel(e){return this.getItemProp(e,"label")},isItemActive(e){return this.activeItemPath.some((t=>t.key===e.key))},isItemVisible(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled(e){return this.getItemProp(e,"disabled")},isItemFocused(e){return this.focusedItemId===this.getItemId(e)},isItemGroup:t=>e.isNotEmpty(t.items),onItemClick(e,t){const i=this.getItemProp(t,"command");i&&i({originalEvent:e,item:t.item}),this.$emit("item-toggle",{processedItem:t,expanded:!this.isItemActive(t)})},onItemToggle(e){this.$emit("item-toggle",e)},onItemActionClick(e,t){t&&t(e)},getAriaSetSize(){return this.items.filter((e=>this.isItemVisible(e)&&!this.getItemProp(e,"separator"))).length},getAriaPosInset(e){return e-this.items.slice(0,e).filter((e=>this.isItemVisible(e)&&this.getItemProp(e,"separator"))).length+1},getItemClass(e){return["p-menuitem",this.getItemProp(e,"class"),{"p-focus":this.isItemFocused(e),"p-disabled":this.isItemDisabled(e)}]},getItemActionClass(e,t){return["p-menuitem-link",{"router-link-active":t&&t.isActive,"router-link-active-exact":this.exact&&t&&t.isExactActive}]},getItemIconClass(e){return["p-menuitem-icon",this.getItemProp(e,"icon")]},getItemToggleIconClass(e){return["p-submenu-icon",this.isItemActive(e)?"pi pi-fw pi-chevron-down":"pi pi-fw pi-chevron-right"]},getSeparatorItemClass(e){return["p-menuitem-separator",this.getItemProp(e,"class")]}},directives:{ripple:s}};const k={class:"p-submenu-list"},K=["id","aria-label","aria-expanded","aria-level","aria-setsize","aria-posinset"],A=["onClick"],H=["href","onClick"],E={class:"p-menuitem-text"},C=["href","target"],w={class:"p-menuitem-text"},D={class:"p-toggleable-content"};P.render=function(e,t,i,s,P,F){const S=n("router-link"),N=n("PanelMenuSub",!0),T=a("ripple");return r(),l("ul",k,[(r(!0),l(o,null,d(i.items,((e,t)=>(r(),l(o,{key:F.getItemKey(e)},[F.isItemVisible(e)&&!F.getItemProp(e,"separator")?(r(),l("li",{key:0,id:F.getItemId(e),style:m(F.getItemProp(e,"style")),class:c(F.getItemClass(e)),role:"treeitem","aria-label":F.getItemLabel(e),"aria-expanded":F.isItemGroup(e)?F.isItemActive(e):void 0,"aria-level":i.level+1,"aria-setsize":F.getAriaSetSize(),"aria-posinset":F.getAriaPosInset(t)},[u("div",{class:"p-menuitem-content",onClick:t=>F.onItemClick(t,e)},[i.template?(r(),p(y(i.template),{key:1,item:e.item},null,8,["item"])):(r(),l(o,{key:0},[F.getItemProp(e,"to")&&!F.isItemDisabled(e)?(r(),p(S,{key:0,to:F.getItemProp(e,"to"),custom:""},{default:I((({navigate:t,href:i,isActive:s,isExactActive:n})=>[h((r(),l("a",{href:i,class:c(F.getItemActionClass(e,{isActive:s,isExactActive:n})),tabindex:"-1","aria-hidden":"true",onClick:e=>F.onItemActionClick(e,t)},[F.getItemProp(e,"icon")?(r(),l("span",{key:0,class:c(F.getItemIconClass(e))},null,2)):g("",!0),u("span",E,f(F.getItemLabel(e)),1)],10,H)),[[T]])])),_:2},1032,["to"])):h((r(),l("a",{key:1,href:F.getItemProp(e,"url"),class:c(F.getItemActionClass(e)),target:F.getItemProp(e,"target"),tabindex:"-1","aria-hidden":"true"},[F.isItemGroup(e)?(r(),l("span",{key:0,class:c(F.getItemToggleIconClass(e))},null,2)):g("",!0),F.getItemProp(e,"icon")?(r(),l("span",{key:1,class:c(F.getItemIconClass(e))},null,2)):g("",!0),u("span",w,f(F.getItemLabel(e)),1)],10,C)),[[T]])],64))],8,A),v(b,{name:"p-toggleable-content"},{default:I((()=>[h(u("div",D,[F.isItemVisible(e)&&F.isItemGroup(e)?(r(),p(N,{key:0,id:F.getItemId(e)+"_list",role:"group",panelId:i.panelId,focusedItemId:i.focusedItemId,items:e.items,level:i.level+1,template:i.template,activeItemPath:i.activeItemPath,exact:i.exact,onItemToggle:F.onItemToggle},null,8,["id","panelId","focusedItemId","items","level","template","activeItemPath","exact","onItemToggle"])):g("",!0)],512),[[x,F.isItemActive(e)]])])),_:2},1024)],14,K)):g("",!0),F.isItemVisible(e)&&F.getItemProp(e,"separator")?(r(),l("li",{key:1,style:m(F.getItemProp(e,"style")),class:c(F.getSeparatorItemClass(e)),role:"separator"},null,6)):g("",!0)],64)))),128))])};var F={name:"PanelMenuList",emits:["item-toggle","header-focus"],props:{panelId:{type:String,default:null},items:{type:Array,default:null},template:{type:Function,default:null},expandedKeys:{type:Object,default:null},exact:{type:Boolean,default:!0}},data:()=>({focused:!1,focusedItem:null,activeItemPath:[]}),watch:{expandedKeys(e){this.autoUpdateActiveItemPath(e)}},mounted(){this.autoUpdateActiveItemPath(this.expandedKeys)},methods:{getItemProp:(t,i)=>t&&t.item?e.getItemValue(t.item[i]):void 0,isItemVisible(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled(e){return this.getItemProp(e,"disabled")},isItemActive(e){return this.activeItemPath.some((t=>t.key===e.parentKey))},isItemGroup:t=>e.isNotEmpty(t.items),onFocus(e){this.focused=!0,this.focusedItem=this.focusedItem||(this.isElementInPanel(e,e.relatedTarget)?this.findFirstItem():this.findLastItem())},onBlur(){this.focused=!1,this.focusedItem=null},onKeyDown(e){switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"ArrowLeft":this.onArrowLeftKey(e);break;case"ArrowRight":this.onArrowRightKey(e);break;case"Home":this.onHomeKey(e);break;case"End":this.onEndKey(e);break;case"Space":this.onSpaceKey(e);break;case"Enter":this.onEnterKey(e)}},onArrowDownKey(t){const i=e.isNotEmpty(this.focusedItem)?this.findNextItem(this.focusedItem):this.findFirstItem();this.changeFocusedItem({originalEvent:t,processedItem:i,focusOnNext:!0}),t.preventDefault()},onArrowUpKey(t){const i=e.isNotEmpty(this.focusedItem)?this.findPrevItem(this.focusedItem):this.findLastItem();this.changeFocusedItem({originalEvent:t,processedItem:i,selfCheck:!0}),t.preventDefault()},onArrowLeftKey(t){if(e.isNotEmpty(this.focusedItem)){this.activeItemPath.some((e=>e.key===this.focusedItem.key))?this.activeItemPath=this.activeItemPath.filter((e=>e.key!==this.focusedItem.key)):this.focusedItem=e.isNotEmpty(this.focusedItem.parent)?this.focusedItem.parent:this.focusedItem,t.preventDefault()}},onArrowRightKey(t){if(e.isNotEmpty(this.focusedItem)){if(this.isItemGroup(this.focusedItem)){this.activeItemPath.some((e=>e.key===this.focusedItem.key))?this.onArrowDownKey(t):(this.activeItemPath=this.activeItemPath.filter((e=>e.parentKey!==this.focusedItem.parentKey)),this.activeItemPath.push(this.focusedItem))}t.preventDefault()}},onHomeKey(e){this.changeFocusedItem({originalEvent:e,processedItem:this.findFirstItem(),allowHeaderFocus:!1}),e.preventDefault()},onEndKey(e){this.changeFocusedItem({originalEvent:e,processedItem:this.findLastItem(),focusOnNext:!0,allowHeaderFocus:!1}),e.preventDefault()},onEnterKey(i){if(e.isNotEmpty(this.focusedItem)){const e=t.findSingle(this.$el,`li[id="${this.focusedItemId}"]`),i=e&&t.findSingle(e,".p-menuitem-link");i?i.click():e&&e.click()}i.preventDefault()},onSpaceKey(e){this.onEnterKey(e)},onItemToggle(e){const{processedItem:i,expanded:s}=e;this.expandedKeys?this.$emit("item-toggle",{item:i.item,expanded:s}):(this.activeItemPath=this.activeItemPath.filter((e=>e.parentKey!==i.parentKey)),s&&this.activeItemPath.push(i)),this.focusedItem=i,t.focus(this.$el)},isElementInPanel(e,t){const i=e.currentTarget.closest(".p-panelmenu-panel");return i&&i.contains(t)},isVisibleItem(e){return!!e&&(0===e.level||this.isItemActive(e))&&this.isItemVisible(e)},isValidItem(e){return!!e&&!this.isItemDisabled(e)},findFirstItem(){return this.visibleItems.find((e=>this.isValidItem(e)))},findLastItem(){return e.findLast(this.visibleItems,(e=>this.isValidItem(e)))},findNextItem(e){const t=this.visibleItems.findIndex((t=>t.key===e.key));return(t<this.visibleItems.length-1?this.visibleItems.slice(t+1).find((e=>this.isValidItem(e))):void 0)||e},findPrevItem(t){const i=this.visibleItems.findIndex((e=>e.key===t.key));return(i>0?e.findLast(this.visibleItems.slice(0,i),(e=>this.isValidItem(e))):void 0)||t},changeFocusedItem(t){const{originalEvent:i,processedItem:s,focusOnNext:n,selfCheck:a,allowHeaderFocus:r=!0}=t;e.isNotEmpty(this.focusedItem)&&this.focusedItem.key!==s.key?(this.focusedItem=s,this.scrollInView()):r&&this.$emit("header-focus",{originalEvent:i,focusOnNext:n,selfCheck:a})},scrollInView(){const e=t.findSingle(this.$el,`li[id="${this.focusedItemId}"]`);e&&e.scrollIntoView&&e.scrollIntoView({block:"nearest",inline:"start"})},autoUpdateActiveItemPath(e){this.activeItemPath=Object.entries(e||{}).reduce(((e,[t,i])=>{if(i){const i=this.findProcessedItemByItemKey(t);i&&e.push(i)}return e}),[])},findProcessedItemByItemKey(e,t,i=0){if(!(t=t||0===i&&this.processedItems))return null;for(let s=0;s<t.length;s++){const n=t[s];if(this.getItemProp(n,"key")===e)return n;const a=this.findProcessedItemByItemKey(e,n.items,i+1);if(a)return a}},createProcessedItems(e,t=0,i={},s=""){const n=[];return e&&e.forEach(((e,a)=>{const r=(""!==s?s+"_":"")+a,l={item:e,index:a,level:t,key:r,parent:i,parentKey:s};l.items=this.createProcessedItems(e.items,t+1,l,r),n.push(l)})),n},flatItems(e,t=[]){return e&&e.forEach((e=>{this.isVisibleItem(e)&&(t.push(e),this.flatItems(e.items,t))})),t}},computed:{processedItems(){return this.createProcessedItems(this.items||[])},visibleItems(){return this.flatItems(this.processedItems)},focusedItemId(){return e.isNotEmpty(this.focusedItem)?`${this.panelId}_${this.focusedItem.key}`:null}},components:{PanelMenuSub:P}};F.render=function(e,t,i,s,a,l){const o=n("PanelMenuSub");return r(),p(o,{id:i.panelId+"_list",class:"p-panelmenu-root-list",role:"tree",tabindex:-1,"aria-activedescendant":a.focused?l.focusedItemId:void 0,panelId:i.panelId,focusedItemId:a.focused?l.focusedItemId:void 0,items:l.processedItems,template:i.template,activeItemPath:a.activeItemPath,exact:i.exact,onFocus:l.onFocus,onBlur:l.onBlur,onKeydown:l.onKeyDown,onItemToggle:l.onItemToggle},null,8,["id","aria-activedescendant","panelId","focusedItemId","items","template","activeItemPath","exact","onFocus","onBlur","onKeydown","onItemToggle"])};var S={name:"PanelMenu",emits:["update:expandedKeys","panel-open","panel-close"],props:{model:{type:Array,default:null},expandedKeys:{type:Object,default:null},exact:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},data:()=>({activeItem:null}),methods:{getItemProp:(t,i)=>t?e.getItemValue(t[i]):void 0,getItemLabel(e){return this.getItemProp(e,"label")},isItemActive(e){return this.expandedKeys?this.expandedKeys[this.getItemProp(e,"key")]:e===this.activeItem},isItemVisible(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled(e){return this.getItemProp(e,"disabled")},getPanelId(e){return`${this.id}_${e}`},getPanelKey(e){return this.getPanelId(e)},getHeaderId(e){return`${this.getPanelId(e)}_header`},getContentId(e){return`${this.getPanelId(e)}_content`},onHeaderClick(e,i){this.isItemDisabled(i)?e.preventDefault():(i.command&&i.command({originalEvent:e,item:i}),this.changeActiveItem(e,i),t.focus(e.currentTarget))},onHeaderKeyDown(e,t){switch(e.code){case"ArrowDown":this.onHeaderArrowDownKey(e);break;case"ArrowUp":this.onHeaderArrowUpKey(e);break;case"Home":this.onHeaderHomeKey(e);break;case"End":this.onHeaderEndKey(e);break;case"Enter":case"Space":this.onHeaderEnterKey(e,t)}},onHeaderArrowDownKey(e){const i=t.hasClass(e.currentTarget,"p-highlight")?t.findSingle(e.currentTarget.nextElementSibling,".p-panelmenu-root-list"):null;i?t.focus(i):this.updateFocusedHeader({originalEvent:e,focusOnNext:!0}),e.preventDefault()},onHeaderArrowUpKey(e){const i=this.findPrevHeader(e.currentTarget.parentElement)||this.findLastHeader(),s=t.hasClass(i,"p-highlight")?t.findSingle(i.nextElementSibling,".p-panelmenu-root-list"):null;s?t.focus(s):this.updateFocusedHeader({originalEvent:e,focusOnNext:!1}),e.preventDefault()},onHeaderHomeKey(e){this.changeFocusedHeader(e,this.findFirstHeader()),e.preventDefault()},onHeaderEndKey(e){this.changeFocusedHeader(e,this.findLastHeader()),e.preventDefault()},onHeaderEnterKey(e,i){const s=t.findSingle(e.currentTarget,".p-panelmenu-header-action");s?s.click():this.onHeaderClick(e,i),e.preventDefault()},onHeaderActionClick(e,t){t&&t(e)},findNextHeader(e,i=!1){const s=i?e:e.nextElementSibling,n=t.findSingle(s,".p-panelmenu-header");return n?t.hasClass(n,"p-disabled")?this.findNextHeader(n.parentElement):n:null},findPrevHeader(e,i=!1){const s=i?e:e.previousElementSibling,n=t.findSingle(s,".p-panelmenu-header");return n?t.hasClass(n,"p-disabled")?this.findPrevHeader(n.parentElement):n:null},findFirstHeader(){return this.findNextHeader(this.$el.firstElementChild,!0)},findLastHeader(){return this.findPrevHeader(this.$el.lastElementChild,!0)},updateFocusedHeader(e){const{originalEvent:i,focusOnNext:s,selfCheck:n}=e,a=i.currentTarget.closest(".p-panelmenu-panel"),r=n?t.findSingle(a,".p-panelmenu-header"):s?this.findNextHeader(a):this.findPrevHeader(a);r?this.changeFocusedHeader(i,r):s?this.onHeaderHomeKey(i):this.onHeaderEndKey(i)},changeActiveItem(e,t,i=!1){if(!this.isItemDisabled(t)){this.activeItem=i?t:this.activeItem&&this.activeItem===t?null:t;const s=this.isItemActive(t),n=s?"panel-open":"panel-close";this.changeExpandedKeys({item:t,expanded:!s}),this.$emit(n,{originalEvent:e,item:t})}},changeExpandedKeys({item:e,expanded:t=!1}){if(this.expandedKeys){let i={...this.expandedKeys};t?i[e.key]=!0:delete i[e.key],this.$emit("update:expandedKeys",i)}},changeFocusedHeader(e,i){i&&t.focus(i)},getPanelClass(e){return["p-panelmenu-panel",this.getItemProp(e,"class")]},getHeaderClass(e){return["p-panelmenu-header",this.getItemProp(e,"headerClass"),{"p-highlight":this.isItemActive(e),"p-disabled":this.isItemDisabled(e)}]},getHeaderActionClass(e,t){return["p-panelmenu-header-action",{"router-link-active":t&&t.isActive,"router-link-active-exact":this.exact&&t&&t.isExactActive}]},getHeaderIconClass(e){return["p-menuitem-icon",this.getItemProp(e,"icon")]},getHeaderToggleIconClass(e){return["p-submenu-icon",this.isItemActive(e)?"pi pi-chevron-down":"pi pi-chevron-right"]}},computed:{id(){return this.$attrs.id||i()}},components:{PanelMenuList:F}};const N=["id"],T=["id","tabindex","aria-label","aria-expanded","aria-controls","aria-disabled","onClick","onKeydown"],$={class:"p-panelmenu-header-content"},V=["href","onClick"],L={class:"p-menuitem-text"},B=["href"],_={class:"p-menuitem-text"},O=["id","aria-labelledby"],U={key:0,class:"p-panelmenu-content"};!function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===i&&s.firstChild?s.insertBefore(n,s.firstChild):s.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-panelmenu .p-panelmenu-header-action {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: pointer;\n position: relative;\n text-decoration: none;\n}\n.p-panelmenu .p-panelmenu-header-action:focus {\n z-index: 1;\n}\n.p-panelmenu .p-submenu-list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.p-panelmenu .p-menuitem-link {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: pointer;\n text-decoration: none;\n position: relative;\n overflow: hidden;\n}\n.p-panelmenu .p-menuitem-text {\n line-height: 1;\n}\n"),S.render=function(e,t,i,s,a,P){const k=n("router-link"),K=n("PanelMenuList");return r(),l("div",{id:P.id,class:"p-panelmenu p-component"},[(r(!0),l(o,null,d(i.model,((t,s)=>(r(),l(o,{key:P.getPanelKey(s)},[P.isItemVisible(t)?(r(),l("div",{key:0,style:m(P.getItemProp(t,"style")),class:c(P.getPanelClass(t))},[u("div",{id:P.getHeaderId(s),class:c(P.getHeaderClass(t)),tabindex:P.isItemDisabled(t)?-1:i.tabindex,role:"button","aria-label":P.getItemLabel(t),"aria-expanded":P.isItemActive(t),"aria-controls":P.getContentId(s),"aria-disabled":P.isItemDisabled(t),onClick:e=>P.onHeaderClick(e,t),onKeydown:e=>P.onHeaderKeyDown(e,t)},[u("div",$,[e.$slots.item?(r(),p(y(e.$slots.item),{key:1,item:t},null,8,["item"])):(r(),l(o,{key:0},[P.getItemProp(t,"to")&&!P.isItemDisabled(t)?(r(),p(k,{key:0,to:P.getItemProp(t,"to"),custom:""},{default:I((({navigate:e,href:i,isActive:s,isExactActive:n})=>[u("a",{href:i,class:c(P.getHeaderActionClass(t,{isActive:s,isExactActive:n})),tabindex:-1,onClick:t=>P.onHeaderActionClick(t,e)},[P.getItemProp(t,"icon")?(r(),l("span",{key:0,class:c(P.getHeaderIconClass(t))},null,2)):g("",!0),u("span",L,f(P.getItemLabel(t)),1)],10,V)])),_:2},1032,["to"])):(r(),l("a",{key:1,href:P.getItemProp(t,"url"),class:c(P.getHeaderActionClass(t)),tabindex:-1},[P.getItemProp(t,"items")?(r(),l("span",{key:0,class:c(P.getHeaderToggleIconClass(t))},null,2)):g("",!0),P.getItemProp(t,"icon")?(r(),l("span",{key:1,class:c(P.getHeaderIconClass(t))},null,2)):g("",!0),u("span",_,f(P.getItemLabel(t)),1)],10,B))],64))])],42,T),v(b,{name:"p-toggleable-content"},{default:I((()=>[h(u("div",{id:P.getContentId(s),class:"p-toggleable-content",role:"region","aria-labelledby":P.getHeaderId(s)},[P.getItemProp(t,"items")?(r(),l("div",U,[v(K,{panelId:P.getPanelId(s),items:P.getItemProp(t,"items"),template:e.$slots.item,expandedKeys:i.expandedKeys,onItemToggle:P.changeExpandedKeys,onHeaderFocus:P.updateFocusedHeader,exact:i.exact},null,8,["panelId","items","template","expandedKeys","onItemToggle","onHeaderFocus","exact"])])):g("",!0)],8,O),[[x,P.isItemActive(t)]])])),_:2},1024)],6)):g("",!0)],64)))),128))],8,N)};export{S as default};
1
+ import{ObjectUtils as e,DomHandler as t,UniqueComponentId as i}from"primevue/utils";import s from"primevue/ripple";import{resolveComponent as n,resolveDirective as a,openBlock as r,createElementBlock as l,Fragment as o,renderList as d,normalizeStyle as m,normalizeClass as c,createElementVNode as u,createBlock as h,withCtx as p,withDirectives as I,createCommentVNode as g,toDisplayString as f,resolveDynamicComponent as y,createVNode as v,Transition as b,vShow as P}from"vue";var k={name:"PanelMenuSub",emits:["item-toggle"],props:{panelId:{type:String,default:null},focusedItemId:{type:String,default:null},items:{type:Array,default:null},level:{type:Number,default:0},template:{type:Function,default:null},activeItemPath:{type:Object,default:null},exact:{type:Boolean,default:!0}},methods:{getItemId(e){return`${this.panelId}_${e.key}`},getItemKey(e){return this.getItemId(e)},getItemProp:(t,i,s)=>t&&t.item?e.getItemValue(t.item[i],s):void 0,getItemLabel(e){return this.getItemProp(e,"label")},isItemActive(e){return this.activeItemPath.some((t=>t.key===e.key))},isItemVisible(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled(e){return this.getItemProp(e,"disabled")},isItemFocused(e){return this.focusedItemId===this.getItemId(e)},isItemGroup:t=>e.isNotEmpty(t.items),onItemClick(e,t){this.getItemProp(t,"command",{originalEvent:e,item:t.item}),this.$emit("item-toggle",{processedItem:t,expanded:!this.isItemActive(t)})},onItemToggle(e){this.$emit("item-toggle",e)},onItemActionClick(e,t){t&&t(e)},getAriaSetSize(){return this.items.filter((e=>this.isItemVisible(e)&&!this.getItemProp(e,"separator"))).length},getAriaPosInset(e){return e-this.items.slice(0,e).filter((e=>this.isItemVisible(e)&&this.getItemProp(e,"separator"))).length+1},getItemClass(e){return["p-menuitem",this.getItemProp(e,"class"),{"p-focus":this.isItemFocused(e),"p-disabled":this.isItemDisabled(e)}]},getItemActionClass(e,t){return["p-menuitem-link",{"router-link-active":t&&t.isActive,"router-link-active-exact":this.exact&&t&&t.isExactActive}]},getItemIconClass(e){return["p-menuitem-icon",this.getItemProp(e,"icon")]},getItemToggleIconClass(e){return["p-submenu-icon",this.isItemActive(e)?"pi pi-fw pi-chevron-down":"pi pi-fw pi-chevron-right"]},getSeparatorItemClass(e){return["p-menuitem-separator",this.getItemProp(e,"class")]}},directives:{ripple:s}};const x={class:"p-submenu-list"},K=["id","aria-label","aria-expanded","aria-level","aria-setsize","aria-posinset"],E=["onClick"],A=["href","onClick"],H={class:"p-menuitem-text"},C=["href","target"],w={class:"p-menuitem-text"},D={class:"p-toggleable-content"};k.render=function(e,t,i,s,k,F){const S=n("router-link"),T=n("PanelMenuSub",!0),L=a("ripple");return r(),l("ul",x,[(r(!0),l(o,null,d(i.items,((e,t)=>(r(),l(o,{key:F.getItemKey(e)},[F.isItemVisible(e)&&!F.getItemProp(e,"separator")?(r(),l("li",{key:0,id:F.getItemId(e),style:m(F.getItemProp(e,"style")),class:c(F.getItemClass(e)),role:"treeitem","aria-label":F.getItemLabel(e),"aria-expanded":F.isItemGroup(e)?F.isItemActive(e):void 0,"aria-level":i.level+1,"aria-setsize":F.getAriaSetSize(),"aria-posinset":F.getAriaPosInset(t)},[u("div",{class:"p-menuitem-content",onClick:t=>F.onItemClick(t,e)},[i.template?(r(),h(y(i.template),{key:1,item:e.item},null,8,["item"])):(r(),l(o,{key:0},[F.getItemProp(e,"to")&&!F.isItemDisabled(e)?(r(),h(S,{key:0,to:F.getItemProp(e,"to"),custom:""},{default:p((({navigate:t,href:i,isActive:s,isExactActive:n})=>[I((r(),l("a",{href:i,class:c(F.getItemActionClass(e,{isActive:s,isExactActive:n})),tabindex:"-1","aria-hidden":"true",onClick:e=>F.onItemActionClick(e,t)},[F.getItemProp(e,"icon")?(r(),l("span",{key:0,class:c(F.getItemIconClass(e))},null,2)):g("",!0),u("span",H,f(F.getItemLabel(e)),1)],10,A)),[[L]])])),_:2},1032,["to"])):I((r(),l("a",{key:1,href:F.getItemProp(e,"url"),class:c(F.getItemActionClass(e)),target:F.getItemProp(e,"target"),tabindex:"-1","aria-hidden":"true"},[F.isItemGroup(e)?(r(),l("span",{key:0,class:c(F.getItemToggleIconClass(e))},null,2)):g("",!0),F.getItemProp(e,"icon")?(r(),l("span",{key:1,class:c(F.getItemIconClass(e))},null,2)):g("",!0),u("span",w,f(F.getItemLabel(e)),1)],10,C)),[[L]])],64))],8,E),v(b,{name:"p-toggleable-content"},{default:p((()=>[I(u("div",D,[F.isItemVisible(e)&&F.isItemGroup(e)?(r(),h(T,{key:0,id:F.getItemId(e)+"_list",role:"group",panelId:i.panelId,focusedItemId:i.focusedItemId,items:e.items,level:i.level+1,template:i.template,activeItemPath:i.activeItemPath,exact:i.exact,onItemToggle:F.onItemToggle},null,8,["id","panelId","focusedItemId","items","level","template","activeItemPath","exact","onItemToggle"])):g("",!0)],512),[[P,F.isItemActive(e)]])])),_:2},1024)],14,K)):g("",!0),F.isItemVisible(e)&&F.getItemProp(e,"separator")?(r(),l("li",{key:1,style:m(F.getItemProp(e,"style")),class:c(F.getSeparatorItemClass(e)),role:"separator"},null,6)):g("",!0)],64)))),128))])};var F={name:"PanelMenuList",emits:["item-toggle","header-focus"],props:{panelId:{type:String,default:null},items:{type:Array,default:null},template:{type:Function,default:null},expandedKeys:{type:Object,default:null},exact:{type:Boolean,default:!0}},searchTimeout:null,searchValue:null,data:()=>({focused:!1,focusedItem:null,activeItemPath:[]}),watch:{expandedKeys(e){this.autoUpdateActiveItemPath(e)}},mounted(){this.autoUpdateActiveItemPath(this.expandedKeys)},methods:{getItemProp:(t,i)=>t&&t.item?e.getItemValue(t.item[i]):void 0,getItemLabel(e){return this.getItemProp(e,"label")},isItemVisible(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled(e){return this.getItemProp(e,"disabled")},isItemActive(e){return this.activeItemPath.some((t=>t.key===e.parentKey))},isItemGroup:t=>e.isNotEmpty(t.items),onFocus(e){this.focused=!0,this.focusedItem=this.focusedItem||(this.isElementInPanel(e,e.relatedTarget)?this.findFirstItem():this.findLastItem())},onBlur(){this.focused=!1,this.focusedItem=null,this.searchValue=""},onKeyDown(t){const i=t.metaKey||t.ctrlKey;switch(t.code){case"ArrowDown":this.onArrowDownKey(t);break;case"ArrowUp":this.onArrowUpKey(t);break;case"ArrowLeft":this.onArrowLeftKey(t);break;case"ArrowRight":this.onArrowRightKey(t);break;case"Home":this.onHomeKey(t);break;case"End":this.onEndKey(t);break;case"Space":this.onSpaceKey(t);break;case"Enter":this.onEnterKey(t);break;case"Escape":case"Tab":case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!i&&e.isPrintableCharacter(t.key)&&this.searchItems(t,t.key)}},onArrowDownKey(t){const i=e.isNotEmpty(this.focusedItem)?this.findNextItem(this.focusedItem):this.findFirstItem();this.changeFocusedItem({originalEvent:t,processedItem:i,focusOnNext:!0}),t.preventDefault()},onArrowUpKey(t){const i=e.isNotEmpty(this.focusedItem)?this.findPrevItem(this.focusedItem):this.findLastItem();this.changeFocusedItem({originalEvent:t,processedItem:i,selfCheck:!0}),t.preventDefault()},onArrowLeftKey(t){if(e.isNotEmpty(this.focusedItem)){this.activeItemPath.some((e=>e.key===this.focusedItem.key))?this.activeItemPath=this.activeItemPath.filter((e=>e.key!==this.focusedItem.key)):this.focusedItem=e.isNotEmpty(this.focusedItem.parent)?this.focusedItem.parent:this.focusedItem,t.preventDefault()}},onArrowRightKey(t){if(e.isNotEmpty(this.focusedItem)){if(this.isItemGroup(this.focusedItem)){this.activeItemPath.some((e=>e.key===this.focusedItem.key))?this.onArrowDownKey(t):(this.activeItemPath=this.activeItemPath.filter((e=>e.parentKey!==this.focusedItem.parentKey)),this.activeItemPath.push(this.focusedItem))}t.preventDefault()}},onHomeKey(e){this.changeFocusedItem({originalEvent:e,processedItem:this.findFirstItem(),allowHeaderFocus:!1}),e.preventDefault()},onEndKey(e){this.changeFocusedItem({originalEvent:e,processedItem:this.findLastItem(),focusOnNext:!0,allowHeaderFocus:!1}),e.preventDefault()},onEnterKey(i){if(e.isNotEmpty(this.focusedItem)){const e=t.findSingle(this.$el,`li[id="${this.focusedItemId}"]`),i=e&&t.findSingle(e,".p-menuitem-link");i?i.click():e&&e.click()}i.preventDefault()},onSpaceKey(e){this.onEnterKey(e)},onItemToggle(e){const{processedItem:i,expanded:s}=e;this.expandedKeys?this.$emit("item-toggle",{item:i.item,expanded:s}):(this.activeItemPath=this.activeItemPath.filter((e=>e.parentKey!==i.parentKey)),s&&this.activeItemPath.push(i)),this.focusedItem=i,t.focus(this.$el)},isElementInPanel(e,t){const i=e.currentTarget.closest(".p-panelmenu-panel");return i&&i.contains(t)},isItemMatched(e){return this.isValidItem(e)&&this.getItemLabel(e).toLocaleLowerCase(this.searchLocale).startsWith(this.searchValue.toLocaleLowerCase(this.searchLocale))},isVisibleItem(e){return!!e&&(0===e.level||this.isItemActive(e))&&this.isItemVisible(e)},isValidItem(e){return!!e&&!this.isItemDisabled(e)},findFirstItem(){return this.visibleItems.find((e=>this.isValidItem(e)))},findLastItem(){return e.findLast(this.visibleItems,(e=>this.isValidItem(e)))},findNextItem(e){const t=this.visibleItems.findIndex((t=>t.key===e.key));return(t<this.visibleItems.length-1?this.visibleItems.slice(t+1).find((e=>this.isValidItem(e))):void 0)||e},findPrevItem(t){const i=this.visibleItems.findIndex((e=>e.key===t.key));return(i>0?e.findLast(this.visibleItems.slice(0,i),(e=>this.isValidItem(e))):void 0)||t},searchItems(t,i){this.searchValue=(this.searchValue||"")+i;let s=null,n=!1;if(e.isNotEmpty(this.focusedItem)){const t=this.visibleItems.findIndex((e=>e.key===this.focusedItem.key));s=this.visibleItems.slice(t).find((e=>this.isItemMatched(e))),s=e.isEmpty(s)?this.visibleItems.slice(0,t).find((e=>this.isItemMatched(e))):s}else s=this.visibleItems.find((e=>this.isItemMatched(e)));return e.isNotEmpty(s)&&(n=!0),e.isEmpty(s)&&e.isEmpty(this.focusedItem)&&(s=this.findFirstItem()),e.isNotEmpty(s)&&this.changeFocusedItem({originalEvent:t,processedItem:s,allowHeaderFocus:!1}),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((()=>{this.searchValue="",this.searchTimeout=null}),500),n},changeFocusedItem(t){const{originalEvent:i,processedItem:s,focusOnNext:n,selfCheck:a,allowHeaderFocus:r=!0}=t;e.isNotEmpty(this.focusedItem)&&this.focusedItem.key!==s.key?(this.focusedItem=s,this.scrollInView()):r&&this.$emit("header-focus",{originalEvent:i,focusOnNext:n,selfCheck:a})},scrollInView(){const e=t.findSingle(this.$el,`li[id="${this.focusedItemId}"]`);e&&e.scrollIntoView&&e.scrollIntoView({block:"nearest",inline:"start"})},autoUpdateActiveItemPath(e){this.activeItemPath=Object.entries(e||{}).reduce(((e,[t,i])=>{if(i){const i=this.findProcessedItemByItemKey(t);i&&e.push(i)}return e}),[])},findProcessedItemByItemKey(e,t,i=0){if(!(t=t||0===i&&this.processedItems))return null;for(let s=0;s<t.length;s++){const n=t[s];if(this.getItemProp(n,"key")===e)return n;const a=this.findProcessedItemByItemKey(e,n.items,i+1);if(a)return a}},createProcessedItems(e,t=0,i={},s=""){const n=[];return e&&e.forEach(((e,a)=>{const r=(""!==s?s+"_":"")+a,l={item:e,index:a,level:t,key:r,parent:i,parentKey:s};l.items=this.createProcessedItems(e.items,t+1,l,r),n.push(l)})),n},flatItems(e,t=[]){return e&&e.forEach((e=>{this.isVisibleItem(e)&&(t.push(e),this.flatItems(e.items,t))})),t}},computed:{processedItems(){return this.createProcessedItems(this.items||[])},visibleItems(){return this.flatItems(this.processedItems)},focusedItemId(){return e.isNotEmpty(this.focusedItem)?`${this.panelId}_${this.focusedItem.key}`:null}},components:{PanelMenuSub:k}};F.render=function(e,t,i,s,a,l){const o=n("PanelMenuSub");return r(),h(o,{id:i.panelId+"_list",class:"p-panelmenu-root-list",role:"tree",tabindex:-1,"aria-activedescendant":a.focused?l.focusedItemId:void 0,panelId:i.panelId,focusedItemId:a.focused?l.focusedItemId:void 0,items:l.processedItems,template:i.template,activeItemPath:a.activeItemPath,exact:i.exact,onFocus:l.onFocus,onBlur:l.onBlur,onKeydown:l.onKeyDown,onItemToggle:l.onItemToggle},null,8,["id","aria-activedescendant","panelId","focusedItemId","items","template","activeItemPath","exact","onFocus","onBlur","onKeydown","onItemToggle"])};var S={name:"PanelMenu",emits:["update:expandedKeys","panel-open","panel-close"],props:{model:{type:Array,default:null},expandedKeys:{type:Object,default:null},exact:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},data:()=>({activeItem:null}),methods:{getItemProp:(t,i)=>t?e.getItemValue(t[i]):void 0,getItemLabel(e){return this.getItemProp(e,"label")},isItemActive(t){return this.expandedKeys?this.expandedKeys[this.getItemProp(t,"key")]:e.equals(t,this.activeItem)},isItemVisible(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled(e){return this.getItemProp(e,"disabled")},getPanelId(e){return`${this.id}_${e}`},getPanelKey(e){return this.getPanelId(e)},getHeaderId(e){return`${this.getPanelId(e)}_header`},getContentId(e){return`${this.getPanelId(e)}_content`},onHeaderClick(e,i){this.isItemDisabled(i)?e.preventDefault():(i.command&&i.command({originalEvent:e,item:i}),this.changeActiveItem(e,i),t.focus(e.currentTarget))},onHeaderKeyDown(e,t){switch(e.code){case"ArrowDown":this.onHeaderArrowDownKey(e);break;case"ArrowUp":this.onHeaderArrowUpKey(e);break;case"Home":this.onHeaderHomeKey(e);break;case"End":this.onHeaderEndKey(e);break;case"Enter":case"Space":this.onHeaderEnterKey(e,t)}},onHeaderArrowDownKey(e){const i=t.hasClass(e.currentTarget,"p-highlight")?t.findSingle(e.currentTarget.nextElementSibling,".p-panelmenu-root-list"):null;i?t.focus(i):this.updateFocusedHeader({originalEvent:e,focusOnNext:!0}),e.preventDefault()},onHeaderArrowUpKey(e){const i=this.findPrevHeader(e.currentTarget.parentElement)||this.findLastHeader(),s=t.hasClass(i,"p-highlight")?t.findSingle(i.nextElementSibling,".p-panelmenu-root-list"):null;s?t.focus(s):this.updateFocusedHeader({originalEvent:e,focusOnNext:!1}),e.preventDefault()},onHeaderHomeKey(e){this.changeFocusedHeader(e,this.findFirstHeader()),e.preventDefault()},onHeaderEndKey(e){this.changeFocusedHeader(e,this.findLastHeader()),e.preventDefault()},onHeaderEnterKey(e,i){const s=t.findSingle(e.currentTarget,".p-panelmenu-header-action");s?s.click():this.onHeaderClick(e,i),e.preventDefault()},onHeaderActionClick(e,t){t&&t(e)},findNextHeader(e,i=!1){const s=i?e:e.nextElementSibling,n=t.findSingle(s,".p-panelmenu-header");return n?t.hasClass(n,"p-disabled")?this.findNextHeader(n.parentElement):n:null},findPrevHeader(e,i=!1){const s=i?e:e.previousElementSibling,n=t.findSingle(s,".p-panelmenu-header");return n?t.hasClass(n,"p-disabled")?this.findPrevHeader(n.parentElement):n:null},findFirstHeader(){return this.findNextHeader(this.$el.firstElementChild,!0)},findLastHeader(){return this.findPrevHeader(this.$el.lastElementChild,!0)},updateFocusedHeader(e){const{originalEvent:i,focusOnNext:s,selfCheck:n}=e,a=i.currentTarget.closest(".p-panelmenu-panel"),r=n?t.findSingle(a,".p-panelmenu-header"):s?this.findNextHeader(a):this.findPrevHeader(a);r?this.changeFocusedHeader(i,r):s?this.onHeaderHomeKey(i):this.onHeaderEndKey(i)},changeActiveItem(t,i,s=!1){if(!this.isItemDisabled(i)){const n=this.isItemActive(i),a=n?"panel-close":"panel-open";this.activeItem=s?i:this.activeItem&&e.equals(i,this.activeItem)?null:i,this.changeExpandedKeys({item:i,expanded:!n}),this.$emit(a,{originalEvent:t,item:i})}},changeExpandedKeys({item:e,expanded:t=!1}){if(this.expandedKeys){let i={...this.expandedKeys};t?i[e.key]=!0:delete i[e.key],this.$emit("update:expandedKeys",i)}},changeFocusedHeader(e,i){i&&t.focus(i)},getPanelClass(e){return["p-panelmenu-panel",this.getItemProp(e,"class")]},getHeaderClass(e){return["p-panelmenu-header",this.getItemProp(e,"headerClass"),{"p-highlight":this.isItemActive(e),"p-disabled":this.isItemDisabled(e)}]},getHeaderActionClass(e,t){return["p-panelmenu-header-action",{"router-link-active":t&&t.isActive,"router-link-active-exact":this.exact&&t&&t.isExactActive}]},getHeaderIconClass(e){return["p-menuitem-icon",this.getItemProp(e,"icon")]},getHeaderToggleIconClass(e){return["p-submenu-icon",this.isItemActive(e)?"pi pi-chevron-down":"pi pi-chevron-right"]}},computed:{id(){return this.$attrs.id||i()}},components:{PanelMenuList:F}};const T=["id"],L=["id","tabindex","aria-label","aria-expanded","aria-controls","aria-disabled","onClick","onKeydown"],V={class:"p-panelmenu-header-content"},N=["href","onClick"],$={class:"p-menuitem-text"},B=["href"],M={class:"p-menuitem-text"},_=["id","aria-labelledby"],O={key:0,class:"p-panelmenu-content"};!function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===i&&s.firstChild?s.insertBefore(n,s.firstChild):s.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-panelmenu .p-panelmenu-header-action {\n display: flex;\n align-items: center;\n user-select: none;\n cursor: pointer;\n position: relative;\n text-decoration: none;\n}\n.p-panelmenu .p-panelmenu-header-action:focus {\n z-index: 1;\n}\n.p-panelmenu .p-submenu-list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.p-panelmenu .p-menuitem-link {\n display: flex;\n align-items: center;\n user-select: none;\n cursor: pointer;\n text-decoration: none;\n position: relative;\n overflow: hidden;\n}\n.p-panelmenu .p-menuitem-text {\n line-height: 1;\n}\n"),S.render=function(e,t,i,s,a,k){const x=n("router-link"),K=n("PanelMenuList");return r(),l("div",{id:k.id,class:"p-panelmenu p-component"},[(r(!0),l(o,null,d(i.model,((t,s)=>(r(),l(o,{key:k.getPanelKey(s)},[k.isItemVisible(t)?(r(),l("div",{key:0,style:m(k.getItemProp(t,"style")),class:c(k.getPanelClass(t))},[u("div",{id:k.getHeaderId(s),class:c(k.getHeaderClass(t)),tabindex:k.isItemDisabled(t)?-1:i.tabindex,role:"button","aria-label":k.getItemLabel(t),"aria-expanded":k.isItemActive(t),"aria-controls":k.getContentId(s),"aria-disabled":k.isItemDisabled(t),onClick:e=>k.onHeaderClick(e,t),onKeydown:e=>k.onHeaderKeyDown(e,t)},[u("div",V,[e.$slots.item?(r(),h(y(e.$slots.item),{key:1,item:t},null,8,["item"])):(r(),l(o,{key:0},[k.getItemProp(t,"to")&&!k.isItemDisabled(t)?(r(),h(x,{key:0,to:k.getItemProp(t,"to"),custom:""},{default:p((({navigate:e,href:i,isActive:s,isExactActive:n})=>[u("a",{href:i,class:c(k.getHeaderActionClass(t,{isActive:s,isExactActive:n})),tabindex:-1,onClick:t=>k.onHeaderActionClick(t,e)},[k.getItemProp(t,"icon")?(r(),l("span",{key:0,class:c(k.getHeaderIconClass(t))},null,2)):g("",!0),u("span",$,f(k.getItemLabel(t)),1)],10,N)])),_:2},1032,["to"])):(r(),l("a",{key:1,href:k.getItemProp(t,"url"),class:c(k.getHeaderActionClass(t)),tabindex:-1},[k.getItemProp(t,"items")?(r(),l("span",{key:0,class:c(k.getHeaderToggleIconClass(t))},null,2)):g("",!0),k.getItemProp(t,"icon")?(r(),l("span",{key:1,class:c(k.getHeaderIconClass(t))},null,2)):g("",!0),u("span",M,f(k.getItemLabel(t)),1)],10,B))],64))])],42,L),v(b,{name:"p-toggleable-content"},{default:p((()=>[I(u("div",{id:k.getContentId(s),class:"p-toggleable-content",role:"region","aria-labelledby":k.getHeaderId(s)},[k.getItemProp(t,"items")?(r(),l("div",O,[v(K,{panelId:k.getPanelId(s),items:k.getItemProp(t,"items"),template:e.$slots.item,expandedKeys:i.expandedKeys,onItemToggle:k.changeExpandedKeys,onHeaderFocus:k.updateFocusedHeader,exact:i.exact},null,8,["panelId","items","template","expandedKeys","onItemToggle","onHeaderFocus","exact"])])):g("",!0)],8,_),[[P,k.isItemActive(t)]])])),_:2},1024)],6)):g("",!0)],64)))),128))],8,T)};export{S as default};