primevue 3.30.2 → 3.32.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 (603) hide show
  1. package/accordion/Accordion.d.ts +5 -5
  2. package/accordion/Accordion.vue +1 -1
  3. package/accordion/accordion.cjs.js +3 -3
  4. package/accordion/accordion.cjs.min.js +1 -1
  5. package/accordion/accordion.esm.js +3 -3
  6. package/accordion/accordion.esm.min.js +1 -1
  7. package/accordion/accordion.js +3 -3
  8. package/accordion/accordion.min.js +1 -1
  9. package/accordiontab/AccordionTab.d.ts +18 -12
  10. package/autocomplete/AutoComplete.d.ts +34 -23
  11. package/autocomplete/AutoComplete.vue +3 -3
  12. package/autocomplete/BaseAutoComplete.vue +4 -0
  13. package/autocomplete/autocomplete.cjs.js +9 -5
  14. package/autocomplete/autocomplete.cjs.min.js +1 -1
  15. package/autocomplete/autocomplete.esm.js +9 -5
  16. package/autocomplete/autocomplete.esm.min.js +1 -1
  17. package/autocomplete/autocomplete.js +9 -5
  18. package/autocomplete/autocomplete.min.js +1 -1
  19. package/avatar/Avatar.d.ts +7 -7
  20. package/avatar/Avatar.vue +2 -2
  21. package/avatar/avatar.cjs.js +2 -2
  22. package/avatar/avatar.cjs.min.js +1 -1
  23. package/avatar/avatar.esm.js +2 -2
  24. package/avatar/avatar.esm.min.js +1 -1
  25. package/avatar/avatar.js +2 -2
  26. package/avatar/avatar.min.js +1 -1
  27. package/avatargroup/AvatarGroup.d.ts +3 -3
  28. package/badge/Badge.d.ts +3 -3
  29. package/badgedirective/BadgeDirective.d.ts +45 -4
  30. package/badgedirective/badgedirective.cjs.js +11 -1
  31. package/badgedirective/badgedirective.cjs.min.js +1 -1
  32. package/badgedirective/badgedirective.esm.js +11 -1
  33. package/badgedirective/badgedirective.esm.min.js +1 -1
  34. package/badgedirective/badgedirective.js +11 -1
  35. package/badgedirective/badgedirective.min.js +1 -1
  36. package/basecomponent/BaseComponent.vue +51 -25
  37. package/basecomponent/basecomponent.cjs.js +66 -42
  38. package/basecomponent/basecomponent.cjs.min.js +1 -1
  39. package/basecomponent/basecomponent.esm.js +66 -42
  40. package/basecomponent/basecomponent.esm.min.js +1 -1
  41. package/basecomponent/basecomponent.js +66 -42
  42. package/basecomponent/basecomponent.min.js +1 -1
  43. package/basedirective/basedirective.cjs.js +9 -3
  44. package/basedirective/basedirective.cjs.min.js +1 -1
  45. package/basedirective/basedirective.esm.js +9 -3
  46. package/basedirective/basedirective.esm.min.js +1 -1
  47. package/basedirective/basedirective.js +9 -3
  48. package/basedirective/basedirective.min.js +1 -1
  49. package/blockui/BaseBlockUI.vue +0 -8
  50. package/blockui/BlockUI.d.ts +7 -3
  51. package/blockui/BlockUI.vue +35 -10
  52. package/blockui/blockui.cjs.js +34 -12
  53. package/blockui/blockui.cjs.min.js +1 -1
  54. package/blockui/blockui.esm.js +34 -12
  55. package/blockui/blockui.esm.min.js +1 -1
  56. package/blockui/blockui.js +34 -12
  57. package/blockui/blockui.min.js +1 -1
  58. package/breadcrumb/Breadcrumb.d.ts +25 -10
  59. package/breadcrumb/BreadcrumbItem.vue +18 -8
  60. package/breadcrumb/breadcrumb.cjs.js +18 -8
  61. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  62. package/breadcrumb/breadcrumb.esm.js +18 -8
  63. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  64. package/breadcrumb/breadcrumb.js +18 -8
  65. package/breadcrumb/breadcrumb.min.js +1 -1
  66. package/button/Button.d.ts +8 -7
  67. package/button/Button.vue +4 -0
  68. package/button/button.cjs.js +5 -0
  69. package/button/button.cjs.min.js +1 -1
  70. package/button/button.esm.js +5 -0
  71. package/button/button.esm.min.js +1 -1
  72. package/button/button.js +5 -0
  73. package/button/button.min.js +1 -1
  74. package/calendar/Calendar.d.ts +129 -53
  75. package/calendar/Calendar.vue +49 -7
  76. package/calendar/calendar.cjs.js +72 -35
  77. package/calendar/calendar.cjs.min.js +1 -1
  78. package/calendar/calendar.esm.js +72 -35
  79. package/calendar/calendar.esm.min.js +1 -1
  80. package/calendar/calendar.js +72 -35
  81. package/calendar/calendar.min.js +1 -1
  82. package/card/Card.d.ts +9 -9
  83. package/carousel/Carousel.d.ts +32 -20
  84. package/carousel/Carousel.vue +10 -2
  85. package/carousel/carousel.cjs.js +11 -2
  86. package/carousel/carousel.cjs.min.js +1 -1
  87. package/carousel/carousel.esm.js +11 -2
  88. package/carousel/carousel.esm.min.js +1 -1
  89. package/carousel/carousel.js +11 -2
  90. package/carousel/carousel.min.js +1 -1
  91. package/cascadeselect/CascadeSelect.d.ts +25 -19
  92. package/cascadeselect/CascadeSelect.vue +2 -1
  93. package/cascadeselect/CascadeSelectSub.vue +1 -0
  94. package/cascadeselect/cascadeselect.cjs.js +9 -7
  95. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  96. package/cascadeselect/cascadeselect.esm.js +9 -7
  97. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  98. package/cascadeselect/cascadeselect.js +9 -7
  99. package/cascadeselect/cascadeselect.min.js +1 -1
  100. package/chart/Chart.d.ts +5 -5
  101. package/checkbox/Checkbox.d.ts +8 -8
  102. package/chip/Chip.d.ts +7 -7
  103. package/chips/Chips.d.ts +10 -10
  104. package/colorpicker/ColorPicker.d.ts +18 -11
  105. package/colorpicker/ColorPicker.vue +1 -1
  106. package/colorpicker/colorpicker.cjs.js +3 -3
  107. package/colorpicker/colorpicker.cjs.min.js +1 -1
  108. package/colorpicker/colorpicker.esm.js +3 -3
  109. package/colorpicker/colorpicker.esm.min.js +1 -1
  110. package/colorpicker/colorpicker.js +3 -3
  111. package/colorpicker/colorpicker.min.js +1 -1
  112. package/column/Column.d.ts +58 -58
  113. package/columngroup/ColumnGroup.d.ts +3 -3
  114. package/config/PrimeVue.d.ts +22 -0
  115. package/config/config.cjs.js +4 -1
  116. package/config/config.cjs.min.js +1 -1
  117. package/config/config.esm.js +4 -1
  118. package/config/config.esm.min.js +1 -1
  119. package/config/config.js +4 -1
  120. package/config/config.min.js +1 -1
  121. package/confirmdialog/ConfirmDialog.d.ts +14 -14
  122. package/confirmpopup/ConfirmPopup.d.ts +16 -10
  123. package/confirmpopup/ConfirmPopup.vue +1 -1
  124. package/confirmpopup/confirmpopup.cjs.js +3 -3
  125. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  126. package/confirmpopup/confirmpopup.esm.js +4 -4
  127. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  128. package/confirmpopup/confirmpopup.js +3 -3
  129. package/confirmpopup/confirmpopup.min.js +1 -1
  130. package/contextmenu/ContextMenu.d.ts +27 -13
  131. package/contextmenu/ContextMenu.vue +1 -1
  132. package/contextmenu/ContextMenuSub.vue +14 -12
  133. package/contextmenu/contextmenu.cjs.js +19 -17
  134. package/contextmenu/contextmenu.cjs.min.js +1 -1
  135. package/contextmenu/contextmenu.esm.js +20 -18
  136. package/contextmenu/contextmenu.esm.min.js +1 -1
  137. package/contextmenu/contextmenu.js +19 -17
  138. package/contextmenu/contextmenu.min.js +1 -1
  139. package/core/core.js +4538 -507
  140. package/core/core.min.js +19 -15
  141. package/datatable/BaseDataTable.vue +1 -1
  142. package/datatable/BodyCell.vue +1 -0
  143. package/datatable/ColumnFilter.vue +1 -1
  144. package/datatable/DataTable.d.ts +37 -31
  145. package/datatable/DataTable.vue +4 -1
  146. package/datatable/datatable.cjs.js +10 -5
  147. package/datatable/datatable.cjs.min.js +1 -1
  148. package/datatable/datatable.esm.js +10 -5
  149. package/datatable/datatable.esm.min.js +1 -1
  150. package/datatable/datatable.js +10 -5
  151. package/datatable/datatable.min.js +1 -1
  152. package/dataview/DataView.d.ts +10 -10
  153. package/dataviewlayoutoptions/DataViewLayoutOptions.d.ts +7 -7
  154. package/deferredcontent/DeferredContent.d.ts +3 -3
  155. package/dialog/BaseDialog.vue +3 -7
  156. package/dialog/Dialog.d.ts +21 -15
  157. package/dialog/Dialog.vue +2 -1
  158. package/dialog/dialog.cjs.js +9 -6
  159. package/dialog/dialog.cjs.min.js +1 -1
  160. package/dialog/dialog.esm.js +9 -6
  161. package/dialog/dialog.esm.min.js +1 -1
  162. package/dialog/dialog.js +9 -6
  163. package/dialog/dialog.min.js +1 -1
  164. package/divider/BaseDivider.vue +9 -24
  165. package/divider/Divider.d.ts +4 -4
  166. package/divider/Divider.vue +1 -1
  167. package/divider/divider.cjs.js +15 -2
  168. package/divider/divider.cjs.min.js +1 -1
  169. package/divider/divider.esm.js +15 -2
  170. package/divider/divider.esm.min.js +1 -1
  171. package/divider/divider.js +15 -2
  172. package/divider/divider.min.js +1 -1
  173. package/dock/BaseDock.vue +1 -1
  174. package/dock/Dock.d.ts +13 -9
  175. package/dock/Dock.vue +19 -2
  176. package/dock/DockSub.vue +8 -7
  177. package/dock/dock.cjs.js +18 -11
  178. package/dock/dock.cjs.min.js +1 -1
  179. package/dock/dock.esm.js +18 -11
  180. package/dock/dock.esm.min.js +1 -1
  181. package/dock/dock.js +18 -11
  182. package/dock/dock.min.js +1 -1
  183. package/dropdown/BaseDropdown.vue +5 -5
  184. package/dropdown/Dropdown.d.ts +34 -28
  185. package/dropdown/Dropdown.vue +2 -2
  186. package/dropdown/dropdown.cjs.js +9 -9
  187. package/dropdown/dropdown.cjs.min.js +1 -1
  188. package/dropdown/dropdown.esm.js +9 -9
  189. package/dropdown/dropdown.esm.min.js +1 -1
  190. package/dropdown/dropdown.js +9 -9
  191. package/dropdown/dropdown.min.js +1 -1
  192. package/editor/BaseEditor.vue +0 -14
  193. package/editor/Editor.d.ts +19 -19
  194. package/editor/Editor.vue +20 -20
  195. package/editor/editor.cjs.js +20 -34
  196. package/editor/editor.cjs.min.js +1 -1
  197. package/editor/editor.esm.js +20 -34
  198. package/editor/editor.esm.min.js +1 -1
  199. package/editor/editor.js +20 -34
  200. package/editor/editor.min.js +1 -1
  201. package/fieldset/Fieldset.d.ts +17 -11
  202. package/fieldset/Fieldset.vue +1 -1
  203. package/fieldset/fieldset.cjs.js +3 -3
  204. package/fieldset/fieldset.cjs.min.js +1 -1
  205. package/fieldset/fieldset.esm.js +3 -3
  206. package/fieldset/fieldset.esm.min.js +1 -1
  207. package/fieldset/fieldset.js +3 -3
  208. package/fieldset/fieldset.min.js +1 -1
  209. package/fileupload/FileUpload.d.ts +24 -24
  210. package/fileupload/FileUpload.vue +4 -4
  211. package/fileupload/fileupload.cjs.js +10 -4
  212. package/fileupload/fileupload.cjs.min.js +1 -1
  213. package/fileupload/fileupload.esm.js +10 -4
  214. package/fileupload/fileupload.esm.min.js +1 -1
  215. package/fileupload/fileupload.js +10 -4
  216. package/fileupload/fileupload.min.js +1 -1
  217. package/focustrap/FocusTrap.d.ts +5 -5
  218. package/galleria/Galleria.d.ts +53 -34
  219. package/galleria/Galleria.vue +1 -1
  220. package/galleria/GalleriaItem.vue +9 -2
  221. package/galleria/GalleriaThumbnails.vue +1 -0
  222. package/galleria/galleria.cjs.js +14 -5
  223. package/galleria/galleria.cjs.min.js +1 -1
  224. package/galleria/galleria.esm.js +14 -5
  225. package/galleria/galleria.esm.min.js +1 -1
  226. package/galleria/galleria.js +14 -5
  227. package/galleria/galleria.min.js +1 -1
  228. package/image/Image.d.ts +28 -21
  229. package/image/Image.vue +4 -4
  230. package/image/image.cjs.js +6 -5
  231. package/image/image.cjs.min.js +1 -1
  232. package/image/image.esm.js +6 -5
  233. package/image/image.esm.min.js +1 -1
  234. package/image/image.js +6 -5
  235. package/image/image.min.js +1 -1
  236. package/inlinemessage/InlineMessage.d.ts +5 -5
  237. package/inplace/Inplace.d.ts +8 -8
  238. package/inputmask/InputMask.d.ts +32 -4
  239. package/inputmask/InputMask.vue +9 -1
  240. package/inputmask/inputmask.cjs.js +9 -1
  241. package/inputmask/inputmask.cjs.min.js +1 -1
  242. package/inputmask/inputmask.esm.js +9 -1
  243. package/inputmask/inputmask.esm.min.js +1 -1
  244. package/inputmask/inputmask.js +9 -1
  245. package/inputmask/inputmask.min.js +1 -1
  246. package/inputnumber/InputNumber.d.ts +10 -10
  247. package/inputswitch/InputSwitch.d.ts +9 -9
  248. package/inputtext/InputText.d.ts +3 -3
  249. package/knob/Knob.d.ts +7 -7
  250. package/listbox/Listbox.d.ts +18 -18
  251. package/megamenu/MegaMenu.d.ts +26 -18
  252. package/megamenu/MegaMenuSub.vue +14 -11
  253. package/megamenu/megamenu.cjs.js +15 -12
  254. package/megamenu/megamenu.cjs.min.js +1 -1
  255. package/megamenu/megamenu.esm.js +15 -12
  256. package/megamenu/megamenu.esm.min.js +1 -1
  257. package/megamenu/megamenu.js +15 -12
  258. package/megamenu/megamenu.min.js +1 -1
  259. package/menu/Menu.d.ts +28 -14
  260. package/menu/Menu.vue +2 -2
  261. package/menu/Menuitem.vue +4 -1
  262. package/menu/menu.cjs.js +9 -5
  263. package/menu/menu.cjs.min.js +1 -1
  264. package/menu/menu.esm.js +9 -5
  265. package/menu/menu.esm.min.js +1 -1
  266. package/menu/menu.js +9 -5
  267. package/menu/menu.min.js +1 -1
  268. package/menubar/Menubar.d.ts +29 -17
  269. package/menubar/MenubarSub.vue +15 -11
  270. package/menubar/menubar.cjs.js +16 -12
  271. package/menubar/menubar.cjs.min.js +1 -1
  272. package/menubar/menubar.esm.js +16 -12
  273. package/menubar/menubar.esm.min.js +1 -1
  274. package/menubar/menubar.js +16 -12
  275. package/menubar/menubar.min.js +1 -1
  276. package/message/Message.d.ts +18 -12
  277. package/message/Message.vue +1 -1
  278. package/message/message.cjs.js +3 -3
  279. package/message/message.cjs.min.js +1 -1
  280. package/message/message.esm.js +4 -4
  281. package/message/message.esm.min.js +1 -1
  282. package/message/message.js +3 -3
  283. package/message/message.min.js +1 -1
  284. package/multiselect/MultiSelect.d.ts +47 -41
  285. package/multiselect/MultiSelect.vue +1 -1
  286. package/multiselect/multiselect.cjs.js +3 -3
  287. package/multiselect/multiselect.cjs.min.js +1 -1
  288. package/multiselect/multiselect.esm.js +3 -3
  289. package/multiselect/multiselect.esm.min.js +1 -1
  290. package/multiselect/multiselect.js +3 -3
  291. package/multiselect/multiselect.min.js +1 -1
  292. package/orderlist/OrderList.d.ts +24 -18
  293. package/orderlist/OrderList.vue +2 -1
  294. package/orderlist/orderlist.cjs.js +3 -1
  295. package/orderlist/orderlist.cjs.min.js +1 -1
  296. package/orderlist/orderlist.esm.js +3 -1
  297. package/orderlist/orderlist.esm.min.js +1 -1
  298. package/orderlist/orderlist.js +3 -1
  299. package/orderlist/orderlist.min.js +1 -1
  300. package/organizationchart/OrganizationChart.d.ts +15 -15
  301. package/overlaypanel/OverlayPanel.d.ts +13 -7
  302. package/overlaypanel/OverlayPanel.vue +2 -1
  303. package/overlaypanel/overlaypanel.cjs.js +5 -3
  304. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  305. package/overlaypanel/overlaypanel.esm.js +6 -4
  306. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  307. package/overlaypanel/overlaypanel.js +5 -3
  308. package/overlaypanel/overlaypanel.min.js +1 -1
  309. package/package.json +15 -15
  310. package/paginator/Paginator.d.ts +20 -20
  311. package/paginator/Paginator.vue +2 -1
  312. package/paginator/paginator.cjs.js +2 -0
  313. package/paginator/paginator.cjs.min.js +1 -1
  314. package/paginator/paginator.esm.js +3 -1
  315. package/paginator/paginator.esm.min.js +1 -1
  316. package/paginator/paginator.js +2 -0
  317. package/paginator/paginator.min.js +1 -1
  318. package/panel/Panel.d.ts +19 -13
  319. package/panel/Panel.vue +1 -1
  320. package/panel/panel.cjs.js +3 -3
  321. package/panel/panel.cjs.min.js +1 -1
  322. package/panel/panel.esm.js +3 -3
  323. package/panel/panel.esm.min.js +1 -1
  324. package/panel/panel.js +3 -3
  325. package/panel/panel.min.js +1 -1
  326. package/panelmenu/PanelMenu.d.ts +35 -21
  327. package/panelmenu/PanelMenu.vue +13 -12
  328. package/panelmenu/PanelMenuSub.vue +14 -12
  329. package/panelmenu/panelmenu.cjs.js +31 -28
  330. package/panelmenu/panelmenu.cjs.min.js +1 -1
  331. package/panelmenu/panelmenu.esm.js +31 -28
  332. package/panelmenu/panelmenu.esm.min.js +1 -1
  333. package/panelmenu/panelmenu.js +31 -28
  334. package/panelmenu/panelmenu.min.js +1 -1
  335. package/passthrough/index.cjs.js +74 -0
  336. package/passthrough/index.cjs.min.js +1 -0
  337. package/passthrough/index.d.ts +15 -0
  338. package/passthrough/index.esm.js +70 -0
  339. package/passthrough/index.esm.min.js +1 -0
  340. package/passthrough/index.js +77 -0
  341. package/passthrough/index.min.js +1 -0
  342. package/passthrough/package.json +6 -0
  343. package/passthrough/tailwind/index.cjs.js +3828 -0
  344. package/passthrough/tailwind/index.cjs.min.js +1 -0
  345. package/passthrough/tailwind/index.d.ts +5 -0
  346. package/passthrough/tailwind/index.esm.js +3823 -0
  347. package/passthrough/tailwind/index.esm.min.js +1 -0
  348. package/passthrough/tailwind/index.js +3835 -0
  349. package/passthrough/tailwind/index.min.js +1 -0
  350. package/passthrough/tailwind/package.json +6 -0
  351. package/password/Password.d.ts +25 -14
  352. package/password/Password.vue +2 -1
  353. package/password/password.cjs.js +4 -3
  354. package/password/password.cjs.min.js +1 -1
  355. package/password/password.esm.js +4 -3
  356. package/password/password.esm.min.js +1 -1
  357. package/password/password.js +4 -3
  358. package/password/password.min.js +1 -1
  359. package/picklist/PickList.d.ts +42 -36
  360. package/picklist/PickList.vue +3 -2
  361. package/picklist/picklist.cjs.js +4 -2
  362. package/picklist/picklist.cjs.min.js +1 -1
  363. package/picklist/picklist.esm.js +4 -2
  364. package/picklist/picklist.esm.min.js +1 -1
  365. package/picklist/picklist.js +4 -2
  366. package/picklist/picklist.min.js +1 -1
  367. package/progressbar/ProgressBar.d.ts +5 -5
  368. package/progressspinner/ProgressSpinner.d.ts +5 -5
  369. package/radiobutton/RadioButton.d.ts +10 -10
  370. package/rating/Rating.d.ts +12 -12
  371. package/rating/Rating.vue +3 -3
  372. package/rating/rating.cjs.js +3 -3
  373. package/rating/rating.cjs.min.js +1 -1
  374. package/rating/rating.esm.js +3 -3
  375. package/rating/rating.esm.min.js +1 -1
  376. package/rating/rating.js +3 -3
  377. package/rating/rating.min.js +1 -1
  378. package/resources/themes/arya-blue/theme.css +7 -0
  379. package/resources/themes/arya-green/theme.css +7 -0
  380. package/resources/themes/arya-orange/theme.css +7 -0
  381. package/resources/themes/arya-purple/theme.css +7 -0
  382. package/resources/themes/bootstrap4-dark-blue/theme.css +7 -0
  383. package/resources/themes/bootstrap4-dark-purple/theme.css +7 -0
  384. package/resources/themes/bootstrap4-light-blue/theme.css +7 -0
  385. package/resources/themes/bootstrap4-light-purple/theme.css +7 -0
  386. package/resources/themes/fluent-light/theme.css +7 -0
  387. package/resources/themes/lara-dark-blue/theme.css +7 -0
  388. package/resources/themes/lara-dark-indigo/theme.css +7 -0
  389. package/resources/themes/lara-dark-purple/theme.css +7 -0
  390. package/resources/themes/lara-dark-teal/theme.css +7 -0
  391. package/resources/themes/lara-light-blue/theme.css +7 -0
  392. package/resources/themes/lara-light-indigo/theme.css +7 -0
  393. package/resources/themes/lara-light-purple/theme.css +7 -0
  394. package/resources/themes/lara-light-teal/theme.css +7 -0
  395. package/resources/themes/luna-amber/theme.css +7 -0
  396. package/resources/themes/luna-blue/theme.css +7 -0
  397. package/resources/themes/luna-green/theme.css +7 -0
  398. package/resources/themes/luna-pink/theme.css +7 -0
  399. package/resources/themes/md-dark-deeppurple/theme.css +7 -0
  400. package/resources/themes/md-dark-indigo/theme.css +7 -0
  401. package/resources/themes/md-light-deeppurple/theme.css +7 -0
  402. package/resources/themes/md-light-indigo/theme.css +7 -0
  403. package/resources/themes/mdc-dark-deeppurple/theme.css +7 -0
  404. package/resources/themes/mdc-dark-indigo/theme.css +7 -0
  405. package/resources/themes/mdc-light-deeppurple/theme.css +7 -0
  406. package/resources/themes/mdc-light-indigo/theme.css +7 -0
  407. package/resources/themes/mira/theme.css +7 -0
  408. package/resources/themes/nano/theme.css +7 -0
  409. package/resources/themes/nova/theme.css +7 -0
  410. package/resources/themes/nova-accent/theme.css +7 -0
  411. package/resources/themes/nova-alt/theme.css +7 -0
  412. package/resources/themes/nova-vue/theme.css +7 -0
  413. package/resources/themes/rhea/theme.css +7 -0
  414. package/resources/themes/saga-blue/theme.css +7 -0
  415. package/resources/themes/saga-green/theme.css +7 -0
  416. package/resources/themes/saga-orange/theme.css +7 -0
  417. package/resources/themes/saga-purple/theme.css +7 -0
  418. package/resources/themes/soho-dark/theme.css +7 -0
  419. package/resources/themes/soho-light/theme.css +7 -0
  420. package/resources/themes/tailwind-light/theme.css +7 -0
  421. package/resources/themes/vela-blue/theme.css +7 -0
  422. package/resources/themes/vela-green/theme.css +7 -0
  423. package/resources/themes/vela-orange/theme.css +7 -0
  424. package/resources/themes/vela-purple/theme.css +7 -0
  425. package/resources/themes/viva-dark/theme.css +7 -0
  426. package/resources/themes/viva-light/theme.css +7 -0
  427. package/ripple/Ripple.d.ts +3 -3
  428. package/row/Row.d.ts +2 -2
  429. package/scrollpanel/ScrollPanel.d.ts +7 -7
  430. package/scrolltop/ScrollTop.d.ts +11 -5
  431. package/scrolltop/ScrollTop.vue +1 -1
  432. package/scrolltop/scrolltop.cjs.js +3 -3
  433. package/scrolltop/scrolltop.cjs.min.js +1 -1
  434. package/scrolltop/scrolltop.esm.js +4 -4
  435. package/scrolltop/scrolltop.esm.min.js +1 -1
  436. package/scrolltop/scrolltop.js +3 -3
  437. package/scrolltop/scrolltop.min.js +1 -1
  438. package/selectbutton/SelectButton.d.ts +5 -5
  439. package/sidebar/Sidebar.d.ts +16 -10
  440. package/sidebar/Sidebar.vue +1 -1
  441. package/sidebar/sidebar.cjs.js +3 -3
  442. package/sidebar/sidebar.cjs.min.js +1 -1
  443. package/sidebar/sidebar.esm.js +3 -3
  444. package/sidebar/sidebar.esm.min.js +1 -1
  445. package/sidebar/sidebar.js +3 -3
  446. package/sidebar/sidebar.min.js +1 -1
  447. package/skeleton/Skeleton.d.ts +3 -3
  448. package/slider/Slider.d.ts +7 -7
  449. package/speeddial/BaseSpeedDial.vue +12 -36
  450. package/speeddial/SpeedDial.d.ts +14 -9
  451. package/speeddial/SpeedDial.vue +5 -4
  452. package/speeddial/speeddial.cjs.js +44 -23
  453. package/speeddial/speeddial.cjs.min.js +1 -1
  454. package/speeddial/speeddial.esm.js +44 -23
  455. package/speeddial/speeddial.esm.min.js +1 -1
  456. package/speeddial/speeddial.js +44 -23
  457. package/speeddial/speeddial.min.js +1 -1
  458. package/splitbutton/SplitButton.d.ts +8 -8
  459. package/splitbutton/SplitButton.vue +22 -3
  460. package/splitbutton/splitbutton.cjs.js +17 -5
  461. package/splitbutton/splitbutton.cjs.min.js +1 -1
  462. package/splitbutton/splitbutton.esm.js +17 -5
  463. package/splitbutton/splitbutton.esm.min.js +1 -1
  464. package/splitbutton/splitbutton.js +17 -5
  465. package/splitbutton/splitbutton.min.js +1 -1
  466. package/splitter/Splitter.d.ts +16 -5
  467. package/splitter/Splitter.vue +8 -1
  468. package/splitter/splitter.cjs.js +9 -1
  469. package/splitter/splitter.cjs.min.js +1 -1
  470. package/splitter/splitter.esm.js +9 -1
  471. package/splitter/splitter.esm.min.js +1 -1
  472. package/splitter/splitter.js +9 -1
  473. package/splitter/splitter.min.js +1 -1
  474. package/splitterpanel/SplitterPanel.d.ts +14 -3
  475. package/splitterpanel/SplitterPanel.vue +8 -1
  476. package/splitterpanel/splitterpanel.cjs.js +8 -1
  477. package/splitterpanel/splitterpanel.cjs.min.js +1 -1
  478. package/splitterpanel/splitterpanel.esm.js +8 -1
  479. package/splitterpanel/splitterpanel.esm.min.js +1 -1
  480. package/splitterpanel/splitterpanel.js +8 -1
  481. package/splitterpanel/splitterpanel.min.js +1 -1
  482. package/steps/BaseSteps.vue +1 -1
  483. package/steps/Steps.d.ts +33 -8
  484. package/steps/Steps.vue +17 -7
  485. package/steps/steps.cjs.js +19 -9
  486. package/steps/steps.cjs.min.js +1 -1
  487. package/steps/steps.esm.js +19 -9
  488. package/steps/steps.esm.min.js +1 -1
  489. package/steps/steps.js +19 -9
  490. package/steps/steps.min.js +1 -1
  491. package/styleclass/StyleClass.d.ts +2 -2
  492. package/tabmenu/TabMenu.d.ts +15 -11
  493. package/tabmenu/TabMenu.vue +11 -10
  494. package/tabmenu/tabmenu.cjs.js +11 -10
  495. package/tabmenu/tabmenu.cjs.min.js +1 -1
  496. package/tabmenu/tabmenu.esm.js +11 -10
  497. package/tabmenu/tabmenu.esm.min.js +1 -1
  498. package/tabmenu/tabmenu.js +11 -10
  499. package/tabmenu/tabmenu.min.js +1 -1
  500. package/tabpanel/TabPanel.d.ts +10 -10
  501. package/tabview/TabView.d.ts +16 -16
  502. package/tabview/TabView.vue +1 -0
  503. package/tabview/tabview.cjs.js +2 -1
  504. package/tabview/tabview.cjs.min.js +1 -1
  505. package/tabview/tabview.esm.js +2 -1
  506. package/tabview/tabview.esm.min.js +1 -1
  507. package/tabview/tabview.js +2 -1
  508. package/tabview/tabview.min.js +1 -1
  509. package/tag/Tag.d.ts +5 -5
  510. package/terminal/Terminal.d.ts +11 -11
  511. package/textarea/Textarea.d.ts +3 -3
  512. package/tieredmenu/TieredMenu.d.ts +27 -13
  513. package/tieredmenu/TieredMenu.vue +1 -1
  514. package/tieredmenu/TieredMenuSub.vue +13 -11
  515. package/tieredmenu/tieredmenu.cjs.js +16 -14
  516. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  517. package/tieredmenu/tieredmenu.esm.js +16 -14
  518. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  519. package/tieredmenu/tieredmenu.js +16 -14
  520. package/tieredmenu/tieredmenu.min.js +1 -1
  521. package/timeline/Timeline.d.ts +9 -9
  522. package/toast/BaseToast.vue +4 -0
  523. package/toast/Toast.d.ts +23 -17
  524. package/toast/Toast.vue +3 -2
  525. package/toast/toast.cjs.js +4 -2
  526. package/toast/toast.cjs.min.js +1 -1
  527. package/toast/toast.esm.js +5 -3
  528. package/toast/toast.esm.min.js +1 -1
  529. package/toast/toast.js +4 -2
  530. package/toast/toast.min.js +1 -1
  531. package/togglebutton/ToggleButton.d.ts +31 -9
  532. package/togglebutton/ToggleButton.vue +12 -3
  533. package/togglebutton/togglebutton.cjs.js +12 -3
  534. package/togglebutton/togglebutton.cjs.min.js +1 -1
  535. package/togglebutton/togglebutton.esm.js +12 -3
  536. package/togglebutton/togglebutton.esm.min.js +1 -1
  537. package/togglebutton/togglebutton.js +12 -3
  538. package/togglebutton/togglebutton.min.js +1 -1
  539. package/toolbar/Toolbar.d.ts +6 -6
  540. package/toolbar/Toolbar.vue +3 -3
  541. package/toolbar/toolbar.cjs.js +3 -6
  542. package/toolbar/toolbar.cjs.min.js +1 -1
  543. package/toolbar/toolbar.esm.js +3 -6
  544. package/toolbar/toolbar.esm.min.js +1 -1
  545. package/toolbar/toolbar.js +3 -6
  546. package/toolbar/toolbar.min.js +1 -1
  547. package/tooltip/Tooltip.d.ts +35 -6
  548. package/tooltip/tooltip.cjs.js +17 -4
  549. package/tooltip/tooltip.cjs.min.js +1 -1
  550. package/tooltip/tooltip.esm.js +17 -4
  551. package/tooltip/tooltip.esm.min.js +1 -1
  552. package/tooltip/tooltip.js +413 -400
  553. package/tooltip/tooltip.min.js +1 -1
  554. package/tree/Tree.d.ts +20 -20
  555. package/tree/Tree.vue +1 -0
  556. package/tree/tree.cjs.js +3 -2
  557. package/tree/tree.cjs.min.js +1 -1
  558. package/tree/tree.esm.js +3 -2
  559. package/tree/tree.esm.min.js +1 -1
  560. package/tree/tree.js +3 -2
  561. package/tree/tree.min.js +1 -1
  562. package/treeselect/TreeSelect.d.ts +23 -17
  563. package/treeselect/TreeSelect.vue +2 -2
  564. package/treeselect/treeselect.cjs.js +4 -4
  565. package/treeselect/treeselect.cjs.min.js +1 -1
  566. package/treeselect/treeselect.esm.js +4 -4
  567. package/treeselect/treeselect.esm.min.js +1 -1
  568. package/treeselect/treeselect.js +4 -4
  569. package/treeselect/treeselect.min.js +1 -1
  570. package/treetable/TreeTable.d.ts +21 -21
  571. package/treetable/TreeTable.vue +2 -1
  572. package/treetable/treetable.cjs.js +1 -1
  573. package/treetable/treetable.cjs.min.js +1 -1
  574. package/treetable/treetable.esm.js +1 -1
  575. package/treetable/treetable.esm.min.js +1 -1
  576. package/treetable/treetable.js +1 -1
  577. package/treetable/treetable.min.js +1 -1
  578. package/tristatecheckbox/TriStateCheckbox.d.ts +11 -11
  579. package/usestyle/UseStyle.d.ts +2 -1
  580. package/usestyle/usestyle.cjs.js +20 -7
  581. package/usestyle/usestyle.cjs.min.js +1 -1
  582. package/usestyle/usestyle.esm.js +20 -7
  583. package/usestyle/usestyle.esm.min.js +1 -1
  584. package/usestyle/usestyle.js +20 -7
  585. package/usestyle/usestyle.min.js +1 -1
  586. package/utils/Utils.d.ts +4 -0
  587. package/utils/utils.cjs.js +48 -8
  588. package/utils/utils.cjs.min.js +1 -1
  589. package/utils/utils.esm.js +48 -8
  590. package/utils/utils.esm.min.js +1 -1
  591. package/utils/utils.js +48 -8
  592. package/utils/utils.min.js +1 -1
  593. package/vetur-attributes.json +129 -125
  594. package/vetur-tags.json +1 -0
  595. package/virtualscroller/BaseVirtualScroller.vue +1 -1
  596. package/virtualscroller/VirtualScroller.d.ts +7 -7
  597. package/virtualscroller/virtualscroller.cjs.js +2 -1
  598. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  599. package/virtualscroller/virtualscroller.esm.js +2 -1
  600. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  601. package/virtualscroller/virtualscroller.js +2 -1
  602. package/virtualscroller/virtualscroller.min.js +1 -1
  603. package/web-types.json +160 -127
@@ -7,13 +7,15 @@
7
7
  * @module panelmenu
8
8
  *
9
9
  */
10
- import { VNode } from 'vue';
10
+ import { TransitionProps, VNode } from 'vue';
11
11
  import { ComponentHooks } from '../basecomponent';
12
12
  import { MenuItem } from '../menuitem';
13
13
  import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
14
14
 
15
15
  export declare type PanelMenuPassThroughOptionType = PanelMenuPassThroughAttributes | ((options: PanelMenuPassThroughMethodOptions) => PanelMenuPassThroughAttributes | string) | string | null | undefined;
16
16
 
17
+ export declare type PanelMenuPassThroughTransitionType = TransitionProps | ((options: PanelMenuPassThroughMethodOptions) => TransitionProps) | undefined;
18
+
17
19
  /**
18
20
  * Custom passthrough(pt) option method.
19
21
  */
@@ -30,82 +32,86 @@ export interface PanelMenuPassThroughMethodOptions {
30
32
  */
31
33
  export interface PanelMenuPassThroughOptions {
32
34
  /**
33
- * Uses to pass attributes to the root's DOM element.
35
+ * Used to pass attributes to the root's DOM element.
34
36
  */
35
37
  root?: PanelMenuPassThroughOptionType;
36
38
  /**
37
- * Uses to pass attributes to the panel's DOM element.
39
+ * Used to pass attributes to the panel's DOM element.
38
40
  */
39
41
  panel?: PanelMenuPassThroughOptionType;
40
42
  /**
41
- * Uses to pass attributes to the header's DOM element.
43
+ * Used to pass attributes to the header's DOM element.
42
44
  */
43
45
  header?: PanelMenuPassThroughOptionType;
44
46
  /**
45
- * Uses to pass attributes to the header content's DOM element.
47
+ * Used to pass attributes to the header content's DOM element.
46
48
  */
47
49
  headerContent?: PanelMenuPassThroughOptionType;
48
50
  /**
49
- * Uses to pass attributes to the header action's DOM element.
51
+ * Used to pass attributes to the header action's DOM element.
50
52
  */
51
53
  headerAction?: PanelMenuPassThroughOptionType;
52
54
  /**
53
- * Uses to pass attributes to the submenuIcon's DOM element.
55
+ * Used to pass attributes to the submenuIcon's DOM element.
54
56
  */
55
57
  submenuIcon?: PanelMenuPassThroughOptionType;
56
58
  /**
57
- * Uses to pass attributes to the header icon's DOM element.
59
+ * Used to pass attributes to the header icon's DOM element.
58
60
  */
59
61
  headerIcon?: PanelMenuPassThroughOptionType;
60
62
  /**
61
- * Uses to pass attributes to the header label's DOM element.
63
+ * Used to pass attributes to the header label's DOM element.
62
64
  */
63
65
  headerLabel?: PanelMenuPassThroughOptionType;
64
66
  /**
65
- * Uses to pass attributes to the toggleable content's DOM element.
67
+ * Used to pass attributes to the toggleable content's DOM element.
66
68
  */
67
69
  toggleableContent?: PanelMenuPassThroughOptionType;
68
70
  /**
69
- * Uses to pass attributes to the menu content's DOM element.
71
+ * Used to pass attributes to the menu content's DOM element.
70
72
  */
71
73
  menuContent?: PanelMenuPassThroughOptionType;
72
74
  /**
73
- * Uses to pass attributes to the list's DOM element.
75
+ * Used to pass attributes to the list's DOM element.
74
76
  */
75
77
  menu?: PanelMenuPassThroughOptionType;
76
78
  /**
77
- * Uses to pass attributes to the list item's DOM element.
79
+ * Used to pass attributes to the list item's DOM element.
78
80
  */
79
81
  menuitem?: PanelMenuPassThroughOptionType;
80
82
  /**
81
- * Uses to pass attributes to the content's DOM element.
83
+ * Used to pass attributes to the content's DOM element.
82
84
  */
83
85
  content?: PanelMenuPassThroughOptionType;
84
86
  /**
85
- * Uses to pass attributes to the action's DOM element.
87
+ * Used to pass attributes to the action's DOM element.
86
88
  */
87
89
  action?: PanelMenuPassThroughOptionType;
88
90
  /**
89
- * Uses to pass attributes to the icon's DOM element.
91
+ * Used to pass attributes to the icon's DOM element.
90
92
  */
91
93
  icon?: PanelMenuPassThroughOptionType;
92
94
  /**
93
- * Uses to pass attributes to the label's DOM element.
95
+ * Used to pass attributes to the label's DOM element.
94
96
  */
95
97
  label?: PanelMenuPassThroughOptionType;
96
98
  /**
97
- * Uses to pass attributes to the submenu's DOM element.
99
+ * Used to pass attributes to the submenu's DOM element.
98
100
  */
99
101
  submenu?: PanelMenuPassThroughOptionType;
100
102
  /**
101
- * Uses to pass attributes to the separator's DOM element.
103
+ * Used to pass attributes to the separator's DOM element.
102
104
  */
103
105
  separator?: PanelMenuPassThroughOptionType;
104
106
  /**
105
- * Uses to manage all lifecycle hooks
107
+ * Used to manage all lifecycle hooks
106
108
  * @see {@link BaseComponent.ComponentHooks}
107
109
  */
108
110
  hooks?: ComponentHooks;
111
+ /**
112
+ * Used to control Vue Transition API.
113
+ */
114
+ transition?: PanelMenuPassThroughTransitionType;
109
115
  }
110
116
 
111
117
  /**
@@ -134,6 +140,14 @@ export interface PanelMenuState {
134
140
  * Defines current options in PanelMenu component.
135
141
  */
136
142
  export interface PanelMenuContext {
143
+ /**
144
+ * Current menuitem
145
+ */
146
+ item: any;
147
+ /**
148
+ * Index of the menuitem.
149
+ */
150
+ index: number;
137
151
  /**
138
152
  * Current active state of menuitem as a boolean.
139
153
  * @defaultValue false
@@ -200,7 +214,7 @@ export interface PanelMenuProps {
200
214
  */
201
215
  tabindex?: number | string | undefined;
202
216
  /**
203
- * Uses to pass attributes to DOM elements inside the component.
217
+ * Used to pass attributes to DOM elements inside the component.
204
218
  * @type {PanelMenuPassThroughOptions}
205
219
  */
206
220
  pt?: PanelMenuPassThroughOptions;
@@ -13,32 +13,32 @@
13
13
  :aria-disabled="isItemDisabled(item)"
14
14
  @click="onHeaderClick($event, item)"
15
15
  @keydown="onHeaderKeyDown($event, item)"
16
- v-bind="getPTOptions(item, 'header')"
16
+ v-bind="getPTOptions('header', item, index)"
17
17
  :data-p-highlight="isItemActive(item)"
18
18
  :data-p-disabled="isItemDisabled(item)"
19
19
  >
20
- <div :class="cx('headerContent')" v-bind="getPTOptions(item, 'headerContent')">
20
+ <div :class="cx('headerContent')" v-bind="getPTOptions('headerContent', item, index)">
21
21
  <template v-if="!$slots.item">
22
22
  <router-link v-if="getItemProp(item, 'to') && !isItemDisabled(item)" v-slot="{ navigate, href, isActive, isExactActive }" :to="getItemProp(item, 'to')" custom>
23
- <a :href="href" :class="cx('headerAction', { isActive, isExactActive })" :tabindex="-1" @click="onHeaderActionClick($event, navigate)" v-bind="getPTOptions(item, 'headerAction')">
23
+ <a :href="href" :class="cx('headerAction', { isActive, isExactActive })" :tabindex="-1" @click="onHeaderActionClick($event, navigate)" v-bind="getPTOptions('headerAction', item, index)">
24
24
  <component v-if="$slots.headericon" :is="$slots.headericon" :item="item" :class="[cx('headerIcon'), getItemProp(item, 'icon')]" />
25
- <span v-else-if="getItemProp(item, 'icon')" :class="[cx('headerIcon'), getItemProp(item, 'icon')]" v-bind="getPTOptions(item, 'headerIcon')" />
26
- <span :class="cx('headerLabel')" v-bind="getPTOptions(item, 'headerLabel')">{{ getItemLabel(item) }}</span>
25
+ <span v-else-if="getItemProp(item, 'icon')" :class="[cx('headerIcon'), getItemProp(item, 'icon')]" v-bind="getPTOptions('headerIcon', item, index)" />
26
+ <span :class="cx('headerLabel')" v-bind="getPTOptions('headerLabel', item, index)">{{ getItemLabel(item) }}</span>
27
27
  </a>
28
28
  </router-link>
29
- <a v-else :href="getItemProp(item, 'url')" :class="cx('headerAction')" :tabindex="-1" v-bind="getPTOptions(item, 'headerAction')">
29
+ <a v-else :href="getItemProp(item, 'url')" :class="cx('headerAction')" :tabindex="-1" v-bind="getPTOptions('headerAction', item, index)">
30
30
  <slot v-if="getItemProp(item, 'items')" name="submenuicon" :active="isItemActive(item)">
31
- <component :is="isItemActive(item) ? 'ChevronDownIcon' : 'ChevronRightIcon'" :class="cx('submenuIcon')" v-bind="getPTOptions(item, 'submenuIcon')" />
31
+ <component :is="isItemActive(item) ? 'ChevronDownIcon' : 'ChevronRightIcon'" :class="cx('submenuIcon')" v-bind="getPTOptions('submenuIcon', item, index)" />
32
32
  </slot>
33
33
  <component v-if="$slots.headericon" :is="$slots.headericon" :item="item" :class="[cx('headerIcon'), getItemProp(item, 'icon')]" />
34
- <span v-else-if="getItemProp(item, 'icon')" :class="[cx('headerIcon'), getItemProp(item, 'icon')]" v-bind="getPTOptions(item, 'headerIcon')" />
35
- <span :class="cx('headerLabel')" v-bind="getPTOptions(item, 'headerLabel')">{{ getItemLabel(item) }}</span>
34
+ <span v-else-if="getItemProp(item, 'icon')" :class="[cx('headerIcon'), getItemProp(item, 'icon')]" v-bind="getPTOptions('headerIcon', item, index)" />
35
+ <span :class="cx('headerLabel')" v-bind="getPTOptions('headerLabel', item, index)">{{ getItemLabel(item) }}</span>
36
36
  </a>
37
37
  </template>
38
38
  <component v-else :is="$slots.item" :item="item"></component>
39
39
  </div>
40
40
  </div>
41
- <transition name="p-toggleable-content">
41
+ <transition name="p-toggleable-content" v-bind="ptm('transition')">
42
42
  <div v-show="isItemActive(item)" :id="getContentId(index)" :class="cx('toggleableContent')" role="region" :aria-labelledby="getHeaderId(index)" v-bind="ptm('toggleableContent')">
43
43
  <div v-if="getItemProp(item, 'items')" :class="cx('menuContent')" v-bind="ptm('menuContent')">
44
44
  <PanelMenuList
@@ -91,9 +91,10 @@ export default {
91
91
  getItemLabel(item) {
92
92
  return this.getItemProp(item, 'label');
93
93
  },
94
- getPTOptions(item, key) {
94
+ getPTOptions(key, item, index) {
95
95
  return this.ptm(key, {
96
- options: {
96
+ context: {
97
+ index,
97
98
  active: this.isItemActive(item),
98
99
  focused: this.isItemFocused(item)
99
100
  }
@@ -12,32 +12,32 @@
12
12
  :aria-level="level + 1"
13
13
  :aria-setsize="getAriaSetSize()"
14
14
  :aria-posinset="getAriaPosInset(index)"
15
- v-bind="getPTOptions(processedItem, 'menuitem')"
15
+ v-bind="getPTOptions('menuitem', processedItem, index)"
16
16
  :data-p-focused="isItemFocused(processedItem)"
17
17
  :data-p-disabled="isItemDisabled(processedItem)"
18
18
  >
19
- <div :class="cx('content')" @click="onItemClick($event, processedItem)" v-bind="getPTOptions(processedItem, 'content')">
19
+ <div :class="cx('content')" @click="onItemClick($event, processedItem)" v-bind="getPTOptions('content', processedItem, index)">
20
20
  <template v-if="!templates.item">
21
21
  <router-link v-if="getItemProp(processedItem, 'to') && !isItemDisabled(processedItem)" v-slot="{ navigate, href, isActive, isExactActive }" :to="getItemProp(processedItem, 'to')" custom>
22
- <a v-ripple :href="href" :class="cx('action', { isActive, isExactActive })" tabindex="-1" aria-hidden="true" @click="onItemActionClick($event, navigate)" v-bind="getPTOptions(processedItem, 'action')">
22
+ <a v-ripple :href="href" :class="cx('action', { isActive, isExactActive })" tabindex="-1" aria-hidden="true" @click="onItemActionClick($event, navigate)" v-bind="getPTOptions('action', processedItem, index)">
23
23
  <component v-if="templates.itemicon" :is="templates.itemicon" :item="processedItem.item" :class="[cx('icon'), getItemProp(processedItem, 'icon')]" />
24
- <span v-else-if="getItemProp(processedItem, 'icon')" :class="[cx('icon'), getItemProp(processedItem, 'icon')]" v-bind="getPTOptions(processedItem, 'icon')" />
25
- <span :class="cx('label')" v-bind="getPTOptions(processedItem, 'label')">{{ getItemLabel(processedItem) }}</span>
24
+ <span v-else-if="getItemProp(processedItem, 'icon')" :class="[cx('icon'), getItemProp(processedItem, 'icon')]" v-bind="getPTOptions('icon', processedItem, index)" />
25
+ <span :class="cx('label')" v-bind="getPTOptions('label', processedItem, index)">{{ getItemLabel(processedItem) }}</span>
26
26
  </a>
27
27
  </router-link>
28
- <a v-else v-ripple :href="getItemProp(processedItem, 'url')" :class="cx('action')" :target="getItemProp(processedItem, 'target')" tabindex="-1" aria-hidden="true" v-bind="getPTOptions(processedItem, 'action')">
28
+ <a v-else v-ripple :href="getItemProp(processedItem, 'url')" :class="cx('action')" :target="getItemProp(processedItem, 'target')" tabindex="-1" aria-hidden="true" v-bind="getPTOptions('action', processedItem, index)">
29
29
  <template v-if="isItemGroup(processedItem)">
30
- <component v-if="templates.submenuicon" :is="templates.submenuicon" :class="cx('submenuIcon')" :active="isItemActive(processedItem)" v-bind="getPTOptions(processedItem, 'submenuIcon')" />
31
- <component v-else :is="isItemActive(processedItem) ? 'ChevronDownIcon' : 'ChevronRightIcon'" :class="cx('submenuIcon')" v-bind="getPTOptions(processedItem, 'submenuIcon')" />
30
+ <component v-if="templates.submenuicon" :is="templates.submenuicon" :class="cx('submenuIcon')" :active="isItemActive(processedItem)" v-bind="getPTOptions('submenuIcon', processedItem, index)" />
31
+ <component v-else :is="isItemActive(processedItem) ? 'ChevronDownIcon' : 'ChevronRightIcon'" :class="cx('submenuIcon')" v-bind="getPTOptions('submenuIcon', processedItem, index)" />
32
32
  </template>
33
33
  <component v-if="templates.itemicon" :is="templates.itemicon" :item="processedItem.item" :class="[cx('icon'), getItemProp(processedItem, 'icon')]" />
34
- <span v-else-if="getItemProp(processedItem, 'icon')" :class="[cx('icon'), getItemProp(processedItem, 'icon')]" v-bind="getPTOptions(processedItem, 'icon')" />
35
- <span :class="cx('label')" v-bind="getPTOptions(processedItem, 'label')">{{ getItemLabel(processedItem) }}</span>
34
+ <span v-else-if="getItemProp(processedItem, 'icon')" :class="[cx('icon'), getItemProp(processedItem, 'icon')]" v-bind="getPTOptions('icon', processedItem, index)" />
35
+ <span :class="cx('label')" v-bind="getPTOptions('label', processedItem, index)">{{ getItemLabel(processedItem) }}</span>
36
36
  </a>
37
37
  </template>
38
38
  <component v-else :is="templates.item" :item="processedItem.item"></component>
39
39
  </div>
40
- <transition name="p-toggleable-content">
40
+ <transition name="p-toggleable-content" v-bind="ptm('transition')">
41
41
  <div v-show="isItemActive(processedItem)" :class="cx('toggleableContent')" v-bind="ptm('toggleableContent')">
42
42
  <PanelMenuSub
43
43
  v-if="isItemVisible(processedItem) && isItemGroup(processedItem)"
@@ -127,9 +127,11 @@ export default {
127
127
  getItemLabel(processedItem) {
128
128
  return this.getItemProp(processedItem, 'label');
129
129
  },
130
- getPTOptions(processedItem, key) {
130
+ getPTOptions(key, processedItem, index) {
131
131
  return this.ptm(key, {
132
132
  context: {
133
+ item: processedItem,
134
+ index,
133
135
  active: this.isItemActive(processedItem),
134
136
  focused: this.isItemFocused(processedItem)
135
137
  }
@@ -155,9 +155,11 @@ var script$2 = {
155
155
  getItemLabel: function getItemLabel(processedItem) {
156
156
  return this.getItemProp(processedItem, 'label');
157
157
  },
158
- getPTOptions: function getPTOptions(processedItem, key) {
158
+ getPTOptions: function getPTOptions(key, processedItem, index) {
159
159
  return this.ptm(key, {
160
160
  context: {
161
+ item: processedItem,
162
+ index: index,
161
163
  active: this.isItemActive(processedItem),
162
164
  focused: this.isItemFocused(processedItem)
163
165
  }
@@ -246,7 +248,7 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
246
248
  "aria-level": $props.level + 1,
247
249
  "aria-setsize": $options.getAriaSetSize(),
248
250
  "aria-posinset": $options.getAriaPosInset(index)
249
- }, $options.getPTOptions(processedItem, 'menuitem'), {
251
+ }, $options.getPTOptions('menuitem', processedItem, index), {
250
252
  "data-p-focused": $options.isItemFocused(processedItem),
251
253
  "data-p-disabled": $options.isItemDisabled(processedItem)
252
254
  }), [vue.createElementVNode("div", vue.mergeProps({
@@ -254,7 +256,7 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
254
256
  onClick: function onClick($event) {
255
257
  return $options.onItemClick($event, processedItem);
256
258
  }
257
- }, $options.getPTOptions(processedItem, 'content')), [!$props.templates.item ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
259
+ }, $options.getPTOptions('content', processedItem, index)), [!$props.templates.item ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
258
260
  key: 0
259
261
  }, [$options.getItemProp(processedItem, 'to') && !$options.isItemDisabled(processedItem) ? (vue.openBlock(), vue.createBlock(_component_router_link, {
260
262
  key: 0,
@@ -277,16 +279,16 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
277
279
  onClick: function onClick($event) {
278
280
  return $options.onItemActionClick($event, navigate);
279
281
  }
280
- }, $options.getPTOptions(processedItem, 'action')), [$props.templates.itemicon ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.templates.itemicon), {
282
+ }, $options.getPTOptions('action', processedItem, index)), [$props.templates.itemicon ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.templates.itemicon), {
281
283
  key: 0,
282
284
  item: processedItem.item,
283
285
  "class": vue.normalizeClass([_ctx.cx('icon'), $options.getItemProp(processedItem, 'icon')])
284
286
  }, null, 8, ["item", "class"])) : $options.getItemProp(processedItem, 'icon') ? (vue.openBlock(), vue.createElementBlock("span", vue.mergeProps({
285
287
  key: 1,
286
288
  "class": [_ctx.cx('icon'), $options.getItemProp(processedItem, 'icon')]
287
- }, $options.getPTOptions(processedItem, 'icon')), null, 16)) : vue.createCommentVNode("", true), vue.createElementVNode("span", vue.mergeProps({
289
+ }, $options.getPTOptions('icon', processedItem, index)), null, 16)) : vue.createCommentVNode("", true), vue.createElementVNode("span", vue.mergeProps({
288
290
  "class": _ctx.cx('label')
289
- }, $options.getPTOptions(processedItem, 'label')), vue.toDisplayString($options.getItemLabel(processedItem)), 17)], 16, _hoisted_4$1)), [[_directive_ripple]])];
291
+ }, $options.getPTOptions('label', processedItem, index)), vue.toDisplayString($options.getItemLabel(processedItem)), 17)], 16, _hoisted_4$1)), [[_directive_ripple]])];
290
292
  }),
291
293
  _: 2
292
294
  }, 1032, ["to"])) : vue.withDirectives((vue.openBlock(), vue.createElementBlock("a", vue.mergeProps({
@@ -296,30 +298,30 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
296
298
  target: $options.getItemProp(processedItem, 'target'),
297
299
  tabindex: "-1",
298
300
  "aria-hidden": "true"
299
- }, $options.getPTOptions(processedItem, 'action')), [$options.isItemGroup(processedItem) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
301
+ }, $options.getPTOptions('action', processedItem, index)), [$options.isItemGroup(processedItem) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
300
302
  key: 0
301
303
  }, [$props.templates.submenuicon ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.templates.submenuicon), vue.mergeProps({
302
304
  key: 0,
303
305
  "class": _ctx.cx('submenuIcon'),
304
306
  active: $options.isItemActive(processedItem)
305
- }, $options.getPTOptions(processedItem, 'submenuIcon')), null, 16, ["class", "active"])) : (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($options.isItemActive(processedItem) ? 'ChevronDownIcon' : 'ChevronRightIcon'), vue.mergeProps({
307
+ }, $options.getPTOptions('submenuIcon', processedItem, index)), null, 16, ["class", "active"])) : (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($options.isItemActive(processedItem) ? 'ChevronDownIcon' : 'ChevronRightIcon'), vue.mergeProps({
306
308
  key: 1,
307
309
  "class": _ctx.cx('submenuIcon')
308
- }, $options.getPTOptions(processedItem, 'submenuIcon')), null, 16, ["class"]))], 64)) : vue.createCommentVNode("", true), $props.templates.itemicon ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.templates.itemicon), {
310
+ }, $options.getPTOptions('submenuIcon', processedItem, index)), null, 16, ["class"]))], 64)) : vue.createCommentVNode("", true), $props.templates.itemicon ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.templates.itemicon), {
309
311
  key: 1,
310
312
  item: processedItem.item,
311
313
  "class": vue.normalizeClass([_ctx.cx('icon'), $options.getItemProp(processedItem, 'icon')])
312
314
  }, null, 8, ["item", "class"])) : $options.getItemProp(processedItem, 'icon') ? (vue.openBlock(), vue.createElementBlock("span", vue.mergeProps({
313
315
  key: 2,
314
316
  "class": [_ctx.cx('icon'), $options.getItemProp(processedItem, 'icon')]
315
- }, $options.getPTOptions(processedItem, 'icon')), null, 16)) : vue.createCommentVNode("", true), vue.createElementVNode("span", vue.mergeProps({
317
+ }, $options.getPTOptions('icon', processedItem, index)), null, 16)) : vue.createCommentVNode("", true), vue.createElementVNode("span", vue.mergeProps({
316
318
  "class": _ctx.cx('label')
317
- }, $options.getPTOptions(processedItem, 'label')), vue.toDisplayString($options.getItemLabel(processedItem)), 17)], 16, _hoisted_5$1)), [[_directive_ripple]])], 64)) : (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.templates.item), {
319
+ }, $options.getPTOptions('label', processedItem, index)), vue.toDisplayString($options.getItemLabel(processedItem)), 17)], 16, _hoisted_5$1)), [[_directive_ripple]])], 64)) : (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.templates.item), {
318
320
  key: 1,
319
321
  item: processedItem.item
320
- }, null, 8, ["item"]))], 16, _hoisted_3$1), vue.createVNode(vue.Transition, {
322
+ }, null, 8, ["item"]))], 16, _hoisted_3$1), vue.createVNode(vue.Transition, vue.mergeProps({
321
323
  name: "p-toggleable-content"
322
- }, {
324
+ }, _ctx.ptm('transition')), {
323
325
  "default": vue.withCtx(function () {
324
326
  return [vue.withDirectives(vue.createElementVNode("div", vue.mergeProps({
325
327
  "class": _ctx.cx('toggleableContent')
@@ -339,7 +341,7 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
339
341
  }, _ctx.ptm('submenu')), null, 16, ["id", "panelId", "focusedItemId", "items", "level", "templates", "activeItemPath", "exact", "onItemToggle", "pt"])) : vue.createCommentVNode("", true)], 16), [[vue.vShow, $options.isItemActive(processedItem)]])];
340
342
  }),
341
343
  _: 2
342
- }, 1024)], 16, _hoisted_2$1)) : vue.createCommentVNode("", true), $options.isItemVisible(processedItem) && $options.getItemProp(processedItem, 'separator') ? (vue.openBlock(), vue.createElementBlock("li", vue.mergeProps({
344
+ }, 1040)], 16, _hoisted_2$1)) : vue.createCommentVNode("", true), $options.isItemVisible(processedItem) && $options.getItemProp(processedItem, 'separator') ? (vue.openBlock(), vue.createElementBlock("li", vue.mergeProps({
343
345
  key: 1,
344
346
  style: $options.getItemProp(processedItem, 'style'),
345
347
  "class": [_ctx.cx('separator'), $options.getItemProp(processedItem, 'class')],
@@ -814,9 +816,10 @@ var script = {
814
816
  getItemLabel: function getItemLabel(item) {
815
817
  return this.getItemProp(item, 'label');
816
818
  },
817
- getPTOptions: function getPTOptions(item, key) {
819
+ getPTOptions: function getPTOptions(key, item, index) {
818
820
  return this.ptm(key, {
819
- options: {
821
+ context: {
822
+ index: index,
820
823
  active: this.isItemActive(item),
821
824
  focused: this.isItemFocused(item)
822
825
  }
@@ -1013,12 +1016,12 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1013
1016
  onKeydown: function onKeydown($event) {
1014
1017
  return $options.onHeaderKeyDown($event, item);
1015
1018
  }
1016
- }, $options.getPTOptions(item, 'header'), {
1019
+ }, $options.getPTOptions('header', item, index), {
1017
1020
  "data-p-highlight": $options.isItemActive(item),
1018
1021
  "data-p-disabled": $options.isItemDisabled(item)
1019
1022
  }), [vue.createElementVNode("div", vue.mergeProps({
1020
1023
  "class": _ctx.cx('headerContent')
1021
- }, $options.getPTOptions(item, 'headerContent')), [!_ctx.$slots.item ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
1024
+ }, $options.getPTOptions('headerContent', item, index)), [!_ctx.$slots.item ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
1022
1025
  key: 0
1023
1026
  }, [$options.getItemProp(item, 'to') && !$options.isItemDisabled(item) ? (vue.openBlock(), vue.createBlock(_component_router_link, {
1024
1027
  key: 0,
@@ -1040,16 +1043,16 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1040
1043
  onClick: function onClick($event) {
1041
1044
  return $options.onHeaderActionClick($event, navigate);
1042
1045
  }
1043
- }, $options.getPTOptions(item, 'headerAction')), [_ctx.$slots.headericon ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.$slots.headericon), {
1046
+ }, $options.getPTOptions('headerAction', item, index)), [_ctx.$slots.headericon ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.$slots.headericon), {
1044
1047
  key: 0,
1045
1048
  item: item,
1046
1049
  "class": vue.normalizeClass([_ctx.cx('headerIcon'), $options.getItemProp(item, 'icon')])
1047
1050
  }, null, 8, ["item", "class"])) : $options.getItemProp(item, 'icon') ? (vue.openBlock(), vue.createElementBlock("span", vue.mergeProps({
1048
1051
  key: 1,
1049
1052
  "class": [_ctx.cx('headerIcon'), $options.getItemProp(item, 'icon')]
1050
- }, $options.getPTOptions(item, 'headerIcon')), null, 16)) : vue.createCommentVNode("", true), vue.createElementVNode("span", vue.mergeProps({
1053
+ }, $options.getPTOptions('headerIcon', item, index)), null, 16)) : vue.createCommentVNode("", true), vue.createElementVNode("span", vue.mergeProps({
1051
1054
  "class": _ctx.cx('headerLabel')
1052
- }, $options.getPTOptions(item, 'headerLabel')), vue.toDisplayString($options.getItemLabel(item)), 17)], 16, _hoisted_3)];
1055
+ }, $options.getPTOptions('headerLabel', item, index)), vue.toDisplayString($options.getItemLabel(item)), 17)], 16, _hoisted_3)];
1053
1056
  }),
1054
1057
  _: 2
1055
1058
  }, 1032, ["to"])) : (vue.openBlock(), vue.createElementBlock("a", vue.mergeProps({
@@ -1057,13 +1060,13 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1057
1060
  href: $options.getItemProp(item, 'url'),
1058
1061
  "class": _ctx.cx('headerAction'),
1059
1062
  tabindex: -1
1060
- }, $options.getPTOptions(item, 'headerAction')), [$options.getItemProp(item, 'items') ? vue.renderSlot(_ctx.$slots, "submenuicon", {
1063
+ }, $options.getPTOptions('headerAction', item, index)), [$options.getItemProp(item, 'items') ? vue.renderSlot(_ctx.$slots, "submenuicon", {
1061
1064
  key: 0,
1062
1065
  active: $options.isItemActive(item)
1063
1066
  }, function () {
1064
1067
  return [(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($options.isItemActive(item) ? 'ChevronDownIcon' : 'ChevronRightIcon'), vue.mergeProps({
1065
1068
  "class": _ctx.cx('submenuIcon')
1066
- }, $options.getPTOptions(item, 'submenuIcon')), null, 16, ["class"]))];
1069
+ }, $options.getPTOptions('submenuIcon', item, index)), null, 16, ["class"]))];
1067
1070
  }) : vue.createCommentVNode("", true), _ctx.$slots.headericon ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.$slots.headericon), {
1068
1071
  key: 1,
1069
1072
  item: item,
@@ -1071,14 +1074,14 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1071
1074
  }, null, 8, ["item", "class"])) : $options.getItemProp(item, 'icon') ? (vue.openBlock(), vue.createElementBlock("span", vue.mergeProps({
1072
1075
  key: 2,
1073
1076
  "class": [_ctx.cx('headerIcon'), $options.getItemProp(item, 'icon')]
1074
- }, $options.getPTOptions(item, 'headerIcon')), null, 16)) : vue.createCommentVNode("", true), vue.createElementVNode("span", vue.mergeProps({
1077
+ }, $options.getPTOptions('headerIcon', item, index)), null, 16)) : vue.createCommentVNode("", true), vue.createElementVNode("span", vue.mergeProps({
1075
1078
  "class": _ctx.cx('headerLabel')
1076
- }, $options.getPTOptions(item, 'headerLabel')), vue.toDisplayString($options.getItemLabel(item)), 17)], 16, _hoisted_4))], 64)) : (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.$slots.item), {
1079
+ }, $options.getPTOptions('headerLabel', item, index)), vue.toDisplayString($options.getItemLabel(item)), 17)], 16, _hoisted_4))], 64)) : (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.$slots.item), {
1077
1080
  key: 1,
1078
1081
  item: item
1079
- }, null, 8, ["item"]))], 16)], 16, _hoisted_2), vue.createVNode(vue.Transition, {
1082
+ }, null, 8, ["item"]))], 16)], 16, _hoisted_2), vue.createVNode(vue.Transition, vue.mergeProps({
1080
1083
  name: "p-toggleable-content"
1081
- }, {
1084
+ }, _ctx.ptm('transition')), {
1082
1085
  "default": vue.withCtx(function () {
1083
1086
  return [vue.withDirectives(vue.createElementVNode("div", vue.mergeProps({
1084
1087
  id: $options.getContentId(index),
@@ -1100,7 +1103,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1100
1103
  }, null, 8, ["panelId", "items", "templates", "expandedKeys", "onItemToggle", "onHeaderFocus", "exact", "pt"])], 16)) : vue.createCommentVNode("", true)], 16, _hoisted_5), [[vue.vShow, $options.isItemActive(item)]])];
1101
1104
  }),
1102
1105
  _: 2
1103
- }, 1024)], 16)) : vue.createCommentVNode("", true)], 64);
1106
+ }, 1040)], 16)) : vue.createCommentVNode("", true)], 64);
1104
1107
  }), 128))], 16, _hoisted_1);
1105
1108
  }
1106
1109
 
@@ -1 +1 @@
1
- "use strict";var e=require("primevue/icons/chevrondown"),t=require("primevue/icons/chevronright"),n=require("primevue/utils"),i=require("primevue/basecomponent"),o=require("primevue/usestyle"),r=require("primevue/ripple"),s=require("vue");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=a(e),l=a(t),m=a(i),u=a(r),d=o.useStyle("\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\n.p-panelmenu .p-panelmenu-header-action:focus {\n z-index: 1;\n}\n\n.p-panelmenu .p-submenu-list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\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\n.p-panelmenu .p-menuitem-text {\n line-height: 1;\n}\n",{name:"panelmenu",manual:!0}),p={name:"BasePanelMenu",extends:m.default,props:{model:{type:Array,default:null},expandedKeys:{type:Object,default:null},exact:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},css:{classes:{root:"p-panelmenu p-component",panel:"p-panelmenu-panel",header:function(e){var t=e.instance,n=e.item;return["p-panelmenu-header",{"p-highlight":t.isItemActive(n),"p-disabled":t.isItemDisabled(n)}]},headerContent:"p-panelmenu-header-content",headerAction:function(e){return["p-panelmenu-header-action",{"router-link-active":e.isActive,"router-link-active-exact":e.instance.exact&&e.isExactActive}]},headerIcon:"p-menuitem-icon",headerLabel:"p-menuitem-text",toggleableContent:"p-toggleable-content",menuContent:"p-panelmenu-content",menu:"p-panelmenu-root-list",menuitem:function(e){var t=e.instance,n=e.processedItem;return["p-menuitem",{"p-focus":t.isItemFocused(n),"p-disabled":t.isItemDisabled(n)}]},content:"p-menuitem-content",action:function(e){return["p-menuitem-link",{"router-link-active":e.isActive,"router-link-active-exact":e.props.exact&&e.isExactActive}]},icon:"p-menuitem-icon",label:"p-menuitem-text",submenuIcon:"p-submenu-icon",submenu:"p-submenu-list",separator:"p-menuitem-separator"},loadStyle:d.load},provide:function(){return{$parentInstance:this}}},h={name:"PanelMenuSub",hostName:"PanelMenu",extends:m.default,emits:["item-toggle"],props:{panelId:{type:String,default:null},focusedItemId:{type:String,default:null},items:{type:Array,default:null},level:{type:Number,default:0},templates:{type:Object,default:null},activeItemPath:{type:Object,default:null},exact:{type:Boolean,default:!0},tabindex:{type:Number,default:-1}},methods:{getItemId:function(e){return"".concat(this.panelId,"_").concat(e.key)},getItemKey:function(e){return this.getItemId(e)},getItemProp:function(e,t,i){return e&&e.item?n.ObjectUtils.getItemValue(e.item[t],i):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getPTOptions:function(e,t){return this.ptm(t,{context:{active:this.isItemActive(e),focused:this.isItemFocused(e)}})},isItemActive:function(e){return this.activeItemPath.some((function(t){return t.key===e.key}))},isItemVisible:function(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemFocused:function(e){return this.focusedItemId===this.getItemId(e)},isItemGroup:function(e){return n.ObjectUtils.isNotEmpty(e.items)},onItemClick:function(e,t){this.getItemProp(t,"command",{originalEvent:e,item:t.item}),this.$emit("item-toggle",{processedItem:t,expanded:!this.isItemActive(t)})},onItemToggle:function(e){this.$emit("item-toggle",e)},onItemActionClick:function(e,t){t&&t(e)},getAriaSetSize:function(){var e=this;return this.items.filter((function(t){return e.isItemVisible(t)&&!e.getItemProp(t,"separator")})).length},getAriaPosInset:function(e){var t=this;return e-this.items.slice(0,e).filter((function(e){return t.isItemVisible(e)&&t.getItemProp(e,"separator")})).length+1}},components:{ChevronRightIcon:l.default,ChevronDownIcon:c.default},directives:{ripple:u.default}},f=["tabindex"],I=["id","aria-label","aria-expanded","aria-level","aria-setsize","aria-posinset","data-p-focused","data-p-disabled"],g=["onClick"],v=["href","onClick"],y=["href","target"];function b(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function P(e,t){if(e){if("string"==typeof e)return k(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?k(e,t):void 0}}function k(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function x(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var i,o,r,s,a=[],c=!0,l=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(i=r.call(n)).done)&&(a.push(i.value),a.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(l)throw o}}return a}}function E(e){if(Array.isArray(e))return e}h.render=function(e,t,n,i,o,r){var a=s.resolveComponent("router-link"),c=s.resolveComponent("PanelMenuSub",!0),l=s.resolveDirective("ripple");return s.openBlock(),s.createElementBlock("ul",{class:s.normalizeClass(e.cx("submenu")),tabindex:n.tabindex},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(n.items,(function(t,i){return s.openBlock(),s.createElementBlock(s.Fragment,{key:r.getItemKey(t)},[r.isItemVisible(t)&&!r.getItemProp(t,"separator")?(s.openBlock(),s.createElementBlock("li",s.mergeProps({key:0,id:r.getItemId(t),class:[e.cx("menuitem",{processedItem:t}),r.getItemProp(t,"class")],style:r.getItemProp(t,"style"),role:"treeitem","aria-label":r.getItemLabel(t),"aria-expanded":r.isItemGroup(t)?r.isItemActive(t):void 0,"aria-level":n.level+1,"aria-setsize":r.getAriaSetSize(),"aria-posinset":r.getAriaPosInset(i)},r.getPTOptions(t,"menuitem"),{"data-p-focused":r.isItemFocused(t),"data-p-disabled":r.isItemDisabled(t)}),[s.createElementVNode("div",s.mergeProps({class:e.cx("content"),onClick:function(e){return r.onItemClick(e,t)}},r.getPTOptions(t,"content")),[n.templates.item?(s.openBlock(),s.createBlock(s.resolveDynamicComponent(n.templates.item),{key:1,item:t.item},null,8,["item"])):(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[r.getItemProp(t,"to")&&!r.isItemDisabled(t)?(s.openBlock(),s.createBlock(a,{key:0,to:r.getItemProp(t,"to"),custom:""},{default:s.withCtx((function(i){var o=i.navigate,a=i.href,c=i.isActive,m=i.isExactActive;return[s.withDirectives((s.openBlock(),s.createElementBlock("a",s.mergeProps({href:a,class:e.cx("action",{isActive:c,isExactActive:m}),tabindex:"-1","aria-hidden":"true",onClick:function(e){return r.onItemActionClick(e,o)}},r.getPTOptions(t,"action")),[n.templates.itemicon?(s.openBlock(),s.createBlock(s.resolveDynamicComponent(n.templates.itemicon),{key:0,item:t.item,class:s.normalizeClass([e.cx("icon"),r.getItemProp(t,"icon")])},null,8,["item","class"])):r.getItemProp(t,"icon")?(s.openBlock(),s.createElementBlock("span",s.mergeProps({key:1,class:[e.cx("icon"),r.getItemProp(t,"icon")]},r.getPTOptions(t,"icon")),null,16)):s.createCommentVNode("",!0),s.createElementVNode("span",s.mergeProps({class:e.cx("label")},r.getPTOptions(t,"label")),s.toDisplayString(r.getItemLabel(t)),17)],16,v)),[[l]])]})),_:2},1032,["to"])):s.withDirectives((s.openBlock(),s.createElementBlock("a",s.mergeProps({key:1,href:r.getItemProp(t,"url"),class:e.cx("action"),target:r.getItemProp(t,"target"),tabindex:"-1","aria-hidden":"true"},r.getPTOptions(t,"action")),[r.isItemGroup(t)?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[n.templates.submenuicon?(s.openBlock(),s.createBlock(s.resolveDynamicComponent(n.templates.submenuicon),s.mergeProps({key:0,class:e.cx("submenuIcon"),active:r.isItemActive(t)},r.getPTOptions(t,"submenuIcon")),null,16,["class","active"])):(s.openBlock(),s.createBlock(s.resolveDynamicComponent(r.isItemActive(t)?"ChevronDownIcon":"ChevronRightIcon"),s.mergeProps({key:1,class:e.cx("submenuIcon")},r.getPTOptions(t,"submenuIcon")),null,16,["class"]))],64)):s.createCommentVNode("",!0),n.templates.itemicon?(s.openBlock(),s.createBlock(s.resolveDynamicComponent(n.templates.itemicon),{key:1,item:t.item,class:s.normalizeClass([e.cx("icon"),r.getItemProp(t,"icon")])},null,8,["item","class"])):r.getItemProp(t,"icon")?(s.openBlock(),s.createElementBlock("span",s.mergeProps({key:2,class:[e.cx("icon"),r.getItemProp(t,"icon")]},r.getPTOptions(t,"icon")),null,16)):s.createCommentVNode("",!0),s.createElementVNode("span",s.mergeProps({class:e.cx("label")},r.getPTOptions(t,"label")),s.toDisplayString(r.getItemLabel(t)),17)],16,y)),[[l]])],64))],16,g),s.createVNode(s.Transition,{name:"p-toggleable-content"},{default:s.withCtx((function(){return[s.withDirectives(s.createElementVNode("div",s.mergeProps({class:e.cx("toggleableContent")},e.ptm("toggleableContent")),[r.isItemVisible(t)&&r.isItemGroup(t)?(s.openBlock(),s.createBlock(c,s.mergeProps({key:0,id:r.getItemId(t)+"_list",role:"group",panelId:n.panelId,focusedItemId:n.focusedItemId,items:t.items,level:n.level+1,templates:n.templates,activeItemPath:n.activeItemPath,exact:n.exact,onItemToggle:r.onItemToggle,pt:e.pt},e.ptm("submenu")),null,16,["id","panelId","focusedItemId","items","level","templates","activeItemPath","exact","onItemToggle","pt"])):s.createCommentVNode("",!0)],16),[[s.vShow,r.isItemActive(t)]])]})),_:2},1024)],16,I)):s.createCommentVNode("",!0),r.isItemVisible(t)&&r.getItemProp(t,"separator")?(s.openBlock(),s.createElementBlock("li",s.mergeProps({key:1,style:r.getItemProp(t,"style"),class:[e.cx("separator"),r.getItemProp(t,"class")],role:"separator"},e.ptm("separator")),null,16)):s.createCommentVNode("",!0)],64)})),128))],10,f)};var C={name:"PanelMenuList",hostName:"PanelMenu",extends:m.default,emits:["item-toggle","header-focus"],props:{panelId:{type:String,default:null},items:{type:Array,default:null},templates:{type:Object,default:null},expandedKeys:{type:Object,default:null},exact:{type:Boolean,default:!0}},searchTimeout:null,searchValue:null,data:function(){return{focused:!1,focusedItem:null,activeItemPath:[]}},watch:{expandedKeys:function(e){this.autoUpdateActiveItemPath(e)}},mounted:function(){this.autoUpdateActiveItemPath(this.expandedKeys)},methods:{getItemProp:function(e,t){return e&&e.item?n.ObjectUtils.getItemValue(e.item[t]):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},isItemVisible:function(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemActive:function(e){return this.activeItemPath.some((function(t){return t.key===e.parentKey}))},isItemGroup:function(e){return n.ObjectUtils.isNotEmpty(e.items)},onFocus:function(e){this.focused=!0,this.focusedItem=this.focusedItem||(this.isElementInPanel(e,e.relatedTarget)?this.findFirstItem():this.findLastItem())},onBlur:function(){this.focused=!1,this.focusedItem=null,this.searchValue=""},onKeyDown:function(e){var t=e.metaKey||e.ctrlKey;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);break;case"Escape":case"Tab":case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!t&&n.ObjectUtils.isPrintableCharacter(e.key)&&this.searchItems(e,e.key)}},onArrowDownKey:function(e){var t=n.ObjectUtils.isNotEmpty(this.focusedItem)?this.findNextItem(this.focusedItem):this.findFirstItem();this.changeFocusedItem({originalEvent:e,processedItem:t,focusOnNext:!0}),e.preventDefault()},onArrowUpKey:function(e){var t=n.ObjectUtils.isNotEmpty(this.focusedItem)?this.findPrevItem(this.focusedItem):this.findLastItem();this.changeFocusedItem({originalEvent:e,processedItem:t,selfCheck:!0}),e.preventDefault()},onArrowLeftKey:function(e){var t=this;n.ObjectUtils.isNotEmpty(this.focusedItem)&&(this.activeItemPath.some((function(e){return e.key===t.focusedItem.key}))?this.activeItemPath=this.activeItemPath.filter((function(e){return e.key!==t.focusedItem.key})):this.focusedItem=n.ObjectUtils.isNotEmpty(this.focusedItem.parent)?this.focusedItem.parent:this.focusedItem,e.preventDefault())},onArrowRightKey:function(e){var t=this;if(n.ObjectUtils.isNotEmpty(this.focusedItem)){if(this.isItemGroup(this.focusedItem))this.activeItemPath.some((function(e){return e.key===t.focusedItem.key}))?this.onArrowDownKey(e):(this.activeItemPath=this.activeItemPath.filter((function(e){return e.parentKey!==t.focusedItem.parentKey})),this.activeItemPath.push(this.focusedItem));e.preventDefault()}},onHomeKey:function(e){this.changeFocusedItem({originalEvent:e,processedItem:this.findFirstItem(),allowHeaderFocus:!1}),e.preventDefault()},onEndKey:function(e){this.changeFocusedItem({originalEvent:e,processedItem:this.findLastItem(),focusOnNext:!0,allowHeaderFocus:!1}),e.preventDefault()},onEnterKey:function(e){if(n.ObjectUtils.isNotEmpty(this.focusedItem)){var t=n.DomHandler.findSingle(this.$el,'li[id="'.concat("".concat(this.focusedItemId),'"]')),i=t&&(n.DomHandler.findSingle(t,'[data-pc-section="action"]')||n.DomHandler.findSingle(t,"a,button"));i?i.click():t&&t.click()}e.preventDefault()},onSpaceKey:function(e){this.onEnterKey(e)},onItemToggle:function(e){var t=e.processedItem,i=e.expanded;this.expandedKeys?this.$emit("item-toggle",{item:t.item,expanded:i}):(this.activeItemPath=this.activeItemPath.filter((function(e){return e.parentKey!==t.parentKey})),i&&this.activeItemPath.push(t)),this.focusedItem=t,n.DomHandler.focus(this.$el)},isElementInPanel:function(e,t){var n=e.currentTarget.closest('[data-pc-section="panel"]');return n&&n.contains(t)},isItemMatched:function(e){return this.isValidItem(e)&&this.getItemLabel(e).toLocaleLowerCase(this.searchLocale).startsWith(this.searchValue.toLocaleLowerCase(this.searchLocale))},isVisibleItem:function(e){return!!e&&(0===e.level||this.isItemActive(e))&&this.isItemVisible(e)},isValidItem:function(e){return!!e&&!this.isItemDisabled(e)},findFirstItem:function(){var e=this;return this.visibleItems.find((function(t){return e.isValidItem(t)}))},findLastItem:function(){var e=this;return n.ObjectUtils.findLast(this.visibleItems,(function(t){return e.isValidItem(t)}))},findNextItem:function(e){var t=this,n=this.visibleItems.findIndex((function(t){return t.key===e.key}));return(n<this.visibleItems.length-1?this.visibleItems.slice(n+1).find((function(e){return t.isValidItem(e)})):void 0)||e},findPrevItem:function(e){var t=this,i=this.visibleItems.findIndex((function(t){return t.key===e.key}));return(i>0?n.ObjectUtils.findLast(this.visibleItems.slice(0,i),(function(e){return t.isValidItem(e)})):void 0)||e},searchItems:function(e,t){var i=this;this.searchValue=(this.searchValue||"")+t;var o=null,r=!1;if(n.ObjectUtils.isNotEmpty(this.focusedItem)){var s=this.visibleItems.findIndex((function(e){return e.key===i.focusedItem.key}));o=this.visibleItems.slice(s).find((function(e){return i.isItemMatched(e)})),o=n.ObjectUtils.isEmpty(o)?this.visibleItems.slice(0,s).find((function(e){return i.isItemMatched(e)})):o}else o=this.visibleItems.find((function(e){return i.isItemMatched(e)}));return n.ObjectUtils.isNotEmpty(o)&&(r=!0),n.ObjectUtils.isEmpty(o)&&n.ObjectUtils.isEmpty(this.focusedItem)&&(o=this.findFirstItem()),n.ObjectUtils.isNotEmpty(o)&&this.changeFocusedItem({originalEvent:e,processedItem:o,allowHeaderFocus:!1}),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((function(){i.searchValue="",i.searchTimeout=null}),500),r},changeFocusedItem:function(e){var t=e.originalEvent,i=e.processedItem,o=e.focusOnNext,r=e.selfCheck,s=e.allowHeaderFocus,a=void 0===s||s;n.ObjectUtils.isNotEmpty(this.focusedItem)&&this.focusedItem.key!==i.key?(this.focusedItem=i,this.scrollInView()):a&&this.$emit("header-focus",{originalEvent:t,focusOnNext:o,selfCheck:r})},scrollInView:function(){var e=n.DomHandler.findSingle(this.$el,'li[id="'.concat("".concat(this.focusedItemId),'"]'));e&&e.scrollIntoView&&e.scrollIntoView({block:"nearest",inline:"start"})},autoUpdateActiveItemPath:function(e){var t=this;this.activeItemPath=Object.entries(e||{}).reduce((function(e,n){var i,o,r=(o=2,E(i=n)||x(i,o)||P(i,o)||b());if(r[1]){var s=t.findProcessedItemByItemKey(r[0]);s&&e.push(s)}return e}),[])},findProcessedItemByItemKey:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(!(t=t||0===n&&this.processedItems))return null;for(var i=0;i<t.length;i++){var o=t[i];if(this.getItemProp(o,"key")===e)return o;var r=this.findProcessedItemByItemKey(e,o.items,n+1);if(r)return r}},createProcessedItems:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",r=[];return e&&e.forEach((function(e,s){var a=(""!==o?o+"_":"")+s,c={item:e,index:s,level:n,key:a,parent:i,parentKey:o};c.items=t.createProcessedItems(e.items,n+1,c,a),r.push(c)})),r},flatItems:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e&&e.forEach((function(e){t.isVisibleItem(e)&&(n.push(e),t.flatItems(e.items,n))})),n}},computed:{processedItems:function(){return this.createProcessedItems(this.items||[])},visibleItems:function(){return this.flatItems(this.processedItems)},focusedItemId:function(){return n.ObjectUtils.isNotEmpty(this.focusedItem)?"".concat(this.panelId,"_").concat(this.focusedItem.key):null}},components:{PanelMenuSub:h}};function D(e){return D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},D(e)}function O(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function A(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?O(Object(n),!0).forEach((function(t){w(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):O(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function w(e,t,n){return(t=B(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function B(e){var t=H(e,"string");return"symbol"===D(t)?t:String(t)}function H(e,t){if("object"!==D(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!==D(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}C.render=function(e,t,n,i,o,r){var a=s.resolveComponent("PanelMenuSub");return s.openBlock(),s.createBlock(a,s.mergeProps({id:n.panelId+"_list",class:e.cx("menu"),role:"tree",tabindex:-1,"aria-activedescendant":o.focused?r.focusedItemId:void 0,panelId:n.panelId,focusedItemId:o.focused?r.focusedItemId:void 0,items:r.processedItems,templates:n.templates,activeItemPath:o.activeItemPath,exact:n.exact,onFocus:r.onFocus,onBlur:r.onBlur,onKeydown:r.onKeyDown,onItemToggle:r.onItemToggle,pt:e.pt},e.ptm("menu")),null,16,["id","class","aria-activedescendant","panelId","focusedItemId","items","templates","activeItemPath","exact","onFocus","onBlur","onKeydown","onItemToggle","pt"])};var K={name:"PanelMenu",extends:p,emits:["update:expandedKeys","panel-open","panel-close"],data:function(){return{id:this.$attrs.id,activeItem:null}},watch:{"$attrs.id":function(e){this.id=e||n.UniqueComponentId()}},mounted:function(){this.id=this.id||n.UniqueComponentId()},methods:{getItemProp:function(e,t){return e?n.ObjectUtils.getItemValue(e[t]):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getPTOptions:function(e,t){return this.ptm(t,{options:{active:this.isItemActive(e),focused:this.isItemFocused(e)}})},isItemActive:function(e){return this.expandedKeys?this.expandedKeys[this.getItemProp(e,"key")]:n.ObjectUtils.equals(e,this.activeItem)},isItemVisible:function(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemFocused:function(e){return n.ObjectUtils.equals(e,this.activeItem)},getPanelId:function(e){return"".concat(this.id,"_").concat(e)},getPanelKey:function(e){return this.getPanelId(e)},getHeaderId:function(e){return"".concat(this.getPanelId(e),"_header")},getContentId:function(e){return"".concat(this.getPanelId(e),"_content")},onHeaderClick:function(e,t){this.isItemDisabled(t)?e.preventDefault():(t.command&&t.command({originalEvent:e,item:t}),this.changeActiveItem(e,t),n.DomHandler.focus(e.currentTarget))},onHeaderKeyDown:function(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:function(e){var t=!0===n.DomHandler.getAttribute(e.currentTarget,"data-p-highlight")?n.DomHandler.findSingle(e.currentTarget.nextElementSibling,'[data-pc-section="menu"]'):null;t?n.DomHandler.focus(t):this.updateFocusedHeader({originalEvent:e,focusOnNext:!0}),e.preventDefault()},onHeaderArrowUpKey:function(e){var t=this.findPrevHeader(e.currentTarget.parentElement)||this.findLastHeader(),i=!0===n.DomHandler.getAttribute(t,"data-p-highlight")?n.DomHandler.findSingle(t.nextElementSibling,'[data-pc-section="menu"]'):null;i?n.DomHandler.focus(i):this.updateFocusedHeader({originalEvent:e,focusOnNext:!1}),e.preventDefault()},onHeaderHomeKey:function(e){this.changeFocusedHeader(e,this.findFirstHeader()),e.preventDefault()},onHeaderEndKey:function(e){this.changeFocusedHeader(e,this.findLastHeader()),e.preventDefault()},onHeaderEnterKey:function(e,t){var i=n.DomHandler.findSingle(e.currentTarget,'[data-pc-section="headeraction"]');i?i.click():this.onHeaderClick(e,t),e.preventDefault()},onHeaderActionClick:function(e,t){t&&t(e)},findNextHeader:function(e){var t=n.DomHandler.findSingle(arguments.length>1&&void 0!==arguments[1]&&arguments[1]?e:e.nextElementSibling,'[data-pc-section="header"]');return t?n.DomHandler.getAttribute(t,"data-p-disabled")?this.findNextHeader(t.parentElement):t:null},findPrevHeader:function(e){var t=n.DomHandler.findSingle(arguments.length>1&&void 0!==arguments[1]&&arguments[1]?e:e.previousElementSibling,'[data-pc-section="header"]');return t?n.DomHandler.getAttribute(t,"data-p-disabled")?this.findPrevHeader(t.parentElement):t:null},findFirstHeader:function(){return this.findNextHeader(this.$el.firstElementChild,!0)},findLastHeader:function(){return this.findPrevHeader(this.$el.lastElementChild,!0)},updateFocusedHeader:function(e){var t=e.originalEvent,i=e.focusOnNext,o=e.selfCheck,r=t.currentTarget.closest('[data-pc-section="panel"]'),s=o?n.DomHandler.findSingle(r,'[data-pc-section="header"]'):i?this.findNextHeader(r):this.findPrevHeader(r);s?this.changeFocusedHeader(t,s):i?this.onHeaderHomeKey(t):this.onHeaderEndKey(t)},changeActiveItem:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!this.isItemDisabled(t)){var o=this.isItemActive(t),r=o?"panel-close":"panel-open";this.activeItem=i?t:this.activeItem&&n.ObjectUtils.equals(t,this.activeItem)?null:t,this.changeExpandedKeys({item:t,expanded:!o}),this.$emit(r,{originalEvent:e,item:t})}},changeExpandedKeys:function(e){var t=e.item,n=e.expanded,i=void 0!==n&&n;if(this.expandedKeys){var o=A({},this.expandedKeys);i?o[t.key]=!0:delete o[t.key],this.$emit("update:expandedKeys",o)}},changeFocusedHeader:function(e,t){t&&n.DomHandler.focus(t)}},components:{PanelMenuList:C,ChevronRightIcon:l.default,ChevronDownIcon:c.default}},N=["id"],S=["id","tabindex","aria-label","aria-expanded","aria-controls","aria-disabled","onClick","onKeydown","data-p-highlight","data-p-disabled"],V=["href","onClick"],j=["href"],T=["id","aria-labelledby"];K.render=function(e,t,n,i,o,r){var a=s.resolveComponent("router-link"),c=s.resolveComponent("PanelMenuList");return s.openBlock(),s.createElementBlock("div",s.mergeProps({id:o.id,class:e.cx("root")},e.ptm("root"),{"data-pc-name":"panelmenu"}),[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(e.model,(function(t,n){return s.openBlock(),s.createElementBlock(s.Fragment,{key:r.getPanelKey(n)},[r.isItemVisible(t)?(s.openBlock(),s.createElementBlock("div",s.mergeProps({key:0,style:r.getItemProp(t,"style"),class:[e.cx("panel"),r.getItemProp(t,"class")]},e.ptm("panel")),[s.createElementVNode("div",s.mergeProps({id:r.getHeaderId(n),class:[e.cx("header",{item:t}),r.getItemProp(t,"headerClass")],tabindex:r.isItemDisabled(t)?-1:e.tabindex,role:"button","aria-label":r.getItemLabel(t),"aria-expanded":r.isItemActive(t),"aria-controls":r.getContentId(n),"aria-disabled":r.isItemDisabled(t),onClick:function(e){return r.onHeaderClick(e,t)},onKeydown:function(e){return r.onHeaderKeyDown(e,t)}},r.getPTOptions(t,"header"),{"data-p-highlight":r.isItemActive(t),"data-p-disabled":r.isItemDisabled(t)}),[s.createElementVNode("div",s.mergeProps({class:e.cx("headerContent")},r.getPTOptions(t,"headerContent")),[e.$slots.item?(s.openBlock(),s.createBlock(s.resolveDynamicComponent(e.$slots.item),{key:1,item:t},null,8,["item"])):(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[r.getItemProp(t,"to")&&!r.isItemDisabled(t)?(s.openBlock(),s.createBlock(a,{key:0,to:r.getItemProp(t,"to"),custom:""},{default:s.withCtx((function(n){var i=n.navigate;return[s.createElementVNode("a",s.mergeProps({href:n.href,class:e.cx("headerAction",{isActive:n.isActive,isExactActive:n.isExactActive}),tabindex:-1,onClick:function(e){return r.onHeaderActionClick(e,i)}},r.getPTOptions(t,"headerAction")),[e.$slots.headericon?(s.openBlock(),s.createBlock(s.resolveDynamicComponent(e.$slots.headericon),{key:0,item:t,class:s.normalizeClass([e.cx("headerIcon"),r.getItemProp(t,"icon")])},null,8,["item","class"])):r.getItemProp(t,"icon")?(s.openBlock(),s.createElementBlock("span",s.mergeProps({key:1,class:[e.cx("headerIcon"),r.getItemProp(t,"icon")]},r.getPTOptions(t,"headerIcon")),null,16)):s.createCommentVNode("",!0),s.createElementVNode("span",s.mergeProps({class:e.cx("headerLabel")},r.getPTOptions(t,"headerLabel")),s.toDisplayString(r.getItemLabel(t)),17)],16,V)]})),_:2},1032,["to"])):(s.openBlock(),s.createElementBlock("a",s.mergeProps({key:1,href:r.getItemProp(t,"url"),class:e.cx("headerAction"),tabindex:-1},r.getPTOptions(t,"headerAction")),[r.getItemProp(t,"items")?s.renderSlot(e.$slots,"submenuicon",{key:0,active:r.isItemActive(t)},(function(){return[(s.openBlock(),s.createBlock(s.resolveDynamicComponent(r.isItemActive(t)?"ChevronDownIcon":"ChevronRightIcon"),s.mergeProps({class:e.cx("submenuIcon")},r.getPTOptions(t,"submenuIcon")),null,16,["class"]))]})):s.createCommentVNode("",!0),e.$slots.headericon?(s.openBlock(),s.createBlock(s.resolveDynamicComponent(e.$slots.headericon),{key:1,item:t,class:s.normalizeClass([e.cx("headerIcon"),r.getItemProp(t,"icon")])},null,8,["item","class"])):r.getItemProp(t,"icon")?(s.openBlock(),s.createElementBlock("span",s.mergeProps({key:2,class:[e.cx("headerIcon"),r.getItemProp(t,"icon")]},r.getPTOptions(t,"headerIcon")),null,16)):s.createCommentVNode("",!0),s.createElementVNode("span",s.mergeProps({class:e.cx("headerLabel")},r.getPTOptions(t,"headerLabel")),s.toDisplayString(r.getItemLabel(t)),17)],16,j))],64))],16)],16,S),s.createVNode(s.Transition,{name:"p-toggleable-content"},{default:s.withCtx((function(){return[s.withDirectives(s.createElementVNode("div",s.mergeProps({id:r.getContentId(n),class:e.cx("toggleableContent"),role:"region","aria-labelledby":r.getHeaderId(n)},e.ptm("toggleableContent")),[r.getItemProp(t,"items")?(s.openBlock(),s.createElementBlock("div",s.mergeProps({key:0,class:e.cx("menuContent")},e.ptm("menuContent")),[s.createVNode(c,{panelId:r.getPanelId(n),items:r.getItemProp(t,"items"),templates:e.$slots,expandedKeys:e.expandedKeys,onItemToggle:r.changeExpandedKeys,onHeaderFocus:r.updateFocusedHeader,exact:e.exact,pt:e.pt},null,8,["panelId","items","templates","expandedKeys","onItemToggle","onHeaderFocus","exact","pt"])],16)):s.createCommentVNode("",!0)],16,T),[[s.vShow,r.isItemActive(t)]])]})),_:2},1024)],16)):s.createCommentVNode("",!0)],64)})),128))],16,N)},module.exports=K;
1
+ "use strict";var e=require("primevue/icons/chevrondown"),t=require("primevue/icons/chevronright"),n=require("primevue/utils"),i=require("primevue/basecomponent"),o=require("primevue/usestyle"),r=require("primevue/ripple"),s=require("vue");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=a(e),l=a(t),m=a(i),u=a(r),d=o.useStyle("\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\n.p-panelmenu .p-panelmenu-header-action:focus {\n z-index: 1;\n}\n\n.p-panelmenu .p-submenu-list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\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\n.p-panelmenu .p-menuitem-text {\n line-height: 1;\n}\n",{name:"panelmenu",manual:!0}),p={name:"BasePanelMenu",extends:m.default,props:{model:{type:Array,default:null},expandedKeys:{type:Object,default:null},exact:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},css:{classes:{root:"p-panelmenu p-component",panel:"p-panelmenu-panel",header:function(e){var t=e.instance,n=e.item;return["p-panelmenu-header",{"p-highlight":t.isItemActive(n),"p-disabled":t.isItemDisabled(n)}]},headerContent:"p-panelmenu-header-content",headerAction:function(e){return["p-panelmenu-header-action",{"router-link-active":e.isActive,"router-link-active-exact":e.instance.exact&&e.isExactActive}]},headerIcon:"p-menuitem-icon",headerLabel:"p-menuitem-text",toggleableContent:"p-toggleable-content",menuContent:"p-panelmenu-content",menu:"p-panelmenu-root-list",menuitem:function(e){var t=e.instance,n=e.processedItem;return["p-menuitem",{"p-focus":t.isItemFocused(n),"p-disabled":t.isItemDisabled(n)}]},content:"p-menuitem-content",action:function(e){return["p-menuitem-link",{"router-link-active":e.isActive,"router-link-active-exact":e.props.exact&&e.isExactActive}]},icon:"p-menuitem-icon",label:"p-menuitem-text",submenuIcon:"p-submenu-icon",submenu:"p-submenu-list",separator:"p-menuitem-separator"},loadStyle:d.load},provide:function(){return{$parentInstance:this}}},h={name:"PanelMenuSub",hostName:"PanelMenu",extends:m.default,emits:["item-toggle"],props:{panelId:{type:String,default:null},focusedItemId:{type:String,default:null},items:{type:Array,default:null},level:{type:Number,default:0},templates:{type:Object,default:null},activeItemPath:{type:Object,default:null},exact:{type:Boolean,default:!0},tabindex:{type:Number,default:-1}},methods:{getItemId:function(e){return"".concat(this.panelId,"_").concat(e.key)},getItemKey:function(e){return this.getItemId(e)},getItemProp:function(e,t,i){return e&&e.item?n.ObjectUtils.getItemValue(e.item[t],i):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getPTOptions:function(e,t,n){return this.ptm(e,{context:{item:t,index:n,active:this.isItemActive(t),focused:this.isItemFocused(t)}})},isItemActive:function(e){return this.activeItemPath.some((function(t){return t.key===e.key}))},isItemVisible:function(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemFocused:function(e){return this.focusedItemId===this.getItemId(e)},isItemGroup:function(e){return n.ObjectUtils.isNotEmpty(e.items)},onItemClick:function(e,t){this.getItemProp(t,"command",{originalEvent:e,item:t.item}),this.$emit("item-toggle",{processedItem:t,expanded:!this.isItemActive(t)})},onItemToggle:function(e){this.$emit("item-toggle",e)},onItemActionClick:function(e,t){t&&t(e)},getAriaSetSize:function(){var e=this;return this.items.filter((function(t){return e.isItemVisible(t)&&!e.getItemProp(t,"separator")})).length},getAriaPosInset:function(e){var t=this;return e-this.items.slice(0,e).filter((function(e){return t.isItemVisible(e)&&t.getItemProp(e,"separator")})).length+1}},components:{ChevronRightIcon:l.default,ChevronDownIcon:c.default},directives:{ripple:u.default}},f=["tabindex"],I=["id","aria-label","aria-expanded","aria-level","aria-setsize","aria-posinset","data-p-focused","data-p-disabled"],g=["onClick"],v=["href","onClick"],y=["href","target"];function b(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function P(e,t){if(e){if("string"==typeof e)return k(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?k(e,t):void 0}}function k(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function x(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var i,o,r,s,a=[],c=!0,l=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(i=r.call(n)).done)&&(a.push(i.value),a.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(l)throw o}}return a}}function E(e){if(Array.isArray(e))return e}h.render=function(e,t,n,i,o,r){var a=s.resolveComponent("router-link"),c=s.resolveComponent("PanelMenuSub",!0),l=s.resolveDirective("ripple");return s.openBlock(),s.createElementBlock("ul",{class:s.normalizeClass(e.cx("submenu")),tabindex:n.tabindex},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(n.items,(function(t,i){return s.openBlock(),s.createElementBlock(s.Fragment,{key:r.getItemKey(t)},[r.isItemVisible(t)&&!r.getItemProp(t,"separator")?(s.openBlock(),s.createElementBlock("li",s.mergeProps({key:0,id:r.getItemId(t),class:[e.cx("menuitem",{processedItem:t}),r.getItemProp(t,"class")],style:r.getItemProp(t,"style"),role:"treeitem","aria-label":r.getItemLabel(t),"aria-expanded":r.isItemGroup(t)?r.isItemActive(t):void 0,"aria-level":n.level+1,"aria-setsize":r.getAriaSetSize(),"aria-posinset":r.getAriaPosInset(i)},r.getPTOptions("menuitem",t,i),{"data-p-focused":r.isItemFocused(t),"data-p-disabled":r.isItemDisabled(t)}),[s.createElementVNode("div",s.mergeProps({class:e.cx("content"),onClick:function(e){return r.onItemClick(e,t)}},r.getPTOptions("content",t,i)),[n.templates.item?(s.openBlock(),s.createBlock(s.resolveDynamicComponent(n.templates.item),{key:1,item:t.item},null,8,["item"])):(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[r.getItemProp(t,"to")&&!r.isItemDisabled(t)?(s.openBlock(),s.createBlock(a,{key:0,to:r.getItemProp(t,"to"),custom:""},{default:s.withCtx((function(o){var a=o.navigate,c=o.href,m=o.isActive,u=o.isExactActive;return[s.withDirectives((s.openBlock(),s.createElementBlock("a",s.mergeProps({href:c,class:e.cx("action",{isActive:m,isExactActive:u}),tabindex:"-1","aria-hidden":"true",onClick:function(e){return r.onItemActionClick(e,a)}},r.getPTOptions("action",t,i)),[n.templates.itemicon?(s.openBlock(),s.createBlock(s.resolveDynamicComponent(n.templates.itemicon),{key:0,item:t.item,class:s.normalizeClass([e.cx("icon"),r.getItemProp(t,"icon")])},null,8,["item","class"])):r.getItemProp(t,"icon")?(s.openBlock(),s.createElementBlock("span",s.mergeProps({key:1,class:[e.cx("icon"),r.getItemProp(t,"icon")]},r.getPTOptions("icon",t,i)),null,16)):s.createCommentVNode("",!0),s.createElementVNode("span",s.mergeProps({class:e.cx("label")},r.getPTOptions("label",t,i)),s.toDisplayString(r.getItemLabel(t)),17)],16,v)),[[l]])]})),_:2},1032,["to"])):s.withDirectives((s.openBlock(),s.createElementBlock("a",s.mergeProps({key:1,href:r.getItemProp(t,"url"),class:e.cx("action"),target:r.getItemProp(t,"target"),tabindex:"-1","aria-hidden":"true"},r.getPTOptions("action",t,i)),[r.isItemGroup(t)?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[n.templates.submenuicon?(s.openBlock(),s.createBlock(s.resolveDynamicComponent(n.templates.submenuicon),s.mergeProps({key:0,class:e.cx("submenuIcon"),active:r.isItemActive(t)},r.getPTOptions("submenuIcon",t,i)),null,16,["class","active"])):(s.openBlock(),s.createBlock(s.resolveDynamicComponent(r.isItemActive(t)?"ChevronDownIcon":"ChevronRightIcon"),s.mergeProps({key:1,class:e.cx("submenuIcon")},r.getPTOptions("submenuIcon",t,i)),null,16,["class"]))],64)):s.createCommentVNode("",!0),n.templates.itemicon?(s.openBlock(),s.createBlock(s.resolveDynamicComponent(n.templates.itemicon),{key:1,item:t.item,class:s.normalizeClass([e.cx("icon"),r.getItemProp(t,"icon")])},null,8,["item","class"])):r.getItemProp(t,"icon")?(s.openBlock(),s.createElementBlock("span",s.mergeProps({key:2,class:[e.cx("icon"),r.getItemProp(t,"icon")]},r.getPTOptions("icon",t,i)),null,16)):s.createCommentVNode("",!0),s.createElementVNode("span",s.mergeProps({class:e.cx("label")},r.getPTOptions("label",t,i)),s.toDisplayString(r.getItemLabel(t)),17)],16,y)),[[l]])],64))],16,g),s.createVNode(s.Transition,s.mergeProps({name:"p-toggleable-content"},e.ptm("transition")),{default:s.withCtx((function(){return[s.withDirectives(s.createElementVNode("div",s.mergeProps({class:e.cx("toggleableContent")},e.ptm("toggleableContent")),[r.isItemVisible(t)&&r.isItemGroup(t)?(s.openBlock(),s.createBlock(c,s.mergeProps({key:0,id:r.getItemId(t)+"_list",role:"group",panelId:n.panelId,focusedItemId:n.focusedItemId,items:t.items,level:n.level+1,templates:n.templates,activeItemPath:n.activeItemPath,exact:n.exact,onItemToggle:r.onItemToggle,pt:e.pt},e.ptm("submenu")),null,16,["id","panelId","focusedItemId","items","level","templates","activeItemPath","exact","onItemToggle","pt"])):s.createCommentVNode("",!0)],16),[[s.vShow,r.isItemActive(t)]])]})),_:2},1040)],16,I)):s.createCommentVNode("",!0),r.isItemVisible(t)&&r.getItemProp(t,"separator")?(s.openBlock(),s.createElementBlock("li",s.mergeProps({key:1,style:r.getItemProp(t,"style"),class:[e.cx("separator"),r.getItemProp(t,"class")],role:"separator"},e.ptm("separator")),null,16)):s.createCommentVNode("",!0)],64)})),128))],10,f)};var C={name:"PanelMenuList",hostName:"PanelMenu",extends:m.default,emits:["item-toggle","header-focus"],props:{panelId:{type:String,default:null},items:{type:Array,default:null},templates:{type:Object,default:null},expandedKeys:{type:Object,default:null},exact:{type:Boolean,default:!0}},searchTimeout:null,searchValue:null,data:function(){return{focused:!1,focusedItem:null,activeItemPath:[]}},watch:{expandedKeys:function(e){this.autoUpdateActiveItemPath(e)}},mounted:function(){this.autoUpdateActiveItemPath(this.expandedKeys)},methods:{getItemProp:function(e,t){return e&&e.item?n.ObjectUtils.getItemValue(e.item[t]):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},isItemVisible:function(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemActive:function(e){return this.activeItemPath.some((function(t){return t.key===e.parentKey}))},isItemGroup:function(e){return n.ObjectUtils.isNotEmpty(e.items)},onFocus:function(e){this.focused=!0,this.focusedItem=this.focusedItem||(this.isElementInPanel(e,e.relatedTarget)?this.findFirstItem():this.findLastItem())},onBlur:function(){this.focused=!1,this.focusedItem=null,this.searchValue=""},onKeyDown:function(e){var t=e.metaKey||e.ctrlKey;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);break;case"Escape":case"Tab":case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!t&&n.ObjectUtils.isPrintableCharacter(e.key)&&this.searchItems(e,e.key)}},onArrowDownKey:function(e){var t=n.ObjectUtils.isNotEmpty(this.focusedItem)?this.findNextItem(this.focusedItem):this.findFirstItem();this.changeFocusedItem({originalEvent:e,processedItem:t,focusOnNext:!0}),e.preventDefault()},onArrowUpKey:function(e){var t=n.ObjectUtils.isNotEmpty(this.focusedItem)?this.findPrevItem(this.focusedItem):this.findLastItem();this.changeFocusedItem({originalEvent:e,processedItem:t,selfCheck:!0}),e.preventDefault()},onArrowLeftKey:function(e){var t=this;n.ObjectUtils.isNotEmpty(this.focusedItem)&&(this.activeItemPath.some((function(e){return e.key===t.focusedItem.key}))?this.activeItemPath=this.activeItemPath.filter((function(e){return e.key!==t.focusedItem.key})):this.focusedItem=n.ObjectUtils.isNotEmpty(this.focusedItem.parent)?this.focusedItem.parent:this.focusedItem,e.preventDefault())},onArrowRightKey:function(e){var t=this;if(n.ObjectUtils.isNotEmpty(this.focusedItem)){if(this.isItemGroup(this.focusedItem))this.activeItemPath.some((function(e){return e.key===t.focusedItem.key}))?this.onArrowDownKey(e):(this.activeItemPath=this.activeItemPath.filter((function(e){return e.parentKey!==t.focusedItem.parentKey})),this.activeItemPath.push(this.focusedItem));e.preventDefault()}},onHomeKey:function(e){this.changeFocusedItem({originalEvent:e,processedItem:this.findFirstItem(),allowHeaderFocus:!1}),e.preventDefault()},onEndKey:function(e){this.changeFocusedItem({originalEvent:e,processedItem:this.findLastItem(),focusOnNext:!0,allowHeaderFocus:!1}),e.preventDefault()},onEnterKey:function(e){if(n.ObjectUtils.isNotEmpty(this.focusedItem)){var t=n.DomHandler.findSingle(this.$el,'li[id="'.concat("".concat(this.focusedItemId),'"]')),i=t&&(n.DomHandler.findSingle(t,'[data-pc-section="action"]')||n.DomHandler.findSingle(t,"a,button"));i?i.click():t&&t.click()}e.preventDefault()},onSpaceKey:function(e){this.onEnterKey(e)},onItemToggle:function(e){var t=e.processedItem,i=e.expanded;this.expandedKeys?this.$emit("item-toggle",{item:t.item,expanded:i}):(this.activeItemPath=this.activeItemPath.filter((function(e){return e.parentKey!==t.parentKey})),i&&this.activeItemPath.push(t)),this.focusedItem=t,n.DomHandler.focus(this.$el)},isElementInPanel:function(e,t){var n=e.currentTarget.closest('[data-pc-section="panel"]');return n&&n.contains(t)},isItemMatched:function(e){return this.isValidItem(e)&&this.getItemLabel(e).toLocaleLowerCase(this.searchLocale).startsWith(this.searchValue.toLocaleLowerCase(this.searchLocale))},isVisibleItem:function(e){return!!e&&(0===e.level||this.isItemActive(e))&&this.isItemVisible(e)},isValidItem:function(e){return!!e&&!this.isItemDisabled(e)},findFirstItem:function(){var e=this;return this.visibleItems.find((function(t){return e.isValidItem(t)}))},findLastItem:function(){var e=this;return n.ObjectUtils.findLast(this.visibleItems,(function(t){return e.isValidItem(t)}))},findNextItem:function(e){var t=this,n=this.visibleItems.findIndex((function(t){return t.key===e.key}));return(n<this.visibleItems.length-1?this.visibleItems.slice(n+1).find((function(e){return t.isValidItem(e)})):void 0)||e},findPrevItem:function(e){var t=this,i=this.visibleItems.findIndex((function(t){return t.key===e.key}));return(i>0?n.ObjectUtils.findLast(this.visibleItems.slice(0,i),(function(e){return t.isValidItem(e)})):void 0)||e},searchItems:function(e,t){var i=this;this.searchValue=(this.searchValue||"")+t;var o=null,r=!1;if(n.ObjectUtils.isNotEmpty(this.focusedItem)){var s=this.visibleItems.findIndex((function(e){return e.key===i.focusedItem.key}));o=this.visibleItems.slice(s).find((function(e){return i.isItemMatched(e)})),o=n.ObjectUtils.isEmpty(o)?this.visibleItems.slice(0,s).find((function(e){return i.isItemMatched(e)})):o}else o=this.visibleItems.find((function(e){return i.isItemMatched(e)}));return n.ObjectUtils.isNotEmpty(o)&&(r=!0),n.ObjectUtils.isEmpty(o)&&n.ObjectUtils.isEmpty(this.focusedItem)&&(o=this.findFirstItem()),n.ObjectUtils.isNotEmpty(o)&&this.changeFocusedItem({originalEvent:e,processedItem:o,allowHeaderFocus:!1}),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((function(){i.searchValue="",i.searchTimeout=null}),500),r},changeFocusedItem:function(e){var t=e.originalEvent,i=e.processedItem,o=e.focusOnNext,r=e.selfCheck,s=e.allowHeaderFocus,a=void 0===s||s;n.ObjectUtils.isNotEmpty(this.focusedItem)&&this.focusedItem.key!==i.key?(this.focusedItem=i,this.scrollInView()):a&&this.$emit("header-focus",{originalEvent:t,focusOnNext:o,selfCheck:r})},scrollInView:function(){var e=n.DomHandler.findSingle(this.$el,'li[id="'.concat("".concat(this.focusedItemId),'"]'));e&&e.scrollIntoView&&e.scrollIntoView({block:"nearest",inline:"start"})},autoUpdateActiveItemPath:function(e){var t=this;this.activeItemPath=Object.entries(e||{}).reduce((function(e,n){var i,o,r=(o=2,E(i=n)||x(i,o)||P(i,o)||b());if(r[1]){var s=t.findProcessedItemByItemKey(r[0]);s&&e.push(s)}return e}),[])},findProcessedItemByItemKey:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(!(t=t||0===n&&this.processedItems))return null;for(var i=0;i<t.length;i++){var o=t[i];if(this.getItemProp(o,"key")===e)return o;var r=this.findProcessedItemByItemKey(e,o.items,n+1);if(r)return r}},createProcessedItems:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",r=[];return e&&e.forEach((function(e,s){var a=(""!==o?o+"_":"")+s,c={item:e,index:s,level:n,key:a,parent:i,parentKey:o};c.items=t.createProcessedItems(e.items,n+1,c,a),r.push(c)})),r},flatItems:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e&&e.forEach((function(e){t.isVisibleItem(e)&&(n.push(e),t.flatItems(e.items,n))})),n}},computed:{processedItems:function(){return this.createProcessedItems(this.items||[])},visibleItems:function(){return this.flatItems(this.processedItems)},focusedItemId:function(){return n.ObjectUtils.isNotEmpty(this.focusedItem)?"".concat(this.panelId,"_").concat(this.focusedItem.key):null}},components:{PanelMenuSub:h}};function D(e){return D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},D(e)}function O(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function A(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?O(Object(n),!0).forEach((function(t){w(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):O(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function w(e,t,n){return(t=B(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function B(e){var t=H(e,"string");return"symbol"===D(t)?t:String(t)}function H(e,t){if("object"!==D(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!==D(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}C.render=function(e,t,n,i,o,r){var a=s.resolveComponent("PanelMenuSub");return s.openBlock(),s.createBlock(a,s.mergeProps({id:n.panelId+"_list",class:e.cx("menu"),role:"tree",tabindex:-1,"aria-activedescendant":o.focused?r.focusedItemId:void 0,panelId:n.panelId,focusedItemId:o.focused?r.focusedItemId:void 0,items:r.processedItems,templates:n.templates,activeItemPath:o.activeItemPath,exact:n.exact,onFocus:r.onFocus,onBlur:r.onBlur,onKeydown:r.onKeyDown,onItemToggle:r.onItemToggle,pt:e.pt},e.ptm("menu")),null,16,["id","class","aria-activedescendant","panelId","focusedItemId","items","templates","activeItemPath","exact","onFocus","onBlur","onKeydown","onItemToggle","pt"])};var K={name:"PanelMenu",extends:p,emits:["update:expandedKeys","panel-open","panel-close"],data:function(){return{id:this.$attrs.id,activeItem:null}},watch:{"$attrs.id":function(e){this.id=e||n.UniqueComponentId()}},mounted:function(){this.id=this.id||n.UniqueComponentId()},methods:{getItemProp:function(e,t){return e?n.ObjectUtils.getItemValue(e[t]):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getPTOptions:function(e,t,n){return this.ptm(e,{context:{index:n,active:this.isItemActive(t),focused:this.isItemFocused(t)}})},isItemActive:function(e){return this.expandedKeys?this.expandedKeys[this.getItemProp(e,"key")]:n.ObjectUtils.equals(e,this.activeItem)},isItemVisible:function(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemFocused:function(e){return n.ObjectUtils.equals(e,this.activeItem)},getPanelId:function(e){return"".concat(this.id,"_").concat(e)},getPanelKey:function(e){return this.getPanelId(e)},getHeaderId:function(e){return"".concat(this.getPanelId(e),"_header")},getContentId:function(e){return"".concat(this.getPanelId(e),"_content")},onHeaderClick:function(e,t){this.isItemDisabled(t)?e.preventDefault():(t.command&&t.command({originalEvent:e,item:t}),this.changeActiveItem(e,t),n.DomHandler.focus(e.currentTarget))},onHeaderKeyDown:function(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:function(e){var t=!0===n.DomHandler.getAttribute(e.currentTarget,"data-p-highlight")?n.DomHandler.findSingle(e.currentTarget.nextElementSibling,'[data-pc-section="menu"]'):null;t?n.DomHandler.focus(t):this.updateFocusedHeader({originalEvent:e,focusOnNext:!0}),e.preventDefault()},onHeaderArrowUpKey:function(e){var t=this.findPrevHeader(e.currentTarget.parentElement)||this.findLastHeader(),i=!0===n.DomHandler.getAttribute(t,"data-p-highlight")?n.DomHandler.findSingle(t.nextElementSibling,'[data-pc-section="menu"]'):null;i?n.DomHandler.focus(i):this.updateFocusedHeader({originalEvent:e,focusOnNext:!1}),e.preventDefault()},onHeaderHomeKey:function(e){this.changeFocusedHeader(e,this.findFirstHeader()),e.preventDefault()},onHeaderEndKey:function(e){this.changeFocusedHeader(e,this.findLastHeader()),e.preventDefault()},onHeaderEnterKey:function(e,t){var i=n.DomHandler.findSingle(e.currentTarget,'[data-pc-section="headeraction"]');i?i.click():this.onHeaderClick(e,t),e.preventDefault()},onHeaderActionClick:function(e,t){t&&t(e)},findNextHeader:function(e){var t=n.DomHandler.findSingle(arguments.length>1&&void 0!==arguments[1]&&arguments[1]?e:e.nextElementSibling,'[data-pc-section="header"]');return t?n.DomHandler.getAttribute(t,"data-p-disabled")?this.findNextHeader(t.parentElement):t:null},findPrevHeader:function(e){var t=n.DomHandler.findSingle(arguments.length>1&&void 0!==arguments[1]&&arguments[1]?e:e.previousElementSibling,'[data-pc-section="header"]');return t?n.DomHandler.getAttribute(t,"data-p-disabled")?this.findPrevHeader(t.parentElement):t:null},findFirstHeader:function(){return this.findNextHeader(this.$el.firstElementChild,!0)},findLastHeader:function(){return this.findPrevHeader(this.$el.lastElementChild,!0)},updateFocusedHeader:function(e){var t=e.originalEvent,i=e.focusOnNext,o=e.selfCheck,r=t.currentTarget.closest('[data-pc-section="panel"]'),s=o?n.DomHandler.findSingle(r,'[data-pc-section="header"]'):i?this.findNextHeader(r):this.findPrevHeader(r);s?this.changeFocusedHeader(t,s):i?this.onHeaderHomeKey(t):this.onHeaderEndKey(t)},changeActiveItem:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!this.isItemDisabled(t)){var o=this.isItemActive(t),r=o?"panel-close":"panel-open";this.activeItem=i?t:this.activeItem&&n.ObjectUtils.equals(t,this.activeItem)?null:t,this.changeExpandedKeys({item:t,expanded:!o}),this.$emit(r,{originalEvent:e,item:t})}},changeExpandedKeys:function(e){var t=e.item,n=e.expanded,i=void 0!==n&&n;if(this.expandedKeys){var o=A({},this.expandedKeys);i?o[t.key]=!0:delete o[t.key],this.$emit("update:expandedKeys",o)}},changeFocusedHeader:function(e,t){t&&n.DomHandler.focus(t)}},components:{PanelMenuList:C,ChevronRightIcon:l.default,ChevronDownIcon:c.default}},N=["id"],S=["id","tabindex","aria-label","aria-expanded","aria-controls","aria-disabled","onClick","onKeydown","data-p-highlight","data-p-disabled"],V=["href","onClick"],j=["href"],T=["id","aria-labelledby"];K.render=function(e,t,n,i,o,r){var a=s.resolveComponent("router-link"),c=s.resolveComponent("PanelMenuList");return s.openBlock(),s.createElementBlock("div",s.mergeProps({id:o.id,class:e.cx("root")},e.ptm("root"),{"data-pc-name":"panelmenu"}),[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(e.model,(function(t,n){return s.openBlock(),s.createElementBlock(s.Fragment,{key:r.getPanelKey(n)},[r.isItemVisible(t)?(s.openBlock(),s.createElementBlock("div",s.mergeProps({key:0,style:r.getItemProp(t,"style"),class:[e.cx("panel"),r.getItemProp(t,"class")]},e.ptm("panel")),[s.createElementVNode("div",s.mergeProps({id:r.getHeaderId(n),class:[e.cx("header",{item:t}),r.getItemProp(t,"headerClass")],tabindex:r.isItemDisabled(t)?-1:e.tabindex,role:"button","aria-label":r.getItemLabel(t),"aria-expanded":r.isItemActive(t),"aria-controls":r.getContentId(n),"aria-disabled":r.isItemDisabled(t),onClick:function(e){return r.onHeaderClick(e,t)},onKeydown:function(e){return r.onHeaderKeyDown(e,t)}},r.getPTOptions("header",t,n),{"data-p-highlight":r.isItemActive(t),"data-p-disabled":r.isItemDisabled(t)}),[s.createElementVNode("div",s.mergeProps({class:e.cx("headerContent")},r.getPTOptions("headerContent",t,n)),[e.$slots.item?(s.openBlock(),s.createBlock(s.resolveDynamicComponent(e.$slots.item),{key:1,item:t},null,8,["item"])):(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[r.getItemProp(t,"to")&&!r.isItemDisabled(t)?(s.openBlock(),s.createBlock(a,{key:0,to:r.getItemProp(t,"to"),custom:""},{default:s.withCtx((function(i){var o=i.navigate;return[s.createElementVNode("a",s.mergeProps({href:i.href,class:e.cx("headerAction",{isActive:i.isActive,isExactActive:i.isExactActive}),tabindex:-1,onClick:function(e){return r.onHeaderActionClick(e,o)}},r.getPTOptions("headerAction",t,n)),[e.$slots.headericon?(s.openBlock(),s.createBlock(s.resolveDynamicComponent(e.$slots.headericon),{key:0,item:t,class:s.normalizeClass([e.cx("headerIcon"),r.getItemProp(t,"icon")])},null,8,["item","class"])):r.getItemProp(t,"icon")?(s.openBlock(),s.createElementBlock("span",s.mergeProps({key:1,class:[e.cx("headerIcon"),r.getItemProp(t,"icon")]},r.getPTOptions("headerIcon",t,n)),null,16)):s.createCommentVNode("",!0),s.createElementVNode("span",s.mergeProps({class:e.cx("headerLabel")},r.getPTOptions("headerLabel",t,n)),s.toDisplayString(r.getItemLabel(t)),17)],16,V)]})),_:2},1032,["to"])):(s.openBlock(),s.createElementBlock("a",s.mergeProps({key:1,href:r.getItemProp(t,"url"),class:e.cx("headerAction"),tabindex:-1},r.getPTOptions("headerAction",t,n)),[r.getItemProp(t,"items")?s.renderSlot(e.$slots,"submenuicon",{key:0,active:r.isItemActive(t)},(function(){return[(s.openBlock(),s.createBlock(s.resolveDynamicComponent(r.isItemActive(t)?"ChevronDownIcon":"ChevronRightIcon"),s.mergeProps({class:e.cx("submenuIcon")},r.getPTOptions("submenuIcon",t,n)),null,16,["class"]))]})):s.createCommentVNode("",!0),e.$slots.headericon?(s.openBlock(),s.createBlock(s.resolveDynamicComponent(e.$slots.headericon),{key:1,item:t,class:s.normalizeClass([e.cx("headerIcon"),r.getItemProp(t,"icon")])},null,8,["item","class"])):r.getItemProp(t,"icon")?(s.openBlock(),s.createElementBlock("span",s.mergeProps({key:2,class:[e.cx("headerIcon"),r.getItemProp(t,"icon")]},r.getPTOptions("headerIcon",t,n)),null,16)):s.createCommentVNode("",!0),s.createElementVNode("span",s.mergeProps({class:e.cx("headerLabel")},r.getPTOptions("headerLabel",t,n)),s.toDisplayString(r.getItemLabel(t)),17)],16,j))],64))],16)],16,S),s.createVNode(s.Transition,s.mergeProps({name:"p-toggleable-content"},e.ptm("transition")),{default:s.withCtx((function(){return[s.withDirectives(s.createElementVNode("div",s.mergeProps({id:r.getContentId(n),class:e.cx("toggleableContent"),role:"region","aria-labelledby":r.getHeaderId(n)},e.ptm("toggleableContent")),[r.getItemProp(t,"items")?(s.openBlock(),s.createElementBlock("div",s.mergeProps({key:0,class:e.cx("menuContent")},e.ptm("menuContent")),[s.createVNode(c,{panelId:r.getPanelId(n),items:r.getItemProp(t,"items"),templates:e.$slots,expandedKeys:e.expandedKeys,onItemToggle:r.changeExpandedKeys,onHeaderFocus:r.updateFocusedHeader,exact:e.exact,pt:e.pt},null,8,["panelId","items","templates","expandedKeys","onItemToggle","onHeaderFocus","exact","pt"])],16)):s.createCommentVNode("",!0)],16,T),[[s.vShow,r.isItemActive(t)]])]})),_:2},1040)],16)):s.createCommentVNode("",!0)],64)})),128))],16,N)},module.exports=K;