primevue 3.20.0 → 3.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (593) hide show
  1. package/README.md +3 -15
  2. package/accordion/accordion.cjs.js +1 -1
  3. package/accordion/accordion.cjs.min.js +1 -1
  4. package/accordion/accordion.esm.js +1 -1
  5. package/accordion/accordion.esm.min.js +1 -1
  6. package/accordion/accordion.js +1 -1
  7. package/accordion/accordion.min.js +1 -1
  8. package/autocomplete/AutoComplete.d.ts +9 -1
  9. package/autocomplete/AutoComplete.vue +41 -22
  10. package/autocomplete/autocomplete.cjs.js +53 -25
  11. package/autocomplete/autocomplete.cjs.min.js +1 -1
  12. package/autocomplete/autocomplete.esm.js +53 -25
  13. package/autocomplete/autocomplete.esm.min.js +1 -1
  14. package/autocomplete/autocomplete.js +53 -25
  15. package/autocomplete/autocomplete.min.js +1 -1
  16. package/avatar/avatar.cjs.js +1 -1
  17. package/avatar/avatar.cjs.min.js +1 -1
  18. package/avatar/avatar.esm.js +1 -1
  19. package/avatar/avatar.esm.min.js +1 -1
  20. package/avatar/avatar.js +1 -1
  21. package/avatar/avatar.min.js +1 -1
  22. package/avatargroup/avatargroup.cjs.js +1 -1
  23. package/avatargroup/avatargroup.cjs.min.js +1 -1
  24. package/avatargroup/avatargroup.esm.js +1 -1
  25. package/avatargroup/avatargroup.esm.min.js +1 -1
  26. package/avatargroup/avatargroup.js +1 -1
  27. package/avatargroup/avatargroup.min.js +1 -1
  28. package/badgedirective/badgedirective.cjs.js +1 -1
  29. package/badgedirective/badgedirective.cjs.min.js +1 -1
  30. package/badgedirective/badgedirective.esm.js +1 -1
  31. package/badgedirective/badgedirective.esm.min.js +1 -1
  32. package/badgedirective/badgedirective.js +1 -1
  33. package/badgedirective/badgedirective.min.js +1 -1
  34. package/breadcrumb/Breadcrumb.vue +1 -1
  35. package/breadcrumb/breadcrumb.cjs.js +2 -3
  36. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  37. package/breadcrumb/breadcrumb.esm.js +2 -3
  38. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  39. package/breadcrumb/breadcrumb.js +2 -3
  40. package/breadcrumb/breadcrumb.min.js +1 -1
  41. package/calendar/Calendar.d.ts +1 -1
  42. package/calendar/Calendar.vue +3 -2
  43. package/calendar/calendar.cjs.js +4 -3
  44. package/calendar/calendar.cjs.min.js +1 -1
  45. package/calendar/calendar.esm.js +4 -3
  46. package/calendar/calendar.esm.min.js +1 -1
  47. package/calendar/calendar.js +4 -3
  48. package/calendar/calendar.min.js +1 -1
  49. package/carousel/Carousel.d.ts +9 -1
  50. package/carousel/Carousel.vue +144 -19
  51. package/carousel/carousel.cjs.js +159 -45
  52. package/carousel/carousel.cjs.min.js +1 -1
  53. package/carousel/carousel.esm.js +160 -46
  54. package/carousel/carousel.esm.min.js +1 -1
  55. package/carousel/carousel.js +160 -46
  56. package/carousel/carousel.min.js +1 -1
  57. package/cascadeselect/CascadeSelect.vue +9 -4
  58. package/cascadeselect/cascadeselect.cjs.js +9 -4
  59. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  60. package/cascadeselect/cascadeselect.esm.js +9 -4
  61. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  62. package/cascadeselect/cascadeselect.js +9 -4
  63. package/cascadeselect/cascadeselect.min.js +1 -1
  64. package/chart/Chart.d.ts +5 -0
  65. package/chart/Chart.vue +5 -1
  66. package/chart/chart.cjs.js +6 -2
  67. package/chart/chart.cjs.min.js +1 -1
  68. package/chart/chart.esm.js +7 -3
  69. package/chart/chart.esm.min.js +1 -1
  70. package/chart/chart.js +6 -2
  71. package/chart/chart.min.js +1 -1
  72. package/checkbox/Checkbox.vue +1 -3
  73. package/checkbox/checkbox.cjs.js +3 -4
  74. package/checkbox/checkbox.cjs.min.js +1 -1
  75. package/checkbox/checkbox.esm.js +4 -5
  76. package/checkbox/checkbox.esm.min.js +1 -1
  77. package/checkbox/checkbox.js +3 -4
  78. package/checkbox/checkbox.min.js +1 -1
  79. package/chip/chip.cjs.js +1 -1
  80. package/chip/chip.cjs.min.js +1 -1
  81. package/chip/chip.esm.js +1 -1
  82. package/chip/chip.esm.min.js +1 -1
  83. package/chip/chip.js +1 -1
  84. package/chip/chip.min.js +1 -1
  85. package/chips/chips.cjs.js +1 -1
  86. package/chips/chips.cjs.min.js +1 -1
  87. package/chips/chips.esm.js +1 -1
  88. package/chips/chips.esm.min.js +1 -1
  89. package/chips/chips.js +1 -1
  90. package/chips/chips.min.js +1 -1
  91. package/colorpicker/ColorPicker.vue +5 -7
  92. package/colorpicker/colorpicker.cjs.js +5 -7
  93. package/colorpicker/colorpicker.cjs.min.js +1 -1
  94. package/colorpicker/colorpicker.esm.js +5 -7
  95. package/colorpicker/colorpicker.esm.min.js +1 -1
  96. package/colorpicker/colorpicker.js +6 -8
  97. package/colorpicker/colorpicker.min.js +1 -1
  98. package/config/PrimeVue.d.ts +37 -0
  99. package/config/config.cjs.js +38 -1
  100. package/config/config.cjs.min.js +1 -1
  101. package/config/config.esm.js +38 -1
  102. package/config/config.esm.min.js +1 -1
  103. package/config/config.js +38 -1
  104. package/config/config.min.js +1 -1
  105. package/confirmationservice/ConfirmationService.d.ts +1 -1
  106. package/confirmdialog/ConfirmDialog.vue +1 -1
  107. package/confirmdialog/confirmdialog.cjs.js +6 -3
  108. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  109. package/confirmdialog/confirmdialog.esm.js +7 -4
  110. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  111. package/confirmdialog/confirmdialog.js +6 -3
  112. package/confirmdialog/confirmdialog.min.js +1 -1
  113. package/confirmpopup/ConfirmPopup.vue +11 -10
  114. package/confirmpopup/confirmpopup.cjs.js +15 -13
  115. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  116. package/confirmpopup/confirmpopup.esm.js +15 -13
  117. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  118. package/confirmpopup/confirmpopup.js +15 -13
  119. package/confirmpopup/confirmpopup.min.js +1 -1
  120. package/contextmenu/ContextMenuSub.vue +3 -5
  121. package/contextmenu/contextmenu.cjs.js +4 -6
  122. package/contextmenu/contextmenu.cjs.min.js +1 -1
  123. package/contextmenu/contextmenu.esm.js +4 -6
  124. package/contextmenu/contextmenu.esm.min.js +1 -1
  125. package/contextmenu/contextmenu.js +4 -6
  126. package/contextmenu/contextmenu.min.js +1 -1
  127. package/core/core.js +537 -261
  128. package/core/core.min.js +13 -13
  129. package/datatable/BodyCell.vue +39 -14
  130. package/datatable/ColumnFilter.vue +67 -41
  131. package/datatable/DataTable.d.ts +11 -3
  132. package/datatable/DataTable.vue +162 -25
  133. package/datatable/HeaderCell.vue +12 -6
  134. package/datatable/HeaderCheckbox.vue +17 -14
  135. package/datatable/RowCheckbox.vue +28 -13
  136. package/datatable/RowRadioButton.vue +11 -3
  137. package/datatable/TableBody.vue +25 -7
  138. package/datatable/TableFooter.vue +1 -1
  139. package/datatable/TableHeader.vue +9 -3
  140. package/datatable/TableLoadingBody.vue +1 -1
  141. package/datatable/datatable.cjs.js +540 -269
  142. package/datatable/datatable.cjs.min.js +1 -1
  143. package/datatable/datatable.esm.js +539 -269
  144. package/datatable/datatable.esm.min.js +1 -1
  145. package/datatable/datatable.js +539 -269
  146. package/datatable/datatable.min.js +1 -1
  147. package/dataviewlayoutoptions/DataViewLayoutOptions.vue +23 -3
  148. package/dataviewlayoutoptions/dataviewlayoutoptions.cjs.js +40 -11
  149. package/dataviewlayoutoptions/dataviewlayoutoptions.cjs.min.js +1 -1
  150. package/dataviewlayoutoptions/dataviewlayoutoptions.esm.js +40 -11
  151. package/dataviewlayoutoptions/dataviewlayoutoptions.esm.min.js +1 -1
  152. package/dataviewlayoutoptions/dataviewlayoutoptions.js +40 -11
  153. package/dataviewlayoutoptions/dataviewlayoutoptions.min.js +1 -1
  154. package/dialog/Dialog.vue +12 -7
  155. package/dialog/dialog.cjs.js +15 -10
  156. package/dialog/dialog.cjs.min.js +1 -1
  157. package/dialog/dialog.esm.js +15 -10
  158. package/dialog/dialog.esm.min.js +1 -1
  159. package/dialog/dialog.js +15 -10
  160. package/dialog/dialog.min.js +1 -1
  161. package/divider/divider.cjs.js +1 -1
  162. package/divider/divider.cjs.min.js +1 -1
  163. package/divider/divider.esm.js +1 -1
  164. package/divider/divider.esm.min.js +1 -1
  165. package/divider/divider.js +1 -1
  166. package/divider/divider.min.js +1 -1
  167. package/dock/dock.cjs.js +1 -1
  168. package/dock/dock.cjs.min.js +1 -1
  169. package/dock/dock.esm.js +1 -1
  170. package/dock/dock.esm.min.js +1 -1
  171. package/dock/dock.js +1 -1
  172. package/dock/dock.min.js +1 -1
  173. package/dropdown/Dropdown.vue +24 -16
  174. package/dropdown/dropdown.cjs.js +25 -17
  175. package/dropdown/dropdown.cjs.min.js +1 -1
  176. package/dropdown/dropdown.esm.js +25 -17
  177. package/dropdown/dropdown.esm.min.js +1 -1
  178. package/dropdown/dropdown.js +25 -17
  179. package/dropdown/dropdown.min.js +1 -1
  180. package/editor/Editor.vue +7 -1
  181. package/editor/editor.cjs.js +35 -6
  182. package/editor/editor.cjs.min.js +1 -1
  183. package/editor/editor.esm.js +35 -6
  184. package/editor/editor.esm.min.js +1 -1
  185. package/editor/editor.js +35 -6
  186. package/editor/editor.min.js +1 -1
  187. package/fieldset/Fieldset.vue +1 -1
  188. package/fieldset/fieldset.cjs.js +2 -2
  189. package/fieldset/fieldset.cjs.min.js +1 -1
  190. package/fieldset/fieldset.esm.js +2 -2
  191. package/fieldset/fieldset.esm.min.js +1 -1
  192. package/fieldset/fieldset.js +3 -3
  193. package/fieldset/fieldset.min.js +1 -1
  194. package/fileupload/FileUpload.d.ts +51 -1
  195. package/fileupload/FileUpload.vue +2 -2
  196. package/fileupload/fileupload.cjs.js +3 -3
  197. package/fileupload/fileupload.cjs.min.js +1 -1
  198. package/fileupload/fileupload.esm.js +3 -3
  199. package/fileupload/fileupload.esm.min.js +1 -1
  200. package/fileupload/fileupload.js +3 -3
  201. package/fileupload/fileupload.min.js +1 -1
  202. package/focustrap/focustrap.cjs.js +86 -64
  203. package/focustrap/focustrap.cjs.min.js +1 -1
  204. package/focustrap/focustrap.esm.js +85 -63
  205. package/focustrap/focustrap.esm.min.js +1 -1
  206. package/focustrap/focustrap.js +86 -64
  207. package/focustrap/focustrap.min.js +1 -1
  208. package/galleria/Galleria.d.ts +15 -3
  209. package/galleria/Galleria.vue +36 -6
  210. package/galleria/GalleriaContent.vue +11 -7
  211. package/galleria/GalleriaItem.vue +36 -6
  212. package/galleria/GalleriaThumbnails.vue +108 -4
  213. package/galleria/galleria.cjs.js +259 -123
  214. package/galleria/galleria.cjs.min.js +1 -1
  215. package/galleria/galleria.esm.js +258 -123
  216. package/galleria/galleria.esm.min.js +1 -1
  217. package/galleria/galleria.js +259 -124
  218. package/galleria/galleria.min.js +1 -1
  219. package/image/Image.vue +71 -13
  220. package/image/image.cjs.js +113 -40
  221. package/image/image.cjs.min.js +1 -1
  222. package/image/image.esm.js +113 -41
  223. package/image/image.esm.min.js +1 -1
  224. package/image/image.js +113 -41
  225. package/image/image.min.js +1 -1
  226. package/inlinemessage/inlinemessage.cjs.js +1 -1
  227. package/inlinemessage/inlinemessage.cjs.min.js +1 -1
  228. package/inlinemessage/inlinemessage.esm.js +1 -1
  229. package/inlinemessage/inlinemessage.esm.min.js +1 -1
  230. package/inlinemessage/inlinemessage.js +1 -1
  231. package/inlinemessage/inlinemessage.min.js +1 -1
  232. package/inplace/inplace.cjs.js +1 -1
  233. package/inplace/inplace.cjs.min.js +1 -1
  234. package/inplace/inplace.esm.js +1 -1
  235. package/inplace/inplace.esm.min.js +1 -1
  236. package/inplace/inplace.js +1 -1
  237. package/inplace/inplace.min.js +1 -1
  238. package/inputnumber/InputNumber.vue +11 -20
  239. package/inputnumber/inputnumber.cjs.js +12 -21
  240. package/inputnumber/inputnumber.cjs.min.js +1 -1
  241. package/inputnumber/inputnumber.esm.js +12 -21
  242. package/inputnumber/inputnumber.esm.min.js +1 -1
  243. package/inputnumber/inputnumber.js +12 -21
  244. package/inputnumber/inputnumber.min.js +1 -1
  245. package/knob/knob.cjs.js +1 -1
  246. package/knob/knob.cjs.min.js +1 -1
  247. package/knob/knob.esm.js +1 -1
  248. package/knob/knob.esm.min.js +1 -1
  249. package/knob/knob.js +1 -1
  250. package/knob/knob.min.js +1 -1
  251. package/listbox/Listbox.vue +12 -8
  252. package/listbox/listbox.cjs.js +13 -9
  253. package/listbox/listbox.cjs.min.js +1 -1
  254. package/listbox/listbox.esm.js +13 -9
  255. package/listbox/listbox.esm.min.js +1 -1
  256. package/listbox/listbox.js +14 -10
  257. package/listbox/listbox.min.js +1 -1
  258. package/megamenu/MegaMenu.vue +10 -1
  259. package/megamenu/MegaMenuSub.vue +3 -5
  260. package/megamenu/megamenu.cjs.js +14 -7
  261. package/megamenu/megamenu.cjs.min.js +1 -1
  262. package/megamenu/megamenu.esm.js +14 -7
  263. package/megamenu/megamenu.esm.min.js +1 -1
  264. package/megamenu/megamenu.js +14 -7
  265. package/megamenu/megamenu.min.js +1 -1
  266. package/menu/Menu.vue +8 -2
  267. package/menu/menu.cjs.js +9 -3
  268. package/menu/menu.cjs.min.js +1 -1
  269. package/menu/menu.esm.js +9 -3
  270. package/menu/menu.esm.min.js +1 -1
  271. package/menu/menu.js +9 -3
  272. package/menu/menu.min.js +1 -1
  273. package/menubar/Menubar.vue +7 -2
  274. package/menubar/MenubarSub.vue +3 -5
  275. package/menubar/menubar.cjs.js +11 -8
  276. package/menubar/menubar.cjs.min.js +1 -1
  277. package/menubar/menubar.esm.js +11 -8
  278. package/menubar/menubar.esm.min.js +1 -1
  279. package/menubar/menubar.js +11 -8
  280. package/menubar/menubar.min.js +1 -1
  281. package/message/Message.d.ts +5 -1
  282. package/message/Message.vue +15 -5
  283. package/message/message.cjs.js +24 -10
  284. package/message/message.cjs.min.js +1 -1
  285. package/message/message.esm.js +25 -11
  286. package/message/message.esm.min.js +1 -1
  287. package/message/message.js +24 -10
  288. package/message/message.min.js +1 -1
  289. package/multiselect/MultiSelect.vue +53 -36
  290. package/multiselect/multiselect.cjs.js +54 -37
  291. package/multiselect/multiselect.cjs.min.js +1 -1
  292. package/multiselect/multiselect.esm.js +55 -38
  293. package/multiselect/multiselect.esm.min.js +1 -1
  294. package/multiselect/multiselect.js +54 -37
  295. package/multiselect/multiselect.min.js +1 -1
  296. package/orderlist/OrderList.d.ts +33 -1
  297. package/orderlist/OrderList.vue +265 -63
  298. package/orderlist/orderlist.cjs.js +280 -70
  299. package/orderlist/orderlist.cjs.min.js +1 -1
  300. package/orderlist/orderlist.esm.js +281 -71
  301. package/orderlist/orderlist.esm.min.js +1 -1
  302. package/orderlist/orderlist.js +281 -71
  303. package/orderlist/orderlist.min.js +1 -1
  304. package/organizationchart/OrganizationChartNode.vue +7 -1
  305. package/organizationchart/organizationchart.cjs.js +8 -2
  306. package/organizationchart/organizationchart.cjs.min.js +1 -1
  307. package/organizationchart/organizationchart.esm.js +9 -3
  308. package/organizationchart/organizationchart.esm.min.js +1 -1
  309. package/organizationchart/organizationchart.js +8 -2
  310. package/organizationchart/organizationchart.min.js +1 -1
  311. package/overlaypanel/overlaypanel.cjs.js +1 -1
  312. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  313. package/overlaypanel/overlaypanel.esm.js +1 -1
  314. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  315. package/overlaypanel/overlaypanel.js +1 -1
  316. package/overlaypanel/overlaypanel.min.js +1 -1
  317. package/package.json +2 -2
  318. package/paginator/CurrentPageReport.vue +0 -1
  319. package/paginator/JumpToPageDropdown.vue +0 -1
  320. package/paginator/JumpToPageInput.vue +19 -4
  321. package/paginator/PageLinks.vue +16 -1
  322. package/paginator/Paginator.vue +24 -11
  323. package/paginator/RowsPerPageDropdown.vue +0 -1
  324. package/paginator/paginator.cjs.js +51 -20
  325. package/paginator/paginator.cjs.min.js +1 -1
  326. package/paginator/paginator.esm.js +51 -20
  327. package/paginator/paginator.esm.min.js +1 -1
  328. package/paginator/paginator.js +51 -20
  329. package/paginator/paginator.min.js +1 -1
  330. package/panel/Panel.vue +2 -2
  331. package/panel/panel.cjs.js +3 -3
  332. package/panel/panel.cjs.min.js +1 -1
  333. package/panel/panel.esm.js +3 -3
  334. package/panel/panel.esm.min.js +1 -1
  335. package/panel/panel.js +4 -4
  336. package/panel/panel.min.js +1 -1
  337. package/panelmenu/PanelMenu.vue +4 -4
  338. package/panelmenu/PanelMenuList.vue +57 -0
  339. package/panelmenu/PanelMenuSub.vue +3 -5
  340. package/panelmenu/panelmenu.cjs.js +78 -10
  341. package/panelmenu/panelmenu.cjs.min.js +1 -1
  342. package/panelmenu/panelmenu.esm.js +78 -10
  343. package/panelmenu/panelmenu.esm.min.js +1 -1
  344. package/panelmenu/panelmenu.js +78 -10
  345. package/panelmenu/panelmenu.min.js +1 -1
  346. package/password/Password.vue +5 -0
  347. package/password/password.cjs.js +1 -1
  348. package/password/password.cjs.min.js +1 -1
  349. package/password/password.esm.js +1 -1
  350. package/password/password.esm.min.js +1 -1
  351. package/password/password.js +1 -1
  352. package/password/password.min.js +1 -1
  353. package/picklist/PickList.d.ts +45 -1
  354. package/picklist/PickList.vue +305 -58
  355. package/picklist/picklist.cjs.js +350 -89
  356. package/picklist/picklist.cjs.min.js +1 -1
  357. package/picklist/picklist.esm.js +351 -90
  358. package/picklist/picklist.esm.min.js +1 -1
  359. package/picklist/picklist.js +351 -90
  360. package/picklist/picklist.min.js +1 -1
  361. package/progressbar/progressbar.cjs.js +1 -1
  362. package/progressbar/progressbar.cjs.min.js +1 -1
  363. package/progressbar/progressbar.esm.js +1 -1
  364. package/progressbar/progressbar.esm.min.js +1 -1
  365. package/progressbar/progressbar.js +1 -1
  366. package/progressbar/progressbar.min.js +1 -1
  367. package/progressspinner/ProgressSpinner.vue +0 -47
  368. package/progressspinner/progressspinner.cjs.js +1 -1
  369. package/progressspinner/progressspinner.cjs.min.js +1 -1
  370. package/progressspinner/progressspinner.esm.js +1 -1
  371. package/progressspinner/progressspinner.esm.min.js +1 -1
  372. package/progressspinner/progressspinner.js +1 -1
  373. package/progressspinner/progressspinner.min.js +1 -1
  374. package/rating/Rating.d.ts +1 -0
  375. package/rating/rating.cjs.js +1 -1
  376. package/rating/rating.cjs.min.js +1 -1
  377. package/rating/rating.esm.js +1 -1
  378. package/rating/rating.esm.min.js +1 -1
  379. package/rating/rating.js +1 -1
  380. package/rating/rating.min.js +1 -1
  381. package/resources/primevue.css +2 -6
  382. package/resources/primevue.min.css +1 -1
  383. package/resources/themes/arya-blue/theme.css +77 -14
  384. package/resources/themes/arya-green/theme.css +77 -14
  385. package/resources/themes/arya-orange/theme.css +77 -14
  386. package/resources/themes/arya-purple/theme.css +77 -14
  387. package/resources/themes/bootstrap4-dark-blue/theme.css +77 -14
  388. package/resources/themes/bootstrap4-dark-purple/theme.css +77 -14
  389. package/resources/themes/bootstrap4-light-blue/theme.css +77 -14
  390. package/resources/themes/bootstrap4-light-purple/theme.css +77 -14
  391. package/resources/themes/fluent-light/theme.css +77 -14
  392. package/resources/themes/lara-dark-blue/theme.css +81 -14
  393. package/resources/themes/lara-dark-indigo/theme.css +81 -14
  394. package/resources/themes/lara-dark-purple/theme.css +81 -14
  395. package/resources/themes/lara-dark-teal/theme.css +81 -14
  396. package/resources/themes/lara-light-blue/theme.css +81 -14
  397. package/resources/themes/lara-light-indigo/theme.css +81 -14
  398. package/resources/themes/lara-light-purple/theme.css +81 -14
  399. package/resources/themes/lara-light-teal/theme.css +81 -14
  400. package/resources/themes/luna-amber/theme.css +77 -14
  401. package/resources/themes/luna-blue/theme.css +77 -14
  402. package/resources/themes/luna-green/theme.css +77 -14
  403. package/resources/themes/luna-pink/theme.css +77 -14
  404. package/resources/themes/md-dark-deeppurple/theme.css +101 -20
  405. package/resources/themes/md-dark-indigo/theme.css +101 -20
  406. package/resources/themes/md-light-deeppurple/theme.css +101 -20
  407. package/resources/themes/md-light-indigo/theme.css +101 -20
  408. package/resources/themes/mdc-dark-deeppurple/theme.css +101 -20
  409. package/resources/themes/mdc-dark-indigo/theme.css +101 -20
  410. package/resources/themes/mdc-light-deeppurple/theme.css +101 -20
  411. package/resources/themes/mdc-light-indigo/theme.css +101 -20
  412. package/resources/themes/nova/theme.css +77 -14
  413. package/resources/themes/nova-accent/theme.css +77 -14
  414. package/resources/themes/nova-alt/theme.css +77 -14
  415. package/resources/themes/nova-vue/theme.css +77 -14
  416. package/resources/themes/rhea/theme.css +77 -14
  417. package/resources/themes/saga-blue/theme.css +77 -14
  418. package/resources/themes/saga-green/theme.css +77 -14
  419. package/resources/themes/saga-orange/theme.css +77 -14
  420. package/resources/themes/saga-purple/theme.css +77 -14
  421. package/resources/themes/tailwind-light/theme.css +81 -14
  422. package/resources/themes/vela-blue/theme.css +77 -14
  423. package/resources/themes/vela-green/theme.css +77 -14
  424. package/resources/themes/vela-orange/theme.css +77 -14
  425. package/resources/themes/vela-purple/theme.css +77 -14
  426. package/scrollpanel/scrollpanel.cjs.js +1 -1
  427. package/scrollpanel/scrollpanel.cjs.min.js +1 -1
  428. package/scrollpanel/scrollpanel.esm.js +1 -1
  429. package/scrollpanel/scrollpanel.esm.min.js +1 -1
  430. package/scrollpanel/scrollpanel.js +1 -1
  431. package/scrollpanel/scrollpanel.min.js +1 -1
  432. package/scrolltop/scrolltop.cjs.js +1 -1
  433. package/scrolltop/scrolltop.cjs.min.js +1 -1
  434. package/scrolltop/scrolltop.esm.js +1 -1
  435. package/scrolltop/scrolltop.esm.min.js +1 -1
  436. package/scrolltop/scrolltop.js +1 -1
  437. package/scrolltop/scrolltop.min.js +1 -1
  438. package/selectbutton/SelectButton.vue +1 -1
  439. package/selectbutton/selectbutton.cjs.js +1 -1
  440. package/selectbutton/selectbutton.cjs.min.js +1 -1
  441. package/selectbutton/selectbutton.esm.js +1 -1
  442. package/selectbutton/selectbutton.esm.min.js +1 -1
  443. package/selectbutton/selectbutton.js +2 -2
  444. package/selectbutton/selectbutton.min.js +1 -1
  445. package/sidebar/Sidebar.d.ts +4 -0
  446. package/sidebar/Sidebar.vue +210 -142
  447. package/sidebar/sidebar.cjs.js +146 -121
  448. package/sidebar/sidebar.cjs.min.js +1 -1
  449. package/sidebar/sidebar.esm.js +147 -122
  450. package/sidebar/sidebar.esm.min.js +1 -1
  451. package/sidebar/sidebar.js +146 -121
  452. package/sidebar/sidebar.min.js +1 -1
  453. package/skeleton/skeleton.cjs.js +1 -1
  454. package/skeleton/skeleton.cjs.min.js +1 -1
  455. package/skeleton/skeleton.esm.js +1 -1
  456. package/skeleton/skeleton.esm.min.js +1 -1
  457. package/skeleton/skeleton.js +1 -1
  458. package/skeleton/skeleton.min.js +1 -1
  459. package/slider/slider.cjs.js +1 -1
  460. package/slider/slider.cjs.min.js +1 -1
  461. package/slider/slider.esm.js +1 -1
  462. package/slider/slider.esm.min.js +1 -1
  463. package/slider/slider.js +1 -1
  464. package/slider/slider.min.js +1 -1
  465. package/speeddial/SpeedDial.d.ts +19 -1
  466. package/speeddial/SpeedDial.vue +254 -7
  467. package/speeddial/speeddial.cjs.js +255 -14
  468. package/speeddial/speeddial.cjs.min.js +1 -1
  469. package/speeddial/speeddial.esm.js +256 -15
  470. package/speeddial/speeddial.esm.min.js +1 -1
  471. package/speeddial/speeddial.js +255 -14
  472. package/speeddial/speeddial.min.js +1 -1
  473. package/splitbutton/SplitButton.d.ts +20 -4
  474. package/splitbutton/SplitButton.vue +56 -8
  475. package/splitbutton/splitbutton.cjs.js +57 -17
  476. package/splitbutton/splitbutton.cjs.min.js +1 -1
  477. package/splitbutton/splitbutton.esm.js +57 -17
  478. package/splitbutton/splitbutton.esm.min.js +1 -1
  479. package/splitbutton/splitbutton.js +57 -17
  480. package/splitbutton/splitbutton.min.js +1 -1
  481. package/splitter/Splitter.vue +1 -1
  482. package/splitter/splitter.cjs.js +1 -1
  483. package/splitter/splitter.cjs.min.js +1 -1
  484. package/splitter/splitter.esm.js +1 -1
  485. package/splitter/splitter.esm.min.js +1 -1
  486. package/splitter/splitter.js +1 -1
  487. package/splitter/splitter.min.js +1 -1
  488. package/steps/steps.cjs.js +1 -1
  489. package/steps/steps.cjs.min.js +1 -1
  490. package/steps/steps.esm.js +1 -1
  491. package/steps/steps.esm.min.js +1 -1
  492. package/steps/steps.js +1 -1
  493. package/steps/steps.min.js +1 -1
  494. package/tabmenu/TabMenu.vue +4 -16
  495. package/tabmenu/tabmenu.cjs.js +19 -16
  496. package/tabmenu/tabmenu.cjs.min.js +1 -1
  497. package/tabmenu/tabmenu.esm.js +19 -16
  498. package/tabmenu/tabmenu.esm.min.js +1 -1
  499. package/tabmenu/tabmenu.js +19 -16
  500. package/tabmenu/tabmenu.min.js +1 -1
  501. package/tabview/TabView.vue +2 -2
  502. package/tabview/tabview.cjs.js +3 -3
  503. package/tabview/tabview.cjs.min.js +1 -1
  504. package/tabview/tabview.esm.js +3 -3
  505. package/tabview/tabview.esm.min.js +1 -1
  506. package/tabview/tabview.js +3 -3
  507. package/tabview/tabview.min.js +1 -1
  508. package/tag/tag.cjs.js +1 -1
  509. package/tag/tag.cjs.min.js +1 -1
  510. package/tag/tag.esm.js +1 -1
  511. package/tag/tag.esm.min.js +1 -1
  512. package/tag/tag.js +1 -1
  513. package/tag/tag.min.js +1 -1
  514. package/terminal/terminal.cjs.js +1 -1
  515. package/terminal/terminal.cjs.min.js +1 -1
  516. package/terminal/terminal.esm.js +1 -1
  517. package/terminal/terminal.esm.min.js +1 -1
  518. package/terminal/terminal.js +1 -1
  519. package/terminal/terminal.min.js +1 -1
  520. package/tieredmenu/TieredMenu.vue +13 -3
  521. package/tieredmenu/TieredMenuSub.vue +3 -5
  522. package/tieredmenu/tieredmenu.cjs.js +17 -9
  523. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  524. package/tieredmenu/tieredmenu.esm.js +17 -9
  525. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  526. package/tieredmenu/tieredmenu.js +17 -9
  527. package/tieredmenu/tieredmenu.min.js +1 -1
  528. package/timeline/timeline.cjs.js +1 -1
  529. package/timeline/timeline.cjs.min.js +1 -1
  530. package/timeline/timeline.esm.js +1 -1
  531. package/timeline/timeline.esm.min.js +1 -1
  532. package/timeline/timeline.js +1 -1
  533. package/timeline/timeline.min.js +1 -1
  534. package/toast/Toast.d.ts +5 -1
  535. package/toast/Toast.vue +5 -0
  536. package/toast/ToastMessage.vue +36 -8
  537. package/toast/toast.cjs.js +49 -13
  538. package/toast/toast.cjs.min.js +1 -1
  539. package/toast/toast.esm.js +50 -14
  540. package/toast/toast.esm.min.js +1 -1
  541. package/toast/toast.js +49 -13
  542. package/toast/toast.min.js +1 -1
  543. package/toolbar/Toolbar.d.ts +6 -0
  544. package/toolbar/Toolbar.vue +12 -2
  545. package/toolbar/toolbar.cjs.js +7 -3
  546. package/toolbar/toolbar.cjs.min.js +1 -1
  547. package/toolbar/toolbar.esm.js +7 -3
  548. package/toolbar/toolbar.esm.min.js +1 -1
  549. package/toolbar/toolbar.js +7 -3
  550. package/toolbar/toolbar.min.js +1 -1
  551. package/tree/Tree.d.ts +8 -0
  552. package/tree/Tree.vue +10 -2
  553. package/tree/TreeNode.vue +174 -37
  554. package/tree/tree.cjs.js +193 -59
  555. package/tree/tree.cjs.min.js +1 -1
  556. package/tree/tree.esm.js +193 -59
  557. package/tree/tree.esm.min.js +1 -1
  558. package/tree/tree.js +193 -59
  559. package/tree/tree.min.js +1 -1
  560. package/treeselect/TreeSelect.vue +40 -26
  561. package/treeselect/treeselect.cjs.js +46 -30
  562. package/treeselect/treeselect.cjs.min.js +1 -1
  563. package/treeselect/treeselect.esm.js +44 -28
  564. package/treeselect/treeselect.esm.min.js +1 -1
  565. package/treeselect/treeselect.js +45 -29
  566. package/treeselect/treeselect.min.js +1 -1
  567. package/treetable/BodyCell.vue +4 -4
  568. package/treetable/HeaderCell.vue +4 -2
  569. package/treetable/TreeTable.d.ts +4 -0
  570. package/treetable/TreeTable.vue +43 -17
  571. package/treetable/TreeTableRow.vue +200 -59
  572. package/treetable/treetable.cjs.js +798 -621
  573. package/treetable/treetable.cjs.min.js +1 -1
  574. package/treetable/treetable.esm.js +795 -618
  575. package/treetable/treetable.esm.min.js +1 -1
  576. package/treetable/treetable.js +795 -618
  577. package/treetable/treetable.min.js +1 -1
  578. package/utils/utils.cjs.js +67 -47
  579. package/utils/utils.cjs.min.js +1 -1
  580. package/utils/utils.esm.js +67 -47
  581. package/utils/utils.esm.min.js +1 -1
  582. package/utils/utils.js +67 -47
  583. package/utils/utils.min.js +1 -1
  584. package/vetur-attributes.json +35 -283
  585. package/vetur-tags.json +26 -89
  586. package/virtualscroller/virtualscroller.cjs.js +1 -1
  587. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  588. package/virtualscroller/virtualscroller.esm.js +1 -1
  589. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  590. package/virtualscroller/virtualscroller.js +1 -1
  591. package/virtualscroller/virtualscroller.min.js +1 -1
  592. package/web-types.json +94 -998
  593. package/galleria/GalleriaItemSlot.vue +0 -53
@@ -1 +1 @@
1
- import{ObjectUtils as e,DomHandler as t,UniqueComponentId as i}from"primevue/utils";import{FilterService as s}from"primevue/api";import n from"primevue/ripple";import o from"primevue/virtualscroller";import{resolveComponent as l,resolveDirective as a,openBlock as r,createElementBlock as d,normalizeClass as p,createElementVNode as h,renderSlot as u,withDirectives as c,mergeProps as f,vModelText as O,toDisplayString as b,createCommentVNode as x,normalizeStyle as g,createVNode as m,createSlots as y,withCtx as I,Fragment as v,renderList as S,createTextVNode as F}from"vue";var K={name:"Listbox",emits:["update:modelValue","change","focus","blur","filter"],props:{modelValue:null,options:Array,optionLabel:null,optionValue:null,optionDisabled:null,optionGroupLabel:null,optionGroupChildren:null,listStyle:null,disabled:Boolean,dataKey:null,multiple:Boolean,metaKeySelection:Boolean,filter:Boolean,filterPlaceholder:String,filterLocale:String,filterMatchMode:{type:String,default:"contains"},filterFields:{type:Array,default:null},filterInputProps:null,virtualScrollerOptions:{type:Object,default:null},autoOptionFocus:{type:Boolean,default:!0},selectOnFocus:{type:Boolean,default:!1},filterMessage:{type:String,default:null},selectionMessage:{type:String,default:null},emptySelectionMessage:{type:String,default:null},emptyFilterMessage:{type:String,default:null},emptyMessage:{type:String,default:null},filterIcon:{type:String,default:"pi pi-search"},tabindex:{type:Number,default:0},"aria-label":{type:String,default:null},"aria-labelledby":{type:String,default:null}},list:null,virtualScroller:null,optionTouched:!1,startRangeIndex:-1,searchTimeout:null,searchValue:"",focusOnHover:!1,data:()=>({filterValue:null,focused:!1,focusedOptionIndex:-1}),watch:{options(){this.autoUpdateModel()}},mounted(){this.autoUpdateModel()},methods:{getOptionIndex(e,t){return this.virtualScrollerDisabled?e:t&&t(e).index},getOptionLabel(t){return this.optionLabel?e.resolveFieldData(t,this.optionLabel):t},getOptionValue(t){return this.optionValue?e.resolveFieldData(t,this.optionValue):t},getOptionRenderKey(t,i){return(this.dataKey?e.resolveFieldData(t,this.dataKey):this.getOptionLabel(t))+"_"+i},isOptionDisabled(t){return!!this.optionDisabled&&e.resolveFieldData(t,this.optionDisabled)},isOptionGroup(e){return this.optionGroupLabel&&e.optionGroup&&e.group},getOptionGroupLabel(t){return e.resolveFieldData(t,this.optionGroupLabel)},getOptionGroupChildren(t){return e.resolveFieldData(t,this.optionGroupChildren)},getAriaPosInset(e){return(this.optionGroupLabel?e-this.visibleOptions.slice(0,e).filter((e=>this.isOptionGroup(e))).length:e)+1},onFirstHiddenFocus(){t.focus(this.list);const i=t.getFirstFocusableElement(this.$el,":not(.p-hidden-focusable)");this.$refs.lastHiddenFocusableElement.tabIndex=e.isEmpty(i)?-1:void 0,this.$refs.firstHiddenFocusableElement.tabIndex=-1},onLastHiddenFocus(e){if(e.relatedTarget===this.list){const e=t.getFirstFocusableElement(this.$el,":not(.p-hidden-focusable)");t.focus(e),this.$refs.firstHiddenFocusableElement.tabIndex=void 0}else t.focus(this.$refs.firstHiddenFocusableElement);this.$refs.lastHiddenFocusableElement.tabIndex=-1},onFocusout(e){!this.$el.contains(e.relatedTarget)&&this.$refs.lastHiddenFocusableElement&&this.$refs.firstHiddenFocusableElement&&(this.$refs.lastHiddenFocusableElement.tabIndex=this.$refs.firstHiddenFocusableElement.tabIndex=void 0)},onListFocus(e){this.focused=!0,this.focusedOptionIndex=this.autoOptionFocus?this.findFirstFocusedOptionIndex():-1,this.$emit("focus",e)},onListBlur(e){this.focused=!1,this.focusedOptionIndex=this.startRangeIndex=-1,this.searchValue="",this.$emit("blur",e)},onListKeyDown(t){const i=t.metaKey||t.ctrlKey;switch(t.code){case"ArrowDown":this.onArrowDownKey(t);break;case"ArrowUp":this.onArrowUpKey(t);break;case"Home":this.onHomeKey(t);break;case"End":this.onEndKey(t);break;case"PageDown":this.onPageDownKey(t);break;case"PageUp":this.onPageUpKey(t);break;case"Enter":case"Space":this.onSpaceKey(t);break;case"Tab":break;case"ShiftLeft":case"ShiftRight":this.onShiftKey(t);break;default:if(this.multiple&&"KeyA"===t.code&&i){const e=this.visibleOptions.filter((e=>this.isValidOption(e))).map((e=>this.getOptionValue(e)));this.updateModel(t,e),t.preventDefault();break}!i&&e.isPrintableCharacter(t.key)&&(this.searchOptions(t,t.key),t.preventDefault())}},onOptionSelect(e,t,i=-1){this.disabled||this.isOptionDisabled(t)||(this.multiple?this.onOptionSelectMultiple(e,t):this.onOptionSelectSingle(e,t),this.optionTouched=!1,-1!==i&&(this.focusedOptionIndex=i))},onOptionMouseMove(e,t){this.focusOnHover&&this.changeFocusedOptionIndex(e,t)},onOptionTouchEnd(){this.disabled||(this.optionTouched=!0)},onOptionSelectSingle(e,t){let i=this.isSelected(t),s=!1,n=null;if(!this.optionTouched&&this.metaKeySelection){let o=e.metaKey||e.ctrlKey;i?o&&(n=null,s=!0):(n=this.getOptionValue(t),s=!0)}else n=i?null:this.getOptionValue(t),s=!0;s&&this.updateModel(e,n)},onOptionSelectMultiple(e,t){let i=this.isSelected(t),s=null;if(!this.optionTouched&&this.metaKeySelection){let n=e.metaKey||e.ctrlKey;i?s=n?this.removeOption(t):[this.getOptionValue(t)]:(s=n&&this.modelValue||[],s=[...s,this.getOptionValue(t)])}else s=i?this.removeOption(t):[...this.modelValue||[],this.getOptionValue(t)];this.updateModel(e,s)},onOptionSelectRange(e,t=-1,i=-1){if(-1===t&&(t=this.findNearestSelectedOptionIndex(i,!0)),-1===i&&(i=this.findNearestSelectedOptionIndex(t)),-1!==t&&-1!==i){const s=Math.min(t,i),n=Math.max(t,i),o=this.visibleOptions.slice(s,n+1).filter((e=>this.isValidOption(e))).map((e=>this.getOptionValue(e)));this.updateModel(e,o)}},onFilterChange(e){this.$emit("filter",{originalEvent:e,value:e.target.value}),this.focusedOptionIndex=this.startRangeIndex=-1},onFilterBlur(){this.focusedOptionIndex=this.startRangeIndex=-1},onFilterKeyDown(e){switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"ArrowLeft":case"ArrowRight":this.onArrowLeftKey(e,!0);break;case"Home":this.onHomeKey(e,!0);break;case"End":this.onEndKey(e,!0);break;case"Enter":this.onEnterKey(e);break;case"ShiftLeft":case"ShiftRight":this.onShiftKey(e)}},onArrowDownKey(e){const t=-1!==this.focusedOptionIndex?this.findNextOptionIndex(this.focusedOptionIndex):this.findFirstFocusedOptionIndex();this.multiple&&e.shiftKey&&this.onOptionSelectRange(e,this.startRangeIndex,t),this.changeFocusedOptionIndex(e,t),e.preventDefault()},onArrowUpKey(e){const t=-1!==this.focusedOptionIndex?this.findPrevOptionIndex(this.focusedOptionIndex):this.findLastFocusedOptionIndex();this.multiple&&e.shiftKey&&this.onOptionSelectRange(e,t,this.startRangeIndex),this.changeFocusedOptionIndex(e,t),e.preventDefault()},onArrowLeftKey(e,t=!1){t&&(this.focusedOptionIndex=-1)},onHomeKey(e,t=!1){if(t)e.currentTarget.setSelectionRange(0,0),this.focusedOptionIndex=-1;else{let t=e.metaKey||e.ctrlKey,i=this.findFirstOptionIndex();this.multiple&&e.shiftKey&&t&&this.onOptionSelectRange(e,i,this.startRangeIndex),this.changeFocusedOptionIndex(e,i)}e.preventDefault()},onEndKey(e,t=!1){if(t){const t=e.currentTarget,i=t.value.length;t.setSelectionRange(i,i),this.focusedOptionIndex=-1}else{let t=e.metaKey||e.ctrlKey,i=this.findLastOptionIndex();this.multiple&&e.shiftKey&&t&&this.onOptionSelectRange(e,this.startRangeIndex,i),this.changeFocusedOptionIndex(e,i)}e.preventDefault()},onPageUpKey(e){this.scrollInView(0),e.preventDefault()},onPageDownKey(e){this.scrollInView(this.visibleOptions.length-1),e.preventDefault()},onEnterKey(e){-1!==this.focusedOptionIndex&&(this.multiple&&e.shiftKey?this.onOptionSelectRange(e,this.focusedOptionIndex):this.onOptionSelect(e,this.visibleOptions[this.focusedOptionIndex])),e.preventDefault()},onSpaceKey(e){this.onEnterKey(e)},onShiftKey(){this.startRangeIndex=this.focusedOptionIndex},isOptionMatched(e){return this.isValidOption(e)&&this.getOptionLabel(e).toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale))},isValidOption(e){return e&&!(this.isOptionDisabled(e)||this.isOptionGroup(e))},isValidSelectedOption(e){return this.isValidOption(e)&&this.isSelected(e)},isSelected(t){const i=this.getOptionValue(t);return this.multiple?(this.modelValue||[]).some((t=>e.equals(t,i,this.equalityKey))):e.equals(this.modelValue,i,this.equalityKey)},findFirstOptionIndex(){return this.visibleOptions.findIndex((e=>this.isValidOption(e)))},findLastOptionIndex(){return e.findLastIndex(this.visibleOptions,(e=>this.isValidOption(e)))},findNextOptionIndex(e){const t=e<this.visibleOptions.length-1?this.visibleOptions.slice(e+1).findIndex((e=>this.isValidOption(e))):-1;return t>-1?t+e+1:e},findPrevOptionIndex(t){const i=t>0?e.findLastIndex(this.visibleOptions.slice(0,t),(e=>this.isValidOption(e))):-1;return i>-1?i:t},findFirstSelectedOptionIndex(){return this.hasSelectedOption?this.visibleOptions.findIndex((e=>this.isValidSelectedOption(e))):-1},findLastSelectedOptionIndex(){return this.hasSelectedOption?e.findLastIndex(this.visibleOptions,(e=>this.isValidSelectedOption(e))):-1},findNextSelectedOptionIndex(e){const t=this.hasSelectedOption&&e<this.visibleOptions.length-1?this.visibleOptions.slice(e+1).findIndex((e=>this.isValidSelectedOption(e))):-1;return t>-1?t+e+1:-1},findPrevSelectedOptionIndex(t){const i=this.hasSelectedOption&&t>0?e.findLastIndex(this.visibleOptions.slice(0,t),(e=>this.isValidSelectedOption(e))):-1;return i>-1?i:-1},findNearestSelectedOptionIndex(e,t=!1){let i=-1;return this.hasSelectedOption&&(t?(i=this.findPrevSelectedOptionIndex(e),i=-1===i?this.findNextSelectedOptionIndex(e):i):(i=this.findNextSelectedOptionIndex(e),i=-1===i?this.findPrevSelectedOptionIndex(e):i)),i>-1?i:e},findFirstFocusedOptionIndex(){const e=this.findFirstSelectedOptionIndex();return e<0?this.findFirstOptionIndex():e},findLastFocusedOptionIndex(){const e=this.findLastSelectedOptionIndex();return e<0?this.findLastOptionIndex():e},searchOptions(e,t){this.searchValue=(this.searchValue||"")+t;let i=-1;-1!==this.focusedOptionIndex?(i=this.visibleOptions.slice(this.focusedOptionIndex).findIndex((e=>this.isOptionMatched(e))),i=-1===i?this.visibleOptions.slice(0,this.focusedOptionIndex).findIndex((e=>this.isOptionMatched(e))):i+this.focusedOptionIndex):i=this.visibleOptions.findIndex((e=>this.isOptionMatched(e))),-1===i&&-1===this.focusedOptionIndex&&(i=this.findFirstFocusedOptionIndex()),-1!==i&&this.changeFocusedOptionIndex(e,i),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((()=>{this.searchValue="",this.searchTimeout=null}),500)},removeOption(t){return this.modelValue.filter((i=>!e.equals(i,this.getOptionValue(t),this.equalityKey)))},changeFocusedOptionIndex(e,t){this.focusedOptionIndex!==t&&(this.focusedOptionIndex=t,this.scrollInView(),this.selectOnFocus&&!this.multiple&&this.onOptionSelect(e,this.visibleOptions[t]))},scrollInView(e=-1){const i=-1!==e?`${this.id}_${e}`:this.focusedOptionId,s=t.findSingle(this.list,`li[id="${i}"]`);s?s.scrollIntoView&&s.scrollIntoView({block:"nearest",inline:"nearest"}):this.virtualScrollerDisabled||this.virtualScroller&&this.virtualScroller.scrollToIndex(-1!==e?e:this.focusedOptionIndex)},autoUpdateModel(){this.selectOnFocus&&this.autoOptionFocus&&!this.hasSelectedOption&&!this.multiple&&(this.focusedOptionIndex=this.findFirstFocusedOptionIndex(),this.onOptionSelect(null,this.visibleOptions[this.focusedOptionIndex]))},updateModel(e,t){this.$emit("update:modelValue",t),this.$emit("change",{originalEvent:e,value:t})},flatOptions(e){return(e||[]).reduce(((e,t,i)=>{e.push({optionGroup:t,group:!0,index:i});const s=this.getOptionGroupChildren(t);return s&&s.forEach((t=>e.push(t))),e}),[])},listRef(e,t){this.list=e,t&&t(e)},virtualScrollerRef(e){this.virtualScroller=e}},computed:{containerClass(){return["p-listbox p-component",{"p-focus":this.focused,"p-disabled":this.disabled}]},visibleOptions(){const e=this.optionGroupLabel?this.flatOptions(this.options):this.options||[];return this.filterValue?s.filter(e,this.searchFields,this.filterValue,this.filterMatchMode,this.filterLocale):e},hasSelectedOption(){return e.isNotEmpty(this.modelValue)},equalityKey(){return this.optionValue?null:this.dataKey},searchFields(){return this.filterFields||[this.optionLabel]},filterResultMessageText(){return e.isNotEmpty(this.visibleOptions)?this.filterMessageText.replaceAll("{0}",this.visibleOptions.length):this.emptyFilterMessageText},filterMessageText(){return this.filterMessage||this.$primevue.config.locale.searchMessage||""},emptyFilterMessageText(){return this.emptyFilterMessage||this.$primevue.config.locale.emptySearchMessage||this.$primevue.config.locale.emptyFilterMessage||""},emptyMessageText(){return this.emptyMessage||this.$primevue.config.locale.emptyMessage||""},selectionMessageText(){return this.selectionMessage||this.$primevue.config.locale.selectionMessage||""},emptySelectionMessageText(){return this.emptySelectionMessage||this.$primevue.config.locale.emptySelectionMessage||""},selectedMessageText(){return this.hasSelectedOption?this.selectionMessageText.replaceAll("{0}",this.multiple?this.modelValue.length:"1"):this.emptySelectionMessageText},id(){return this.$attrs.id||i()},focusedOptionId(){return-1!==this.focusedOptionIndex?`${this.id}_${this.focusedOptionIndex}`:null},ariaSetSize(){return this.visibleOptions.filter((e=>!this.isOptionGroup(e))).length},virtualScrollerDisabled(){return!this.virtualScrollerOptions}},directives:{ripple:n},components:{VirtualScroller:o}};const V=["id"],M=["tabindex"],L={key:0,class:"p-listbox-header"},w={class:"p-listbox-filter-container"},D=["placeholder","aria-owns","aria-activedescendant","tabindex"],T={role:"status","aria-live":"polite",class:"p-hidden-accessible"},$=["id","aria-multiselectable","aria-label","aria-labelledby","aria-activedescendant","aria-disabled"],E=["id"],k=["id","aria-label","aria-selected","aria-disabled","aria-setsize","aria-posinset","onClick","onMousemove"],R={key:0,class:"p-listbox-empty-message",role:"option"},H={key:1,class:"p-listbox-empty-message",role:"option"},A={key:0,role:"status","aria-live":"polite",class:"p-hidden-accessible"},G={role:"status","aria-live":"polite",class:"p-hidden-accessible"},C=["tabindex"];!function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===i&&s.firstChild?s.insertBefore(n,s.firstChild):s.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-listbox-list-wrapper {\n overflow: auto;\n}\n.p-listbox-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.p-listbox-item {\n cursor: pointer;\n position: relative;\n overflow: hidden;\n}\n.p-listbox-item-group {\n cursor: auto;\n}\n.p-listbox-filter-container {\n position: relative;\n}\n.p-listbox-filter-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n}\n.p-listbox-filter {\n width: 100%;\n}\n"),K.render=function(e,t,i,s,n,o){const K=l("VirtualScroller"),P=a("ripple");return r(),d("div",{id:o.id,class:p(o.containerClass),onFocusout:t[10]||(t[10]=(...e)=>o.onFocusout&&o.onFocusout(...e))},[h("span",{ref:"firstHiddenFocusableElement",role:"presentation","aria-hidden":"true",class:"p-hidden-accessible p-hidden-focusable",tabindex:i.disabled?-1:i.tabindex,onFocus:t[0]||(t[0]=(...e)=>o.onFirstHiddenFocus&&o.onFirstHiddenFocus(...e))},null,40,M),u(e.$slots,"header",{value:i.modelValue,options:o.visibleOptions}),i.filter?(r(),d("div",L,[h("div",w,[c(h("input",f({ref:"filterInput","onUpdate:modelValue":t[1]||(t[1]=e=>n.filterValue=e),type:"text",class:"p-listbox-filter p-inputtext p-component",placeholder:i.filterPlaceholder,role:"searchbox",autocomplete:"off","aria-owns":o.id+"_list","aria-activedescendant":o.focusedOptionId,tabindex:i.disabled||n.focused?-1:i.tabindex,onInput:t[2]||(t[2]=(...e)=>o.onFilterChange&&o.onFilterChange(...e)),onBlur:t[3]||(t[3]=(...e)=>o.onFilterBlur&&o.onFilterBlur(...e)),onKeydown:t[4]||(t[4]=(...e)=>o.onFilterKeyDown&&o.onFilterKeyDown(...e))},i.filterInputProps),null,16,D),[[O,n.filterValue]]),h("span",{class:p(["p-listbox-filter-icon",i.filterIcon])},null,2)]),h("span",T,b(o.filterResultMessageText),1)])):x("",!0),h("div",{ref:"listWrapper",class:"p-listbox-list-wrapper",style:g(i.listStyle)},[m(K,f({ref:o.virtualScrollerRef},i.virtualScrollerOptions,{style:i.listStyle,items:o.visibleOptions,tabindex:-1,disabled:o.virtualScrollerDisabled}),y({content:I((({styleClass:s,contentRef:l,items:a,getItemOptions:f,contentStyle:O,itemSize:m})=>[h("ul",{ref:e=>o.listRef(e,l),id:o.id+"_list",class:p(["p-listbox-list",s]),style:g(O),tabindex:-1,role:"listbox","aria-multiselectable":i.multiple,"aria-label":e.ariaLabel,"aria-labelledby":e.ariaLabelledby,"aria-activedescendant":n.focused?o.focusedOptionId:void 0,"aria-disabled":i.disabled,onFocus:t[6]||(t[6]=(...e)=>o.onListFocus&&o.onListFocus(...e)),onBlur:t[7]||(t[7]=(...e)=>o.onListBlur&&o.onListBlur(...e)),onKeydown:t[8]||(t[8]=(...e)=>o.onListKeyDown&&o.onListKeyDown(...e))},[(r(!0),d(v,null,S(a,((i,s)=>(r(),d(v,{key:o.getOptionRenderKey(i,o.getOptionIndex(s,f))},[o.isOptionGroup(i)?(r(),d("li",{key:0,id:o.id+"_"+o.getOptionIndex(s,f),style:g({height:m?m+"px":void 0}),class:"p-listbox-item-group",role:"option"},[u(e.$slots,"optiongroup",{option:i.optionGroup,index:o.getOptionIndex(s,f)},(()=>[F(b(o.getOptionGroupLabel(i.optionGroup)),1)]))],12,E)):c((r(),d("li",{key:1,id:o.id+"_"+o.getOptionIndex(s,f),style:g({height:m?m+"px":void 0}),class:p(["p-listbox-item",{"p-highlight":o.isSelected(i),"p-focus":n.focusedOptionIndex===o.getOptionIndex(s,f),"p-disabled":o.isOptionDisabled(i)}]),role:"option","aria-label":o.getOptionLabel(i),"aria-selected":o.isSelected(i),"aria-disabled":o.isOptionDisabled(i),"aria-setsize":o.ariaSetSize,"aria-posinset":o.getAriaPosInset(o.getOptionIndex(s,f)),onClick:e=>o.onOptionSelect(e,i,o.getOptionIndex(s,f)),onMousemove:e=>o.onOptionMouseMove(e,o.getOptionIndex(s,f)),onTouchend:t[5]||(t[5]=e=>o.onOptionTouchEnd())},[u(e.$slots,"option",{option:i,index:o.getOptionIndex(s,f)},(()=>[F(b(o.getOptionLabel(i)),1)]))],46,k)),[[P]])],64)))),128)),n.filterValue&&(!a||a&&0===a.length)?(r(),d("li",R,[u(e.$slots,"emptyfilter",{},(()=>[F(b(o.emptyFilterMessageText),1)]))])):!i.options||i.options&&0===i.options.length?(r(),d("li",H,[u(e.$slots,"empty",{},(()=>[F(b(o.emptyMessageText),1)]))])):x("",!0)],46,$),!i.options||i.options&&0===i.options.length?(r(),d("span",A,b(o.emptyMessageText),1)):x("",!0),h("span",G,b(o.selectedMessageText),1)])),_:2},[e.$slots.loader?{name:"loader",fn:I((({options:t})=>[u(e.$slots,"loader",{options:t})])),key:"0"}:void 0]),1040,["style","items","disabled"])],4),u(e.$slots,"footer",{value:i.modelValue,options:o.visibleOptions}),h("span",{ref:"lastHiddenFocusableElement",role:"presentation","aria-hidden":"true",class:"p-hidden-accessible p-hidden-focusable",tabindex:i.disabled?-1:i.tabindex,onFocus:t[9]||(t[9]=(...e)=>o.onLastHiddenFocus&&o.onLastHiddenFocus(...e))},null,40,C)],42,V)};export{K as default};
1
+ import{FilterService as e}from"primevue/api";import t from"primevue/ripple";import{ObjectUtils as i,DomHandler as s,UniqueComponentId as n}from"primevue/utils";import o from"primevue/virtualscroller";import{resolveComponent as l,resolveDirective as a,openBlock as r,createElementBlock as d,normalizeClass as p,createElementVNode as u,renderSlot as h,withDirectives as c,mergeProps as f,vModelText as O,toDisplayString as x,createCommentVNode as b,normalizeStyle as g,createVNode as m,createSlots as y,withCtx as I,Fragment as v,renderList as S,createTextVNode as F}from"vue";var K={name:"Listbox",emits:["update:modelValue","change","focus","blur","filter"],props:{modelValue:null,options:Array,optionLabel:null,optionValue:null,optionDisabled:null,optionGroupLabel:null,optionGroupChildren:null,listStyle:null,disabled:Boolean,dataKey:null,multiple:Boolean,metaKeySelection:Boolean,filter:Boolean,filterPlaceholder:String,filterLocale:String,filterMatchMode:{type:String,default:"contains"},filterFields:{type:Array,default:null},filterInputProps:null,virtualScrollerOptions:{type:Object,default:null},autoOptionFocus:{type:Boolean,default:!0},selectOnFocus:{type:Boolean,default:!1},filterMessage:{type:String,default:null},selectionMessage:{type:String,default:null},emptySelectionMessage:{type:String,default:null},emptyFilterMessage:{type:String,default:null},emptyMessage:{type:String,default:null},filterIcon:{type:String,default:"pi pi-search"},tabindex:{type:Number,default:0},"aria-label":{type:String,default:null},"aria-labelledby":{type:String,default:null}},list:null,virtualScroller:null,optionTouched:!1,startRangeIndex:-1,searchTimeout:null,searchValue:"",focusOnHover:!1,data:()=>({filterValue:null,focused:!1,focusedOptionIndex:-1}),watch:{options(){this.autoUpdateModel()}},mounted(){this.autoUpdateModel()},methods:{getOptionIndex(e,t){return this.virtualScrollerDisabled?e:t&&t(e).index},getOptionLabel(e){return this.optionLabel?i.resolveFieldData(e,this.optionLabel):e},getOptionValue(e){return this.optionValue?i.resolveFieldData(e,this.optionValue):e},getOptionRenderKey(e,t){return(this.dataKey?i.resolveFieldData(e,this.dataKey):this.getOptionLabel(e))+"_"+t},isOptionDisabled(e){return!!this.optionDisabled&&i.resolveFieldData(e,this.optionDisabled)},isOptionGroup(e){return this.optionGroupLabel&&e.optionGroup&&e.group},getOptionGroupLabel(e){return i.resolveFieldData(e,this.optionGroupLabel)},getOptionGroupChildren(e){return i.resolveFieldData(e,this.optionGroupChildren)},getAriaPosInset(e){return(this.optionGroupLabel?e-this.visibleOptions.slice(0,e).filter((e=>this.isOptionGroup(e))).length:e)+1},onFirstHiddenFocus(){s.focus(this.list);const e=s.getFirstFocusableElement(this.$el,":not(.p-hidden-focusable)");this.$refs.lastHiddenFocusableElement.tabIndex=i.isEmpty(e)?-1:void 0,this.$refs.firstHiddenFocusableElement.tabIndex=-1},onLastHiddenFocus(e){if(e.relatedTarget===this.list){const e=s.getFirstFocusableElement(this.$el,":not(.p-hidden-focusable)");s.focus(e),this.$refs.firstHiddenFocusableElement.tabIndex=void 0}else s.focus(this.$refs.firstHiddenFocusableElement);this.$refs.lastHiddenFocusableElement.tabIndex=-1},onFocusout(e){!this.$el.contains(e.relatedTarget)&&this.$refs.lastHiddenFocusableElement&&this.$refs.firstHiddenFocusableElement&&(this.$refs.lastHiddenFocusableElement.tabIndex=this.$refs.firstHiddenFocusableElement.tabIndex=void 0)},onListFocus(e){this.focused=!0,this.focusedOptionIndex=-1!==this.focusedOptionIndex?this.focusedOptionIndex:this.autoOptionFocus?this.findFirstFocusedOptionIndex():-1,this.$emit("focus",e)},onListBlur(e){this.focused=!1,this.focusedOptionIndex=this.startRangeIndex=-1,this.searchValue="",this.$emit("blur",e)},onListKeyDown(e){const t=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"Home":this.onHomeKey(e);break;case"End":this.onEndKey(e);break;case"PageDown":this.onPageDownKey(e);break;case"PageUp":this.onPageUpKey(e);break;case"Enter":case"Space":this.onSpaceKey(e);break;case"Tab":break;case"ShiftLeft":case"ShiftRight":this.onShiftKey(e);break;default:if(this.multiple&&"KeyA"===e.code&&t){const t=this.visibleOptions.filter((e=>this.isValidOption(e))).map((e=>this.getOptionValue(e)));this.updateModel(e,t),e.preventDefault();break}!t&&i.isPrintableCharacter(e.key)&&(this.searchOptions(e,e.key),e.preventDefault())}},onOptionSelect(e,t,i=-1){this.disabled||this.isOptionDisabled(t)||(this.multiple?this.onOptionSelectMultiple(e,t):this.onOptionSelectSingle(e,t),this.optionTouched=!1,-1!==i&&(this.focusedOptionIndex=i))},onOptionMouseDown(e,t){this.changeFocusedOptionIndex(e,t)},onOptionMouseMove(e,t){this.focusOnHover&&this.changeFocusedOptionIndex(e,t)},onOptionTouchEnd(){this.disabled||(this.optionTouched=!0)},onOptionSelectSingle(e,t){let i=this.isSelected(t),s=!1,n=null;if(!this.optionTouched&&this.metaKeySelection){let o=e.metaKey||e.ctrlKey;i?o&&(n=null,s=!0):(n=this.getOptionValue(t),s=!0)}else n=i?null:this.getOptionValue(t),s=!0;s&&this.updateModel(e,n)},onOptionSelectMultiple(e,t){let i=this.isSelected(t),s=null;if(!this.optionTouched&&this.metaKeySelection){let n=e.metaKey||e.ctrlKey;i?s=n?this.removeOption(t):[this.getOptionValue(t)]:(s=n&&this.modelValue||[],s=[...s,this.getOptionValue(t)])}else s=i?this.removeOption(t):[...this.modelValue||[],this.getOptionValue(t)];this.updateModel(e,s)},onOptionSelectRange(e,t=-1,i=-1){if(-1===t&&(t=this.findNearestSelectedOptionIndex(i,!0)),-1===i&&(i=this.findNearestSelectedOptionIndex(t)),-1!==t&&-1!==i){const s=Math.min(t,i),n=Math.max(t,i),o=this.visibleOptions.slice(s,n+1).filter((e=>this.isValidOption(e))).map((e=>this.getOptionValue(e)));this.updateModel(e,o)}},onFilterChange(e){this.$emit("filter",{originalEvent:e,value:e.target.value}),this.focusedOptionIndex=this.startRangeIndex=-1},onFilterBlur(){this.focusedOptionIndex=this.startRangeIndex=-1},onFilterKeyDown(e){switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"ArrowLeft":case"ArrowRight":this.onArrowLeftKey(e,!0);break;case"Home":this.onHomeKey(e,!0);break;case"End":this.onEndKey(e,!0);break;case"Enter":this.onEnterKey(e);break;case"ShiftLeft":case"ShiftRight":this.onShiftKey(e)}},onArrowDownKey(e){const t=-1!==this.focusedOptionIndex?this.findNextOptionIndex(this.focusedOptionIndex):this.findFirstFocusedOptionIndex();this.multiple&&e.shiftKey&&this.onOptionSelectRange(e,this.startRangeIndex,t),this.changeFocusedOptionIndex(e,t),e.preventDefault()},onArrowUpKey(e){const t=-1!==this.focusedOptionIndex?this.findPrevOptionIndex(this.focusedOptionIndex):this.findLastFocusedOptionIndex();this.multiple&&e.shiftKey&&this.onOptionSelectRange(e,t,this.startRangeIndex),this.changeFocusedOptionIndex(e,t),e.preventDefault()},onArrowLeftKey(e,t=!1){t&&(this.focusedOptionIndex=-1)},onHomeKey(e,t=!1){if(t)e.currentTarget.setSelectionRange(0,0),this.focusedOptionIndex=-1;else{let t=e.metaKey||e.ctrlKey,i=this.findFirstOptionIndex();this.multiple&&e.shiftKey&&t&&this.onOptionSelectRange(e,i,this.startRangeIndex),this.changeFocusedOptionIndex(e,i)}e.preventDefault()},onEndKey(e,t=!1){if(t){const t=e.currentTarget,i=t.value.length;t.setSelectionRange(i,i),this.focusedOptionIndex=-1}else{let t=e.metaKey||e.ctrlKey,i=this.findLastOptionIndex();this.multiple&&e.shiftKey&&t&&this.onOptionSelectRange(e,this.startRangeIndex,i),this.changeFocusedOptionIndex(e,i)}e.preventDefault()},onPageUpKey(e){this.scrollInView(0),e.preventDefault()},onPageDownKey(e){this.scrollInView(this.visibleOptions.length-1),e.preventDefault()},onEnterKey(e){-1!==this.focusedOptionIndex&&(this.multiple&&e.shiftKey?this.onOptionSelectRange(e,this.focusedOptionIndex):this.onOptionSelect(e,this.visibleOptions[this.focusedOptionIndex])),e.preventDefault()},onSpaceKey(e){this.onEnterKey(e)},onShiftKey(){this.startRangeIndex=this.focusedOptionIndex},isOptionMatched(e){return this.isValidOption(e)&&this.getOptionLabel(e).toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale))},isValidOption(e){return e&&!(this.isOptionDisabled(e)||this.isOptionGroup(e))},isValidSelectedOption(e){return this.isValidOption(e)&&this.isSelected(e)},isSelected(e){const t=this.getOptionValue(e);return this.multiple?(this.modelValue||[]).some((e=>i.equals(e,t,this.equalityKey))):i.equals(this.modelValue,t,this.equalityKey)},findFirstOptionIndex(){return this.visibleOptions.findIndex((e=>this.isValidOption(e)))},findLastOptionIndex(){return i.findLastIndex(this.visibleOptions,(e=>this.isValidOption(e)))},findNextOptionIndex(e){const t=e<this.visibleOptions.length-1?this.visibleOptions.slice(e+1).findIndex((e=>this.isValidOption(e))):-1;return t>-1?t+e+1:e},findPrevOptionIndex(e){const t=e>0?i.findLastIndex(this.visibleOptions.slice(0,e),(e=>this.isValidOption(e))):-1;return t>-1?t:e},findFirstSelectedOptionIndex(){return this.hasSelectedOption?this.visibleOptions.findIndex((e=>this.isValidSelectedOption(e))):-1},findLastSelectedOptionIndex(){return this.hasSelectedOption?i.findLastIndex(this.visibleOptions,(e=>this.isValidSelectedOption(e))):-1},findNextSelectedOptionIndex(e){const t=this.hasSelectedOption&&e<this.visibleOptions.length-1?this.visibleOptions.slice(e+1).findIndex((e=>this.isValidSelectedOption(e))):-1;return t>-1?t+e+1:-1},findPrevSelectedOptionIndex(e){const t=this.hasSelectedOption&&e>0?i.findLastIndex(this.visibleOptions.slice(0,e),(e=>this.isValidSelectedOption(e))):-1;return t>-1?t:-1},findNearestSelectedOptionIndex(e,t=!1){let i=-1;return this.hasSelectedOption&&(t?(i=this.findPrevSelectedOptionIndex(e),i=-1===i?this.findNextSelectedOptionIndex(e):i):(i=this.findNextSelectedOptionIndex(e),i=-1===i?this.findPrevSelectedOptionIndex(e):i)),i>-1?i:e},findFirstFocusedOptionIndex(){const e=this.findFirstSelectedOptionIndex();return e<0?this.findFirstOptionIndex():e},findLastFocusedOptionIndex(){const e=this.findLastSelectedOptionIndex();return e<0?this.findLastOptionIndex():e},searchOptions(e,t){this.searchValue=(this.searchValue||"")+t;let i=-1;-1!==this.focusedOptionIndex?(i=this.visibleOptions.slice(this.focusedOptionIndex).findIndex((e=>this.isOptionMatched(e))),i=-1===i?this.visibleOptions.slice(0,this.focusedOptionIndex).findIndex((e=>this.isOptionMatched(e))):i+this.focusedOptionIndex):i=this.visibleOptions.findIndex((e=>this.isOptionMatched(e))),-1===i&&-1===this.focusedOptionIndex&&(i=this.findFirstFocusedOptionIndex()),-1!==i&&this.changeFocusedOptionIndex(e,i),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((()=>{this.searchValue="",this.searchTimeout=null}),500)},removeOption(e){return this.modelValue.filter((t=>!i.equals(t,this.getOptionValue(e),this.equalityKey)))},changeFocusedOptionIndex(e,t){this.focusedOptionIndex!==t&&(this.focusedOptionIndex=t,this.scrollInView(),this.selectOnFocus&&!this.multiple&&this.onOptionSelect(e,this.visibleOptions[t]))},scrollInView(e=-1){const t=-1!==e?`${this.id}_${e}`:this.focusedOptionId,i=s.findSingle(this.list,`li[id="${t}"]`);i?i.scrollIntoView&&i.scrollIntoView({block:"nearest",inline:"nearest"}):this.virtualScrollerDisabled||this.virtualScroller&&this.virtualScroller.scrollToIndex(-1!==e?e:this.focusedOptionIndex)},autoUpdateModel(){this.selectOnFocus&&this.autoOptionFocus&&!this.hasSelectedOption&&!this.multiple&&(this.focusedOptionIndex=this.findFirstFocusedOptionIndex(),this.onOptionSelect(null,this.visibleOptions[this.focusedOptionIndex]))},updateModel(e,t){this.$emit("update:modelValue",t),this.$emit("change",{originalEvent:e,value:t})},flatOptions(e){return(e||[]).reduce(((e,t,i)=>{e.push({optionGroup:t,group:!0,index:i});const s=this.getOptionGroupChildren(t);return s&&s.forEach((t=>e.push(t))),e}),[])},listRef(e,t){this.list=e,t&&t(e)},virtualScrollerRef(e){this.virtualScroller=e}},computed:{containerClass(){return["p-listbox p-component",{"p-focus":this.focused,"p-disabled":this.disabled}]},visibleOptions(){const t=this.optionGroupLabel?this.flatOptions(this.options):this.options||[];return this.filterValue?e.filter(t,this.searchFields,this.filterValue,this.filterMatchMode,this.filterLocale):t},hasSelectedOption(){return i.isNotEmpty(this.modelValue)},equalityKey(){return this.optionValue?null:this.dataKey},searchFields(){return this.filterFields||[this.optionLabel]},filterResultMessageText(){return i.isNotEmpty(this.visibleOptions)?this.filterMessageText.replaceAll("{0}",this.visibleOptions.length):this.emptyFilterMessageText},filterMessageText(){return this.filterMessage||this.$primevue.config.locale.searchMessage||""},emptyFilterMessageText(){return this.emptyFilterMessage||this.$primevue.config.locale.emptySearchMessage||this.$primevue.config.locale.emptyFilterMessage||""},emptyMessageText(){return this.emptyMessage||this.$primevue.config.locale.emptyMessage||""},selectionMessageText(){return this.selectionMessage||this.$primevue.config.locale.selectionMessage||""},emptySelectionMessageText(){return this.emptySelectionMessage||this.$primevue.config.locale.emptySelectionMessage||""},selectedMessageText(){return this.hasSelectedOption?this.selectionMessageText.replaceAll("{0}",this.multiple?this.modelValue.length:"1"):this.emptySelectionMessageText},id(){return this.$attrs.id||n()},focusedOptionId(){return-1!==this.focusedOptionIndex?`${this.id}_${this.focusedOptionIndex}`:null},ariaSetSize(){return this.visibleOptions.filter((e=>!this.isOptionGroup(e))).length},virtualScrollerDisabled(){return!this.virtualScrollerOptions}},directives:{ripple:t},components:{VirtualScroller:o}};const M=["id"],V=["tabindex"],L={key:0,class:"p-listbox-header"},w={class:"p-listbox-filter-container"},D=["placeholder","aria-owns","aria-activedescendant","tabindex"],T={role:"status","aria-live":"polite",class:"p-hidden-accessible"},$=["id","aria-multiselectable","aria-label","aria-labelledby","aria-activedescendant","aria-disabled"],E=["id"],k=["id","aria-label","aria-selected","aria-disabled","aria-setsize","aria-posinset","onClick","onMousedown","onMousemove"],R={key:0,class:"p-listbox-empty-message",role:"option"},H={key:1,class:"p-listbox-empty-message",role:"option"},A={key:1,role:"status","aria-live":"polite",class:"p-hidden-accessible"},G={role:"status","aria-live":"polite",class:"p-hidden-accessible"},C=["tabindex"];!function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===i&&s.firstChild?s.insertBefore(n,s.firstChild):s.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-listbox-list-wrapper {\n overflow: auto;\n}\n.p-listbox-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.p-listbox-item {\n cursor: pointer;\n position: relative;\n overflow: hidden;\n}\n.p-listbox-item-group {\n cursor: auto;\n}\n.p-listbox-filter-container {\n position: relative;\n}\n.p-listbox-filter-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n}\n.p-listbox-filter {\n width: 100%;\n}\n"),K.render=function(e,t,i,s,n,o){const K=l("VirtualScroller"),P=a("ripple");return r(),d("div",{id:o.id,class:p(o.containerClass),onFocusout:t[10]||(t[10]=(...e)=>o.onFocusout&&o.onFocusout(...e))},[u("span",{ref:"firstHiddenFocusableElement",role:"presentation","aria-hidden":"true",class:"p-hidden-accessible p-hidden-focusable",tabindex:i.disabled?-1:i.tabindex,onFocus:t[0]||(t[0]=(...e)=>o.onFirstHiddenFocus&&o.onFirstHiddenFocus(...e))},null,40,V),h(e.$slots,"header",{value:i.modelValue,options:o.visibleOptions}),i.filter?(r(),d("div",L,[u("div",w,[c(u("input",f({ref:"filterInput","onUpdate:modelValue":t[1]||(t[1]=e=>n.filterValue=e),type:"text",class:"p-listbox-filter p-inputtext p-component",placeholder:i.filterPlaceholder,role:"searchbox",autocomplete:"off","aria-owns":o.id+"_list","aria-activedescendant":o.focusedOptionId,tabindex:i.disabled||n.focused?-1:i.tabindex,onInput:t[2]||(t[2]=(...e)=>o.onFilterChange&&o.onFilterChange(...e)),onBlur:t[3]||(t[3]=(...e)=>o.onFilterBlur&&o.onFilterBlur(...e)),onKeydown:t[4]||(t[4]=(...e)=>o.onFilterKeyDown&&o.onFilterKeyDown(...e))},i.filterInputProps),null,16,D),[[O,n.filterValue]]),u("span",{class:p(["p-listbox-filter-icon",i.filterIcon])},null,2)]),u("span",T,x(o.filterResultMessageText),1)])):b("",!0),u("div",{ref:"listWrapper",class:"p-listbox-list-wrapper",style:g(i.listStyle)},[m(K,f({ref:o.virtualScrollerRef},i.virtualScrollerOptions,{style:i.listStyle,items:o.visibleOptions,tabindex:-1,disabled:o.virtualScrollerDisabled}),y({content:I((({styleClass:s,contentRef:l,items:a,getItemOptions:f,contentStyle:O,itemSize:m})=>[u("ul",{ref:e=>o.listRef(e,l),id:o.id+"_list",class:p(["p-listbox-list",s]),style:g(O),tabindex:-1,role:"listbox","aria-multiselectable":i.multiple,"aria-label":e.ariaLabel,"aria-labelledby":e.ariaLabelledby,"aria-activedescendant":n.focused?o.focusedOptionId:void 0,"aria-disabled":i.disabled,onFocus:t[6]||(t[6]=(...e)=>o.onListFocus&&o.onListFocus(...e)),onBlur:t[7]||(t[7]=(...e)=>o.onListBlur&&o.onListBlur(...e)),onKeydown:t[8]||(t[8]=(...e)=>o.onListKeyDown&&o.onListKeyDown(...e))},[(r(!0),d(v,null,S(a,((i,s)=>(r(),d(v,{key:o.getOptionRenderKey(i,o.getOptionIndex(s,f))},[o.isOptionGroup(i)?(r(),d("li",{key:0,id:o.id+"_"+o.getOptionIndex(s,f),style:g({height:m?m+"px":void 0}),class:"p-listbox-item-group",role:"option"},[h(e.$slots,"optiongroup",{option:i.optionGroup,index:o.getOptionIndex(s,f)},(()=>[F(x(o.getOptionGroupLabel(i.optionGroup)),1)]))],12,E)):c((r(),d("li",{key:1,id:o.id+"_"+o.getOptionIndex(s,f),style:g({height:m?m+"px":void 0}),class:p(["p-listbox-item",{"p-highlight":o.isSelected(i),"p-focus":n.focusedOptionIndex===o.getOptionIndex(s,f),"p-disabled":o.isOptionDisabled(i)}]),role:"option","aria-label":o.getOptionLabel(i),"aria-selected":o.isSelected(i),"aria-disabled":o.isOptionDisabled(i),"aria-setsize":o.ariaSetSize,"aria-posinset":o.getAriaPosInset(o.getOptionIndex(s,f)),onClick:e=>o.onOptionSelect(e,i,o.getOptionIndex(s,f)),onMousedown:e=>o.onOptionMouseDown(e,o.getOptionIndex(s,f)),onMousemove:e=>o.onOptionMouseMove(e,o.getOptionIndex(s,f)),onTouchend:t[5]||(t[5]=e=>o.onOptionTouchEnd())},[h(e.$slots,"option",{option:i,index:o.getOptionIndex(s,f)},(()=>[F(x(o.getOptionLabel(i)),1)]))],46,k)),[[P]])],64)))),128)),n.filterValue&&(!a||a&&0===a.length)?(r(),d("li",R,[h(e.$slots,"emptyfilter",{},(()=>[F(x(o.emptyFilterMessageText),1)]))])):!i.options||i.options&&0===i.options.length?(r(),d("li",H,[h(e.$slots,"empty",{},(()=>[F(x(o.emptyMessageText),1)]))])):b("",!0)],46,$)])),_:2},[e.$slots.loader?{name:"loader",fn:I((({options:t})=>[h(e.$slots,"loader",{options:t})])),key:"0"}:void 0]),1040,["style","items","disabled"])],4),h(e.$slots,"footer",{value:i.modelValue,options:o.visibleOptions}),!i.options||i.options&&0===i.options.length?(r(),d("span",A,x(o.emptyMessageText),1)):b("",!0),u("span",G,x(o.selectedMessageText),1),u("span",{ref:"lastHiddenFocusableElement",role:"presentation","aria-hidden":"true",class:"p-hidden-accessible p-hidden-focusable",tabindex:i.disabled?-1:i.tabindex,onFocus:t[9]||(t[9]=(...e)=>o.onLastHiddenFocus&&o.onLastHiddenFocus(...e))},null,40,C)],42,M)};export{K as default};
@@ -1,5 +1,5 @@
1
1
  this.primevue = this.primevue || {};
2
- this.primevue.listbox = (function (utils, api, Ripple, VirtualScroller, vue) {
2
+ this.primevue.listbox = (function (api, Ripple, utils, VirtualScroller, vue) {
3
3
  'use strict';
4
4
 
5
5
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -163,7 +163,7 @@ this.primevue.listbox = (function (utils, api, Ripple, VirtualScroller, vue) {
163
163
  },
164
164
  onListFocus(event) {
165
165
  this.focused = true;
166
- this.focusedOptionIndex = this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;
166
+ this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;
167
167
  this.$emit('focus', event);
168
168
  },
169
169
  onListBlur(event) {
@@ -241,6 +241,9 @@ this.primevue.listbox = (function (utils, api, Ripple, VirtualScroller, vue) {
241
241
  this.optionTouched = false;
242
242
  index !== -1 && (this.focusedOptionIndex = index);
243
243
  },
244
+ onOptionMouseDown(event, index) {
245
+ this.changeFocusedOptionIndex(event, index);
246
+ },
244
247
  onOptionMouseMove(event, index) {
245
248
  if (this.focusOnHover) {
246
249
  this.changeFocusedOptionIndex(event, index);
@@ -671,7 +674,7 @@ this.primevue.listbox = (function (utils, api, Ripple, VirtualScroller, vue) {
671
674
  };
672
675
  const _hoisted_7 = ["id", "aria-multiselectable", "aria-label", "aria-labelledby", "aria-activedescendant", "aria-disabled"];
673
676
  const _hoisted_8 = ["id"];
674
- const _hoisted_9 = ["id", "aria-label", "aria-selected", "aria-disabled", "aria-setsize", "aria-posinset", "onClick", "onMousemove"];
677
+ const _hoisted_9 = ["id", "aria-label", "aria-selected", "aria-disabled", "aria-setsize", "aria-posinset", "onClick", "onMousedown", "onMousemove"];
675
678
  const _hoisted_10 = {
676
679
  key: 0,
677
680
  class: "p-listbox-empty-message",
@@ -683,7 +686,7 @@ this.primevue.listbox = (function (utils, api, Ripple, VirtualScroller, vue) {
683
686
  role: "option"
684
687
  };
685
688
  const _hoisted_12 = {
686
- key: 0,
689
+ key: 1,
687
690
  role: "status",
688
691
  "aria-live": "polite",
689
692
  class: "p-hidden-accessible"
@@ -802,6 +805,7 @@ this.primevue.listbox = (function (utils, api, Ripple, VirtualScroller, vue) {
802
805
  "aria-setsize": $options.ariaSetSize,
803
806
  "aria-posinset": $options.getAriaPosInset($options.getOptionIndex(i, getItemOptions)),
804
807
  onClick: $event => ($options.onOptionSelect($event, option, $options.getOptionIndex(i, getItemOptions))),
808
+ onMousedown: $event => ($options.onOptionMouseDown($event, $options.getOptionIndex(i, getItemOptions))),
805
809
  onMousemove: $event => ($options.onOptionMouseMove($event, $options.getOptionIndex(i, getItemOptions))),
806
810
  onTouchend: _cache[5] || (_cache[5] = $event => ($options.onOptionTouchEnd()))
807
811
  }, [
@@ -829,11 +833,7 @@ this.primevue.listbox = (function (utils, api, Ripple, VirtualScroller, vue) {
829
833
  ])
830
834
  ]))
831
835
  : vue.createCommentVNode("", true)
832
- ], 46, _hoisted_7),
833
- (!$props.options || ($props.options && $props.options.length === 0))
834
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_12, vue.toDisplayString($options.emptyMessageText), 1))
835
- : vue.createCommentVNode("", true),
836
- vue.createElementVNode("span", _hoisted_13, vue.toDisplayString($options.selectedMessageText), 1)
836
+ ], 46, _hoisted_7)
837
837
  ]),
838
838
  _: 2
839
839
  }, [
@@ -852,6 +852,10 @@ this.primevue.listbox = (function (utils, api, Ripple, VirtualScroller, vue) {
852
852
  value: $props.modelValue,
853
853
  options: $options.visibleOptions
854
854
  }),
855
+ (!$props.options || ($props.options && $props.options.length === 0))
856
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_12, vue.toDisplayString($options.emptyMessageText), 1))
857
+ : vue.createCommentVNode("", true),
858
+ vue.createElementVNode("span", _hoisted_13, vue.toDisplayString($options.selectedMessageText), 1),
855
859
  vue.createElementVNode("span", {
856
860
  ref: "lastHiddenFocusableElement",
857
861
  role: "presentation",
@@ -897,4 +901,4 @@ this.primevue.listbox = (function (utils, api, Ripple, VirtualScroller, vue) {
897
901
 
898
902
  return script;
899
903
 
900
- })(primevue.utils, primevue.api, primevue.ripple, primevue.virtualscroller, Vue);
904
+ })(primevue.api, primevue.ripple, primevue.utils, primevue.virtualscroller, Vue);
@@ -1 +1 @@
1
- this.primevue=this.primevue||{},this.primevue.listbox=function(e,t,i,s,n){"use strict";function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=o(i),a=o(s),r={name:"Listbox",emits:["update:modelValue","change","focus","blur","filter"],props:{modelValue:null,options:Array,optionLabel:null,optionValue:null,optionDisabled:null,optionGroupLabel:null,optionGroupChildren:null,listStyle:null,disabled:Boolean,dataKey:null,multiple:Boolean,metaKeySelection:Boolean,filter:Boolean,filterPlaceholder:String,filterLocale:String,filterMatchMode:{type:String,default:"contains"},filterFields:{type:Array,default:null},filterInputProps:null,virtualScrollerOptions:{type:Object,default:null},autoOptionFocus:{type:Boolean,default:!0},selectOnFocus:{type:Boolean,default:!1},filterMessage:{type:String,default:null},selectionMessage:{type:String,default:null},emptySelectionMessage:{type:String,default:null},emptyFilterMessage:{type:String,default:null},emptyMessage:{type:String,default:null},filterIcon:{type:String,default:"pi pi-search"},tabindex:{type:Number,default:0},"aria-label":{type:String,default:null},"aria-labelledby":{type:String,default:null}},list:null,virtualScroller:null,optionTouched:!1,startRangeIndex:-1,searchTimeout:null,searchValue:"",focusOnHover:!1,data:()=>({filterValue:null,focused:!1,focusedOptionIndex:-1}),watch:{options(){this.autoUpdateModel()}},mounted(){this.autoUpdateModel()},methods:{getOptionIndex(e,t){return this.virtualScrollerDisabled?e:t&&t(e).index},getOptionLabel(t){return this.optionLabel?e.ObjectUtils.resolveFieldData(t,this.optionLabel):t},getOptionValue(t){return this.optionValue?e.ObjectUtils.resolveFieldData(t,this.optionValue):t},getOptionRenderKey(t,i){return(this.dataKey?e.ObjectUtils.resolveFieldData(t,this.dataKey):this.getOptionLabel(t))+"_"+i},isOptionDisabled(t){return!!this.optionDisabled&&e.ObjectUtils.resolveFieldData(t,this.optionDisabled)},isOptionGroup(e){return this.optionGroupLabel&&e.optionGroup&&e.group},getOptionGroupLabel(t){return e.ObjectUtils.resolveFieldData(t,this.optionGroupLabel)},getOptionGroupChildren(t){return e.ObjectUtils.resolveFieldData(t,this.optionGroupChildren)},getAriaPosInset(e){return(this.optionGroupLabel?e-this.visibleOptions.slice(0,e).filter((e=>this.isOptionGroup(e))).length:e)+1},onFirstHiddenFocus(){e.DomHandler.focus(this.list);const t=e.DomHandler.getFirstFocusableElement(this.$el,":not(.p-hidden-focusable)");this.$refs.lastHiddenFocusableElement.tabIndex=e.ObjectUtils.isEmpty(t)?-1:void 0,this.$refs.firstHiddenFocusableElement.tabIndex=-1},onLastHiddenFocus(t){if(t.relatedTarget===this.list){const t=e.DomHandler.getFirstFocusableElement(this.$el,":not(.p-hidden-focusable)");e.DomHandler.focus(t),this.$refs.firstHiddenFocusableElement.tabIndex=void 0}else e.DomHandler.focus(this.$refs.firstHiddenFocusableElement);this.$refs.lastHiddenFocusableElement.tabIndex=-1},onFocusout(e){!this.$el.contains(e.relatedTarget)&&this.$refs.lastHiddenFocusableElement&&this.$refs.firstHiddenFocusableElement&&(this.$refs.lastHiddenFocusableElement.tabIndex=this.$refs.firstHiddenFocusableElement.tabIndex=void 0)},onListFocus(e){this.focused=!0,this.focusedOptionIndex=this.autoOptionFocus?this.findFirstFocusedOptionIndex():-1,this.$emit("focus",e)},onListBlur(e){this.focused=!1,this.focusedOptionIndex=this.startRangeIndex=-1,this.searchValue="",this.$emit("blur",e)},onListKeyDown(t){const i=t.metaKey||t.ctrlKey;switch(t.code){case"ArrowDown":this.onArrowDownKey(t);break;case"ArrowUp":this.onArrowUpKey(t);break;case"Home":this.onHomeKey(t);break;case"End":this.onEndKey(t);break;case"PageDown":this.onPageDownKey(t);break;case"PageUp":this.onPageUpKey(t);break;case"Enter":case"Space":this.onSpaceKey(t);break;case"Tab":break;case"ShiftLeft":case"ShiftRight":this.onShiftKey(t);break;default:if(this.multiple&&"KeyA"===t.code&&i){const e=this.visibleOptions.filter((e=>this.isValidOption(e))).map((e=>this.getOptionValue(e)));this.updateModel(t,e),t.preventDefault();break}!i&&e.ObjectUtils.isPrintableCharacter(t.key)&&(this.searchOptions(t,t.key),t.preventDefault())}},onOptionSelect(e,t,i=-1){this.disabled||this.isOptionDisabled(t)||(this.multiple?this.onOptionSelectMultiple(e,t):this.onOptionSelectSingle(e,t),this.optionTouched=!1,-1!==i&&(this.focusedOptionIndex=i))},onOptionMouseMove(e,t){this.focusOnHover&&this.changeFocusedOptionIndex(e,t)},onOptionTouchEnd(){this.disabled||(this.optionTouched=!0)},onOptionSelectSingle(e,t){let i=this.isSelected(t),s=!1,n=null;if(!this.optionTouched&&this.metaKeySelection){let o=e.metaKey||e.ctrlKey;i?o&&(n=null,s=!0):(n=this.getOptionValue(t),s=!0)}else n=i?null:this.getOptionValue(t),s=!0;s&&this.updateModel(e,n)},onOptionSelectMultiple(e,t){let i=this.isSelected(t),s=null;if(!this.optionTouched&&this.metaKeySelection){let n=e.metaKey||e.ctrlKey;i?s=n?this.removeOption(t):[this.getOptionValue(t)]:(s=n&&this.modelValue||[],s=[...s,this.getOptionValue(t)])}else s=i?this.removeOption(t):[...this.modelValue||[],this.getOptionValue(t)];this.updateModel(e,s)},onOptionSelectRange(e,t=-1,i=-1){if(-1===t&&(t=this.findNearestSelectedOptionIndex(i,!0)),-1===i&&(i=this.findNearestSelectedOptionIndex(t)),-1!==t&&-1!==i){const s=Math.min(t,i),n=Math.max(t,i),o=this.visibleOptions.slice(s,n+1).filter((e=>this.isValidOption(e))).map((e=>this.getOptionValue(e)));this.updateModel(e,o)}},onFilterChange(e){this.$emit("filter",{originalEvent:e,value:e.target.value}),this.focusedOptionIndex=this.startRangeIndex=-1},onFilterBlur(){this.focusedOptionIndex=this.startRangeIndex=-1},onFilterKeyDown(e){switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"ArrowLeft":case"ArrowRight":this.onArrowLeftKey(e,!0);break;case"Home":this.onHomeKey(e,!0);break;case"End":this.onEndKey(e,!0);break;case"Enter":this.onEnterKey(e);break;case"ShiftLeft":case"ShiftRight":this.onShiftKey(e)}},onArrowDownKey(e){const t=-1!==this.focusedOptionIndex?this.findNextOptionIndex(this.focusedOptionIndex):this.findFirstFocusedOptionIndex();this.multiple&&e.shiftKey&&this.onOptionSelectRange(e,this.startRangeIndex,t),this.changeFocusedOptionIndex(e,t),e.preventDefault()},onArrowUpKey(e){const t=-1!==this.focusedOptionIndex?this.findPrevOptionIndex(this.focusedOptionIndex):this.findLastFocusedOptionIndex();this.multiple&&e.shiftKey&&this.onOptionSelectRange(e,t,this.startRangeIndex),this.changeFocusedOptionIndex(e,t),e.preventDefault()},onArrowLeftKey(e,t=!1){t&&(this.focusedOptionIndex=-1)},onHomeKey(e,t=!1){if(t)e.currentTarget.setSelectionRange(0,0),this.focusedOptionIndex=-1;else{let t=e.metaKey||e.ctrlKey,i=this.findFirstOptionIndex();this.multiple&&e.shiftKey&&t&&this.onOptionSelectRange(e,i,this.startRangeIndex),this.changeFocusedOptionIndex(e,i)}e.preventDefault()},onEndKey(e,t=!1){if(t){const t=e.currentTarget,i=t.value.length;t.setSelectionRange(i,i),this.focusedOptionIndex=-1}else{let t=e.metaKey||e.ctrlKey,i=this.findLastOptionIndex();this.multiple&&e.shiftKey&&t&&this.onOptionSelectRange(e,this.startRangeIndex,i),this.changeFocusedOptionIndex(e,i)}e.preventDefault()},onPageUpKey(e){this.scrollInView(0),e.preventDefault()},onPageDownKey(e){this.scrollInView(this.visibleOptions.length-1),e.preventDefault()},onEnterKey(e){-1!==this.focusedOptionIndex&&(this.multiple&&e.shiftKey?this.onOptionSelectRange(e,this.focusedOptionIndex):this.onOptionSelect(e,this.visibleOptions[this.focusedOptionIndex])),e.preventDefault()},onSpaceKey(e){this.onEnterKey(e)},onShiftKey(){this.startRangeIndex=this.focusedOptionIndex},isOptionMatched(e){return this.isValidOption(e)&&this.getOptionLabel(e).toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale))},isValidOption(e){return e&&!(this.isOptionDisabled(e)||this.isOptionGroup(e))},isValidSelectedOption(e){return this.isValidOption(e)&&this.isSelected(e)},isSelected(t){const i=this.getOptionValue(t);return this.multiple?(this.modelValue||[]).some((t=>e.ObjectUtils.equals(t,i,this.equalityKey))):e.ObjectUtils.equals(this.modelValue,i,this.equalityKey)},findFirstOptionIndex(){return this.visibleOptions.findIndex((e=>this.isValidOption(e)))},findLastOptionIndex(){return e.ObjectUtils.findLastIndex(this.visibleOptions,(e=>this.isValidOption(e)))},findNextOptionIndex(e){const t=e<this.visibleOptions.length-1?this.visibleOptions.slice(e+1).findIndex((e=>this.isValidOption(e))):-1;return t>-1?t+e+1:e},findPrevOptionIndex(t){const i=t>0?e.ObjectUtils.findLastIndex(this.visibleOptions.slice(0,t),(e=>this.isValidOption(e))):-1;return i>-1?i:t},findFirstSelectedOptionIndex(){return this.hasSelectedOption?this.visibleOptions.findIndex((e=>this.isValidSelectedOption(e))):-1},findLastSelectedOptionIndex(){return this.hasSelectedOption?e.ObjectUtils.findLastIndex(this.visibleOptions,(e=>this.isValidSelectedOption(e))):-1},findNextSelectedOptionIndex(e){const t=this.hasSelectedOption&&e<this.visibleOptions.length-1?this.visibleOptions.slice(e+1).findIndex((e=>this.isValidSelectedOption(e))):-1;return t>-1?t+e+1:-1},findPrevSelectedOptionIndex(t){const i=this.hasSelectedOption&&t>0?e.ObjectUtils.findLastIndex(this.visibleOptions.slice(0,t),(e=>this.isValidSelectedOption(e))):-1;return i>-1?i:-1},findNearestSelectedOptionIndex(e,t=!1){let i=-1;return this.hasSelectedOption&&(t?(i=this.findPrevSelectedOptionIndex(e),i=-1===i?this.findNextSelectedOptionIndex(e):i):(i=this.findNextSelectedOptionIndex(e),i=-1===i?this.findPrevSelectedOptionIndex(e):i)),i>-1?i:e},findFirstFocusedOptionIndex(){const e=this.findFirstSelectedOptionIndex();return e<0?this.findFirstOptionIndex():e},findLastFocusedOptionIndex(){const e=this.findLastSelectedOptionIndex();return e<0?this.findLastOptionIndex():e},searchOptions(e,t){this.searchValue=(this.searchValue||"")+t;let i=-1;-1!==this.focusedOptionIndex?(i=this.visibleOptions.slice(this.focusedOptionIndex).findIndex((e=>this.isOptionMatched(e))),i=-1===i?this.visibleOptions.slice(0,this.focusedOptionIndex).findIndex((e=>this.isOptionMatched(e))):i+this.focusedOptionIndex):i=this.visibleOptions.findIndex((e=>this.isOptionMatched(e))),-1===i&&-1===this.focusedOptionIndex&&(i=this.findFirstFocusedOptionIndex()),-1!==i&&this.changeFocusedOptionIndex(e,i),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((()=>{this.searchValue="",this.searchTimeout=null}),500)},removeOption(t){return this.modelValue.filter((i=>!e.ObjectUtils.equals(i,this.getOptionValue(t),this.equalityKey)))},changeFocusedOptionIndex(e,t){this.focusedOptionIndex!==t&&(this.focusedOptionIndex=t,this.scrollInView(),this.selectOnFocus&&!this.multiple&&this.onOptionSelect(e,this.visibleOptions[t]))},scrollInView(t=-1){const i=-1!==t?`${this.id}_${t}`:this.focusedOptionId,s=e.DomHandler.findSingle(this.list,`li[id="${i}"]`);s?s.scrollIntoView&&s.scrollIntoView({block:"nearest",inline:"nearest"}):this.virtualScrollerDisabled||this.virtualScroller&&this.virtualScroller.scrollToIndex(-1!==t?t:this.focusedOptionIndex)},autoUpdateModel(){this.selectOnFocus&&this.autoOptionFocus&&!this.hasSelectedOption&&!this.multiple&&(this.focusedOptionIndex=this.findFirstFocusedOptionIndex(),this.onOptionSelect(null,this.visibleOptions[this.focusedOptionIndex]))},updateModel(e,t){this.$emit("update:modelValue",t),this.$emit("change",{originalEvent:e,value:t})},flatOptions(e){return(e||[]).reduce(((e,t,i)=>{e.push({optionGroup:t,group:!0,index:i});const s=this.getOptionGroupChildren(t);return s&&s.forEach((t=>e.push(t))),e}),[])},listRef(e,t){this.list=e,t&&t(e)},virtualScrollerRef(e){this.virtualScroller=e}},computed:{containerClass(){return["p-listbox p-component",{"p-focus":this.focused,"p-disabled":this.disabled}]},visibleOptions(){const e=this.optionGroupLabel?this.flatOptions(this.options):this.options||[];return this.filterValue?t.FilterService.filter(e,this.searchFields,this.filterValue,this.filterMatchMode,this.filterLocale):e},hasSelectedOption(){return e.ObjectUtils.isNotEmpty(this.modelValue)},equalityKey(){return this.optionValue?null:this.dataKey},searchFields(){return this.filterFields||[this.optionLabel]},filterResultMessageText(){return e.ObjectUtils.isNotEmpty(this.visibleOptions)?this.filterMessageText.replaceAll("{0}",this.visibleOptions.length):this.emptyFilterMessageText},filterMessageText(){return this.filterMessage||this.$primevue.config.locale.searchMessage||""},emptyFilterMessageText(){return this.emptyFilterMessage||this.$primevue.config.locale.emptySearchMessage||this.$primevue.config.locale.emptyFilterMessage||""},emptyMessageText(){return this.emptyMessage||this.$primevue.config.locale.emptyMessage||""},selectionMessageText(){return this.selectionMessage||this.$primevue.config.locale.selectionMessage||""},emptySelectionMessageText(){return this.emptySelectionMessage||this.$primevue.config.locale.emptySelectionMessage||""},selectedMessageText(){return this.hasSelectedOption?this.selectionMessageText.replaceAll("{0}",this.multiple?this.modelValue.length:"1"):this.emptySelectionMessageText},id(){return this.$attrs.id||e.UniqueComponentId()},focusedOptionId(){return-1!==this.focusedOptionIndex?`${this.id}_${this.focusedOptionIndex}`:null},ariaSetSize(){return this.visibleOptions.filter((e=>!this.isOptionGroup(e))).length},virtualScrollerDisabled(){return!this.virtualScrollerOptions}},directives:{ripple:l.default},components:{VirtualScroller:a.default}};const d=["id"],p=["tabindex"],c={key:0,class:"p-listbox-header"},u={class:"p-listbox-filter-container"},h=["placeholder","aria-owns","aria-activedescendant","tabindex"],f={role:"status","aria-live":"polite",class:"p-hidden-accessible"},O=["id","aria-multiselectable","aria-label","aria-labelledby","aria-activedescendant","aria-disabled"],b=["id"],m=["id","aria-label","aria-selected","aria-disabled","aria-setsize","aria-posinset","onClick","onMousemove"],x={key:0,class:"p-listbox-empty-message",role:"option"},g={key:1,class:"p-listbox-empty-message",role:"option"},y={key:0,role:"status","aria-live":"polite",class:"p-hidden-accessible"},S={role:"status","aria-live":"polite",class:"p-hidden-accessible"},v=["tabindex"];return function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===i&&s.firstChild?s.insertBefore(n,s.firstChild):s.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-listbox-list-wrapper {\n overflow: auto;\n}\n.p-listbox-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.p-listbox-item {\n cursor: pointer;\n position: relative;\n overflow: hidden;\n}\n.p-listbox-item-group {\n cursor: auto;\n}\n.p-listbox-filter-container {\n position: relative;\n}\n.p-listbox-filter-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n}\n.p-listbox-filter {\n width: 100%;\n}\n"),r.render=function(e,t,i,s,o,l){const a=n.resolveComponent("VirtualScroller"),r=n.resolveDirective("ripple");return n.openBlock(),n.createElementBlock("div",{id:l.id,class:n.normalizeClass(l.containerClass),onFocusout:t[10]||(t[10]=(...e)=>l.onFocusout&&l.onFocusout(...e))},[n.createElementVNode("span",{ref:"firstHiddenFocusableElement",role:"presentation","aria-hidden":"true",class:"p-hidden-accessible p-hidden-focusable",tabindex:i.disabled?-1:i.tabindex,onFocus:t[0]||(t[0]=(...e)=>l.onFirstHiddenFocus&&l.onFirstHiddenFocus(...e))},null,40,p),n.renderSlot(e.$slots,"header",{value:i.modelValue,options:l.visibleOptions}),i.filter?(n.openBlock(),n.createElementBlock("div",c,[n.createElementVNode("div",u,[n.withDirectives(n.createElementVNode("input",n.mergeProps({ref:"filterInput","onUpdate:modelValue":t[1]||(t[1]=e=>o.filterValue=e),type:"text",class:"p-listbox-filter p-inputtext p-component",placeholder:i.filterPlaceholder,role:"searchbox",autocomplete:"off","aria-owns":l.id+"_list","aria-activedescendant":l.focusedOptionId,tabindex:i.disabled||o.focused?-1:i.tabindex,onInput:t[2]||(t[2]=(...e)=>l.onFilterChange&&l.onFilterChange(...e)),onBlur:t[3]||(t[3]=(...e)=>l.onFilterBlur&&l.onFilterBlur(...e)),onKeydown:t[4]||(t[4]=(...e)=>l.onFilterKeyDown&&l.onFilterKeyDown(...e))},i.filterInputProps),null,16,h),[[n.vModelText,o.filterValue]]),n.createElementVNode("span",{class:n.normalizeClass(["p-listbox-filter-icon",i.filterIcon])},null,2)]),n.createElementVNode("span",f,n.toDisplayString(l.filterResultMessageText),1)])):n.createCommentVNode("",!0),n.createElementVNode("div",{ref:"listWrapper",class:"p-listbox-list-wrapper",style:n.normalizeStyle(i.listStyle)},[n.createVNode(a,n.mergeProps({ref:l.virtualScrollerRef},i.virtualScrollerOptions,{style:i.listStyle,items:l.visibleOptions,tabindex:-1,disabled:l.virtualScrollerDisabled}),n.createSlots({content:n.withCtx((({styleClass:s,contentRef:a,items:d,getItemOptions:p,contentStyle:c,itemSize:u})=>[n.createElementVNode("ul",{ref:e=>l.listRef(e,a),id:l.id+"_list",class:n.normalizeClass(["p-listbox-list",s]),style:n.normalizeStyle(c),tabindex:-1,role:"listbox","aria-multiselectable":i.multiple,"aria-label":e.ariaLabel,"aria-labelledby":e.ariaLabelledby,"aria-activedescendant":o.focused?l.focusedOptionId:void 0,"aria-disabled":i.disabled,onFocus:t[6]||(t[6]=(...e)=>l.onListFocus&&l.onListFocus(...e)),onBlur:t[7]||(t[7]=(...e)=>l.onListBlur&&l.onListBlur(...e)),onKeydown:t[8]||(t[8]=(...e)=>l.onListKeyDown&&l.onListKeyDown(...e))},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(d,((i,s)=>(n.openBlock(),n.createElementBlock(n.Fragment,{key:l.getOptionRenderKey(i,l.getOptionIndex(s,p))},[l.isOptionGroup(i)?(n.openBlock(),n.createElementBlock("li",{key:0,id:l.id+"_"+l.getOptionIndex(s,p),style:n.normalizeStyle({height:u?u+"px":void 0}),class:"p-listbox-item-group",role:"option"},[n.renderSlot(e.$slots,"optiongroup",{option:i.optionGroup,index:l.getOptionIndex(s,p)},(()=>[n.createTextVNode(n.toDisplayString(l.getOptionGroupLabel(i.optionGroup)),1)]))],12,b)):n.withDirectives((n.openBlock(),n.createElementBlock("li",{key:1,id:l.id+"_"+l.getOptionIndex(s,p),style:n.normalizeStyle({height:u?u+"px":void 0}),class:n.normalizeClass(["p-listbox-item",{"p-highlight":l.isSelected(i),"p-focus":o.focusedOptionIndex===l.getOptionIndex(s,p),"p-disabled":l.isOptionDisabled(i)}]),role:"option","aria-label":l.getOptionLabel(i),"aria-selected":l.isSelected(i),"aria-disabled":l.isOptionDisabled(i),"aria-setsize":l.ariaSetSize,"aria-posinset":l.getAriaPosInset(l.getOptionIndex(s,p)),onClick:e=>l.onOptionSelect(e,i,l.getOptionIndex(s,p)),onMousemove:e=>l.onOptionMouseMove(e,l.getOptionIndex(s,p)),onTouchend:t[5]||(t[5]=e=>l.onOptionTouchEnd())},[n.renderSlot(e.$slots,"option",{option:i,index:l.getOptionIndex(s,p)},(()=>[n.createTextVNode(n.toDisplayString(l.getOptionLabel(i)),1)]))],46,m)),[[r]])],64)))),128)),o.filterValue&&(!d||d&&0===d.length)?(n.openBlock(),n.createElementBlock("li",x,[n.renderSlot(e.$slots,"emptyfilter",{},(()=>[n.createTextVNode(n.toDisplayString(l.emptyFilterMessageText),1)]))])):!i.options||i.options&&0===i.options.length?(n.openBlock(),n.createElementBlock("li",g,[n.renderSlot(e.$slots,"empty",{},(()=>[n.createTextVNode(n.toDisplayString(l.emptyMessageText),1)]))])):n.createCommentVNode("",!0)],46,O),!i.options||i.options&&0===i.options.length?(n.openBlock(),n.createElementBlock("span",y,n.toDisplayString(l.emptyMessageText),1)):n.createCommentVNode("",!0),n.createElementVNode("span",S,n.toDisplayString(l.selectedMessageText),1)])),_:2},[e.$slots.loader?{name:"loader",fn:n.withCtx((({options:t})=>[n.renderSlot(e.$slots,"loader",{options:t})])),key:"0"}:void 0]),1040,["style","items","disabled"])],4),n.renderSlot(e.$slots,"footer",{value:i.modelValue,options:l.visibleOptions}),n.createElementVNode("span",{ref:"lastHiddenFocusableElement",role:"presentation","aria-hidden":"true",class:"p-hidden-accessible p-hidden-focusable",tabindex:i.disabled?-1:i.tabindex,onFocus:t[9]||(t[9]=(...e)=>l.onLastHiddenFocus&&l.onLastHiddenFocus(...e))},null,40,v)],42,d)},r}(primevue.utils,primevue.api,primevue.ripple,primevue.virtualscroller,Vue);
1
+ this.primevue=this.primevue||{},this.primevue.listbox=function(e,t,i,s,n){"use strict";function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=o(t),a=o(s),r={name:"Listbox",emits:["update:modelValue","change","focus","blur","filter"],props:{modelValue:null,options:Array,optionLabel:null,optionValue:null,optionDisabled:null,optionGroupLabel:null,optionGroupChildren:null,listStyle:null,disabled:Boolean,dataKey:null,multiple:Boolean,metaKeySelection:Boolean,filter:Boolean,filterPlaceholder:String,filterLocale:String,filterMatchMode:{type:String,default:"contains"},filterFields:{type:Array,default:null},filterInputProps:null,virtualScrollerOptions:{type:Object,default:null},autoOptionFocus:{type:Boolean,default:!0},selectOnFocus:{type:Boolean,default:!1},filterMessage:{type:String,default:null},selectionMessage:{type:String,default:null},emptySelectionMessage:{type:String,default:null},emptyFilterMessage:{type:String,default:null},emptyMessage:{type:String,default:null},filterIcon:{type:String,default:"pi pi-search"},tabindex:{type:Number,default:0},"aria-label":{type:String,default:null},"aria-labelledby":{type:String,default:null}},list:null,virtualScroller:null,optionTouched:!1,startRangeIndex:-1,searchTimeout:null,searchValue:"",focusOnHover:!1,data:()=>({filterValue:null,focused:!1,focusedOptionIndex:-1}),watch:{options(){this.autoUpdateModel()}},mounted(){this.autoUpdateModel()},methods:{getOptionIndex(e,t){return this.virtualScrollerDisabled?e:t&&t(e).index},getOptionLabel(e){return this.optionLabel?i.ObjectUtils.resolveFieldData(e,this.optionLabel):e},getOptionValue(e){return this.optionValue?i.ObjectUtils.resolveFieldData(e,this.optionValue):e},getOptionRenderKey(e,t){return(this.dataKey?i.ObjectUtils.resolveFieldData(e,this.dataKey):this.getOptionLabel(e))+"_"+t},isOptionDisabled(e){return!!this.optionDisabled&&i.ObjectUtils.resolveFieldData(e,this.optionDisabled)},isOptionGroup(e){return this.optionGroupLabel&&e.optionGroup&&e.group},getOptionGroupLabel(e){return i.ObjectUtils.resolveFieldData(e,this.optionGroupLabel)},getOptionGroupChildren(e){return i.ObjectUtils.resolveFieldData(e,this.optionGroupChildren)},getAriaPosInset(e){return(this.optionGroupLabel?e-this.visibleOptions.slice(0,e).filter((e=>this.isOptionGroup(e))).length:e)+1},onFirstHiddenFocus(){i.DomHandler.focus(this.list);const e=i.DomHandler.getFirstFocusableElement(this.$el,":not(.p-hidden-focusable)");this.$refs.lastHiddenFocusableElement.tabIndex=i.ObjectUtils.isEmpty(e)?-1:void 0,this.$refs.firstHiddenFocusableElement.tabIndex=-1},onLastHiddenFocus(e){if(e.relatedTarget===this.list){const e=i.DomHandler.getFirstFocusableElement(this.$el,":not(.p-hidden-focusable)");i.DomHandler.focus(e),this.$refs.firstHiddenFocusableElement.tabIndex=void 0}else i.DomHandler.focus(this.$refs.firstHiddenFocusableElement);this.$refs.lastHiddenFocusableElement.tabIndex=-1},onFocusout(e){!this.$el.contains(e.relatedTarget)&&this.$refs.lastHiddenFocusableElement&&this.$refs.firstHiddenFocusableElement&&(this.$refs.lastHiddenFocusableElement.tabIndex=this.$refs.firstHiddenFocusableElement.tabIndex=void 0)},onListFocus(e){this.focused=!0,this.focusedOptionIndex=-1!==this.focusedOptionIndex?this.focusedOptionIndex:this.autoOptionFocus?this.findFirstFocusedOptionIndex():-1,this.$emit("focus",e)},onListBlur(e){this.focused=!1,this.focusedOptionIndex=this.startRangeIndex=-1,this.searchValue="",this.$emit("blur",e)},onListKeyDown(e){const t=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"Home":this.onHomeKey(e);break;case"End":this.onEndKey(e);break;case"PageDown":this.onPageDownKey(e);break;case"PageUp":this.onPageUpKey(e);break;case"Enter":case"Space":this.onSpaceKey(e);break;case"Tab":break;case"ShiftLeft":case"ShiftRight":this.onShiftKey(e);break;default:if(this.multiple&&"KeyA"===e.code&&t){const t=this.visibleOptions.filter((e=>this.isValidOption(e))).map((e=>this.getOptionValue(e)));this.updateModel(e,t),e.preventDefault();break}!t&&i.ObjectUtils.isPrintableCharacter(e.key)&&(this.searchOptions(e,e.key),e.preventDefault())}},onOptionSelect(e,t,i=-1){this.disabled||this.isOptionDisabled(t)||(this.multiple?this.onOptionSelectMultiple(e,t):this.onOptionSelectSingle(e,t),this.optionTouched=!1,-1!==i&&(this.focusedOptionIndex=i))},onOptionMouseDown(e,t){this.changeFocusedOptionIndex(e,t)},onOptionMouseMove(e,t){this.focusOnHover&&this.changeFocusedOptionIndex(e,t)},onOptionTouchEnd(){this.disabled||(this.optionTouched=!0)},onOptionSelectSingle(e,t){let i=this.isSelected(t),s=!1,n=null;if(!this.optionTouched&&this.metaKeySelection){let o=e.metaKey||e.ctrlKey;i?o&&(n=null,s=!0):(n=this.getOptionValue(t),s=!0)}else n=i?null:this.getOptionValue(t),s=!0;s&&this.updateModel(e,n)},onOptionSelectMultiple(e,t){let i=this.isSelected(t),s=null;if(!this.optionTouched&&this.metaKeySelection){let n=e.metaKey||e.ctrlKey;i?s=n?this.removeOption(t):[this.getOptionValue(t)]:(s=n&&this.modelValue||[],s=[...s,this.getOptionValue(t)])}else s=i?this.removeOption(t):[...this.modelValue||[],this.getOptionValue(t)];this.updateModel(e,s)},onOptionSelectRange(e,t=-1,i=-1){if(-1===t&&(t=this.findNearestSelectedOptionIndex(i,!0)),-1===i&&(i=this.findNearestSelectedOptionIndex(t)),-1!==t&&-1!==i){const s=Math.min(t,i),n=Math.max(t,i),o=this.visibleOptions.slice(s,n+1).filter((e=>this.isValidOption(e))).map((e=>this.getOptionValue(e)));this.updateModel(e,o)}},onFilterChange(e){this.$emit("filter",{originalEvent:e,value:e.target.value}),this.focusedOptionIndex=this.startRangeIndex=-1},onFilterBlur(){this.focusedOptionIndex=this.startRangeIndex=-1},onFilterKeyDown(e){switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"ArrowLeft":case"ArrowRight":this.onArrowLeftKey(e,!0);break;case"Home":this.onHomeKey(e,!0);break;case"End":this.onEndKey(e,!0);break;case"Enter":this.onEnterKey(e);break;case"ShiftLeft":case"ShiftRight":this.onShiftKey(e)}},onArrowDownKey(e){const t=-1!==this.focusedOptionIndex?this.findNextOptionIndex(this.focusedOptionIndex):this.findFirstFocusedOptionIndex();this.multiple&&e.shiftKey&&this.onOptionSelectRange(e,this.startRangeIndex,t),this.changeFocusedOptionIndex(e,t),e.preventDefault()},onArrowUpKey(e){const t=-1!==this.focusedOptionIndex?this.findPrevOptionIndex(this.focusedOptionIndex):this.findLastFocusedOptionIndex();this.multiple&&e.shiftKey&&this.onOptionSelectRange(e,t,this.startRangeIndex),this.changeFocusedOptionIndex(e,t),e.preventDefault()},onArrowLeftKey(e,t=!1){t&&(this.focusedOptionIndex=-1)},onHomeKey(e,t=!1){if(t)e.currentTarget.setSelectionRange(0,0),this.focusedOptionIndex=-1;else{let t=e.metaKey||e.ctrlKey,i=this.findFirstOptionIndex();this.multiple&&e.shiftKey&&t&&this.onOptionSelectRange(e,i,this.startRangeIndex),this.changeFocusedOptionIndex(e,i)}e.preventDefault()},onEndKey(e,t=!1){if(t){const t=e.currentTarget,i=t.value.length;t.setSelectionRange(i,i),this.focusedOptionIndex=-1}else{let t=e.metaKey||e.ctrlKey,i=this.findLastOptionIndex();this.multiple&&e.shiftKey&&t&&this.onOptionSelectRange(e,this.startRangeIndex,i),this.changeFocusedOptionIndex(e,i)}e.preventDefault()},onPageUpKey(e){this.scrollInView(0),e.preventDefault()},onPageDownKey(e){this.scrollInView(this.visibleOptions.length-1),e.preventDefault()},onEnterKey(e){-1!==this.focusedOptionIndex&&(this.multiple&&e.shiftKey?this.onOptionSelectRange(e,this.focusedOptionIndex):this.onOptionSelect(e,this.visibleOptions[this.focusedOptionIndex])),e.preventDefault()},onSpaceKey(e){this.onEnterKey(e)},onShiftKey(){this.startRangeIndex=this.focusedOptionIndex},isOptionMatched(e){return this.isValidOption(e)&&this.getOptionLabel(e).toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale))},isValidOption(e){return e&&!(this.isOptionDisabled(e)||this.isOptionGroup(e))},isValidSelectedOption(e){return this.isValidOption(e)&&this.isSelected(e)},isSelected(e){const t=this.getOptionValue(e);return this.multiple?(this.modelValue||[]).some((e=>i.ObjectUtils.equals(e,t,this.equalityKey))):i.ObjectUtils.equals(this.modelValue,t,this.equalityKey)},findFirstOptionIndex(){return this.visibleOptions.findIndex((e=>this.isValidOption(e)))},findLastOptionIndex(){return i.ObjectUtils.findLastIndex(this.visibleOptions,(e=>this.isValidOption(e)))},findNextOptionIndex(e){const t=e<this.visibleOptions.length-1?this.visibleOptions.slice(e+1).findIndex((e=>this.isValidOption(e))):-1;return t>-1?t+e+1:e},findPrevOptionIndex(e){const t=e>0?i.ObjectUtils.findLastIndex(this.visibleOptions.slice(0,e),(e=>this.isValidOption(e))):-1;return t>-1?t:e},findFirstSelectedOptionIndex(){return this.hasSelectedOption?this.visibleOptions.findIndex((e=>this.isValidSelectedOption(e))):-1},findLastSelectedOptionIndex(){return this.hasSelectedOption?i.ObjectUtils.findLastIndex(this.visibleOptions,(e=>this.isValidSelectedOption(e))):-1},findNextSelectedOptionIndex(e){const t=this.hasSelectedOption&&e<this.visibleOptions.length-1?this.visibleOptions.slice(e+1).findIndex((e=>this.isValidSelectedOption(e))):-1;return t>-1?t+e+1:-1},findPrevSelectedOptionIndex(e){const t=this.hasSelectedOption&&e>0?i.ObjectUtils.findLastIndex(this.visibleOptions.slice(0,e),(e=>this.isValidSelectedOption(e))):-1;return t>-1?t:-1},findNearestSelectedOptionIndex(e,t=!1){let i=-1;return this.hasSelectedOption&&(t?(i=this.findPrevSelectedOptionIndex(e),i=-1===i?this.findNextSelectedOptionIndex(e):i):(i=this.findNextSelectedOptionIndex(e),i=-1===i?this.findPrevSelectedOptionIndex(e):i)),i>-1?i:e},findFirstFocusedOptionIndex(){const e=this.findFirstSelectedOptionIndex();return e<0?this.findFirstOptionIndex():e},findLastFocusedOptionIndex(){const e=this.findLastSelectedOptionIndex();return e<0?this.findLastOptionIndex():e},searchOptions(e,t){this.searchValue=(this.searchValue||"")+t;let i=-1;-1!==this.focusedOptionIndex?(i=this.visibleOptions.slice(this.focusedOptionIndex).findIndex((e=>this.isOptionMatched(e))),i=-1===i?this.visibleOptions.slice(0,this.focusedOptionIndex).findIndex((e=>this.isOptionMatched(e))):i+this.focusedOptionIndex):i=this.visibleOptions.findIndex((e=>this.isOptionMatched(e))),-1===i&&-1===this.focusedOptionIndex&&(i=this.findFirstFocusedOptionIndex()),-1!==i&&this.changeFocusedOptionIndex(e,i),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((()=>{this.searchValue="",this.searchTimeout=null}),500)},removeOption(e){return this.modelValue.filter((t=>!i.ObjectUtils.equals(t,this.getOptionValue(e),this.equalityKey)))},changeFocusedOptionIndex(e,t){this.focusedOptionIndex!==t&&(this.focusedOptionIndex=t,this.scrollInView(),this.selectOnFocus&&!this.multiple&&this.onOptionSelect(e,this.visibleOptions[t]))},scrollInView(e=-1){const t=-1!==e?`${this.id}_${e}`:this.focusedOptionId,s=i.DomHandler.findSingle(this.list,`li[id="${t}"]`);s?s.scrollIntoView&&s.scrollIntoView({block:"nearest",inline:"nearest"}):this.virtualScrollerDisabled||this.virtualScroller&&this.virtualScroller.scrollToIndex(-1!==e?e:this.focusedOptionIndex)},autoUpdateModel(){this.selectOnFocus&&this.autoOptionFocus&&!this.hasSelectedOption&&!this.multiple&&(this.focusedOptionIndex=this.findFirstFocusedOptionIndex(),this.onOptionSelect(null,this.visibleOptions[this.focusedOptionIndex]))},updateModel(e,t){this.$emit("update:modelValue",t),this.$emit("change",{originalEvent:e,value:t})},flatOptions(e){return(e||[]).reduce(((e,t,i)=>{e.push({optionGroup:t,group:!0,index:i});const s=this.getOptionGroupChildren(t);return s&&s.forEach((t=>e.push(t))),e}),[])},listRef(e,t){this.list=e,t&&t(e)},virtualScrollerRef(e){this.virtualScroller=e}},computed:{containerClass(){return["p-listbox p-component",{"p-focus":this.focused,"p-disabled":this.disabled}]},visibleOptions(){const t=this.optionGroupLabel?this.flatOptions(this.options):this.options||[];return this.filterValue?e.FilterService.filter(t,this.searchFields,this.filterValue,this.filterMatchMode,this.filterLocale):t},hasSelectedOption(){return i.ObjectUtils.isNotEmpty(this.modelValue)},equalityKey(){return this.optionValue?null:this.dataKey},searchFields(){return this.filterFields||[this.optionLabel]},filterResultMessageText(){return i.ObjectUtils.isNotEmpty(this.visibleOptions)?this.filterMessageText.replaceAll("{0}",this.visibleOptions.length):this.emptyFilterMessageText},filterMessageText(){return this.filterMessage||this.$primevue.config.locale.searchMessage||""},emptyFilterMessageText(){return this.emptyFilterMessage||this.$primevue.config.locale.emptySearchMessage||this.$primevue.config.locale.emptyFilterMessage||""},emptyMessageText(){return this.emptyMessage||this.$primevue.config.locale.emptyMessage||""},selectionMessageText(){return this.selectionMessage||this.$primevue.config.locale.selectionMessage||""},emptySelectionMessageText(){return this.emptySelectionMessage||this.$primevue.config.locale.emptySelectionMessage||""},selectedMessageText(){return this.hasSelectedOption?this.selectionMessageText.replaceAll("{0}",this.multiple?this.modelValue.length:"1"):this.emptySelectionMessageText},id(){return this.$attrs.id||i.UniqueComponentId()},focusedOptionId(){return-1!==this.focusedOptionIndex?`${this.id}_${this.focusedOptionIndex}`:null},ariaSetSize(){return this.visibleOptions.filter((e=>!this.isOptionGroup(e))).length},virtualScrollerDisabled(){return!this.virtualScrollerOptions}},directives:{ripple:l.default},components:{VirtualScroller:a.default}};const d=["id"],p=["tabindex"],c={key:0,class:"p-listbox-header"},u={class:"p-listbox-filter-container"},h=["placeholder","aria-owns","aria-activedescendant","tabindex"],f={role:"status","aria-live":"polite",class:"p-hidden-accessible"},O=["id","aria-multiselectable","aria-label","aria-labelledby","aria-activedescendant","aria-disabled"],b=["id"],m=["id","aria-label","aria-selected","aria-disabled","aria-setsize","aria-posinset","onClick","onMousedown","onMousemove"],x={key:0,class:"p-listbox-empty-message",role:"option"},g={key:1,class:"p-listbox-empty-message",role:"option"},y={key:1,role:"status","aria-live":"polite",class:"p-hidden-accessible"},I={role:"status","aria-live":"polite",class:"p-hidden-accessible"},S=["tabindex"];return function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===i&&s.firstChild?s.insertBefore(n,s.firstChild):s.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-listbox-list-wrapper {\n overflow: auto;\n}\n.p-listbox-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.p-listbox-item {\n cursor: pointer;\n position: relative;\n overflow: hidden;\n}\n.p-listbox-item-group {\n cursor: auto;\n}\n.p-listbox-filter-container {\n position: relative;\n}\n.p-listbox-filter-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n}\n.p-listbox-filter {\n width: 100%;\n}\n"),r.render=function(e,t,i,s,o,l){const a=n.resolveComponent("VirtualScroller"),r=n.resolveDirective("ripple");return n.openBlock(),n.createElementBlock("div",{id:l.id,class:n.normalizeClass(l.containerClass),onFocusout:t[10]||(t[10]=(...e)=>l.onFocusout&&l.onFocusout(...e))},[n.createElementVNode("span",{ref:"firstHiddenFocusableElement",role:"presentation","aria-hidden":"true",class:"p-hidden-accessible p-hidden-focusable",tabindex:i.disabled?-1:i.tabindex,onFocus:t[0]||(t[0]=(...e)=>l.onFirstHiddenFocus&&l.onFirstHiddenFocus(...e))},null,40,p),n.renderSlot(e.$slots,"header",{value:i.modelValue,options:l.visibleOptions}),i.filter?(n.openBlock(),n.createElementBlock("div",c,[n.createElementVNode("div",u,[n.withDirectives(n.createElementVNode("input",n.mergeProps({ref:"filterInput","onUpdate:modelValue":t[1]||(t[1]=e=>o.filterValue=e),type:"text",class:"p-listbox-filter p-inputtext p-component",placeholder:i.filterPlaceholder,role:"searchbox",autocomplete:"off","aria-owns":l.id+"_list","aria-activedescendant":l.focusedOptionId,tabindex:i.disabled||o.focused?-1:i.tabindex,onInput:t[2]||(t[2]=(...e)=>l.onFilterChange&&l.onFilterChange(...e)),onBlur:t[3]||(t[3]=(...e)=>l.onFilterBlur&&l.onFilterBlur(...e)),onKeydown:t[4]||(t[4]=(...e)=>l.onFilterKeyDown&&l.onFilterKeyDown(...e))},i.filterInputProps),null,16,h),[[n.vModelText,o.filterValue]]),n.createElementVNode("span",{class:n.normalizeClass(["p-listbox-filter-icon",i.filterIcon])},null,2)]),n.createElementVNode("span",f,n.toDisplayString(l.filterResultMessageText),1)])):n.createCommentVNode("",!0),n.createElementVNode("div",{ref:"listWrapper",class:"p-listbox-list-wrapper",style:n.normalizeStyle(i.listStyle)},[n.createVNode(a,n.mergeProps({ref:l.virtualScrollerRef},i.virtualScrollerOptions,{style:i.listStyle,items:l.visibleOptions,tabindex:-1,disabled:l.virtualScrollerDisabled}),n.createSlots({content:n.withCtx((({styleClass:s,contentRef:a,items:d,getItemOptions:p,contentStyle:c,itemSize:u})=>[n.createElementVNode("ul",{ref:e=>l.listRef(e,a),id:l.id+"_list",class:n.normalizeClass(["p-listbox-list",s]),style:n.normalizeStyle(c),tabindex:-1,role:"listbox","aria-multiselectable":i.multiple,"aria-label":e.ariaLabel,"aria-labelledby":e.ariaLabelledby,"aria-activedescendant":o.focused?l.focusedOptionId:void 0,"aria-disabled":i.disabled,onFocus:t[6]||(t[6]=(...e)=>l.onListFocus&&l.onListFocus(...e)),onBlur:t[7]||(t[7]=(...e)=>l.onListBlur&&l.onListBlur(...e)),onKeydown:t[8]||(t[8]=(...e)=>l.onListKeyDown&&l.onListKeyDown(...e))},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(d,((i,s)=>(n.openBlock(),n.createElementBlock(n.Fragment,{key:l.getOptionRenderKey(i,l.getOptionIndex(s,p))},[l.isOptionGroup(i)?(n.openBlock(),n.createElementBlock("li",{key:0,id:l.id+"_"+l.getOptionIndex(s,p),style:n.normalizeStyle({height:u?u+"px":void 0}),class:"p-listbox-item-group",role:"option"},[n.renderSlot(e.$slots,"optiongroup",{option:i.optionGroup,index:l.getOptionIndex(s,p)},(()=>[n.createTextVNode(n.toDisplayString(l.getOptionGroupLabel(i.optionGroup)),1)]))],12,b)):n.withDirectives((n.openBlock(),n.createElementBlock("li",{key:1,id:l.id+"_"+l.getOptionIndex(s,p),style:n.normalizeStyle({height:u?u+"px":void 0}),class:n.normalizeClass(["p-listbox-item",{"p-highlight":l.isSelected(i),"p-focus":o.focusedOptionIndex===l.getOptionIndex(s,p),"p-disabled":l.isOptionDisabled(i)}]),role:"option","aria-label":l.getOptionLabel(i),"aria-selected":l.isSelected(i),"aria-disabled":l.isOptionDisabled(i),"aria-setsize":l.ariaSetSize,"aria-posinset":l.getAriaPosInset(l.getOptionIndex(s,p)),onClick:e=>l.onOptionSelect(e,i,l.getOptionIndex(s,p)),onMousedown:e=>l.onOptionMouseDown(e,l.getOptionIndex(s,p)),onMousemove:e=>l.onOptionMouseMove(e,l.getOptionIndex(s,p)),onTouchend:t[5]||(t[5]=e=>l.onOptionTouchEnd())},[n.renderSlot(e.$slots,"option",{option:i,index:l.getOptionIndex(s,p)},(()=>[n.createTextVNode(n.toDisplayString(l.getOptionLabel(i)),1)]))],46,m)),[[r]])],64)))),128)),o.filterValue&&(!d||d&&0===d.length)?(n.openBlock(),n.createElementBlock("li",x,[n.renderSlot(e.$slots,"emptyfilter",{},(()=>[n.createTextVNode(n.toDisplayString(l.emptyFilterMessageText),1)]))])):!i.options||i.options&&0===i.options.length?(n.openBlock(),n.createElementBlock("li",g,[n.renderSlot(e.$slots,"empty",{},(()=>[n.createTextVNode(n.toDisplayString(l.emptyMessageText),1)]))])):n.createCommentVNode("",!0)],46,O)])),_:2},[e.$slots.loader?{name:"loader",fn:n.withCtx((({options:t})=>[n.renderSlot(e.$slots,"loader",{options:t})])),key:"0"}:void 0]),1040,["style","items","disabled"])],4),n.renderSlot(e.$slots,"footer",{value:i.modelValue,options:l.visibleOptions}),!i.options||i.options&&0===i.options.length?(n.openBlock(),n.createElementBlock("span",y,n.toDisplayString(l.emptyMessageText),1)):n.createCommentVNode("",!0),n.createElementVNode("span",I,n.toDisplayString(l.selectedMessageText),1),n.createElementVNode("span",{ref:"lastHiddenFocusableElement",role:"presentation","aria-hidden":"true",class:"p-hidden-accessible p-hidden-focusable",tabindex:i.disabled?-1:i.tabindex,onFocus:t[9]||(t[9]=(...e)=>l.onLastHiddenFocus&&l.onLastHiddenFocus(...e))},null,40,S)],42,d)},r}(primevue.api,primevue.ripple,primevue.utils,primevue.virtualscroller,Vue);
@@ -243,7 +243,16 @@ export default {
243
243
  this.dirty = !root;
244
244
  DomHandler.focus(this.menubar);
245
245
  } else {
246
- grouped ? this.onItemChange(event) : this.hide(originalEvent, !root);
246
+ if (grouped) {
247
+ this.onItemChange(event);
248
+ } else {
249
+ const rootProcessedItem = root ? processedItem : this.activeItem;
250
+
251
+ this.hide(originalEvent);
252
+ this.changeFocusedItemInfo(originalEvent, rootProcessedItem ? rootProcessedItem.index : -1);
253
+
254
+ DomHandler.focus(this.menubar);
255
+ }
247
256
  }
248
257
  },
249
258
  onItemMouseEnter(event) {
@@ -118,8 +118,8 @@ export default {
118
118
  getItemKey(processedItem) {
119
119
  return this.getItemId(processedItem);
120
120
  },
121
- getItemProp(processedItem, name) {
122
- return processedItem && processedItem.item ? ObjectUtils.getItemValue(processedItem.item[name]) : undefined;
121
+ getItemProp(processedItem, name, params) {
122
+ return processedItem && processedItem.item ? ObjectUtils.getItemValue(processedItem.item[name], params) : undefined;
123
123
  },
124
124
  getItemLabel(processedItem) {
125
125
  return this.getItemProp(processedItem, 'label');
@@ -140,9 +140,7 @@ export default {
140
140
  return ObjectUtils.isNotEmpty(processedItem.items);
141
141
  },
142
142
  onItemClick(event, processedItem) {
143
- const command = this.getItemProp(processedItem, 'command');
144
-
145
- command && command({ originalEvent: event, item: processedItem.item });
143
+ this.getItemProp(processedItem, 'command', { originalEvent: event, item: processedItem.item });
146
144
  this.$emit('item-click', { originalEvent: event, processedItem, isFocus: true });
147
145
  },
148
146
  onItemMouseEnter(event, processedItem) {
@@ -62,8 +62,8 @@ var script$1 = {
62
62
  getItemKey(processedItem) {
63
63
  return this.getItemId(processedItem);
64
64
  },
65
- getItemProp(processedItem, name) {
66
- return processedItem && processedItem.item ? utils.ObjectUtils.getItemValue(processedItem.item[name]) : undefined;
65
+ getItemProp(processedItem, name, params) {
66
+ return processedItem && processedItem.item ? utils.ObjectUtils.getItemValue(processedItem.item[name], params) : undefined;
67
67
  },
68
68
  getItemLabel(processedItem) {
69
69
  return this.getItemProp(processedItem, 'label');
@@ -84,9 +84,7 @@ var script$1 = {
84
84
  return utils.ObjectUtils.isNotEmpty(processedItem.items);
85
85
  },
86
86
  onItemClick(event, processedItem) {
87
- const command = this.getItemProp(processedItem, 'command');
88
-
89
- command && command({ originalEvent: event, item: processedItem.item });
87
+ this.getItemProp(processedItem, 'command', { originalEvent: event, item: processedItem.item });
90
88
  this.$emit('item-click', { originalEvent: event, processedItem, isFocus: true });
91
89
  },
92
90
  onItemMouseEnter(event, processedItem) {
@@ -536,7 +534,16 @@ var script = {
536
534
  this.dirty = !root;
537
535
  utils.DomHandler.focus(this.menubar);
538
536
  } else {
539
- grouped ? this.onItemChange(event) : this.hide(originalEvent, !root);
537
+ if (grouped) {
538
+ this.onItemChange(event);
539
+ } else {
540
+ const rootProcessedItem = root ? processedItem : this.activeItem;
541
+
542
+ this.hide(originalEvent);
543
+ this.changeFocusedItemInfo(originalEvent, rootProcessedItem ? rootProcessedItem.index : -1);
544
+
545
+ utils.DomHandler.focus(this.menubar);
546
+ }
540
547
  }
541
548
  },
542
549
  onItemMouseEnter(event) {
@@ -982,7 +989,7 @@ function styleInject(css, ref) {
982
989
  }
983
990
  }
984
991
 
985
- var css_248z = "\n.p-megamenu-root-list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.p-megamenu-root-list > .p-menuitem {\n position: relative;\n}\n.p-megamenu .p-menuitem-link {\n cursor: pointer;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n}\n.p-megamenu .p-menuitem-text {\n line-height: 1;\n}\n.p-megamenu-panel {\n display: none;\n position: absolute;\n width: auto;\n z-index: 1;\n}\n.p-megamenu-root-list > .p-menuitem-active > .p-megamenu-panel {\n display: block;\n}\n.p-megamenu-submenu {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n/* Horizontal */\n.p-megamenu-horizontal .p-megamenu-root-list {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n}\n\n/* Vertical */\n.p-megamenu-vertical .p-megamenu-root-list {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-megamenu-vertical .p-megamenu-root-list > .p-menuitem-active > .p-megamenu-panel {\n left: 100%;\n top: 0;\n}\n.p-megamenu-vertical .p-megamenu-root-list > .p-menuitem > .p-menuitem-content > .p-menuitem-link > .p-submenu-icon {\n margin-left: auto;\n}\n.p-megamenu-grid {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-megamenu-col-2,\n.p-megamenu-col-3,\n.p-megamenu-col-4,\n.p-megamenu-col-6,\n.p-megamenu-col-12 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n padding: 0.5rem;\n}\n.p-megamenu-col-2 {\n width: 16.6667%;\n}\n.p-megamenu-col-3 {\n width: 25%;\n}\n.p-megamenu-col-4 {\n width: 33.3333%;\n}\n.p-megamenu-col-6 {\n width: 50%;\n}\n.p-megamenu-col-12 {\n width: 100%;\n}\n";
992
+ var css_248z = "\n.p-megamenu-root-list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.p-megamenu-root-list > .p-menuitem {\n position: relative;\n}\n.p-megamenu .p-menuitem-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n}\n.p-megamenu .p-menuitem-text {\n line-height: 1;\n}\n.p-megamenu-panel {\n display: none;\n position: absolute;\n width: auto;\n z-index: 1;\n}\n.p-megamenu-root-list > .p-menuitem-active > .p-megamenu-panel {\n display: block;\n}\n.p-megamenu-submenu {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n/* Horizontal */\n.p-megamenu-horizontal .p-megamenu-root-list {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n}\n\n/* Vertical */\n.p-megamenu-vertical .p-megamenu-root-list {\n flex-direction: column;\n}\n.p-megamenu-vertical .p-megamenu-root-list > .p-menuitem-active > .p-megamenu-panel {\n left: 100%;\n top: 0;\n}\n.p-megamenu-vertical .p-megamenu-root-list > .p-menuitem > .p-menuitem-content > .p-menuitem-link > .p-submenu-icon {\n margin-left: auto;\n}\n.p-megamenu-grid {\n display: flex;\n}\n.p-megamenu-col-2,\n.p-megamenu-col-3,\n.p-megamenu-col-4,\n.p-megamenu-col-6,\n.p-megamenu-col-12 {\n flex: 0 0 auto;\n padding: 0.5rem;\n}\n.p-megamenu-col-2 {\n width: 16.6667%;\n}\n.p-megamenu-col-3 {\n width: 25%;\n}\n.p-megamenu-col-4 {\n width: 33.3333%;\n}\n.p-megamenu-col-6 {\n width: 50%;\n}\n.p-megamenu-col-12 {\n width: 100%;\n}\n";
986
993
  styleInject(css_248z);
987
994
 
988
995
  script.render = render;
@@ -1 +1 @@
1
- "use strict";var e=require("primevue/utils"),t=require("primevue/ripple"),i=require("vue");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n={name:"MegaMenuSub",emits:["item-click","item-mouseenter"],props:{menuId:{type:String,default:null},focusedItemId:{type:String,default:null},horizontal:{type:Boolean,default:!1},submenu:{type:Object,default:null},items:{type:Array,default:null},level:{type:Number,default:0},template:{type:Function,default:null},activeItem:{type:Object,default:null},exact:{type:Boolean,default:!0}},methods:{getSubListId(e){return`${this.getItemId(e)}_list`},getSubListKey(e){return this.getSubListId(e)},getItemId(e){return`${this.menuId}_${e.key}`},getItemKey(e){return this.getItemId(e)},getItemProp:(t,i)=>t&&t.item?e.ObjectUtils.getItemValue(t.item[i]):void 0,getItemLabel(e){return this.getItemProp(e,"label")},isItemActive(t){return!!e.ObjectUtils.isNotEmpty(this.activeItem)&&this.activeItem.key===t.key},isItemVisible(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled(e){return this.getItemProp(e,"disabled")},isItemFocused(e){return this.focusedItemId===this.getItemId(e)},isItemGroup:t=>e.ObjectUtils.isNotEmpty(t.items),onItemClick(e,t){const i=this.getItemProp(t,"command");i&&i({originalEvent:e,item:t.item}),this.$emit("item-click",{originalEvent:e,processedItem:t,isFocus:!0})},onItemMouseEnter(e,t){this.$emit("item-mouseenter",{originalEvent:e,processedItem:t})},onItemActionClick(e,t){t&&t(e)},getAriaSetSize(){return this.items.filter((e=>this.isItemVisible(e)&&!this.getItemProp(e,"separator"))).length},getAriaPosInset(e){return e-this.items.slice(0,e).filter((e=>this.isItemVisible(e)&&this.getItemProp(e,"separator"))).length+1},getSubmenuHeaderClass(e){return["p-megamenu-submenu-header p-submenu-header",this.getItemProp(e,"class"),{"p-disabled":this.isItemDisabled(e)}]},getColumnClass(e){let t;switch(this.isItemGroup(e)?e.items.length:0){case 2:t="p-megamenu-col-6";break;case 3:t="p-megamenu-col-4";break;case 4:t="p-megamenu-col-3";break;case 6:t="p-megamenu-col-2";break;default:t="p-megamenu-col-12"}return t},getItemClass(e){return["p-menuitem",this.getItemProp(e,"class"),{"p-menuitem-active p-highlight":this.isItemActive(e),"p-focus":this.isItemFocused(e),"p-disabled":this.isItemDisabled(e)}]},getItemActionClass(e,t){return["p-menuitem-link",{"router-link-active":t&&t.isActive,"router-link-active-exact":this.exact&&t&&t.isExactActive}]},getItemIconClass(e){return["p-menuitem-icon",this.getItemProp(e,"icon")]},getItemToggleIconClass(){return["p-submenu-icon",this.horizontal?"pi pi-angle-down":"pi pi-angle-right"]},getSeparatorItemClass(e){return["p-menuitem-separator",this.getItemProp(e,"class")]}},directives:{ripple:s(t).default}};const o=["id","aria-label","aria-disabled","aria-expanded","aria-haspopup","aria-level","aria-setsize","aria-posinset"],a=["onClick","onMouseenter"],m=["href","onClick"],r={class:"p-menuitem-text"},l=["href","target"],c={class:"p-menuitem-text"},d={key:0,class:"p-megamenu-panel"},u={class:"p-megamenu-grid"},I=["id"];n.render=function(e,t,s,n,h,p){const f=i.resolveComponent("router-link"),g=i.resolveComponent("MegaMenuSub",!0),b=i.resolveDirective("ripple");return i.openBlock(),i.createElementBlock("ul",null,[s.submenu?(i.openBlock(),i.createElementBlock("li",{key:0,class:i.normalizeClass(p.getSubmenuHeaderClass(s.submenu)),style:i.normalizeStyle(p.getItemProp(s.submenu,"style")),role:"presentation"},i.toDisplayString(p.getItemLabel(s.submenu)),7)):i.createCommentVNode("",!0),(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(s.items,((n,h)=>(i.openBlock(),i.createElementBlock(i.Fragment,{key:p.getItemKey(n)},[p.isItemVisible(n)&&!p.getItemProp(n,"separator")?(i.openBlock(),i.createElementBlock("li",{key:0,id:p.getItemId(n),style:i.normalizeStyle(p.getItemProp(n,"style")),class:i.normalizeClass(p.getItemClass(n)),role:"menuitem","aria-label":p.getItemLabel(n),"aria-disabled":p.isItemDisabled(n)||void 0,"aria-expanded":p.isItemGroup(n)?p.isItemActive(n):void 0,"aria-haspopup":p.isItemGroup(n)&&!p.getItemProp(n,"to")?"menu":void 0,"aria-level":s.level+1,"aria-setsize":p.getAriaSetSize(),"aria-posinset":p.getAriaPosInset(h)},[i.createElementVNode("div",{class:"p-menuitem-content",onClick:e=>p.onItemClick(e,n),onMouseenter:e=>p.onItemMouseEnter(e,n)},[s.template?(i.openBlock(),i.createBlock(i.resolveDynamicComponent(s.template),{key:1,item:n.item},null,8,["item"])):(i.openBlock(),i.createElementBlock(i.Fragment,{key:0},[p.getItemProp(n,"to")&&!p.isItemDisabled(n)?(i.openBlock(),i.createBlock(f,{key:0,to:p.getItemProp(n,"to"),custom:""},{default:i.withCtx((({navigate:e,href:t,isActive:s,isExactActive:o})=>[i.withDirectives((i.openBlock(),i.createElementBlock("a",{href:t,class:i.normalizeClass(p.getItemActionClass(n,{isActive:s,isExactActive:o})),tabindex:"-1","aria-hidden":"true",onClick:t=>p.onItemActionClick(t,e)},[p.getItemProp(n,"icon")?(i.openBlock(),i.createElementBlock("span",{key:0,class:i.normalizeClass(p.getItemIconClass(n))},null,2)):i.createCommentVNode("",!0),i.createElementVNode("span",r,i.toDisplayString(p.getItemLabel(n)),1)],10,m)),[[b]])])),_:2},1032,["to"])):i.withDirectives((i.openBlock(),i.createElementBlock("a",{key:1,href:p.getItemProp(n,"url"),class:i.normalizeClass(p.getItemActionClass(n)),target:p.getItemProp(n,"target"),tabindex:"-1","aria-hidden":"true"},[p.getItemProp(n,"icon")?(i.openBlock(),i.createElementBlock("span",{key:0,class:i.normalizeClass(p.getItemIconClass(n))},null,2)):i.createCommentVNode("",!0),i.createElementVNode("span",c,i.toDisplayString(p.getItemLabel(n)),1),p.isItemGroup(n)?(i.openBlock(),i.createElementBlock("span",{key:1,class:i.normalizeClass(p.getItemToggleIconClass())},null,2)):i.createCommentVNode("",!0)],10,l)),[[b]])],64))],40,a),p.isItemVisible(n)&&p.isItemGroup(n)?(i.openBlock(),i.createElementBlock("div",d,[i.createElementVNode("div",u,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(n.items,(o=>(i.openBlock(),i.createElementBlock("div",{key:p.getItemKey(o),class:i.normalizeClass(p.getColumnClass(n))},[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(o,(n=>(i.openBlock(),i.createBlock(g,{key:p.getSubListKey(n),id:p.getSubListId(n),role:"menu",class:"p-submenu-list p-megamenu-submenu",menuId:s.menuId,focusedItemId:s.focusedItemId,submenu:n,items:n.items,template:s.template,exact:s.exact,level:s.level+1,onItemClick:t[0]||(t[0]=t=>e.$emit("item-click",t)),onItemMouseenter:t[1]||(t[1]=t=>e.$emit("item-mouseenter",t))},null,8,["id","menuId","focusedItemId","submenu","items","template","exact","level"])))),128))],2)))),128))])])):i.createCommentVNode("",!0)],14,o)):i.createCommentVNode("",!0),p.isItemVisible(n)&&p.getItemProp(n,"separator")?(i.openBlock(),i.createElementBlock("li",{key:1,id:p.getItemId(n),style:i.normalizeStyle(p.getItemProp(n,"style")),class:i.normalizeClass(p.getSeparatorItemClass(n)),role:"separator"},null,14,I)):i.createCommentVNode("",!0)],64)))),128))])};var h={name:"MegaMenu",emits:["focus","blur"],props:{model:{type:Array,default:null},orientation:{type:String,default:"horizontal"},exact:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},tabindex:{type:Number,default:0},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},outsideClickListener:null,resizeListener:null,container:null,menubar:null,searchTimeout:null,searchValue:null,data:()=>({focused:!1,focusedItemInfo:{index:-1,key:"",parentKey:""},activeItem:null,dirty:!1}),watch:{activeItem(t){e.ObjectUtils.isNotEmpty(t)?(this.bindOutsideClickListener(),this.bindResizeListener()):(this.unbindOutsideClickListener(),this.unbindResizeListener())}},beforeUnmount(){this.unbindOutsideClickListener(),this.unbindResizeListener()},methods:{getItemProp:(t,i)=>t?e.ObjectUtils.getItemValue(t[i]):void 0,getItemLabel(e){return this.getItemProp(e,"label")},isItemDisabled(e){return this.getItemProp(e,"disabled")},isItemGroup(t){return e.ObjectUtils.isNotEmpty(this.getItemProp(t,"items"))},isItemSeparator(e){return this.getItemProp(e,"separator")},getProccessedItemLabel(e){return e?this.getItemLabel(e.item):void 0},isProccessedItemGroup:t=>t&&e.ObjectUtils.isNotEmpty(t.items),hide(t,i){this.activeItem=null,this.focusedItemInfo={index:-1,key:"",parentKey:""},i&&e.DomHandler.focus(this.menubar),this.dirty=!1},onFocus(e){if(this.focused=!0,-1===this.focusedItemInfo.index){const e=this.findFirstFocusedItemIndex(),t=this.findVisibleItem(e);this.focusedItemInfo={index:e,key:t.key,parentKey:t.parentKey}}this.$emit("focus",e)},onBlur(e){this.focused=!1,this.focusedItemInfo={index:-1,key:"",parentKey:""},this.searchValue="",this.dirty=!1,this.$emit("blur",e)},onKeyDown(t){if(this.disabled)return void t.preventDefault();const i=t.metaKey||t.ctrlKey;switch(t.code){case"ArrowDown":this.onArrowDownKey(t);break;case"ArrowUp":this.onArrowUpKey(t);break;case"ArrowLeft":this.onArrowLeftKey(t);break;case"ArrowRight":this.onArrowRightKey(t);break;case"Home":this.onHomeKey(t);break;case"End":this.onEndKey(t);break;case"Space":this.onSpaceKey(t);break;case"Enter":this.onEnterKey(t);break;case"Escape":this.onEscapeKey(t);break;case"Tab":this.onTabKey(t);break;case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!i&&e.ObjectUtils.isPrintableCharacter(t.key)&&this.searchItems(t,t.key)}},onItemChange(t){const{processedItem:i,isFocus:s}=t;if(e.ObjectUtils.isEmpty(i))return;const{index:n,key:o,parentKey:a,items:m}=i,r=e.ObjectUtils.isNotEmpty(m);r&&(this.activeItem=i),this.focusedItemInfo={index:n,key:o,parentKey:a},r&&(this.dirty=!0),s&&e.DomHandler.focus(this.menubar)},onItemClick(t){const{originalEvent:i,processedItem:s}=t,n=this.isProccessedItemGroup(s),o=e.ObjectUtils.isEmpty(s.parent);if(this.isSelected(s)){const{index:t,key:i,parentKey:n}=s;this.activeItem=null,this.focusedItemInfo={index:t,key:i,parentKey:n},this.dirty=!o,e.DomHandler.focus(this.menubar)}else n?this.onItemChange(t):this.hide(i,!o)},onItemMouseEnter(e){this.dirty&&this.onItemChange(e)},onArrowDownKey(t){if(this.horizontal)if(e.ObjectUtils.isNotEmpty(this.activeItem)&&this.activeItem.key===this.focusedItemInfo.key)this.focusedItemInfo={index:-1,key:"",parentKey:this.activeItem.key};else{const e=this.findVisibleItem(this.focusedItemInfo.index);this.isProccessedItemGroup(e)&&(this.onItemChange({originalEvent:t,processedItem:e}),this.focusedItemInfo={index:-1,key:e.key,parentKey:e.parentKey},this.searchValue="")}const i=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemInfo(t,i),t.preventDefault()},onArrowUpKey(t){if(t.altKey&&this.horizontal){if(-1!==this.focusedItemInfo.index){const i=this.findVisibleItem(this.focusedItemInfo.index);!this.isProccessedItemGroup(i)&&e.ObjectUtils.isNotEmpty(this.activeItem)&&(0===this.focusedItemInfo.index?(this.focusedItemInfo={index:this.activeItem.index,key:this.activeItem.key,parentKey:this.activeItem.parentKey},this.activeItem=null):this.changeFocusedItemInfo(t,this.findFirstItemIndex()))}t.preventDefault()}else{const e=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemInfo(t,e),t.preventDefault()}},onArrowLeftKey(t){const i=this.findVisibleItem(this.focusedItemInfo.index);if(this.isProccessedItemGroup(i)){if(this.horizontal){const e=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemInfo(t,e)}}else{this.vertical&&e.ObjectUtils.isNotEmpty(this.activeItem)&&0===i.columnIndex&&(this.focusedItemInfo={index:this.activeItem.index,key:this.activeItem.key,parentKey:this.activeItem.parentKey},this.activeItem=null);const s=i.columnIndex-1,n=this.visibleItems.findIndex((e=>e.columnIndex===s));-1!==n&&this.changeFocusedItemInfo(t,n)}t.preventDefault()},onArrowRightKey(t){const i=this.findVisibleItem(this.focusedItemInfo.index);if(this.isProccessedItemGroup(i)){if(this.vertical)if(e.ObjectUtils.isNotEmpty(this.activeItem)&&this.activeItem.key===i.key)this.focusedItemInfo={index:-1,key:"",parentKey:this.activeItem.key};else{const e=this.findVisibleItem(this.focusedItemInfo.index);this.isProccessedItemGroup(e)&&(this.onItemChange({originalEvent:t,processedItem:e}),this.focusedItemInfo={index:-1,key:e.key,parentKey:e.parentKey},this.searchValue="")}const s=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemInfo(t,s)}else{const e=i.columnIndex+1,s=this.visibleItems.findIndex((t=>t.columnIndex===e));-1!==s&&this.changeFocusedItemInfo(t,s)}t.preventDefault()},onHomeKey(e){this.changeFocusedItemInfo(e,this.findFirstItemIndex()),e.preventDefault()},onEndKey(e){this.changeFocusedItemInfo(e,this.findLastItemIndex()),e.preventDefault()},onEnterKey(t){if(-1!==this.focusedItemInfo.index){const i=e.DomHandler.findSingle(this.menubar,`li[id="${this.focusedItemId}"]`),s=i&&e.DomHandler.findSingle(i,".p-menuitem-link");s?s.click():i&&i.click();const n=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(n)&&this.changeFocusedItemInfo(t,this.findFirstFocusedItemIndex())}t.preventDefault()},onSpaceKey(e){this.onEnterKey(e)},onEscapeKey(t){e.ObjectUtils.isNotEmpty(this.activeItem)&&(this.focusedItemInfo={index:this.activeItem.index,key:this.activeItem.key},this.activeItem=null),t.preventDefault()},onTabKey(e){if(-1!==this.focusedItemInfo.index){const t=this.findVisibleItem(this.focusedItemInfo.index);!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.hide()},bindOutsideClickListener(){this.outsideClickListener||(this.outsideClickListener=e=>{const t=this.container&&!this.container.contains(e.target),i=!this.popup||!(this.target&&(this.target===e.target||this.target.contains(e.target)));t&&i&&this.hide()},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindResizeListener(){this.resizeListener||(this.resizeListener=t=>{e.DomHandler.isTouchDevice()||this.hide(t,!0)},window.addEventListener("resize",this.resizeListener))},unbindResizeListener(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},isItemMatched(e){return this.isValidItem(e)&&this.getProccessedItemLabel(e).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase())},isValidItem(e){return!!e&&!this.isItemDisabled(e.item)&&!this.isItemSeparator(e.item)},isValidSelectedItem(e){return this.isValidItem(e)&&this.isSelected(e)},isSelected(t){return!!e.ObjectUtils.isNotEmpty(this.activeItem)&&this.activeItem.key===t.key},findFirstItemIndex(){return this.visibleItems.findIndex((e=>this.isValidItem(e)))},findLastItemIndex(){return e.ObjectUtils.findLastIndex(this.visibleItems,(e=>this.isValidItem(e)))},findNextItemIndex(e){const t=e<this.visibleItems.length-1?this.visibleItems.slice(e+1).findIndex((e=>this.isValidItem(e))):-1;return t>-1?t+e+1:e},findPrevItemIndex(t){const i=t>0?e.ObjectUtils.findLastIndex(this.visibleItems.slice(0,t),(e=>this.isValidItem(e))):-1;return i>-1?i:t},findSelectedItemIndex(){return this.visibleItems.findIndex((e=>this.isValidSelectedItem(e)))},findFirstFocusedItemIndex(){const e=this.findSelectedItemIndex();return e<0?this.findFirstItemIndex():e},findLastFocusedItemIndex(){const e=this.findSelectedItemIndex();return e<0?this.findLastItemIndex():e},findVisibleItem(t){return e.ObjectUtils.isNotEmpty(this.visibleItems)?this.visibleItems[t]:null},searchItems(e,t){this.searchValue=(this.searchValue||"")+t;let i=-1,s=!1;return-1!==this.focusedItemInfo.index?(i=this.visibleItems.slice(this.focusedItemInfo.index).findIndex((e=>this.isItemMatched(e))),i=-1===i?this.visibleItems.slice(0,this.focusedItemInfo.index).findIndex((e=>this.isItemMatched(e))):i+this.focusedItemInfo.index):i=this.visibleItems.findIndex((e=>this.isItemMatched(e))),-1!==i&&(s=!0),-1===i&&-1===this.focusedItemInfo.index&&(i=this.findFirstFocusedItemIndex()),-1!==i&&this.changeFocusedItemInfo(e,i),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((()=>{this.searchValue="",this.searchTimeout=null}),500),s},changeFocusedItemInfo(t,i){const s=this.findVisibleItem(i);this.focusedItemInfo.index=i,this.focusedItemInfo.key=e.ObjectUtils.isNotEmpty(s)?s.key:"",this.scrollInView()},scrollInView(t=-1){const i=-1!==t?`${this.id}_${t}`:this.focusedItemId,s=e.DomHandler.findSingle(this.menubar,`li[id="${i}"]`);s&&s.scrollIntoView&&s.scrollIntoView({block:"nearest",inline:"start"})},createProcessedItems(e,t=0,i={},s="",n){const o=[];return e&&e.forEach(((e,a)=>{const m=(""!==s?s+"_":"")+(void 0!==n?n+"_":"")+a,r={item:e,index:a,level:t,key:m,parent:i,parentKey:s,columnIndex:void 0!==n?n:void 0!==i.columnIndex?i.columnIndex:a};r.items=0===t&&e.items&&e.items.length>0?e.items.map(((e,i)=>this.createProcessedItems(e,t+1,r,m,i))):this.createProcessedItems(e.items,t+1,r,m),o.push(r)})),o},containerRef(e){this.container=e},menubarRef(e){this.menubar=e?e.$el:void 0}},computed:{containerClass(){return["p-megamenu p-component",{"p-megamenu-horizontal":this.horizontal,"p-megamenu-vertical":this.vertical}]},processedItems(){return this.createProcessedItems(this.model||[])},visibleItems(){const t=e.ObjectUtils.isNotEmpty(this.activeItem)?this.activeItem:null;return t&&t.key===this.focusedItemInfo.parentKey?t.items.reduce(((e,t)=>(t.forEach((t=>{t.items.forEach((t=>{e.push(t)}))})),e)),[]):this.processedItems},horizontal(){return"horizontal"===this.orientation},vertical(){return"vertical"===this.orientation},id(){return this.$attrs.id||e.UniqueComponentId()},focusedItemId(){return e.ObjectUtils.isNotEmpty(this.focusedItemInfo.key)?`${this.id}_${this.focusedItemInfo.key}`:null}},components:{MegaMenuSub:n}};const p=["id"],f={key:0,class:"p-megamenu-start"},g={key:1,class:"p-megamenu-end"};!function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===i&&s.firstChild?s.insertBefore(n,s.firstChild):s.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-megamenu-root-list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.p-megamenu-root-list > .p-menuitem {\n position: relative;\n}\n.p-megamenu .p-menuitem-link {\n cursor: pointer;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n}\n.p-megamenu .p-menuitem-text {\n line-height: 1;\n}\n.p-megamenu-panel {\n display: none;\n position: absolute;\n width: auto;\n z-index: 1;\n}\n.p-megamenu-root-list > .p-menuitem-active > .p-megamenu-panel {\n display: block;\n}\n.p-megamenu-submenu {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n/* Horizontal */\n.p-megamenu-horizontal .p-megamenu-root-list {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n}\n\n/* Vertical */\n.p-megamenu-vertical .p-megamenu-root-list {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-megamenu-vertical .p-megamenu-root-list > .p-menuitem-active > .p-megamenu-panel {\n left: 100%;\n top: 0;\n}\n.p-megamenu-vertical .p-megamenu-root-list > .p-menuitem > .p-menuitem-content > .p-menuitem-link > .p-submenu-icon {\n margin-left: auto;\n}\n.p-megamenu-grid {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-megamenu-col-2,\n.p-megamenu-col-3,\n.p-megamenu-col-4,\n.p-megamenu-col-6,\n.p-megamenu-col-12 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n padding: 0.5rem;\n}\n.p-megamenu-col-2 {\n width: 16.6667%;\n}\n.p-megamenu-col-3 {\n width: 25%;\n}\n.p-megamenu-col-4 {\n width: 33.3333%;\n}\n.p-megamenu-col-6 {\n width: 50%;\n}\n.p-megamenu-col-12 {\n width: 100%;\n}\n"),h.render=function(e,t,s,n,o,a){const m=i.resolveComponent("MegaMenuSub");return i.openBlock(),i.createElementBlock("div",{ref:a.containerRef,id:a.id,class:i.normalizeClass(a.containerClass)},[e.$slots.start?(i.openBlock(),i.createElementBlock("div",f,[i.renderSlot(e.$slots,"start")])):i.createCommentVNode("",!0),i.createVNode(m,{ref:a.menubarRef,id:a.id+"_list",class:"p-megamenu-root-list",tabindex:s.disabled?-1:s.tabindex,role:"menubar","aria-label":e.ariaLabel,"aria-labelledby":e.ariaLabelledby,"aria-disabled":s.disabled||void 0,"aria-orientation":s.orientation,"aria-activedescendant":o.focused?a.focusedItemId:void 0,menuId:a.id,focusedItemId:o.focused?a.focusedItemId:void 0,items:a.processedItems,horizontal:a.horizontal,template:e.$slots.item,activeItem:o.activeItem,exact:s.exact,level:0,onFocus:a.onFocus,onBlur:a.onBlur,onKeydown:a.onKeyDown,onItemClick:a.onItemClick,onItemMouseenter:a.onItemMouseEnter},null,8,["id","tabindex","aria-label","aria-labelledby","aria-disabled","aria-orientation","aria-activedescendant","menuId","focusedItemId","items","horizontal","template","activeItem","exact","onFocus","onBlur","onKeydown","onItemClick","onItemMouseenter"]),e.$slots.end?(i.openBlock(),i.createElementBlock("div",g,[i.renderSlot(e.$slots,"end")])):i.createCommentVNode("",!0)],10,p)},module.exports=h;
1
+ "use strict";var e=require("primevue/utils"),t=require("primevue/ripple"),i=require("vue");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n={name:"MegaMenuSub",emits:["item-click","item-mouseenter"],props:{menuId:{type:String,default:null},focusedItemId:{type:String,default:null},horizontal:{type:Boolean,default:!1},submenu:{type:Object,default:null},items:{type:Array,default:null},level:{type:Number,default:0},template:{type:Function,default:null},activeItem:{type:Object,default:null},exact:{type:Boolean,default:!0}},methods:{getSubListId(e){return`${this.getItemId(e)}_list`},getSubListKey(e){return this.getSubListId(e)},getItemId(e){return`${this.menuId}_${e.key}`},getItemKey(e){return this.getItemId(e)},getItemProp:(t,i,s)=>t&&t.item?e.ObjectUtils.getItemValue(t.item[i],s):void 0,getItemLabel(e){return this.getItemProp(e,"label")},isItemActive(t){return!!e.ObjectUtils.isNotEmpty(this.activeItem)&&this.activeItem.key===t.key},isItemVisible(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled(e){return this.getItemProp(e,"disabled")},isItemFocused(e){return this.focusedItemId===this.getItemId(e)},isItemGroup:t=>e.ObjectUtils.isNotEmpty(t.items),onItemClick(e,t){this.getItemProp(t,"command",{originalEvent:e,item:t.item}),this.$emit("item-click",{originalEvent:e,processedItem:t,isFocus:!0})},onItemMouseEnter(e,t){this.$emit("item-mouseenter",{originalEvent:e,processedItem:t})},onItemActionClick(e,t){t&&t(e)},getAriaSetSize(){return this.items.filter((e=>this.isItemVisible(e)&&!this.getItemProp(e,"separator"))).length},getAriaPosInset(e){return e-this.items.slice(0,e).filter((e=>this.isItemVisible(e)&&this.getItemProp(e,"separator"))).length+1},getSubmenuHeaderClass(e){return["p-megamenu-submenu-header p-submenu-header",this.getItemProp(e,"class"),{"p-disabled":this.isItemDisabled(e)}]},getColumnClass(e){let t;switch(this.isItemGroup(e)?e.items.length:0){case 2:t="p-megamenu-col-6";break;case 3:t="p-megamenu-col-4";break;case 4:t="p-megamenu-col-3";break;case 6:t="p-megamenu-col-2";break;default:t="p-megamenu-col-12"}return t},getItemClass(e){return["p-menuitem",this.getItemProp(e,"class"),{"p-menuitem-active p-highlight":this.isItemActive(e),"p-focus":this.isItemFocused(e),"p-disabled":this.isItemDisabled(e)}]},getItemActionClass(e,t){return["p-menuitem-link",{"router-link-active":t&&t.isActive,"router-link-active-exact":this.exact&&t&&t.isExactActive}]},getItemIconClass(e){return["p-menuitem-icon",this.getItemProp(e,"icon")]},getItemToggleIconClass(){return["p-submenu-icon",this.horizontal?"pi pi-angle-down":"pi pi-angle-right"]},getSeparatorItemClass(e){return["p-menuitem-separator",this.getItemProp(e,"class")]}},directives:{ripple:s(t).default}};const o=["id","aria-label","aria-disabled","aria-expanded","aria-haspopup","aria-level","aria-setsize","aria-posinset"],a=["onClick","onMouseenter"],m=["href","onClick"],r={class:"p-menuitem-text"},l=["href","target"],c={class:"p-menuitem-text"},d={key:0,class:"p-megamenu-panel"},u={class:"p-megamenu-grid"},I=["id"];n.render=function(e,t,s,n,h,p){const f=i.resolveComponent("router-link"),g=i.resolveComponent("MegaMenuSub",!0),y=i.resolveDirective("ripple");return i.openBlock(),i.createElementBlock("ul",null,[s.submenu?(i.openBlock(),i.createElementBlock("li",{key:0,class:i.normalizeClass(p.getSubmenuHeaderClass(s.submenu)),style:i.normalizeStyle(p.getItemProp(s.submenu,"style")),role:"presentation"},i.toDisplayString(p.getItemLabel(s.submenu)),7)):i.createCommentVNode("",!0),(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(s.items,((n,h)=>(i.openBlock(),i.createElementBlock(i.Fragment,{key:p.getItemKey(n)},[p.isItemVisible(n)&&!p.getItemProp(n,"separator")?(i.openBlock(),i.createElementBlock("li",{key:0,id:p.getItemId(n),style:i.normalizeStyle(p.getItemProp(n,"style")),class:i.normalizeClass(p.getItemClass(n)),role:"menuitem","aria-label":p.getItemLabel(n),"aria-disabled":p.isItemDisabled(n)||void 0,"aria-expanded":p.isItemGroup(n)?p.isItemActive(n):void 0,"aria-haspopup":p.isItemGroup(n)&&!p.getItemProp(n,"to")?"menu":void 0,"aria-level":s.level+1,"aria-setsize":p.getAriaSetSize(),"aria-posinset":p.getAriaPosInset(h)},[i.createElementVNode("div",{class:"p-menuitem-content",onClick:e=>p.onItemClick(e,n),onMouseenter:e=>p.onItemMouseEnter(e,n)},[s.template?(i.openBlock(),i.createBlock(i.resolveDynamicComponent(s.template),{key:1,item:n.item},null,8,["item"])):(i.openBlock(),i.createElementBlock(i.Fragment,{key:0},[p.getItemProp(n,"to")&&!p.isItemDisabled(n)?(i.openBlock(),i.createBlock(f,{key:0,to:p.getItemProp(n,"to"),custom:""},{default:i.withCtx((({navigate:e,href:t,isActive:s,isExactActive:o})=>[i.withDirectives((i.openBlock(),i.createElementBlock("a",{href:t,class:i.normalizeClass(p.getItemActionClass(n,{isActive:s,isExactActive:o})),tabindex:"-1","aria-hidden":"true",onClick:t=>p.onItemActionClick(t,e)},[p.getItemProp(n,"icon")?(i.openBlock(),i.createElementBlock("span",{key:0,class:i.normalizeClass(p.getItemIconClass(n))},null,2)):i.createCommentVNode("",!0),i.createElementVNode("span",r,i.toDisplayString(p.getItemLabel(n)),1)],10,m)),[[y]])])),_:2},1032,["to"])):i.withDirectives((i.openBlock(),i.createElementBlock("a",{key:1,href:p.getItemProp(n,"url"),class:i.normalizeClass(p.getItemActionClass(n)),target:p.getItemProp(n,"target"),tabindex:"-1","aria-hidden":"true"},[p.getItemProp(n,"icon")?(i.openBlock(),i.createElementBlock("span",{key:0,class:i.normalizeClass(p.getItemIconClass(n))},null,2)):i.createCommentVNode("",!0),i.createElementVNode("span",c,i.toDisplayString(p.getItemLabel(n)),1),p.isItemGroup(n)?(i.openBlock(),i.createElementBlock("span",{key:1,class:i.normalizeClass(p.getItemToggleIconClass())},null,2)):i.createCommentVNode("",!0)],10,l)),[[y]])],64))],40,a),p.isItemVisible(n)&&p.isItemGroup(n)?(i.openBlock(),i.createElementBlock("div",d,[i.createElementVNode("div",u,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(n.items,(o=>(i.openBlock(),i.createElementBlock("div",{key:p.getItemKey(o),class:i.normalizeClass(p.getColumnClass(n))},[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(o,(n=>(i.openBlock(),i.createBlock(g,{key:p.getSubListKey(n),id:p.getSubListId(n),role:"menu",class:"p-submenu-list p-megamenu-submenu",menuId:s.menuId,focusedItemId:s.focusedItemId,submenu:n,items:n.items,template:s.template,exact:s.exact,level:s.level+1,onItemClick:t[0]||(t[0]=t=>e.$emit("item-click",t)),onItemMouseenter:t[1]||(t[1]=t=>e.$emit("item-mouseenter",t))},null,8,["id","menuId","focusedItemId","submenu","items","template","exact","level"])))),128))],2)))),128))])])):i.createCommentVNode("",!0)],14,o)):i.createCommentVNode("",!0),p.isItemVisible(n)&&p.getItemProp(n,"separator")?(i.openBlock(),i.createElementBlock("li",{key:1,id:p.getItemId(n),style:i.normalizeStyle(p.getItemProp(n,"style")),class:i.normalizeClass(p.getSeparatorItemClass(n)),role:"separator"},null,14,I)):i.createCommentVNode("",!0)],64)))),128))])};var h={name:"MegaMenu",emits:["focus","blur"],props:{model:{type:Array,default:null},orientation:{type:String,default:"horizontal"},exact:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},tabindex:{type:Number,default:0},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},outsideClickListener:null,resizeListener:null,container:null,menubar:null,searchTimeout:null,searchValue:null,data:()=>({focused:!1,focusedItemInfo:{index:-1,key:"",parentKey:""},activeItem:null,dirty:!1}),watch:{activeItem(t){e.ObjectUtils.isNotEmpty(t)?(this.bindOutsideClickListener(),this.bindResizeListener()):(this.unbindOutsideClickListener(),this.unbindResizeListener())}},beforeUnmount(){this.unbindOutsideClickListener(),this.unbindResizeListener()},methods:{getItemProp:(t,i)=>t?e.ObjectUtils.getItemValue(t[i]):void 0,getItemLabel(e){return this.getItemProp(e,"label")},isItemDisabled(e){return this.getItemProp(e,"disabled")},isItemGroup(t){return e.ObjectUtils.isNotEmpty(this.getItemProp(t,"items"))},isItemSeparator(e){return this.getItemProp(e,"separator")},getProccessedItemLabel(e){return e?this.getItemLabel(e.item):void 0},isProccessedItemGroup:t=>t&&e.ObjectUtils.isNotEmpty(t.items),hide(t,i){this.activeItem=null,this.focusedItemInfo={index:-1,key:"",parentKey:""},i&&e.DomHandler.focus(this.menubar),this.dirty=!1},onFocus(e){if(this.focused=!0,-1===this.focusedItemInfo.index){const e=this.findFirstFocusedItemIndex(),t=this.findVisibleItem(e);this.focusedItemInfo={index:e,key:t.key,parentKey:t.parentKey}}this.$emit("focus",e)},onBlur(e){this.focused=!1,this.focusedItemInfo={index:-1,key:"",parentKey:""},this.searchValue="",this.dirty=!1,this.$emit("blur",e)},onKeyDown(t){if(this.disabled)return void t.preventDefault();const i=t.metaKey||t.ctrlKey;switch(t.code){case"ArrowDown":this.onArrowDownKey(t);break;case"ArrowUp":this.onArrowUpKey(t);break;case"ArrowLeft":this.onArrowLeftKey(t);break;case"ArrowRight":this.onArrowRightKey(t);break;case"Home":this.onHomeKey(t);break;case"End":this.onEndKey(t);break;case"Space":this.onSpaceKey(t);break;case"Enter":this.onEnterKey(t);break;case"Escape":this.onEscapeKey(t);break;case"Tab":this.onTabKey(t);break;case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!i&&e.ObjectUtils.isPrintableCharacter(t.key)&&this.searchItems(t,t.key)}},onItemChange(t){const{processedItem:i,isFocus:s}=t;if(e.ObjectUtils.isEmpty(i))return;const{index:n,key:o,parentKey:a,items:m}=i,r=e.ObjectUtils.isNotEmpty(m);r&&(this.activeItem=i),this.focusedItemInfo={index:n,key:o,parentKey:a},r&&(this.dirty=!0),s&&e.DomHandler.focus(this.menubar)},onItemClick(t){const{originalEvent:i,processedItem:s}=t,n=this.isProccessedItemGroup(s),o=e.ObjectUtils.isEmpty(s.parent);if(this.isSelected(s)){const{index:t,key:i,parentKey:n}=s;this.activeItem=null,this.focusedItemInfo={index:t,key:i,parentKey:n},this.dirty=!o,e.DomHandler.focus(this.menubar)}else if(n)this.onItemChange(t);else{const t=o?s:this.activeItem;this.hide(i),this.changeFocusedItemInfo(i,t?t.index:-1),e.DomHandler.focus(this.menubar)}},onItemMouseEnter(e){this.dirty&&this.onItemChange(e)},onArrowDownKey(t){if(this.horizontal)if(e.ObjectUtils.isNotEmpty(this.activeItem)&&this.activeItem.key===this.focusedItemInfo.key)this.focusedItemInfo={index:-1,key:"",parentKey:this.activeItem.key};else{const e=this.findVisibleItem(this.focusedItemInfo.index);this.isProccessedItemGroup(e)&&(this.onItemChange({originalEvent:t,processedItem:e}),this.focusedItemInfo={index:-1,key:e.key,parentKey:e.parentKey},this.searchValue="")}const i=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemInfo(t,i),t.preventDefault()},onArrowUpKey(t){if(t.altKey&&this.horizontal){if(-1!==this.focusedItemInfo.index){const i=this.findVisibleItem(this.focusedItemInfo.index);!this.isProccessedItemGroup(i)&&e.ObjectUtils.isNotEmpty(this.activeItem)&&(0===this.focusedItemInfo.index?(this.focusedItemInfo={index:this.activeItem.index,key:this.activeItem.key,parentKey:this.activeItem.parentKey},this.activeItem=null):this.changeFocusedItemInfo(t,this.findFirstItemIndex()))}t.preventDefault()}else{const e=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemInfo(t,e),t.preventDefault()}},onArrowLeftKey(t){const i=this.findVisibleItem(this.focusedItemInfo.index);if(this.isProccessedItemGroup(i)){if(this.horizontal){const e=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemInfo(t,e)}}else{this.vertical&&e.ObjectUtils.isNotEmpty(this.activeItem)&&0===i.columnIndex&&(this.focusedItemInfo={index:this.activeItem.index,key:this.activeItem.key,parentKey:this.activeItem.parentKey},this.activeItem=null);const s=i.columnIndex-1,n=this.visibleItems.findIndex((e=>e.columnIndex===s));-1!==n&&this.changeFocusedItemInfo(t,n)}t.preventDefault()},onArrowRightKey(t){const i=this.findVisibleItem(this.focusedItemInfo.index);if(this.isProccessedItemGroup(i)){if(this.vertical)if(e.ObjectUtils.isNotEmpty(this.activeItem)&&this.activeItem.key===i.key)this.focusedItemInfo={index:-1,key:"",parentKey:this.activeItem.key};else{const e=this.findVisibleItem(this.focusedItemInfo.index);this.isProccessedItemGroup(e)&&(this.onItemChange({originalEvent:t,processedItem:e}),this.focusedItemInfo={index:-1,key:e.key,parentKey:e.parentKey},this.searchValue="")}const s=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemInfo(t,s)}else{const e=i.columnIndex+1,s=this.visibleItems.findIndex((t=>t.columnIndex===e));-1!==s&&this.changeFocusedItemInfo(t,s)}t.preventDefault()},onHomeKey(e){this.changeFocusedItemInfo(e,this.findFirstItemIndex()),e.preventDefault()},onEndKey(e){this.changeFocusedItemInfo(e,this.findLastItemIndex()),e.preventDefault()},onEnterKey(t){if(-1!==this.focusedItemInfo.index){const i=e.DomHandler.findSingle(this.menubar,`li[id="${this.focusedItemId}"]`),s=i&&e.DomHandler.findSingle(i,".p-menuitem-link");s?s.click():i&&i.click();const n=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(n)&&this.changeFocusedItemInfo(t,this.findFirstFocusedItemIndex())}t.preventDefault()},onSpaceKey(e){this.onEnterKey(e)},onEscapeKey(t){e.ObjectUtils.isNotEmpty(this.activeItem)&&(this.focusedItemInfo={index:this.activeItem.index,key:this.activeItem.key},this.activeItem=null),t.preventDefault()},onTabKey(e){if(-1!==this.focusedItemInfo.index){const t=this.findVisibleItem(this.focusedItemInfo.index);!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.hide()},bindOutsideClickListener(){this.outsideClickListener||(this.outsideClickListener=e=>{const t=this.container&&!this.container.contains(e.target),i=!this.popup||!(this.target&&(this.target===e.target||this.target.contains(e.target)));t&&i&&this.hide()},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindResizeListener(){this.resizeListener||(this.resizeListener=t=>{e.DomHandler.isTouchDevice()||this.hide(t,!0)},window.addEventListener("resize",this.resizeListener))},unbindResizeListener(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},isItemMatched(e){return this.isValidItem(e)&&this.getProccessedItemLabel(e).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase())},isValidItem(e){return!!e&&!this.isItemDisabled(e.item)&&!this.isItemSeparator(e.item)},isValidSelectedItem(e){return this.isValidItem(e)&&this.isSelected(e)},isSelected(t){return!!e.ObjectUtils.isNotEmpty(this.activeItem)&&this.activeItem.key===t.key},findFirstItemIndex(){return this.visibleItems.findIndex((e=>this.isValidItem(e)))},findLastItemIndex(){return e.ObjectUtils.findLastIndex(this.visibleItems,(e=>this.isValidItem(e)))},findNextItemIndex(e){const t=e<this.visibleItems.length-1?this.visibleItems.slice(e+1).findIndex((e=>this.isValidItem(e))):-1;return t>-1?t+e+1:e},findPrevItemIndex(t){const i=t>0?e.ObjectUtils.findLastIndex(this.visibleItems.slice(0,t),(e=>this.isValidItem(e))):-1;return i>-1?i:t},findSelectedItemIndex(){return this.visibleItems.findIndex((e=>this.isValidSelectedItem(e)))},findFirstFocusedItemIndex(){const e=this.findSelectedItemIndex();return e<0?this.findFirstItemIndex():e},findLastFocusedItemIndex(){const e=this.findSelectedItemIndex();return e<0?this.findLastItemIndex():e},findVisibleItem(t){return e.ObjectUtils.isNotEmpty(this.visibleItems)?this.visibleItems[t]:null},searchItems(e,t){this.searchValue=(this.searchValue||"")+t;let i=-1,s=!1;return-1!==this.focusedItemInfo.index?(i=this.visibleItems.slice(this.focusedItemInfo.index).findIndex((e=>this.isItemMatched(e))),i=-1===i?this.visibleItems.slice(0,this.focusedItemInfo.index).findIndex((e=>this.isItemMatched(e))):i+this.focusedItemInfo.index):i=this.visibleItems.findIndex((e=>this.isItemMatched(e))),-1!==i&&(s=!0),-1===i&&-1===this.focusedItemInfo.index&&(i=this.findFirstFocusedItemIndex()),-1!==i&&this.changeFocusedItemInfo(e,i),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((()=>{this.searchValue="",this.searchTimeout=null}),500),s},changeFocusedItemInfo(t,i){const s=this.findVisibleItem(i);this.focusedItemInfo.index=i,this.focusedItemInfo.key=e.ObjectUtils.isNotEmpty(s)?s.key:"",this.scrollInView()},scrollInView(t=-1){const i=-1!==t?`${this.id}_${t}`:this.focusedItemId,s=e.DomHandler.findSingle(this.menubar,`li[id="${i}"]`);s&&s.scrollIntoView&&s.scrollIntoView({block:"nearest",inline:"start"})},createProcessedItems(e,t=0,i={},s="",n){const o=[];return e&&e.forEach(((e,a)=>{const m=(""!==s?s+"_":"")+(void 0!==n?n+"_":"")+a,r={item:e,index:a,level:t,key:m,parent:i,parentKey:s,columnIndex:void 0!==n?n:void 0!==i.columnIndex?i.columnIndex:a};r.items=0===t&&e.items&&e.items.length>0?e.items.map(((e,i)=>this.createProcessedItems(e,t+1,r,m,i))):this.createProcessedItems(e.items,t+1,r,m),o.push(r)})),o},containerRef(e){this.container=e},menubarRef(e){this.menubar=e?e.$el:void 0}},computed:{containerClass(){return["p-megamenu p-component",{"p-megamenu-horizontal":this.horizontal,"p-megamenu-vertical":this.vertical}]},processedItems(){return this.createProcessedItems(this.model||[])},visibleItems(){const t=e.ObjectUtils.isNotEmpty(this.activeItem)?this.activeItem:null;return t&&t.key===this.focusedItemInfo.parentKey?t.items.reduce(((e,t)=>(t.forEach((t=>{t.items.forEach((t=>{e.push(t)}))})),e)),[]):this.processedItems},horizontal(){return"horizontal"===this.orientation},vertical(){return"vertical"===this.orientation},id(){return this.$attrs.id||e.UniqueComponentId()},focusedItemId(){return e.ObjectUtils.isNotEmpty(this.focusedItemInfo.key)?`${this.id}_${this.focusedItemInfo.key}`:null}},components:{MegaMenuSub:n}};const p=["id"],f={key:0,class:"p-megamenu-start"},g={key:1,class:"p-megamenu-end"};!function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===i&&s.firstChild?s.insertBefore(n,s.firstChild):s.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-megamenu-root-list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.p-megamenu-root-list > .p-menuitem {\n position: relative;\n}\n.p-megamenu .p-menuitem-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n}\n.p-megamenu .p-menuitem-text {\n line-height: 1;\n}\n.p-megamenu-panel {\n display: none;\n position: absolute;\n width: auto;\n z-index: 1;\n}\n.p-megamenu-root-list > .p-menuitem-active > .p-megamenu-panel {\n display: block;\n}\n.p-megamenu-submenu {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n/* Horizontal */\n.p-megamenu-horizontal .p-megamenu-root-list {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n}\n\n/* Vertical */\n.p-megamenu-vertical .p-megamenu-root-list {\n flex-direction: column;\n}\n.p-megamenu-vertical .p-megamenu-root-list > .p-menuitem-active > .p-megamenu-panel {\n left: 100%;\n top: 0;\n}\n.p-megamenu-vertical .p-megamenu-root-list > .p-menuitem > .p-menuitem-content > .p-menuitem-link > .p-submenu-icon {\n margin-left: auto;\n}\n.p-megamenu-grid {\n display: flex;\n}\n.p-megamenu-col-2,\n.p-megamenu-col-3,\n.p-megamenu-col-4,\n.p-megamenu-col-6,\n.p-megamenu-col-12 {\n flex: 0 0 auto;\n padding: 0.5rem;\n}\n.p-megamenu-col-2 {\n width: 16.6667%;\n}\n.p-megamenu-col-3 {\n width: 25%;\n}\n.p-megamenu-col-4 {\n width: 33.3333%;\n}\n.p-megamenu-col-6 {\n width: 50%;\n}\n.p-megamenu-col-12 {\n width: 100%;\n}\n"),h.render=function(e,t,s,n,o,a){const m=i.resolveComponent("MegaMenuSub");return i.openBlock(),i.createElementBlock("div",{ref:a.containerRef,id:a.id,class:i.normalizeClass(a.containerClass)},[e.$slots.start?(i.openBlock(),i.createElementBlock("div",f,[i.renderSlot(e.$slots,"start")])):i.createCommentVNode("",!0),i.createVNode(m,{ref:a.menubarRef,id:a.id+"_list",class:"p-megamenu-root-list",tabindex:s.disabled?-1:s.tabindex,role:"menubar","aria-label":e.ariaLabel,"aria-labelledby":e.ariaLabelledby,"aria-disabled":s.disabled||void 0,"aria-orientation":s.orientation,"aria-activedescendant":o.focused?a.focusedItemId:void 0,menuId:a.id,focusedItemId:o.focused?a.focusedItemId:void 0,items:a.processedItems,horizontal:a.horizontal,template:e.$slots.item,activeItem:o.activeItem,exact:s.exact,level:0,onFocus:a.onFocus,onBlur:a.onBlur,onKeydown:a.onKeyDown,onItemClick:a.onItemClick,onItemMouseenter:a.onItemMouseEnter},null,8,["id","tabindex","aria-label","aria-labelledby","aria-disabled","aria-orientation","aria-activedescendant","menuId","focusedItemId","items","horizontal","template","activeItem","exact","onFocus","onBlur","onKeydown","onItemClick","onItemMouseenter"]),e.$slots.end?(i.openBlock(),i.createElementBlock("div",g,[i.renderSlot(e.$slots,"end")])):i.createCommentVNode("",!0)],10,p)},module.exports=h;
@@ -56,8 +56,8 @@ var script$1 = {
56
56
  getItemKey(processedItem) {
57
57
  return this.getItemId(processedItem);
58
58
  },
59
- getItemProp(processedItem, name) {
60
- return processedItem && processedItem.item ? ObjectUtils.getItemValue(processedItem.item[name]) : undefined;
59
+ getItemProp(processedItem, name, params) {
60
+ return processedItem && processedItem.item ? ObjectUtils.getItemValue(processedItem.item[name], params) : undefined;
61
61
  },
62
62
  getItemLabel(processedItem) {
63
63
  return this.getItemProp(processedItem, 'label');
@@ -78,9 +78,7 @@ var script$1 = {
78
78
  return ObjectUtils.isNotEmpty(processedItem.items);
79
79
  },
80
80
  onItemClick(event, processedItem) {
81
- const command = this.getItemProp(processedItem, 'command');
82
-
83
- command && command({ originalEvent: event, item: processedItem.item });
81
+ this.getItemProp(processedItem, 'command', { originalEvent: event, item: processedItem.item });
84
82
  this.$emit('item-click', { originalEvent: event, processedItem, isFocus: true });
85
83
  },
86
84
  onItemMouseEnter(event, processedItem) {
@@ -530,7 +528,16 @@ var script = {
530
528
  this.dirty = !root;
531
529
  DomHandler.focus(this.menubar);
532
530
  } else {
533
- grouped ? this.onItemChange(event) : this.hide(originalEvent, !root);
531
+ if (grouped) {
532
+ this.onItemChange(event);
533
+ } else {
534
+ const rootProcessedItem = root ? processedItem : this.activeItem;
535
+
536
+ this.hide(originalEvent);
537
+ this.changeFocusedItemInfo(originalEvent, rootProcessedItem ? rootProcessedItem.index : -1);
538
+
539
+ DomHandler.focus(this.menubar);
540
+ }
534
541
  }
535
542
  },
536
543
  onItemMouseEnter(event) {
@@ -976,7 +983,7 @@ function styleInject(css, ref) {
976
983
  }
977
984
  }
978
985
 
979
- var css_248z = "\n.p-megamenu-root-list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.p-megamenu-root-list > .p-menuitem {\n position: relative;\n}\n.p-megamenu .p-menuitem-link {\n cursor: pointer;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n}\n.p-megamenu .p-menuitem-text {\n line-height: 1;\n}\n.p-megamenu-panel {\n display: none;\n position: absolute;\n width: auto;\n z-index: 1;\n}\n.p-megamenu-root-list > .p-menuitem-active > .p-megamenu-panel {\n display: block;\n}\n.p-megamenu-submenu {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n/* Horizontal */\n.p-megamenu-horizontal .p-megamenu-root-list {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n}\n\n/* Vertical */\n.p-megamenu-vertical .p-megamenu-root-list {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-megamenu-vertical .p-megamenu-root-list > .p-menuitem-active > .p-megamenu-panel {\n left: 100%;\n top: 0;\n}\n.p-megamenu-vertical .p-megamenu-root-list > .p-menuitem > .p-menuitem-content > .p-menuitem-link > .p-submenu-icon {\n margin-left: auto;\n}\n.p-megamenu-grid {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-megamenu-col-2,\n.p-megamenu-col-3,\n.p-megamenu-col-4,\n.p-megamenu-col-6,\n.p-megamenu-col-12 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n padding: 0.5rem;\n}\n.p-megamenu-col-2 {\n width: 16.6667%;\n}\n.p-megamenu-col-3 {\n width: 25%;\n}\n.p-megamenu-col-4 {\n width: 33.3333%;\n}\n.p-megamenu-col-6 {\n width: 50%;\n}\n.p-megamenu-col-12 {\n width: 100%;\n}\n";
986
+ var css_248z = "\n.p-megamenu-root-list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.p-megamenu-root-list > .p-menuitem {\n position: relative;\n}\n.p-megamenu .p-menuitem-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n}\n.p-megamenu .p-menuitem-text {\n line-height: 1;\n}\n.p-megamenu-panel {\n display: none;\n position: absolute;\n width: auto;\n z-index: 1;\n}\n.p-megamenu-root-list > .p-menuitem-active > .p-megamenu-panel {\n display: block;\n}\n.p-megamenu-submenu {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n/* Horizontal */\n.p-megamenu-horizontal .p-megamenu-root-list {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n}\n\n/* Vertical */\n.p-megamenu-vertical .p-megamenu-root-list {\n flex-direction: column;\n}\n.p-megamenu-vertical .p-megamenu-root-list > .p-menuitem-active > .p-megamenu-panel {\n left: 100%;\n top: 0;\n}\n.p-megamenu-vertical .p-megamenu-root-list > .p-menuitem > .p-menuitem-content > .p-menuitem-link > .p-submenu-icon {\n margin-left: auto;\n}\n.p-megamenu-grid {\n display: flex;\n}\n.p-megamenu-col-2,\n.p-megamenu-col-3,\n.p-megamenu-col-4,\n.p-megamenu-col-6,\n.p-megamenu-col-12 {\n flex: 0 0 auto;\n padding: 0.5rem;\n}\n.p-megamenu-col-2 {\n width: 16.6667%;\n}\n.p-megamenu-col-3 {\n width: 25%;\n}\n.p-megamenu-col-4 {\n width: 33.3333%;\n}\n.p-megamenu-col-6 {\n width: 50%;\n}\n.p-megamenu-col-12 {\n width: 100%;\n}\n";
980
987
  styleInject(css_248z);
981
988
 
982
989
  script.render = render;