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,11 +1,11 @@
1
1
  import Button from 'primevue/button';
2
- import { ObjectUtils, DomHandler, UniqueComponentId } from 'primevue/utils';
3
2
  import Ripple from 'primevue/ripple';
4
- import { resolveComponent, resolveDirective, openBlock, createElementBlock, normalizeClass, renderSlot, createVNode, createCommentVNode, createElementVNode, TransitionGroup, normalizeStyle, withCtx, Fragment, renderList, withDirectives } from 'vue';
3
+ import { ObjectUtils, DomHandler, UniqueComponentId } from 'primevue/utils';
4
+ import { resolveComponent, resolveDirective, openBlock, createElementBlock, normalizeClass, renderSlot, createVNode, mergeProps, createCommentVNode, createElementVNode, TransitionGroup, withCtx, Fragment, renderList, withDirectives } from 'vue';
5
5
 
6
6
  var script = {
7
7
  name: 'PickList',
8
- emits: ['update:modelValue', 'reorder', 'update:selection', 'selection-change', 'move-to-target', 'move-to-source', 'move-all-to-target', 'move-all-to-source'],
8
+ emits: ['update:modelValue', 'reorder', 'update:selection', 'selection-change', 'move-to-target', 'move-to-source', 'move-all-to-target', 'move-all-to-source', 'focus', 'blur'],
9
9
  props: {
10
10
  modelValue: {
11
11
  type: Array,
@@ -46,6 +46,50 @@ var script = {
46
46
  showTargetControls: {
47
47
  type: Boolean,
48
48
  default: true
49
+ },
50
+ targetListProps: {
51
+ type: null,
52
+ default: null
53
+ },
54
+ sourceListProps: {
55
+ type: null,
56
+ default: null
57
+ },
58
+ moveUpButtonProps: {
59
+ type: null,
60
+ default: null
61
+ },
62
+ moveTopButtonProps: {
63
+ type: null,
64
+ default: null
65
+ },
66
+ moveDownButtonProps: {
67
+ type: null,
68
+ default: null
69
+ },
70
+ moveBottomButtonProps: {
71
+ type: null,
72
+ default: null
73
+ },
74
+ moveToTargetProps: {
75
+ type: null,
76
+ default: null
77
+ },
78
+ moveAllToTargetProps: {
79
+ type: null,
80
+ default: null
81
+ },
82
+ moveToSourceProps: {
83
+ type: null,
84
+ default: null
85
+ },
86
+ moveAllToSourceProps: {
87
+ type: null,
88
+ default: null
89
+ },
90
+ tabindex: {
91
+ type: Number,
92
+ default: 0
49
93
  }
50
94
  },
51
95
  itemTouched: false,
@@ -53,7 +97,12 @@ var script = {
53
97
  styleElement: null,
54
98
  data() {
55
99
  return {
56
- d_selection: this.selection
100
+ d_selection: this.selection,
101
+ focused: {
102
+ sourceList: false,
103
+ targetList: false
104
+ },
105
+ focusedOptionIndex: -1
57
106
  };
58
107
  },
59
108
  watch: {
@@ -83,6 +132,26 @@ var script = {
83
132
  isSelected(item, listIndex) {
84
133
  return ObjectUtils.findIndexInList(item, this.d_selection[listIndex]) != -1;
85
134
  },
135
+ onListFocus(event, listType) {
136
+ const selectedFirstItem = DomHandler.findSingle(this.$refs[listType].$el, 'li.p-picklist-item.p-highlight');
137
+ const findIndex = ObjectUtils.findIndexInList(selectedFirstItem, this.$refs[listType].$el.children);
138
+
139
+ this.focused[listType] = true;
140
+
141
+ const index = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : selectedFirstItem ? findIndex : -1;
142
+
143
+ this.changeFocusedOptionIndex(index, listType);
144
+ this.$emit('focus', event);
145
+ },
146
+ onListBlur(event, listType) {
147
+ this.focused[listType] = false;
148
+ this.focusedOptionIndex = -1;
149
+ this.$emit('blur', event);
150
+ },
151
+ onOptionMouseDown(index, listType) {
152
+ this.focused[listType] = true;
153
+ this.focusedOptionIndex = index;
154
+ },
86
155
  moveUp(event, listIndex) {
87
156
  if (this.d_selection && this.d_selection[listIndex]) {
88
157
  let valueList = [...this.modelValue[listIndex]];
@@ -335,12 +404,17 @@ var script = {
335
404
  });
336
405
  }
337
406
  },
338
- onItemClick(event, item, listIndex) {
407
+ onItemClick(event, item, index, listIndex) {
408
+ const listType = listIndex === 0 ? 'sourceList' : 'targetList';
409
+
339
410
  this.itemTouched = false;
340
411
  const selectionList = this.d_selection[listIndex];
341
- const selectedIndex = ObjectUtils.findIndexInList(item, selectionList);
412
+ const selectedIndex = ObjectUtils.findIndexInList(item, this.d_selection);
342
413
  const selected = selectedIndex != -1;
343
414
  const metaSelection = this.itemTouched ? false : this.metaKeySelection;
415
+ const selectedId = DomHandler.find(this.$refs[listType].$el, '.p-picklist-item')[index].getAttribute('id');
416
+
417
+ this.focusedOptionIndex = selectedId;
344
418
  let _selection;
345
419
 
346
420
  if (metaSelection) {
@@ -379,50 +453,145 @@ var script = {
379
453
  onItemTouchEnd() {
380
454
  this.itemTouched = true;
381
455
  },
382
- onItemKeyDown(event, item, listIndex) {
383
- let listItem = event.currentTarget;
456
+ onItemKeyDown(event, listType) {
457
+ switch (event.code) {
458
+ case 'ArrowDown':
459
+ this.onArrowDownKey(event, listType);
460
+ break;
384
461
 
385
- switch (event.which) {
386
- //down
387
- case 40:
388
- var nextItem = this.findNextItem(listItem);
462
+ case 'ArrowUp':
463
+ this.onArrowUpKey(event, listType);
464
+ break;
389
465
 
390
- if (nextItem) {
391
- nextItem.focus();
392
- }
466
+ case 'Home':
467
+ this.onHomeKey(event, listType);
468
+ break;
393
469
 
394
- event.preventDefault();
470
+ case 'End':
471
+ this.onEndKey(event, listType);
395
472
  break;
396
473
 
397
- //up
398
- case 38:
399
- var prevItem = this.findPrevItem(listItem);
474
+ case 'Enter':
475
+ this.onEnterKey(event, listType);
476
+ break;
477
+
478
+ case 'Space':
479
+ this.onSpaceKey(event, listType);
480
+ break;
400
481
 
401
- if (prevItem) {
402
- prevItem.focus();
482
+ case 'KeyA':
483
+ if (event.ctrlKey) {
484
+ this.d_selection = [...this.modelValue];
485
+ this.$emit('update:selection', this.d_selection);
403
486
  }
487
+ }
488
+ },
489
+ onArrowDownKey(event, listType) {
490
+ const optionIndex = this.findNextOptionIndex(this.focusedOptionIndex, listType);
404
491
 
405
- event.preventDefault();
406
- break;
492
+ this.changeFocusedOptionIndex(optionIndex, listType);
407
493
 
408
- //enter
409
- case 13:
410
- this.onItemClick(event, item, listIndex);
411
- event.preventDefault();
412
- break;
494
+ if (event.shiftKey) {
495
+ this.onEnterKey(event, listType);
496
+ }
497
+
498
+ event.preventDefault();
499
+ },
500
+ onArrowUpKey(event, listType) {
501
+ const optionIndex = this.findPrevOptionIndex(this.focusedOptionIndex, listType);
502
+
503
+ this.changeFocusedOptionIndex(optionIndex, listType);
504
+
505
+ if (event.shiftKey) {
506
+ this.onEnterKey(event, listType);
507
+ }
508
+
509
+ event.preventDefault();
510
+ },
511
+ onEnterKey(event, listType) {
512
+ const items = DomHandler.find(this.$refs[listType].$el, 'li.p-picklist-item');
513
+ const focusedItem = DomHandler.findSingle(this.$refs[listType].$el, `li.p-picklist-item[id=${this.focusedOptionIndex}]`);
514
+ const matchedOptionIndex = [...items].findIndex((item) => item === focusedItem);
515
+ const listId = listType === 'sourceList' ? 0 : 1;
516
+
517
+ this.onItemClick(event, this.modelValue[listId][matchedOptionIndex], matchedOptionIndex, listId);
518
+
519
+ event.preventDefault();
520
+ },
521
+ onSpaceKey(event, listType) {
522
+ event.preventDefault();
523
+
524
+ if (event.shiftKey) {
525
+ const listId = listType === 'sourceList' ? 0 : 1;
526
+ const items = DomHandler.find(this.$refs[listType].$el, 'li.p-picklist-item');
527
+ const selectedItemIndex = ObjectUtils.findIndexInList(this.d_selection[listId][0], [...this.modelValue[listId]]);
528
+ const focusedItem = DomHandler.findSingle(this.$refs[listType].$el, `li.p-picklist-item[id=${this.focusedOptionIndex}]`);
529
+ const matchedOptionIndex = [...items].findIndex((item) => item === focusedItem);
530
+
531
+ this.d_selection[listId] = [...this.modelValue[listId]].slice(Math.min(selectedItemIndex, matchedOptionIndex), Math.max(selectedItemIndex, matchedOptionIndex) + 1);
532
+ this.$emit('update:selection', this.d_selection);
533
+ } else {
534
+ this.onEnterKey(event, listType);
413
535
  }
414
536
  },
415
- findNextItem(item) {
416
- let nextItem = item.nextElementSibling;
537
+ onHomeKey(event, listType) {
538
+ if (event.ctrlKey && event.shiftKey) {
539
+ const listId = listType === 'sourceList' ? 0 : 1;
540
+ const items = DomHandler.find(this.$refs[listType].$el, 'li.p-picklist-item');
541
+ const focusedItem = DomHandler.findSingle(this.$refs[listType].$el, `li.p-picklist-item[id=${this.focusedOptionIndex}]`);
542
+ const matchedOptionIndex = [...items].findIndex((item) => item === focusedItem);
543
+
544
+ this.d_selection[listId] = [...this.modelValue[listId]].slice(0, matchedOptionIndex + 1);
545
+ this.$emit('update:selection', this.d_selection);
546
+ } else {
547
+ this.changeFocusedOptionIndex(0, listType);
548
+ }
417
549
 
418
- if (nextItem) return !DomHandler.hasClass(nextItem, 'p-picklist-item') ? this.findNextItem(nextItem) : nextItem;
419
- else return null;
550
+ event.preventDefault();
420
551
  },
421
- findPrevItem(item) {
422
- let prevItem = item.previousElementSibling;
552
+ onEndKey(event, listType) {
553
+ const items = DomHandler.find(this.$refs[listType].$el, 'li.p-picklist-item');
554
+
555
+ if (event.ctrlKey && event.shiftKey) {
556
+ const listId = listType === 'sourceList' ? 0 : 1;
557
+ const focusedItem = DomHandler.findSingle(this.$refs[listType].$el, `li.p-picklist-item[id=${this.focusedOptionIndex}]`);
558
+ const matchedOptionIndex = [...items].findIndex((item) => item === focusedItem);
423
559
 
424
- if (prevItem) return !DomHandler.hasClass(prevItem, 'p-picklist-item') ? this.findPrevItem(prevItem) : prevItem;
425
- else return null;
560
+ this.d_selection[listId] = [...this.modelValue[listId]].slice(matchedOptionIndex, items.length);
561
+ this.$emit('update:selection', this.d_selection);
562
+ } else {
563
+ this.changeFocusedOptionIndex(items.length - 1, listType);
564
+ }
565
+
566
+ event.preventDefault();
567
+ },
568
+ findNextOptionIndex(index, listType) {
569
+ const items = DomHandler.find(this.$refs[listType].$el, 'li.p-picklist-item');
570
+
571
+ const matchedOptionIndex = [...items].findIndex((link) => link.id === index);
572
+
573
+ return matchedOptionIndex > -1 ? matchedOptionIndex + 1 : 0;
574
+ },
575
+ findPrevOptionIndex(index, listType) {
576
+ const items = DomHandler.find(this.$refs[listType].$el, 'li.p-picklist-item');
577
+ const matchedOptionIndex = [...items].findIndex((link) => link.id === index);
578
+
579
+ return matchedOptionIndex > -1 ? matchedOptionIndex - 1 : 0;
580
+ },
581
+ changeFocusedOptionIndex(index, listType) {
582
+ const items = DomHandler.find(this.$refs[listType].$el, 'li.p-picklist-item');
583
+
584
+ let order = index >= items.length ? items.length - 1 : index < 0 ? 0 : index;
585
+
586
+ this.focusedOptionIndex = items[order].getAttribute('id');
587
+ this.scrollInView(items[order].getAttribute('id'), listType);
588
+ },
589
+ scrollInView(id, listType) {
590
+ const element = DomHandler.findSingle(this.$refs[listType].$el, `li[id="${id}"]`);
591
+
592
+ if (element) {
593
+ element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'start' });
594
+ }
426
595
  },
427
596
  updateListScroll(listElement) {
428
597
  const listItems = DomHandler.find(listElement, '.p-picklist-item.p-highlight');
@@ -500,9 +669,32 @@ var script = {
500
669
  document.head.removeChild(this.styleElement);
501
670
  this.styleElement = null;
502
671
  }
672
+ },
673
+ moveDisabled(index) {
674
+ if (!this.d_selection[index] || !this.d_selection[index].length) {
675
+ return true;
676
+ }
677
+ },
678
+ moveAllDisabled(list) {
679
+ return ObjectUtils.isEmpty(this[list]);
680
+ },
681
+ moveSourceDisabled() {
682
+ return ObjectUtils.isEmpty(this.targetList);
683
+ },
684
+ itemClass(item, id, listIndex) {
685
+ return ['p-picklist-item', { 'p-highlight': this.isSelected(item, listIndex), 'p-focus': id === this.focusedOptionId }];
503
686
  }
504
687
  },
505
688
  computed: {
689
+ idSource() {
690
+ return this.$attrs.id || UniqueComponentId();
691
+ },
692
+ idTarget() {
693
+ return this.$attrs.id || UniqueComponentId();
694
+ },
695
+ focusedOptionId() {
696
+ return this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : null;
697
+ },
506
698
  containerClass() {
507
699
  return [
508
700
  'p-picklist p-component',
@@ -519,6 +711,30 @@ var script = {
519
711
  },
520
712
  attributeSelector() {
521
713
  return UniqueComponentId();
714
+ },
715
+ moveUpAriaLabel() {
716
+ return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.moveUp : undefined;
717
+ },
718
+ moveTopAriaLabel() {
719
+ return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.moveTop : undefined;
720
+ },
721
+ moveDownAriaLabel() {
722
+ return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.moveDown : undefined;
723
+ },
724
+ moveBottomAriaLabel() {
725
+ return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.moveBottom : undefined;
726
+ },
727
+ moveToTargetAriaLabel() {
728
+ return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.moveToTarget : undefined;
729
+ },
730
+ moveAllToTargetAriaLabel() {
731
+ return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.moveAllToTarget : undefined;
732
+ },
733
+ moveToSourceAriaLabel() {
734
+ return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.moveToSource : undefined;
735
+ },
736
+ moveAllToSourceAriaLabel() {
737
+ return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.moveAllToSource : undefined;
522
738
  }
523
739
  },
524
740
  components: {
@@ -538,14 +754,14 @@ const _hoisted_3 = {
538
754
  key: 0,
539
755
  class: "p-picklist-header"
540
756
  };
541
- const _hoisted_4 = ["onClick", "onDblclick", "onKeydown", "aria-selected"];
757
+ const _hoisted_4 = ["id", "onClick", "onDblclick", "onMousedown", "aria-selected"];
542
758
  const _hoisted_5 = { class: "p-picklist-buttons p-picklist-transfer-buttons" };
543
759
  const _hoisted_6 = { class: "p-picklist-list-wrapper p-picklist-target-wrapper" };
544
760
  const _hoisted_7 = {
545
761
  key: 0,
546
762
  class: "p-picklist-header"
547
763
  };
548
- const _hoisted_8 = ["onClick", "onDblclick", "onKeydown", "aria-selected"];
764
+ const _hoisted_8 = ["id", "onClick", "onDblclick", "onMousedown", "aria-selected"];
549
765
  const _hoisted_9 = {
550
766
  key: 1,
551
767
  class: "p-picklist-buttons p-picklist-target-controls"
@@ -561,26 +777,38 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
561
777
  ($props.showSourceControls)
562
778
  ? (openBlock(), createElementBlock("div", _hoisted_1, [
563
779
  renderSlot(_ctx.$slots, "sourcecontrolsstart"),
564
- createVNode(_component_PLButton, {
780
+ createVNode(_component_PLButton, mergeProps({
781
+ "aria-label": $options.moveUpAriaLabel,
782
+ disabled: $options.moveDisabled(0)
783
+ }, $props.moveUpButtonProps, {
565
784
  type: "button",
566
785
  icon: "pi pi-angle-up",
567
786
  onClick: _cache[0] || (_cache[0] = $event => ($options.moveUp($event, 0)))
568
- }),
569
- createVNode(_component_PLButton, {
787
+ }), null, 16, ["aria-label", "disabled"]),
788
+ createVNode(_component_PLButton, mergeProps({
789
+ "aria-label": $options.moveTopAriaLabel,
790
+ disabled: $options.moveDisabled(0)
791
+ }, $props.moveTopButtonProps, {
570
792
  type: "button",
571
793
  icon: "pi pi-angle-double-up",
572
794
  onClick: _cache[1] || (_cache[1] = $event => ($options.moveTop($event, 0)))
573
- }),
574
- createVNode(_component_PLButton, {
795
+ }), null, 16, ["aria-label", "disabled"]),
796
+ createVNode(_component_PLButton, mergeProps({
797
+ "aria-label": $options.moveDownAriaLabel,
798
+ disabled: $options.moveDisabled(0)
799
+ }, $props.moveDownButtonProps, {
575
800
  type: "button",
576
801
  icon: "pi pi-angle-down",
577
802
  onClick: _cache[2] || (_cache[2] = $event => ($options.moveDown($event, 0)))
578
- }),
579
- createVNode(_component_PLButton, {
803
+ }), null, 16, ["aria-label", "disabled"]),
804
+ createVNode(_component_PLButton, mergeProps({
805
+ "aria-label": $options.moveBottomAriaLabel,
806
+ disabled: $options.moveDisabled(0)
807
+ }, $props.moveBottomButtonProps, {
580
808
  type: "button",
581
809
  icon: "pi pi-angle-double-down",
582
810
  onClick: _cache[3] || (_cache[3] = $event => ($options.moveBottom($event, 0)))
583
- }),
811
+ }), null, 16, ["aria-label", "disabled"]),
584
812
  renderSlot(_ctx.$slots, "sourcecontrolsend")
585
813
  ]))
586
814
  : createCommentVNode("", true),
@@ -590,25 +818,31 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
590
818
  renderSlot(_ctx.$slots, "sourceheader")
591
819
  ]))
592
820
  : createCommentVNode("", true),
593
- createVNode(TransitionGroup, {
821
+ createVNode(TransitionGroup, mergeProps({
594
822
  ref: "sourceList",
823
+ id: $options.idSource + '_list',
595
824
  name: "p-picklist-flip",
596
825
  tag: "ul",
597
826
  class: "p-picklist-list p-picklist-source",
598
- style: normalizeStyle($props.listStyle),
827
+ style: $props.listStyle,
599
828
  role: "listbox",
600
- "aria-multiselectable": "multiple"
601
- }, {
829
+ "aria-multiselectable": "true",
830
+ "aria-activedescendant": $data.focused['sourceList'] ? $options.focusedOptionId : undefined,
831
+ tabindex: $options.sourceList && $options.sourceList.length > 0 ? $props.tabindex : -1,
832
+ onFocus: _cache[5] || (_cache[5] = $event => ($options.onListFocus($event, 'sourceList'))),
833
+ onBlur: _cache[6] || (_cache[6] = $event => ($options.onListBlur($event, 'sourceList'))),
834
+ onKeydown: _cache[7] || (_cache[7] = $event => ($options.onItemKeyDown($event, 'sourceList')))
835
+ }, $props.sourceListProps), {
602
836
  default: withCtx(() => [
603
837
  (openBlock(true), createElementBlock(Fragment, null, renderList($options.sourceList, (item, i) => {
604
838
  return withDirectives((openBlock(), createElementBlock("li", {
605
839
  key: $options.getItemKey(item, i),
606
- tabindex: "0",
607
- class: normalizeClass(['p-picklist-item', { 'p-highlight': $options.isSelected(item, 0) }]),
608
- onClick: $event => ($options.onItemClick($event, item, 0)),
840
+ id: $options.idSource + '_' + i,
841
+ class: normalizeClass($options.itemClass(item, `${$options.idSource}_${i}`, 0)),
842
+ onClick: $event => ($options.onItemClick($event, item, i, 0)),
609
843
  onDblclick: $event => ($options.onItemDblClick($event, item, 0)),
610
- onKeydown: $event => ($options.onItemKeyDown($event, item, 0)),
611
844
  onTouchend: _cache[4] || (_cache[4] = (...args) => ($options.onItemTouchEnd && $options.onItemTouchEnd(...args))),
845
+ onMousedown: $event => ($options.onOptionMouseDown(i, 'sourceList')),
612
846
  role: "option",
613
847
  "aria-selected": $options.isSelected(item, 0)
614
848
  }, [
@@ -622,30 +856,38 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
622
856
  }), 128))
623
857
  ]),
624
858
  _: 3
625
- }, 8, ["style"])
859
+ }, 16, ["id", "style", "aria-activedescendant", "tabindex"])
626
860
  ]),
627
861
  createElementVNode("div", _hoisted_5, [
628
862
  renderSlot(_ctx.$slots, "movecontrolsstart"),
629
- createVNode(_component_PLButton, {
863
+ createVNode(_component_PLButton, mergeProps({
864
+ "aria-label": $options.moveToTargetAriaLabel,
630
865
  type: "button",
631
866
  icon: "pi pi-angle-right",
632
- onClick: $options.moveToTarget
633
- }, null, 8, ["onClick"]),
634
- createVNode(_component_PLButton, {
867
+ onClick: $options.moveToTarget,
868
+ disabled: $options.moveDisabled(0)
869
+ }, $props.moveToTargetProps), null, 16, ["aria-label", "onClick", "disabled"]),
870
+ createVNode(_component_PLButton, mergeProps({
871
+ "aria-label": $options.moveAllToTargetAriaLabel,
635
872
  type: "button",
636
873
  icon: "pi pi-angle-double-right",
637
- onClick: $options.moveAllToTarget
638
- }, null, 8, ["onClick"]),
639
- createVNode(_component_PLButton, {
874
+ onClick: $options.moveAllToTarget,
875
+ disabled: $options.moveAllDisabled('sourceList')
876
+ }, $props.moveAllToTargetProps), null, 16, ["aria-label", "onClick", "disabled"]),
877
+ createVNode(_component_PLButton, mergeProps({
878
+ "aria-label": $options.moveToSourceAriaLabel,
640
879
  type: "button",
641
880
  icon: "pi pi-angle-left",
642
- onClick: $options.moveToSource
643
- }, null, 8, ["onClick"]),
644
- createVNode(_component_PLButton, {
881
+ onClick: $options.moveToSource,
882
+ disabled: $options.moveDisabled(1)
883
+ }, $props.moveToSourceProps), null, 16, ["aria-label", "onClick", "disabled"]),
884
+ createVNode(_component_PLButton, mergeProps({
885
+ "aria-label": $options.moveAllToSourceAriaLabel,
645
886
  type: "button",
646
887
  icon: "pi pi-angle-double-left",
647
- onClick: $options.moveAllToSource
648
- }, null, 8, ["onClick"]),
888
+ onClick: $options.moveAllToSource,
889
+ disabled: $options.moveSourceDisabled('targetList')
890
+ }, $props.moveAllToSourceProps), null, 16, ["aria-label", "onClick", "disabled"]),
649
891
  renderSlot(_ctx.$slots, "movecontrolsend")
650
892
  ]),
651
893
  createElementVNode("div", _hoisted_6, [
@@ -654,25 +896,32 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
654
896
  renderSlot(_ctx.$slots, "targetheader")
655
897
  ]))
656
898
  : createCommentVNode("", true),
657
- createVNode(TransitionGroup, {
899
+ createVNode(TransitionGroup, mergeProps({
658
900
  ref: "targetList",
901
+ id: $options.idTarget + '_list',
659
902
  name: "p-picklist-flip",
660
903
  tag: "ul",
661
904
  class: "p-picklist-list p-picklist-target",
662
- style: normalizeStyle($props.listStyle),
905
+ style: $props.listStyle,
663
906
  role: "listbox",
664
- "aria-multiselectable": "multiple"
665
- }, {
907
+ "aria-multiselectable": "true",
908
+ "aria-activedescendant": $data.focused['targetList'] ? $options.focusedOptionId : undefined,
909
+ tabindex: $options.targetList && $options.targetList.length > 0 ? $props.tabindex : -1,
910
+ onFocus: _cache[10] || (_cache[10] = $event => ($options.onListFocus($event, 'targetList'))),
911
+ onBlur: _cache[11] || (_cache[11] = $event => ($options.onListBlur($event, 'targetList'))),
912
+ onKeydown: _cache[12] || (_cache[12] = $event => ($options.onItemKeyDown($event, 'targetList')))
913
+ }, $props.targetListProps), {
666
914
  default: withCtx(() => [
667
915
  (openBlock(true), createElementBlock(Fragment, null, renderList($options.targetList, (item, i) => {
668
916
  return withDirectives((openBlock(), createElementBlock("li", {
669
917
  key: $options.getItemKey(item, i),
670
- tabindex: "0",
671
- class: normalizeClass(['p-picklist-item', { 'p-highlight': $options.isSelected(item, 1) }]),
672
- onClick: $event => ($options.onItemClick($event, item, 1)),
918
+ id: $options.idTarget + '_' + i,
919
+ class: normalizeClass($options.itemClass(item, `${$options.idTarget}_${i}`, 1)),
920
+ onClick: $event => ($options.onItemClick($event, item, i, 1)),
673
921
  onDblclick: $event => ($options.onItemDblClick($event, item, 1)),
674
- onKeydown: $event => ($options.onItemKeyDown($event, item, 1)),
675
- onTouchend: _cache[5] || (_cache[5] = (...args) => ($options.onItemTouchEnd && $options.onItemTouchEnd(...args))),
922
+ onKeydown: _cache[8] || (_cache[8] = $event => ($options.onItemKeyDown($event, 'targetList'))),
923
+ onMousedown: $event => ($options.onOptionMouseDown(i, 'targetList')),
924
+ onTouchend: _cache[9] || (_cache[9] = (...args) => ($options.onItemTouchEnd && $options.onItemTouchEnd(...args))),
676
925
  role: "option",
677
926
  "aria-selected": $options.isSelected(item, 1)
678
927
  }, [
@@ -686,31 +935,43 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
686
935
  }), 128))
687
936
  ]),
688
937
  _: 3
689
- }, 8, ["style"])
938
+ }, 16, ["id", "style", "aria-activedescendant", "tabindex"])
690
939
  ]),
691
940
  ($props.showTargetControls)
692
941
  ? (openBlock(), createElementBlock("div", _hoisted_9, [
693
942
  renderSlot(_ctx.$slots, "targetcontrolsstart"),
694
- createVNode(_component_PLButton, {
943
+ createVNode(_component_PLButton, mergeProps({
944
+ "aria-label": $options.moveUpAriaLabel,
945
+ disabled: $options.moveDisabled(1)
946
+ }, $props.moveUpButtonProps, {
695
947
  type: "button",
696
948
  icon: "pi pi-angle-up",
697
- onClick: _cache[6] || (_cache[6] = $event => ($options.moveUp($event, 1)))
698
- }),
699
- createVNode(_component_PLButton, {
949
+ onClick: _cache[13] || (_cache[13] = $event => ($options.moveUp($event, 1)))
950
+ }), null, 16, ["aria-label", "disabled"]),
951
+ createVNode(_component_PLButton, mergeProps({
952
+ "aria-label": $options.moveTopAriaLabel,
953
+ disabled: $options.moveDisabled(1)
954
+ }, $props.moveTopButtonProps, {
700
955
  type: "button",
701
956
  icon: "pi pi-angle-double-up",
702
- onClick: _cache[7] || (_cache[7] = $event => ($options.moveTop($event, 1)))
703
- }),
704
- createVNode(_component_PLButton, {
957
+ onClick: _cache[14] || (_cache[14] = $event => ($options.moveTop($event, 1)))
958
+ }), null, 16, ["aria-label", "disabled"]),
959
+ createVNode(_component_PLButton, mergeProps({
960
+ "aria-label": $options.moveDownAriaLabel,
961
+ disabled: $options.moveDisabled(1)
962
+ }, $props.moveDownButtonProps, {
705
963
  type: "button",
706
964
  icon: "pi pi-angle-down",
707
- onClick: _cache[8] || (_cache[8] = $event => ($options.moveDown($event, 1)))
708
- }),
709
- createVNode(_component_PLButton, {
965
+ onClick: _cache[15] || (_cache[15] = $event => ($options.moveDown($event, 1)))
966
+ }), null, 16, ["aria-label", "disabled"]),
967
+ createVNode(_component_PLButton, mergeProps({
968
+ "aria-label": $options.moveBottomAriaLabel,
969
+ disabled: $options.moveDisabled(1)
970
+ }, $props.moveBottomButtonProps, {
710
971
  type: "button",
711
972
  icon: "pi pi-angle-double-down",
712
- onClick: _cache[9] || (_cache[9] = $event => ($options.moveBottom($event, 1)))
713
- }),
973
+ onClick: _cache[16] || (_cache[16] = $event => ($options.moveBottom($event, 1)))
974
+ }), null, 16, ["aria-label", "disabled"]),
714
975
  renderSlot(_ctx.$slots, "targetcontrolsend")
715
976
  ]))
716
977
  : createCommentVNode("", true)
@@ -744,7 +1005,7 @@ function styleInject(css, ref) {
744
1005
  }
745
1006
  }
746
1007
 
747
- var css_248z = "\n.p-picklist {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-picklist-buttons {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.p-picklist-list-wrapper {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 50%;\n flex: 1 1 50%;\n}\n.p-picklist-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n overflow: auto;\n min-height: 12rem;\n max-height: 24rem;\n}\n.p-picklist-item {\n cursor: pointer;\n overflow: hidden;\n position: relative;\n}\n.p-picklist-item.p-picklist-flip-enter-active.p-picklist-flip-enter-to,\n.p-picklist-item.p-picklist-flip-leave-active.p-picklist-flip-leave-to {\n -webkit-transition: none !important;\n transition: none !important;\n}\n";
1008
+ var css_248z = "\n.p-picklist {\n display: flex;\n}\n.p-picklist-buttons {\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n.p-picklist-list-wrapper {\n flex: 1 1 50%;\n}\n.p-picklist-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n overflow: auto;\n min-height: 12rem;\n max-height: 24rem;\n}\n.p-picklist-item {\n cursor: pointer;\n overflow: hidden;\n position: relative;\n}\n.p-picklist-item.p-picklist-flip-enter-active.p-picklist-flip-enter-to,\n.p-picklist-item.p-picklist-flip-leave-active.p-picklist-flip-leave-to {\n transition: none !important;\n}\n";
748
1009
  styleInject(css_248z);
749
1010
 
750
1011
  script.render = render;