primevue 3.16.2 → 3.18.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 (824) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +2 -1
  3. package/accordion/Accordion.d.ts +23 -5
  4. package/accordion/Accordion.vue +196 -79
  5. package/accordion/accordion.cjs.js +204 -98
  6. package/accordion/accordion.cjs.min.js +1 -1
  7. package/accordion/accordion.esm.js +202 -100
  8. package/accordion/accordion.esm.min.js +1 -1
  9. package/accordion/accordion.js +205 -100
  10. package/accordion/accordion.min.js +1 -1
  11. package/accordiontab/AccordionTab.d.ts +33 -5
  12. package/accordiontab/AccordionTab.vue +8 -1
  13. package/accordiontab/accordiontab.cjs.js +7 -0
  14. package/accordiontab/accordiontab.cjs.min.js +1 -1
  15. package/accordiontab/accordiontab.esm.js +7 -0
  16. package/accordiontab/accordiontab.esm.min.js +1 -1
  17. package/accordiontab/accordiontab.js +7 -0
  18. package/accordiontab/accordiontab.min.js +1 -1
  19. package/api/Api.d.ts +1 -1
  20. package/api/api.cjs.js +321 -313
  21. package/api/api.cjs.min.js +1 -1
  22. package/api/api.esm.js +321 -313
  23. package/api/api.esm.min.js +1 -1
  24. package/api/api.js +321 -313
  25. package/api/api.min.js +1 -1
  26. package/autocomplete/AutoComplete.d.ts +32 -17
  27. package/autocomplete/AutoComplete.vue +252 -131
  28. package/autocomplete/autocomplete.cjs.js +163 -118
  29. package/autocomplete/autocomplete.cjs.min.js +1 -1
  30. package/autocomplete/autocomplete.esm.js +161 -116
  31. package/autocomplete/autocomplete.esm.min.js +1 -1
  32. package/autocomplete/autocomplete.js +162 -117
  33. package/autocomplete/autocomplete.min.js +1 -1
  34. package/avatar/Avatar.d.ts +4 -4
  35. package/avatar/Avatar.vue +15 -11
  36. package/avatar/avatar.cjs.js +11 -7
  37. package/avatar/avatar.cjs.min.js +1 -1
  38. package/avatar/avatar.esm.js +11 -7
  39. package/avatar/avatar.esm.min.js +1 -1
  40. package/avatar/avatar.js +11 -7
  41. package/avatar/avatar.min.js +1 -1
  42. package/avatargroup/AvatarGroup.d.ts +6 -9
  43. package/avatargroup/AvatarGroup.vue +1 -1
  44. package/badge/Badge.d.ts +4 -5
  45. package/badge/Badge.vue +16 -13
  46. package/badge/badge.cjs.js +14 -11
  47. package/badge/badge.esm.js +14 -11
  48. package/badge/badge.js +14 -11
  49. package/badgedirective/badgedirective.cjs.js +8 -10
  50. package/badgedirective/badgedirective.esm.js +8 -10
  51. package/badgedirective/badgedirective.js +8 -10
  52. package/blockui/BlockUI.d.ts +6 -6
  53. package/blockui/BlockUI.vue +13 -15
  54. package/blockui/blockui.cjs.js +11 -13
  55. package/blockui/blockui.cjs.min.js +1 -1
  56. package/blockui/blockui.esm.js +11 -13
  57. package/blockui/blockui.esm.min.js +1 -1
  58. package/blockui/blockui.js +11 -13
  59. package/blockui/blockui.min.js +1 -1
  60. package/breadcrumb/Breadcrumb.d.ts +14 -7
  61. package/breadcrumb/Breadcrumb.vue +16 -7
  62. package/breadcrumb/BreadcrumbItem.vue +24 -15
  63. package/breadcrumb/breadcrumb.cjs.js +39 -25
  64. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  65. package/breadcrumb/breadcrumb.esm.js +39 -25
  66. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  67. package/breadcrumb/breadcrumb.js +39 -25
  68. package/breadcrumb/breadcrumb.min.js +1 -1
  69. package/button/Button.d.ts +10 -7
  70. package/button/Button.vue +28 -17
  71. package/button/button.cjs.js +25 -14
  72. package/button/button.cjs.min.js +1 -1
  73. package/button/button.esm.js +25 -14
  74. package/button/button.esm.min.js +1 -1
  75. package/button/button.js +25 -14
  76. package/button/button.min.js +1 -1
  77. package/calendar/Calendar.d.ts +14 -14
  78. package/calendar/Calendar.vue +856 -601
  79. package/calendar/calendar.cjs.js +714 -614
  80. package/calendar/calendar.cjs.min.js +1 -1
  81. package/calendar/calendar.esm.js +712 -612
  82. package/calendar/calendar.esm.min.js +1 -1
  83. package/calendar/calendar.js +713 -613
  84. package/calendar/calendar.min.js +1 -1
  85. package/card/Card.d.ts +5 -7
  86. package/card/Card.vue +5 -5
  87. package/carousel/Carousel.d.ts +29 -19
  88. package/carousel/Carousel.vue +537 -528
  89. package/carousel/carousel.cjs.js +496 -493
  90. package/carousel/carousel.cjs.min.js +1 -1
  91. package/carousel/carousel.esm.js +496 -493
  92. package/carousel/carousel.esm.min.js +1 -1
  93. package/carousel/carousel.js +645 -642
  94. package/carousel/carousel.min.js +1 -1
  95. package/cascadeselect/CascadeSelect.d.ts +29 -14
  96. package/cascadeselect/CascadeSelect.vue +197 -102
  97. package/cascadeselect/CascadeSelectSub.vue +50 -15
  98. package/cascadeselect/cascadeselect.cjs.js +185 -111
  99. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  100. package/cascadeselect/cascadeselect.esm.js +184 -110
  101. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  102. package/cascadeselect/cascadeselect.js +185 -111
  103. package/cascadeselect/cascadeselect.min.js +1 -1
  104. package/chart/Chart.d.ts +6 -7
  105. package/chart/Chart.vue +12 -12
  106. package/chart/chart.cjs.js +11 -11
  107. package/chart/chart.cjs.min.js +1 -1
  108. package/chart/chart.esm.js +11 -11
  109. package/chart/chart.esm.min.js +1 -1
  110. package/chart/chart.js +11 -11
  111. package/chart/chart.min.js +1 -1
  112. package/checkbox/Checkbox.d.ts +12 -12
  113. package/checkbox/Checkbox.vue +48 -20
  114. package/checkbox/checkbox.cjs.js +28 -17
  115. package/checkbox/checkbox.cjs.min.js +1 -1
  116. package/checkbox/checkbox.esm.js +28 -17
  117. package/checkbox/checkbox.esm.min.js +1 -1
  118. package/checkbox/checkbox.js +28 -17
  119. package/checkbox/checkbox.min.js +1 -1
  120. package/chip/Chip.d.ts +5 -5
  121. package/chip/Chip.vue +13 -11
  122. package/chip/chip.cjs.js +7 -4
  123. package/chip/chip.esm.js +7 -4
  124. package/chip/chip.js +7 -4
  125. package/chips/Chips.d.ts +9 -9
  126. package/chips/Chips.vue +89 -33
  127. package/chips/chips.cjs.js +48 -26
  128. package/chips/chips.cjs.min.js +1 -1
  129. package/chips/chips.esm.js +48 -26
  130. package/chips/chips.esm.min.js +1 -1
  131. package/chips/chips.js +48 -26
  132. package/chips/chips.min.js +1 -1
  133. package/colorpicker/ColorPicker.d.ts +11 -12
  134. package/colorpicker/ColorPicker.vue +146 -110
  135. package/colorpicker/colorpicker.cjs.js +113 -74
  136. package/colorpicker/colorpicker.cjs.min.js +1 -1
  137. package/colorpicker/colorpicker.esm.js +113 -74
  138. package/colorpicker/colorpicker.esm.min.js +1 -1
  139. package/colorpicker/colorpicker.js +113 -74
  140. package/colorpicker/colorpicker.min.js +1 -1
  141. package/column/Column.d.ts +5 -6
  142. package/column/Column.vue +1 -1
  143. package/columngroup/ColumnGroup.d.ts +5 -7
  144. package/columngroup/ColumnGroup.vue +1 -1
  145. package/config/PrimeVue.d.ts +8 -3
  146. package/config/config.cjs.js +18 -30
  147. package/config/config.cjs.min.js +1 -1
  148. package/config/config.esm.js +18 -30
  149. package/config/config.esm.min.js +1 -1
  150. package/config/config.js +19 -31
  151. package/config/config.min.js +1 -1
  152. package/confirmationoptions/ConfirmationOptions.d.ts +4 -0
  153. package/confirmationservice/confirmationservice.cjs.js +1 -0
  154. package/confirmationservice/confirmationservice.esm.js +1 -0
  155. package/confirmationservice/confirmationservice.js +1 -0
  156. package/confirmdialog/ConfirmDialog.d.ts +11 -5
  157. package/confirmdialog/ConfirmDialog.vue +25 -15
  158. package/confirmdialog/confirmdialog.cjs.js +34 -16
  159. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  160. package/confirmdialog/confirmdialog.esm.js +34 -16
  161. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  162. package/confirmdialog/confirmdialog.js +35 -17
  163. package/confirmdialog/confirmdialog.min.js +1 -1
  164. package/confirmpopup/ConfirmPopup.d.ts +5 -8
  165. package/confirmpopup/ConfirmPopup.vue +44 -32
  166. package/confirmpopup/confirmpopup.cjs.js +24 -14
  167. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  168. package/confirmpopup/confirmpopup.esm.js +24 -14
  169. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  170. package/confirmpopup/confirmpopup.js +24 -14
  171. package/confirmpopup/confirmpopup.min.js +1 -1
  172. package/contextmenu/ContextMenu.d.ts +43 -5
  173. package/contextmenu/ContextMenu.vue +449 -38
  174. package/contextmenu/ContextMenuSub.vue +134 -101
  175. package/contextmenu/contextmenu.cjs.js +639 -206
  176. package/contextmenu/contextmenu.cjs.min.js +1 -1
  177. package/contextmenu/contextmenu.esm.js +640 -207
  178. package/contextmenu/contextmenu.esm.min.js +1 -1
  179. package/contextmenu/contextmenu.js +640 -207
  180. package/contextmenu/contextmenu.min.js +1 -1
  181. package/core/core.js +2984 -2116
  182. package/core/core.min.js +16 -16
  183. package/datatable/BodyCell.vue +93 -75
  184. package/datatable/ColumnFilter.vue +137 -86
  185. package/datatable/DataTable.d.ts +25 -26
  186. package/datatable/DataTable.vue +472 -298
  187. package/datatable/FooterCell.vue +20 -13
  188. package/datatable/HeaderCell.vue +108 -51
  189. package/datatable/HeaderCheckbox.vue +12 -5
  190. package/datatable/RowCheckbox.vue +14 -6
  191. package/datatable/RowRadioButton.vue +4 -4
  192. package/datatable/TableBody.vue +135 -83
  193. package/datatable/TableFooter.vue +17 -20
  194. package/datatable/TableHeader.vue +132 -52
  195. package/datatable/TableLoadingBody.vue +3 -3
  196. package/datatable/datatable.cjs.js +2674 -2537
  197. package/datatable/datatable.cjs.min.js +1 -1
  198. package/datatable/datatable.esm.js +2676 -2539
  199. package/datatable/datatable.esm.min.js +1 -1
  200. package/datatable/datatable.js +2676 -2539
  201. package/datatable/datatable.min.js +1 -1
  202. package/dataview/DataView.d.ts +8 -8
  203. package/dataview/DataView.vue +80 -66
  204. package/dataview/dataview.cjs.js +31 -35
  205. package/dataview/dataview.cjs.min.js +1 -1
  206. package/dataview/dataview.esm.js +31 -35
  207. package/dataview/dataview.esm.min.js +1 -1
  208. package/dataview/dataview.js +31 -35
  209. package/dataview/dataview.min.js +1 -1
  210. package/dataviewlayoutoptions/DataViewLayoutOptions.d.ts +5 -6
  211. package/dataviewlayoutoptions/DataViewLayoutOptions.vue +28 -34
  212. package/dataviewlayoutoptions/dataviewlayoutoptions.cjs.js +19 -25
  213. package/dataviewlayoutoptions/dataviewlayoutoptions.cjs.min.js +1 -1
  214. package/dataviewlayoutoptions/dataviewlayoutoptions.esm.js +19 -25
  215. package/dataviewlayoutoptions/dataviewlayoutoptions.esm.min.js +1 -1
  216. package/dataviewlayoutoptions/dataviewlayoutoptions.js +46 -52
  217. package/dataviewlayoutoptions/dataviewlayoutoptions.min.js +1 -1
  218. package/deferredcontent/DeferredContent.d.ts +6 -7
  219. package/deferredcontent/DeferredContent.vue +6 -9
  220. package/deferredcontent/deferredcontent.cjs.js +5 -8
  221. package/deferredcontent/deferredcontent.esm.js +5 -8
  222. package/deferredcontent/deferredcontent.js +5 -8
  223. package/dialog/Dialog.d.ts +10 -10
  224. package/dialog/Dialog.vue +64 -60
  225. package/dialog/dialog.cjs.js +50 -46
  226. package/dialog/dialog.cjs.min.js +1 -1
  227. package/dialog/dialog.esm.js +50 -46
  228. package/dialog/dialog.esm.min.js +1 -1
  229. package/dialog/dialog.js +50 -46
  230. package/dialog/dialog.min.js +1 -1
  231. package/divider/Divider.d.ts +4 -5
  232. package/divider/Divider.vue +15 -12
  233. package/divider/divider.cjs.js +17 -12
  234. package/divider/divider.cjs.min.js +1 -1
  235. package/divider/divider.esm.js +17 -12
  236. package/divider/divider.esm.min.js +1 -1
  237. package/divider/divider.js +17 -12
  238. package/divider/divider.min.js +1 -1
  239. package/dock/Dock.d.ts +36 -6
  240. package/dock/Dock.vue +21 -5
  241. package/dock/DockSub.vue +229 -55
  242. package/dock/dock.cjs.js +284 -106
  243. package/dock/dock.cjs.min.js +1 -1
  244. package/dock/dock.esm.js +284 -106
  245. package/dock/dock.esm.min.js +1 -1
  246. package/dock/dock.js +285 -108
  247. package/dock/dock.min.js +1 -1
  248. package/dropdown/Dropdown.d.ts +46 -17
  249. package/dropdown/Dropdown.vue +271 -129
  250. package/dropdown/dropdown.cjs.js +213 -132
  251. package/dropdown/dropdown.cjs.min.js +1 -1
  252. package/dropdown/dropdown.esm.js +212 -131
  253. package/dropdown/dropdown.esm.min.js +1 -1
  254. package/dropdown/dropdown.js +212 -131
  255. package/dropdown/dropdown.min.js +1 -1
  256. package/dynamicdialog/DynamicDialog.d.ts +4 -4
  257. package/dynamicdialog/DynamicDialog.vue +10 -10
  258. package/dynamicdialog/dynamicdialog.cjs.js +11 -9
  259. package/dynamicdialog/dynamicdialog.cjs.min.js +1 -1
  260. package/dynamicdialog/dynamicdialog.esm.js +11 -9
  261. package/dynamicdialog/dynamicdialog.esm.min.js +1 -1
  262. package/dynamicdialog/dynamicdialog.js +11 -9
  263. package/dynamicdialog/dynamicdialog.min.js +1 -1
  264. package/editor/Editor.d.ts +20 -4
  265. package/editor/Editor.vue +506 -466
  266. package/editor/editor.cjs.js +99 -45
  267. package/editor/editor.cjs.min.js +1 -1
  268. package/editor/editor.esm.js +82 -42
  269. package/editor/editor.esm.min.js +1 -1
  270. package/editor/editor.js +83 -47
  271. package/editor/editor.min.js +1 -1
  272. package/fieldset/Fieldset.d.ts +9 -5
  273. package/fieldset/Fieldset.vue +28 -20
  274. package/fieldset/fieldset.cjs.js +31 -19
  275. package/fieldset/fieldset.cjs.min.js +1 -1
  276. package/fieldset/fieldset.esm.js +32 -20
  277. package/fieldset/fieldset.esm.min.js +1 -1
  278. package/fieldset/fieldset.js +31 -19
  279. package/fieldset/fieldset.min.js +1 -1
  280. package/fileupload/FileContent.vue +51 -0
  281. package/fileupload/FileUpload.d.ts +32 -12
  282. package/fileupload/FileUpload.vue +122 -102
  283. package/fileupload/fileupload.cjs.js +265 -160
  284. package/fileupload/fileupload.cjs.min.js +1 -1
  285. package/fileupload/fileupload.esm.js +265 -160
  286. package/fileupload/fileupload.esm.min.js +1 -1
  287. package/fileupload/fileupload.js +265 -160
  288. package/fileupload/fileupload.min.js +1 -1
  289. package/fullcalendar/FullCalendar.d.ts +5 -7
  290. package/fullcalendar/FullCalendar.vue +6 -6
  291. package/fullcalendar/fullcalendar.cjs.js +3 -2
  292. package/fullcalendar/fullcalendar.esm.js +3 -2
  293. package/fullcalendar/fullcalendar.js +3 -2
  294. package/galleria/Galleria.d.ts +4 -4
  295. package/galleria/Galleria.vue +39 -34
  296. package/galleria/GalleriaContent.vue +58 -31
  297. package/galleria/GalleriaItem.vue +44 -36
  298. package/galleria/GalleriaItemSlot.vue +2 -1
  299. package/galleria/GalleriaThumbnails.vue +108 -92
  300. package/galleria/galleria.cjs.js +181 -153
  301. package/galleria/galleria.cjs.min.js +1 -1
  302. package/galleria/galleria.esm.js +181 -153
  303. package/galleria/galleria.esm.min.js +1 -1
  304. package/galleria/galleria.js +181 -153
  305. package/galleria/galleria.min.js +1 -1
  306. package/image/Image.d.ts +4 -5
  307. package/image/Image.vue +19 -15
  308. package/image/image.cjs.js +11 -7
  309. package/image/image.cjs.min.js +1 -1
  310. package/image/image.esm.js +11 -7
  311. package/image/image.esm.min.js +1 -1
  312. package/image/image.js +11 -7
  313. package/image/image.min.js +1 -1
  314. package/inlinemessage/InlineMessage.d.ts +4 -5
  315. package/inlinemessage/InlineMessage.vue +12 -9
  316. package/inlinemessage/inlinemessage.cjs.js +12 -10
  317. package/inlinemessage/inlinemessage.cjs.min.js +1 -1
  318. package/inlinemessage/inlinemessage.esm.js +12 -10
  319. package/inlinemessage/inlinemessage.esm.min.js +1 -1
  320. package/inlinemessage/inlinemessage.js +12 -10
  321. package/inlinemessage/inlinemessage.min.js +1 -1
  322. package/inplace/Inplace.d.ts +6 -6
  323. package/inplace/Inplace.vue +11 -11
  324. package/inplace/inplace.cjs.js +9 -9
  325. package/inplace/inplace.cjs.min.js +1 -1
  326. package/inplace/inplace.esm.js +9 -9
  327. package/inplace/inplace.esm.min.js +1 -1
  328. package/inplace/inplace.js +9 -9
  329. package/inplace/inplace.min.js +1 -1
  330. package/inputmask/InputMask.d.ts +11 -12
  331. package/inputmask/InputMask.vue +119 -92
  332. package/inputmask/inputmask.cjs.js +116 -89
  333. package/inputmask/inputmask.cjs.min.js +1 -1
  334. package/inputmask/inputmask.esm.js +116 -89
  335. package/inputmask/inputmask.esm.min.js +1 -1
  336. package/inputmask/inputmask.js +116 -89
  337. package/inputmask/inputmask.min.js +1 -1
  338. package/inputnumber/InputNumber.d.ts +17 -17
  339. package/inputnumber/InputNumber.vue +247 -180
  340. package/inputnumber/inputnumber.cjs.js +219 -175
  341. package/inputnumber/inputnumber.cjs.min.js +1 -1
  342. package/inputnumber/inputnumber.esm.js +218 -174
  343. package/inputnumber/inputnumber.esm.min.js +1 -1
  344. package/inputnumber/inputnumber.js +219 -176
  345. package/inputnumber/inputnumber.min.js +1 -1
  346. package/inputswitch/InputSwitch.d.ts +10 -10
  347. package/inputswitch/InputSwitch.vue +39 -11
  348. package/inputswitch/inputswitch.cjs.js +23 -9
  349. package/inputswitch/inputswitch.cjs.min.js +1 -1
  350. package/inputswitch/inputswitch.esm.js +23 -9
  351. package/inputswitch/inputswitch.esm.min.js +1 -1
  352. package/inputswitch/inputswitch.js +23 -9
  353. package/inputswitch/inputswitch.min.js +1 -1
  354. package/inputtext/InputText.d.ts +5 -6
  355. package/inputtext/InputText.vue +3 -3
  356. package/inputtext/inputtext.cjs.js +2 -2
  357. package/inputtext/inputtext.esm.js +2 -2
  358. package/inputtext/inputtext.js +2 -2
  359. package/knob/Knob.d.ts +10 -11
  360. package/knob/Knob.vue +47 -29
  361. package/knob/knob.cjs.js +27 -25
  362. package/knob/knob.cjs.min.js +1 -1
  363. package/knob/knob.esm.js +27 -25
  364. package/knob/knob.esm.min.js +1 -1
  365. package/knob/knob.js +27 -25
  366. package/knob/knob.min.js +1 -1
  367. package/listbox/Listbox.d.ts +22 -13
  368. package/listbox/Listbox.vue +149 -98
  369. package/listbox/listbox.cjs.js +121 -106
  370. package/listbox/listbox.cjs.min.js +1 -1
  371. package/listbox/listbox.esm.js +122 -107
  372. package/listbox/listbox.esm.min.js +1 -1
  373. package/listbox/listbox.js +121 -106
  374. package/listbox/listbox.min.js +1 -1
  375. package/megamenu/MegaMenu.d.ts +32 -6
  376. package/megamenu/MegaMenu.vue +510 -238
  377. package/megamenu/MegaMenuSub.vue +231 -0
  378. package/megamenu/megamenu.cjs.js +837 -391
  379. package/megamenu/megamenu.cjs.min.js +1 -1
  380. package/megamenu/megamenu.esm.js +839 -393
  381. package/megamenu/megamenu.esm.min.js +1 -1
  382. package/megamenu/megamenu.js +837 -391
  383. package/megamenu/megamenu.min.js +1 -1
  384. package/menu/Menu.d.ts +28 -8
  385. package/menu/Menu.vue +204 -34
  386. package/menu/Menuitem.vue +48 -38
  387. package/menu/menu.cjs.js +325 -137
  388. package/menu/menu.cjs.min.js +1 -1
  389. package/menu/menu.esm.js +325 -137
  390. package/menu/menu.esm.min.js +1 -1
  391. package/menu/menu.js +325 -137
  392. package/menu/menu.min.js +1 -1
  393. package/menubar/Menubar.d.ts +19 -8
  394. package/menubar/Menubar.vue +536 -26
  395. package/menubar/MenubarSub.vue +123 -239
  396. package/menubar/menubar.cjs.js +708 -335
  397. package/menubar/menubar.cjs.min.js +1 -1
  398. package/menubar/menubar.esm.js +710 -337
  399. package/menubar/menubar.esm.min.js +1 -1
  400. package/menubar/menubar.js +708 -335
  401. package/menubar/menubar.min.js +1 -1
  402. package/menuitem/MenuItem.d.ts +2 -2
  403. package/message/Message.d.ts +5 -5
  404. package/message/Message.vue +19 -14
  405. package/message/message.cjs.js +15 -10
  406. package/message/message.cjs.min.js +1 -1
  407. package/message/message.esm.js +15 -10
  408. package/message/message.esm.min.js +1 -1
  409. package/message/message.js +15 -10
  410. package/message/message.min.js +1 -1
  411. package/multiselect/MultiSelect.d.ts +46 -16
  412. package/multiselect/MultiSelect.vue +266 -156
  413. package/multiselect/multiselect.cjs.js +239 -167
  414. package/multiselect/multiselect.cjs.min.js +1 -1
  415. package/multiselect/multiselect.esm.js +238 -166
  416. package/multiselect/multiselect.esm.min.js +1 -1
  417. package/multiselect/multiselect.js +238 -166
  418. package/multiselect/multiselect.min.js +1 -1
  419. package/orderlist/OrderList.d.ts +5 -5
  420. package/orderlist/OrderList.vue +65 -60
  421. package/orderlist/orderlist.cjs.js +51 -53
  422. package/orderlist/orderlist.esm.js +51 -53
  423. package/orderlist/orderlist.js +51 -53
  424. package/organizationchart/OrganizationChart.d.ts +4 -4
  425. package/organizationchart/OrganizationChart.vue +13 -17
  426. package/organizationchart/OrganizationChartNode.vue +20 -12
  427. package/organizationchart/organizationchart.cjs.js +14 -16
  428. package/organizationchart/organizationchart.cjs.min.js +1 -1
  429. package/organizationchart/organizationchart.esm.js +14 -16
  430. package/organizationchart/organizationchart.esm.min.js +1 -1
  431. package/organizationchart/organizationchart.js +14 -16
  432. package/organizationchart/organizationchart.min.js +1 -1
  433. package/overlaypanel/OverlayPanel.d.ts +5 -5
  434. package/overlaypanel/OverlayPanel.vue +60 -50
  435. package/overlaypanel/overlaypanel.cjs.js +40 -32
  436. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  437. package/overlaypanel/overlaypanel.esm.js +40 -32
  438. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  439. package/overlaypanel/overlaypanel.js +40 -32
  440. package/overlaypanel/overlaypanel.min.js +1 -1
  441. package/package.json +3 -3
  442. package/paginator/CurrentPageReport.vue +47 -47
  443. package/paginator/FirstPageLink.vue +11 -8
  444. package/paginator/JumpToPageDropdown.vue +7 -6
  445. package/paginator/JumpToPageInput.vue +3 -3
  446. package/paginator/LastPageLink.vue +11 -8
  447. package/paginator/NextPageLink.vue +11 -8
  448. package/paginator/PageLinks.vue +3 -4
  449. package/paginator/Paginator.d.ts +7 -7
  450. package/paginator/Paginator.vue +144 -49
  451. package/paginator/PrevPageLink.vue +11 -8
  452. package/paginator/RowsPerPageDropdown.vue +7 -6
  453. package/paginator/paginator.cjs.js +373 -259
  454. package/paginator/paginator.cjs.min.js +1 -1
  455. package/paginator/paginator.esm.js +374 -260
  456. package/paginator/paginator.esm.min.js +1 -1
  457. package/paginator/paginator.js +651 -538
  458. package/paginator/paginator.min.js +1 -1
  459. package/panel/Panel.d.ts +9 -5
  460. package/panel/Panel.vue +29 -11
  461. package/panel/panel.cjs.js +24 -14
  462. package/panel/panel.cjs.min.js +1 -1
  463. package/panel/panel.esm.js +24 -14
  464. package/panel/panel.esm.min.js +1 -1
  465. package/panel/panel.js +24 -14
  466. package/panel/panel.min.js +1 -1
  467. package/panelmenu/PanelMenu.d.ts +37 -6
  468. package/panelmenu/PanelMenu.vue +202 -88
  469. package/panelmenu/PanelMenuList.vue +335 -0
  470. package/panelmenu/PanelMenuSub.vue +130 -80
  471. package/panelmenu/panelmenu.cjs.js +1385 -283
  472. package/panelmenu/panelmenu.cjs.min.js +1 -1
  473. package/panelmenu/panelmenu.esm.js +1382 -284
  474. package/panelmenu/panelmenu.esm.min.js +1 -1
  475. package/panelmenu/panelmenu.js +1385 -284
  476. package/panelmenu/panelmenu.min.js +1 -1
  477. package/password/Password.d.ts +12 -7
  478. package/password/Password.vue +158 -80
  479. package/password/password.cjs.js +140 -78
  480. package/password/password.cjs.min.js +1 -1
  481. package/password/password.esm.js +139 -77
  482. package/password/password.esm.min.js +1 -1
  483. package/password/password.js +140 -78
  484. package/password/password.min.js +1 -1
  485. package/picklist/PickList.d.ts +9 -9
  486. package/picklist/PickList.vue +99 -78
  487. package/picklist/picklist.cjs.js +71 -66
  488. package/picklist/picklist.cjs.min.js +1 -1
  489. package/picklist/picklist.esm.js +71 -66
  490. package/picklist/picklist.esm.min.js +1 -1
  491. package/picklist/picklist.js +71 -66
  492. package/picklist/picklist.min.js +1 -1
  493. package/portal/Portal.d.ts +3 -3
  494. package/portal/Portal.vue +2 -2
  495. package/portal/portal.cjs.js +1 -1
  496. package/portal/portal.esm.js +1 -1
  497. package/portal/portal.js +1 -1
  498. package/progressbar/ProgressBar.d.ts +4 -5
  499. package/progressbar/ProgressBar.vue +63 -51
  500. package/progressbar/progressbar.cjs.js +2 -2
  501. package/progressbar/progressbar.cjs.min.js +1 -1
  502. package/progressbar/progressbar.esm.js +2 -2
  503. package/progressbar/progressbar.esm.min.js +1 -1
  504. package/progressbar/progressbar.js +2 -2
  505. package/progressbar/progressbar.min.js +1 -1
  506. package/progressspinner/ProgressSpinner.d.ts +5 -7
  507. package/progressspinner/ProgressSpinner.vue +1 -1
  508. package/radiobutton/RadioButton.d.ts +9 -9
  509. package/radiobutton/RadioButton.vue +41 -13
  510. package/radiobutton/radiobutton.cjs.js +24 -10
  511. package/radiobutton/radiobutton.cjs.min.js +1 -1
  512. package/radiobutton/radiobutton.esm.js +24 -10
  513. package/radiobutton/radiobutton.esm.min.js +1 -1
  514. package/radiobutton/radiobutton.js +24 -10
  515. package/radiobutton/radiobutton.min.js +1 -1
  516. package/rating/Rating.d.ts +54 -5
  517. package/rating/Rating.vue +88 -62
  518. package/rating/rating.cjs.js +105 -84
  519. package/rating/rating.cjs.min.js +1 -1
  520. package/rating/rating.esm.js +106 -85
  521. package/rating/rating.esm.min.js +1 -1
  522. package/rating/rating.js +106 -86
  523. package/rating/rating.min.js +1 -1
  524. package/resources/primevue.css +21 -2
  525. package/resources/primevue.min.css +1 -1
  526. package/resources/themes/arya-blue/theme.css +340 -282
  527. package/resources/themes/arya-green/theme.css +340 -282
  528. package/resources/themes/arya-orange/theme.css +340 -282
  529. package/resources/themes/arya-purple/theme.css +340 -282
  530. package/resources/themes/bootstrap4-dark-blue/theme.css +356 -298
  531. package/resources/themes/bootstrap4-dark-purple/theme.css +356 -298
  532. package/resources/themes/bootstrap4-light-blue/theme.css +369 -311
  533. package/resources/themes/bootstrap4-light-purple/theme.css +369 -311
  534. package/resources/themes/fluent-light/theme.css +350 -292
  535. package/resources/themes/lara-dark-blue/theme.css +343 -285
  536. package/resources/themes/lara-dark-indigo/theme.css +343 -285
  537. package/resources/themes/lara-dark-purple/theme.css +343 -285
  538. package/resources/themes/lara-dark-teal/theme.css +343 -285
  539. package/resources/themes/lara-light-blue/theme.css +367 -309
  540. package/resources/themes/lara-light-indigo/theme.css +367 -309
  541. package/resources/themes/lara-light-purple/theme.css +367 -309
  542. package/resources/themes/lara-light-teal/theme.css +367 -309
  543. package/resources/themes/luna-amber/theme.css +372 -314
  544. package/resources/themes/luna-blue/theme.css +372 -314
  545. package/resources/themes/luna-green/theme.css +372 -314
  546. package/resources/themes/luna-pink/theme.css +372 -314
  547. package/resources/themes/md-dark-deeppurple/theme.css +413 -318
  548. package/resources/themes/md-dark-indigo/theme.css +413 -318
  549. package/resources/themes/md-light-deeppurple/theme.css +413 -318
  550. package/resources/themes/md-light-indigo/theme.css +413 -318
  551. package/resources/themes/mdc-dark-deeppurple/theme.css +413 -318
  552. package/resources/themes/mdc-dark-indigo/theme.css +413 -318
  553. package/resources/themes/mdc-light-deeppurple/theme.css +413 -318
  554. package/resources/themes/mdc-light-indigo/theme.css +413 -318
  555. package/resources/themes/nova/theme.css +336 -278
  556. package/resources/themes/nova-accent/theme.css +335 -277
  557. package/resources/themes/nova-alt/theme.css +336 -278
  558. package/resources/themes/nova-vue/theme.css +336 -278
  559. package/resources/themes/rhea/theme.css +335 -277
  560. package/resources/themes/saga-blue/theme.css +347 -289
  561. package/resources/themes/saga-green/theme.css +347 -289
  562. package/resources/themes/saga-orange/theme.css +347 -289
  563. package/resources/themes/saga-purple/theme.css +347 -289
  564. package/resources/themes/tailwind-light/theme.css +359 -301
  565. package/resources/themes/vela-blue/theme.css +347 -289
  566. package/resources/themes/vela-green/theme.css +347 -289
  567. package/resources/themes/vela-orange/theme.css +347 -289
  568. package/resources/themes/vela-purple/theme.css +347 -289
  569. package/ripple/ripple.cjs.js +19 -1
  570. package/ripple/ripple.cjs.min.js +1 -1
  571. package/ripple/ripple.esm.js +19 -1
  572. package/ripple/ripple.esm.min.js +1 -1
  573. package/ripple/ripple.js +19 -1
  574. package/ripple/ripple.min.js +1 -1
  575. package/row/Row.d.ts +6 -9
  576. package/row/Row.vue +1 -1
  577. package/scrollpanel/ScrollPanel.d.ts +9 -5
  578. package/scrollpanel/ScrollPanel.vue +194 -56
  579. package/scrollpanel/scrollpanel.cjs.js +180 -56
  580. package/scrollpanel/scrollpanel.cjs.min.js +1 -1
  581. package/scrollpanel/scrollpanel.esm.js +181 -57
  582. package/scrollpanel/scrollpanel.esm.min.js +1 -1
  583. package/scrollpanel/scrollpanel.js +180 -56
  584. package/scrollpanel/scrollpanel.min.js +1 -1
  585. package/scrolltop/ScrollTop.d.ts +5 -7
  586. package/scrolltop/ScrollTop.vue +18 -23
  587. package/scrolltop/scrolltop.cjs.js +14 -19
  588. package/scrolltop/scrolltop.cjs.min.js +1 -1
  589. package/scrolltop/scrolltop.esm.js +14 -19
  590. package/scrolltop/scrolltop.esm.min.js +1 -1
  591. package/scrolltop/scrolltop.js +14 -19
  592. package/scrolltop/scrolltop.min.js +1 -1
  593. package/selectbutton/SelectButton.d.ts +11 -11
  594. package/selectbutton/SelectButton.vue +50 -32
  595. package/selectbutton/selectbutton.cjs.js +30 -25
  596. package/selectbutton/selectbutton.esm.js +30 -25
  597. package/selectbutton/selectbutton.js +30 -25
  598. package/sidebar/Sidebar.d.ts +6 -6
  599. package/sidebar/Sidebar.vue +24 -14
  600. package/sidebar/sidebar.cjs.js +20 -10
  601. package/sidebar/sidebar.cjs.min.js +1 -1
  602. package/sidebar/sidebar.esm.js +20 -10
  603. package/sidebar/sidebar.esm.min.js +1 -1
  604. package/sidebar/sidebar.js +20 -10
  605. package/sidebar/sidebar.min.js +1 -1
  606. package/skeleton/Skeleton.d.ts +5 -7
  607. package/skeleton/Skeleton.vue +12 -11
  608. package/skeleton/skeleton.cjs.js +10 -9
  609. package/skeleton/skeleton.cjs.min.js +1 -1
  610. package/skeleton/skeleton.esm.js +10 -9
  611. package/skeleton/skeleton.esm.min.js +1 -1
  612. package/skeleton/skeleton.js +10 -9
  613. package/skeleton/skeleton.min.js +1 -1
  614. package/slider/Slider.d.ts +7 -8
  615. package/slider/Slider.vue +162 -141
  616. package/slider/slider.cjs.js +100 -127
  617. package/slider/slider.cjs.min.js +1 -1
  618. package/slider/slider.esm.js +100 -127
  619. package/slider/slider.esm.min.js +1 -1
  620. package/slider/slider.js +100 -127
  621. package/slider/slider.min.js +1 -1
  622. package/speeddial/SpeedDial.d.ts +8 -8
  623. package/speeddial/SpeedDial.vue +66 -46
  624. package/speeddial/speeddial.cjs.js +77 -62
  625. package/speeddial/speeddial.cjs.min.js +1 -1
  626. package/speeddial/speeddial.esm.js +77 -62
  627. package/speeddial/speeddial.esm.min.js +1 -1
  628. package/speeddial/speeddial.js +77 -62
  629. package/speeddial/speeddial.min.js +1 -1
  630. package/splitbutton/SplitButton.d.ts +6 -6
  631. package/splitbutton/SplitButton.vue +9 -11
  632. package/splitbutton/splitbutton.cjs.js +7 -7
  633. package/splitbutton/splitbutton.cjs.min.js +1 -1
  634. package/splitbutton/splitbutton.esm.js +7 -7
  635. package/splitbutton/splitbutton.esm.min.js +1 -1
  636. package/splitbutton/splitbutton.js +7 -7
  637. package/splitbutton/splitbutton.min.js +1 -1
  638. package/splitter/Splitter.d.ts +10 -5
  639. package/splitter/Splitter.vue +158 -53
  640. package/splitter/splitter.cjs.js +156 -52
  641. package/splitter/splitter.cjs.min.js +1 -1
  642. package/splitter/splitter.esm.js +157 -53
  643. package/splitter/splitter.esm.min.js +1 -1
  644. package/splitter/splitter.js +156 -52
  645. package/splitter/splitter.min.js +1 -1
  646. package/splitterpanel/SplitterPanel.d.ts +4 -5
  647. package/splitterpanel/SplitterPanel.vue +3 -3
  648. package/splitterpanel/splitterpanel.cjs.js +2 -2
  649. package/splitterpanel/splitterpanel.esm.js +2 -2
  650. package/splitterpanel/splitterpanel.js +2 -2
  651. package/steps/Steps.d.ts +4 -5
  652. package/steps/Steps.vue +137 -30
  653. package/steps/steps.cjs.js +135 -36
  654. package/steps/steps.cjs.min.js +1 -1
  655. package/steps/steps.esm.js +136 -37
  656. package/steps/steps.esm.min.js +1 -1
  657. package/steps/steps.js +135 -36
  658. package/steps/steps.min.js +1 -1
  659. package/styleclass/styleclass.cjs.js +20 -22
  660. package/styleclass/styleclass.cjs.min.js +1 -1
  661. package/styleclass/styleclass.esm.js +20 -22
  662. package/styleclass/styleclass.esm.min.js +1 -1
  663. package/styleclass/styleclass.js +20 -22
  664. package/styleclass/styleclass.min.js +1 -1
  665. package/tabmenu/TabMenu.d.ts +13 -5
  666. package/tabmenu/TabMenu.vue +176 -36
  667. package/tabmenu/tabmenu.cjs.js +173 -42
  668. package/tabmenu/tabmenu.cjs.min.js +1 -1
  669. package/tabmenu/tabmenu.esm.js +173 -42
  670. package/tabmenu/tabmenu.esm.min.js +1 -1
  671. package/tabmenu/tabmenu.js +174 -43
  672. package/tabmenu/tabmenu.min.js +1 -1
  673. package/tabpanel/TabPanel.d.ts +33 -6
  674. package/tabpanel/TabPanel.vue +8 -1
  675. package/tabpanel/tabpanel.cjs.js +7 -0
  676. package/tabpanel/tabpanel.cjs.min.js +1 -1
  677. package/tabpanel/tabpanel.esm.js +7 -0
  678. package/tabpanel/tabpanel.esm.min.js +1 -1
  679. package/tabpanel/tabpanel.js +7 -0
  680. package/tabpanel/tabpanel.min.js +1 -1
  681. package/tabview/TabView.d.ts +22 -6
  682. package/tabview/TabView.vue +280 -96
  683. package/tabview/tabview.cjs.js +295 -132
  684. package/tabview/tabview.cjs.min.js +1 -1
  685. package/tabview/tabview.esm.js +296 -133
  686. package/tabview/tabview.esm.min.js +1 -1
  687. package/tabview/tabview.js +296 -133
  688. package/tabview/tabview.min.js +1 -1
  689. package/tag/Tag.d.ts +4 -5
  690. package/tag/Tag.vue +13 -10
  691. package/tag/tag.cjs.js +10 -7
  692. package/tag/tag.esm.js +10 -7
  693. package/tag/tag.js +10 -7
  694. package/terminal/Terminal.d.ts +5 -7
  695. package/terminal/Terminal.vue +10 -10
  696. package/terminal/terminal.cjs.js +3 -3
  697. package/terminal/terminal.cjs.min.js +1 -1
  698. package/terminal/terminal.esm.js +3 -3
  699. package/terminal/terminal.esm.min.js +1 -1
  700. package/terminal/terminal.js +3 -3
  701. package/terminal/terminal.min.js +1 -1
  702. package/textarea/Textarea.d.ts +5 -6
  703. package/textarea/Textarea.vue +7 -7
  704. package/textarea/textarea.cjs.js +6 -6
  705. package/textarea/textarea.esm.js +6 -6
  706. package/textarea/textarea.js +6 -6
  707. package/tieredmenu/TieredMenu.d.ts +48 -6
  708. package/tieredmenu/TieredMenu.vue +500 -58
  709. package/tieredmenu/TieredMenuSub.vue +126 -208
  710. package/tieredmenu/tieredmenu.cjs.js +684 -338
  711. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  712. package/tieredmenu/tieredmenu.esm.js +685 -339
  713. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  714. package/tieredmenu/tieredmenu.js +685 -339
  715. package/tieredmenu/tieredmenu.min.js +1 -1
  716. package/timeline/Timeline.d.ts +4 -5
  717. package/timeline/Timeline.vue +6 -10
  718. package/timeline/timeline.cjs.js +3 -7
  719. package/timeline/timeline.cjs.min.js +1 -1
  720. package/timeline/timeline.esm.js +3 -7
  721. package/timeline/timeline.esm.min.js +1 -1
  722. package/timeline/timeline.js +3 -7
  723. package/timeline/timeline.min.js +1 -1
  724. package/toast/Toast.d.ts +10 -13
  725. package/toast/Toast.vue +40 -31
  726. package/toast/ToastMessage.vue +29 -20
  727. package/toast/toast.cjs.js +56 -38
  728. package/toast/toast.cjs.min.js +1 -1
  729. package/toast/toast.esm.js +55 -37
  730. package/toast/toast.esm.min.js +1 -1
  731. package/toast/toast.js +56 -38
  732. package/toast/toast.min.js +1 -1
  733. package/toastservice/toastservice.cjs.js +1 -0
  734. package/toastservice/toastservice.esm.js +1 -0
  735. package/toastservice/toastservice.js +1 -0
  736. package/togglebutton/ToggleButton.d.ts +10 -10
  737. package/togglebutton/ToggleButton.vue +82 -23
  738. package/togglebutton/togglebutton.cjs.js +66 -18
  739. package/togglebutton/togglebutton.cjs.min.js +1 -1
  740. package/togglebutton/togglebutton.esm.js +66 -18
  741. package/togglebutton/togglebutton.esm.min.js +1 -1
  742. package/togglebutton/togglebutton.js +66 -18
  743. package/togglebutton/togglebutton.min.js +1 -1
  744. package/toolbar/Toolbar.d.ts +8 -5
  745. package/toolbar/Toolbar.vue +9 -3
  746. package/toolbar/toolbar.cjs.js +14 -7
  747. package/toolbar/toolbar.cjs.min.js +1 -1
  748. package/toolbar/toolbar.esm.js +14 -7
  749. package/toolbar/toolbar.esm.min.js +1 -1
  750. package/toolbar/toolbar.js +14 -7
  751. package/toolbar/toolbar.min.js +1 -1
  752. package/tooltip/tooltip.cjs.js +36 -24
  753. package/tooltip/tooltip.cjs.min.js +1 -1
  754. package/tooltip/tooltip.esm.js +37 -25
  755. package/tooltip/tooltip.esm.min.js +1 -1
  756. package/tooltip/tooltip.js +36 -24
  757. package/tooltip/tooltip.min.js +1 -1
  758. package/tree/Tree.d.ts +15 -7
  759. package/tree/Tree.vue +66 -56
  760. package/tree/TreeNode.vue +70 -66
  761. package/tree/tree.cjs.js +99 -102
  762. package/tree/tree.cjs.min.js +1 -1
  763. package/tree/tree.esm.js +99 -102
  764. package/tree/tree.esm.min.js +1 -1
  765. package/tree/tree.js +99 -102
  766. package/tree/tree.min.js +1 -1
  767. package/treeselect/TreeSelect.d.ts +9 -9
  768. package/treeselect/TreeSelect.vue +130 -72
  769. package/treeselect/treeselect.cjs.js +89 -59
  770. package/treeselect/treeselect.cjs.min.js +1 -1
  771. package/treeselect/treeselect.esm.js +89 -59
  772. package/treeselect/treeselect.esm.min.js +1 -1
  773. package/treeselect/treeselect.js +89 -59
  774. package/treeselect/treeselect.min.js +1 -1
  775. package/treetable/BodyCell.vue +29 -19
  776. package/treetable/FooterCell.vue +19 -11
  777. package/treetable/HeaderCell.vue +44 -36
  778. package/treetable/TreeTable.d.ts +8 -8
  779. package/treetable/TreeTable.vue +229 -178
  780. package/treetable/TreeTableRow.vue +74 -58
  781. package/treetable/treetable.cjs.js +287 -253
  782. package/treetable/treetable.cjs.min.js +1 -1
  783. package/treetable/treetable.esm.js +287 -253
  784. package/treetable/treetable.esm.min.js +1 -1
  785. package/treetable/treetable.js +287 -253
  786. package/treetable/treetable.min.js +1 -1
  787. package/tristatecheckbox/TriStateCheckbox.d.ts +9 -9
  788. package/tristatecheckbox/TriStateCheckbox.vue +39 -18
  789. package/tristatecheckbox/tristatecheckbox.cjs.js +24 -15
  790. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  791. package/tristatecheckbox/tristatecheckbox.esm.js +24 -15
  792. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  793. package/tristatecheckbox/tristatecheckbox.js +24 -15
  794. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  795. package/ts-helpers.d.ts +16 -10
  796. package/useconfirm/UseConfirm.d.ts +1 -1
  797. package/useconfirm/useconfirm.cjs.js +2 -1
  798. package/useconfirm/useconfirm.esm.js +2 -1
  799. package/useconfirm/useconfirm.js +2 -1
  800. package/usedialog/UseDialog.d.ts +1 -1
  801. package/usedialog/usedialog.cjs.js +2 -1
  802. package/usedialog/usedialog.esm.js +2 -1
  803. package/usedialog/usedialog.js +2 -1
  804. package/usetoast/usetoast.cjs.js +2 -1
  805. package/usetoast/usetoast.esm.js +2 -1
  806. package/usetoast/usetoast.js +2 -1
  807. package/utils/Utils.d.ts +10 -5
  808. package/utils/utils.cjs.js +209 -156
  809. package/utils/utils.cjs.min.js +1 -1
  810. package/utils/utils.esm.js +209 -156
  811. package/utils/utils.esm.min.js +1 -1
  812. package/utils/utils.js +209 -156
  813. package/utils/utils.min.js +1 -1
  814. package/vetur-attributes.json +335 -3
  815. package/vetur-tags.json +112 -19
  816. package/virtualscroller/VirtualScroller.d.ts +9 -9
  817. package/virtualscroller/VirtualScroller.vue +108 -96
  818. package/virtualscroller/virtualscroller.cjs.js +87 -89
  819. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  820. package/virtualscroller/virtualscroller.esm.js +87 -89
  821. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  822. package/virtualscroller/virtualscroller.js +87 -89
  823. package/virtualscroller/virtualscroller.min.js +1 -1
  824. package/web-types.json +1183 -73
@@ -1,25 +1,41 @@
1
1
  <template>
2
2
  <div ref="container" :class="containerClass" @click="onContainerClick">
3
3
  <div class="p-hidden-accessible">
4
- <input ref="focusInput" :id="inputId" type="text" readonly :disabled="disabled" :placeholder="placeholder" :tabindex="!disabled ? tabindex : -1"
5
- role="combobox" :aria-label="ariaLabel" :aria-labelledby="ariaLabelledby" aria-haspopup="listbox" :aria-expanded="overlayVisible"
6
- :aria-controls="id + '_list'" :aria-activedescendant="focused ? focusedOptionId : undefined"
7
- @focus="onFocus" @blur="onBlur" @keydown="onKeyDown" v-bind="inputProps" />
4
+ <input
5
+ ref="focusInput"
6
+ :id="inputId"
7
+ type="text"
8
+ readonly
9
+ :disabled="disabled"
10
+ :placeholder="placeholder"
11
+ :tabindex="!disabled ? tabindex : -1"
12
+ role="combobox"
13
+ :aria-label="ariaLabel"
14
+ :aria-labelledby="ariaLabelledby"
15
+ aria-haspopup="listbox"
16
+ :aria-expanded="overlayVisible"
17
+ :aria-controls="id + '_list'"
18
+ :aria-activedescendant="focused ? focusedOptionId : undefined"
19
+ @focus="onFocus"
20
+ @blur="onBlur"
21
+ @keydown="onKeyDown"
22
+ v-bind="inputProps"
23
+ />
8
24
  </div>
9
25
  <div class="p-multiselect-label-container">
10
26
  <div :class="labelClass">
11
27
  <slot name="value" :value="modelValue" :placeholder="placeholder">
12
28
  <template v-if="display === 'comma'">
13
- {{label || 'empty'}}
29
+ {{ label || 'empty' }}
14
30
  </template>
15
31
  <template v-else-if="display === 'chip'">
16
- <div v-for="item of modelValue" class="p-multiselect-token" :key="getLabelByValue(item)">
32
+ <div v-for="item of modelValue" :key="getLabelByValue(item)" class="p-multiselect-token">
17
33
  <slot name="chip" :value="item">
18
- <span class="p-multiselect-token-label">{{getLabelByValue(item)}}</span>
34
+ <span class="p-multiselect-token-label">{{ getLabelByValue(item) }}</span>
19
35
  </slot>
20
- <span v-if="!disabled" class="p-multiselect-token-icon pi pi-times-circle" @click="removeOption($event, item)"></span>
36
+ <span v-if="!disabled" :class="['p-multiselect-token-icon', removeTokenIcon]" @click="removeOption($event, item)"></span>
21
37
  </div>
22
- <template v-if="!modelValue || modelValue.length === 0">{{placeholder || 'empty'}}</template>
38
+ <template v-if="!modelValue || modelValue.length === 0">{{ placeholder || 'empty' }}</template>
23
39
  </template>
24
40
  </slot>
25
41
  </div>
@@ -37,59 +53,83 @@
37
53
  <div v-if="(showToggleAll && selectionLimit == null) || filter" class="p-multiselect-header">
38
54
  <div v-if="showToggleAll && selectionLimit == null" :class="headerCheckboxClass" @click="onToggleAll">
39
55
  <div class="p-hidden-accessible">
40
- <input type="checkbox" readonly :checked="allSelected" :aria-label="toggleAllAriaLabel" @focus="onHeaderCheckboxFocus" @blur="onHeaderCheckboxBlur">
56
+ <input type="checkbox" readonly :checked="allSelected" :aria-label="toggleAllAriaLabel" @focus="onHeaderCheckboxFocus" @blur="onHeaderCheckboxBlur" />
41
57
  </div>
42
- <div :class="['p-checkbox-box', {'p-highlight': allSelected, 'p-focus': headerCheckboxFocused}]">
43
- <span :class="['p-checkbox-icon', {'pi pi-check': allSelected}]"></span>
58
+ <div :class="['p-checkbox-box', { 'p-highlight': allSelected, 'p-focus': headerCheckboxFocused }]">
59
+ <span :class="['p-checkbox-icon', { [checkboxIcon]: allSelected }]"></span>
44
60
  </div>
45
61
  </div>
46
62
  <div v-if="filter" class="p-multiselect-filter-container">
47
- <input type="text" ref="filterInput" :value="filterValue" @vnode-updated="onFilterUpdated" class="p-multiselect-filter p-inputtext p-component" :placeholder="filterPlaceholder"
48
- role="searchbox" autocomplete="off" :aria-owns="id + '_list'" :aria-activedescendant="focusedOptionId"
49
- @keydown="onFilterKeyDown" @blur="onFilterBlur" @input="onFilterChange" v-bind="filterInputProps"/>
50
- <span class="p-multiselect-filter-icon pi pi-search"></span>
63
+ <input
64
+ ref="filterInput"
65
+ type="text"
66
+ :value="filterValue"
67
+ @vnode-updated="onFilterUpdated"
68
+ class="p-multiselect-filter p-inputtext p-component"
69
+ :placeholder="filterPlaceholder"
70
+ role="searchbox"
71
+ autocomplete="off"
72
+ :aria-owns="id + '_list'"
73
+ :aria-activedescendant="focusedOptionId"
74
+ @keydown="onFilterKeyDown"
75
+ @blur="onFilterBlur"
76
+ @input="onFilterChange"
77
+ v-bind="filterInputProps"
78
+ />
79
+ <span :class="['p-multiselect-filter-icon', filterIcon]" />
51
80
  </div>
52
81
  <span v-if="filter" role="status" aria-live="polite" class="p-hidden-accessible">
53
- {{filterResultMessageText}}
82
+ {{ filterResultMessageText }}
54
83
  </span>
55
- <button class="p-multiselect-close p-link" :aria-label="closeAriaLabel" @click="onCloseClick" type="button" v-ripple v-bind="closeButtonProps">
56
- <span class="p-multiselect-close-icon pi pi-times" />
84
+ <button v-ripple class="p-multiselect-close p-link" :aria-label="closeAriaLabel" @click="onCloseClick" type="button" v-bind="closeButtonProps">
85
+ <span :class="['p-multiselect-close-icon', closeIcon]" />
57
86
  </button>
58
87
  </div>
59
- <div class="p-multiselect-items-wrapper" :style="{'max-height': virtualScrollerDisabled ? scrollHeight : ''}">
60
- <VirtualScroller :ref="virtualScrollerRef" v-bind="virtualScrollerOptions" :items="visibleOptions" :style="{'height': scrollHeight}" :tabindex="-1" :disabled="virtualScrollerDisabled">
88
+ <div class="p-multiselect-items-wrapper" :style="{ 'max-height': virtualScrollerDisabled ? scrollHeight : '' }">
89
+ <VirtualScroller :ref="virtualScrollerRef" v-bind="virtualScrollerOptions" :items="visibleOptions" :style="{ height: scrollHeight }" :tabindex="-1" :disabled="virtualScrollerDisabled">
61
90
  <template v-slot:content="{ styleClass, contentRef, items, getItemOptions, contentStyle, itemSize }">
62
91
  <ul :ref="(el) => listRef(el, contentRef)" :id="id + '_list'" :class="['p-multiselect-items p-component', styleClass]" :style="contentStyle" role="listbox" aria-multiselectable="true">
63
92
  <template v-for="(option, i) of items" :key="getOptionRenderKey(option, getOptionIndex(i, getItemOptions))">
64
- <li v-if="isOptionGroup(option)" :id="id + '_' + getOptionIndex(i, getItemOptions)" :style="{height: itemSize ? itemSize + 'px' : undefined}" class="p-multiselect-item-group" role="option">
65
- <slot name="optiongroup" :option="option.optionGroup" :index="getOptionIndex(i, getItemOptions)">{{getOptionGroupLabel(option.optionGroup)}}</slot>
93
+ <li v-if="isOptionGroup(option)" :id="id + '_' + getOptionIndex(i, getItemOptions)" :style="{ height: itemSize ? itemSize + 'px' : undefined }" class="p-multiselect-item-group" role="option">
94
+ <slot name="optiongroup" :option="option.optionGroup" :index="getOptionIndex(i, getItemOptions)">{{ getOptionGroupLabel(option.optionGroup) }}</slot>
66
95
  </li>
67
- <li v-else v-ripple :id="id + '_' + getOptionIndex(i, getItemOptions)" :style="{height: itemSize ? itemSize + 'px' : undefined}"
68
- :class="['p-multiselect-item', {'p-highlight': isSelected(option), 'p-focus': focusedOptionIndex === getOptionIndex(i, getItemOptions), 'p-disabled': isOptionDisabled(option)}]"
69
- role="option" :aria-label="getOptionLabel(option)" :aria-selected="isSelected(option)" :aria-disabled="isOptionDisabled(option)" :aria-setsize="ariaSetSize" :aria-posinset="getAriaPosInset(getOptionIndex(i, getItemOptions))"
70
- @click="onOptionSelect($event, option, getOptionIndex(i, getItemOptions), true)" @mousemove="onOptionMouseMove($event, getOptionIndex(i, getItemOptions))">
96
+ <li
97
+ v-else
98
+ :id="id + '_' + getOptionIndex(i, getItemOptions)"
99
+ v-ripple
100
+ :style="{ height: itemSize ? itemSize + 'px' : undefined }"
101
+ :class="['p-multiselect-item', { 'p-highlight': isSelected(option), 'p-focus': focusedOptionIndex === getOptionIndex(i, getItemOptions), 'p-disabled': isOptionDisabled(option) }]"
102
+ role="option"
103
+ :aria-label="getOptionLabel(option)"
104
+ :aria-selected="isSelected(option)"
105
+ :aria-disabled="isOptionDisabled(option)"
106
+ :aria-setsize="ariaSetSize"
107
+ :aria-posinset="getAriaPosInset(getOptionIndex(i, getItemOptions))"
108
+ @click="onOptionSelect($event, option, getOptionIndex(i, getItemOptions), true)"
109
+ @mousemove="onOptionMouseMove($event, getOptionIndex(i, getItemOptions))"
110
+ >
71
111
  <div class="p-checkbox p-component">
72
- <div :class="['p-checkbox-box', {'p-highlight': isSelected(option)}]">
73
- <span :class="['p-checkbox-icon', {'pi pi-check': isSelected(option)}]"></span>
112
+ <div :class="['p-checkbox-box', { 'p-highlight': isSelected(option) }]">
113
+ <span :class="['p-checkbox-icon', { [checkboxIcon]: isSelected(option) }]"></span>
74
114
  </div>
75
115
  </div>
76
116
  <slot name="option" :option="option" :index="getOptionIndex(i, getItemOptions)">
77
- <span>{{getOptionLabel(option)}}</span>
117
+ <span>{{ getOptionLabel(option) }}</span>
78
118
  </slot>
79
119
  </li>
80
120
  </template>
81
121
  <li v-if="filterValue && (!items || (items && items.length === 0))" class="p-multiselect-empty-message" role="option">
82
- <slot name="emptyfilter">{{emptyFilterMessageText}}</slot>
122
+ <slot name="emptyfilter">{{ emptyFilterMessageText }}</slot>
83
123
  </li>
84
- <li v-else-if="(!options || (options && options.length === 0))" class="p-multiselect-empty-message" role="option">
85
- <slot name="empty">{{emptyMessageText}}</slot>
124
+ <li v-else-if="!options || (options && options.length === 0)" class="p-multiselect-empty-message" role="option">
125
+ <slot name="empty">{{ emptyMessageText }}</slot>
86
126
  </li>
87
127
  </ul>
88
- <span v-if="(!options || (options && options.length === 0))" role="status" aria-live="polite" class="p-hidden-accessible">
89
- {{emptyMessageText}}
128
+ <span v-if="!options || (options && options.length === 0)" role="status" aria-live="polite" class="p-hidden-accessible">
129
+ {{ emptyMessageText }}
90
130
  </span>
91
131
  <span role="status" aria-live="polite" class="p-hidden-accessible">
92
- {{selectedMessageText}}
132
+ {{ selectedMessageText }}
93
133
  </span>
94
134
  </template>
95
135
  <template v-if="$slots.loader" v-slot:loader="{ options }">
@@ -106,16 +146,16 @@
106
146
  </template>
107
147
 
108
148
  <script>
109
- import {ConnectedOverlayScrollHandler,UniqueComponentId,ObjectUtils,DomHandler,ZIndexUtils} from 'primevue/utils';
149
+ import { FilterService } from 'primevue/api';
110
150
  import OverlayEventBus from 'primevue/overlayeventbus';
111
- import {FilterService} from 'primevue/api';
151
+ import Portal from 'primevue/portal';
112
152
  import Ripple from 'primevue/ripple';
153
+ import { ConnectedOverlayScrollHandler, DomHandler, ObjectUtils, UniqueComponentId, ZIndexUtils } from 'primevue/utils';
113
154
  import VirtualScroller from 'primevue/virtualscroller';
114
- import Portal from 'primevue/portal';
115
155
 
116
156
  export default {
117
157
  name: 'MultiSelect',
118
- emits: ['update:modelValue', 'change', 'focus', 'blur' , 'before-show', 'before-hide', 'show', 'hide', 'filter', 'selectall-change'],
158
+ emits: ['update:modelValue', 'change', 'focus', 'blur', 'before-show', 'before-hide', 'show', 'hide', 'filter', 'selectall-change'],
119
159
  props: {
120
160
  modelValue: null,
121
161
  options: Array,
@@ -124,19 +164,40 @@ export default {
124
164
  optionDisabled: null,
125
165
  optionGroupLabel: null,
126
166
  optionGroupChildren: null,
127
- scrollHeight: {
128
- type: String,
129
- default: '200px'
130
- },
131
- placeholder: String,
132
- disabled: Boolean,
133
- inputId: String,
134
- inputProps: null,
135
- panelStyle: null,
136
- panelClass: null,
137
- panelProps: null,
138
- filterInputProps: null,
139
- closeButtonProps: null,
167
+ scrollHeight: {
168
+ type: String,
169
+ default: '200px'
170
+ },
171
+ placeholder: String,
172
+ disabled: Boolean,
173
+ inputId: {
174
+ type: String,
175
+ default: null
176
+ },
177
+ inputProps: {
178
+ type: null,
179
+ default: null
180
+ },
181
+ panelClass: {
182
+ type: String,
183
+ default: null
184
+ },
185
+ panelStyle: {
186
+ type: null,
187
+ default: null
188
+ },
189
+ panelProps: {
190
+ type: null,
191
+ default: null
192
+ },
193
+ filterInputProps: {
194
+ type: null,
195
+ default: null
196
+ },
197
+ closeButtonProps: {
198
+ type: null,
199
+ default: null
200
+ },
140
201
  dataKey: null,
141
202
  filter: Boolean,
142
203
  filterPlaceholder: String,
@@ -177,10 +238,30 @@ export default {
177
238
  type: Boolean,
178
239
  default: false
179
240
  },
241
+ checkboxIcon: {
242
+ type: String,
243
+ default: 'pi pi-check'
244
+ },
245
+ closeIcon: {
246
+ type: String,
247
+ default: 'pi pi-times'
248
+ },
249
+ dropdownIcon: {
250
+ type: String,
251
+ default: 'pi pi-chevron-down'
252
+ },
253
+ filterIcon: {
254
+ type: String,
255
+ default: 'pi pi-search'
256
+ },
180
257
  loadingIcon: {
181
258
  type: String,
182
259
  default: 'pi pi-spinner pi-spin'
183
260
  },
261
+ removeTokenIcon: {
262
+ type: String,
263
+ default: 'pi pi-times-circle'
264
+ },
184
265
  selectAll: {
185
266
  type: Boolean,
186
267
  default: null
@@ -197,6 +278,10 @@ export default {
197
278
  type: Boolean,
198
279
  default: true
199
280
  },
281
+ autoFilterFocus: {
282
+ type: Boolean,
283
+ default: false
284
+ },
200
285
  filterMessage: {
201
286
  type: String,
202
287
  default: null
@@ -243,13 +328,12 @@ export default {
243
328
  focusOnHover: false,
244
329
  data() {
245
330
  return {
246
- id: UniqueComponentId(),
247
331
  focused: false,
248
332
  focusedOptionIndex: -1,
249
333
  headerCheckboxFocused: false,
250
334
  filterValue: null,
251
335
  overlayVisible: false
252
- }
336
+ };
253
337
  },
254
338
  watch: {
255
339
  options() {
@@ -257,8 +341,6 @@ export default {
257
341
  }
258
342
  },
259
343
  mounted() {
260
- this.id = this.$attrs.id || this.id;
261
-
262
344
  this.autoUpdateModel();
263
345
  },
264
346
  beforeUnmount() {
@@ -277,7 +359,7 @@ export default {
277
359
  },
278
360
  methods: {
279
361
  getOptionIndex(index, fn) {
280
- return this.virtualScrollerDisabled ? index : (fn && fn(index)['index']);
362
+ return this.virtualScrollerDisabled ? index : fn && fn(index)['index'];
281
363
  },
282
364
  getOptionLabel(option) {
283
365
  return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : option;
@@ -305,14 +387,14 @@ export default {
305
387
  return ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren);
306
388
  },
307
389
  getAriaPosInset(index) {
308
- return (this.optionGroupLabel ? index - this.visibleOptions.slice(0, index).filter(option => this.isOptionGroup(option)).length : index) + 1;
390
+ return (this.optionGroupLabel ? index - this.visibleOptions.slice(0, index).filter((option) => this.isOptionGroup(option)).length : index) + 1;
309
391
  },
310
392
  show(isFocus) {
311
393
  this.$emit('before-show');
312
394
  this.overlayVisible = true;
313
- this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : (this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1);
395
+ this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;
314
396
 
315
- isFocus && this.$refs.focusInput.focus();
397
+ isFocus && DomHandler.focus(this.$refs.focusInput);
316
398
  },
317
399
  hide(isFocus) {
318
400
  this.$emit('before-hide');
@@ -321,11 +403,11 @@ export default {
321
403
  this.searchValue = '';
322
404
 
323
405
  this.resetFilterOnHide && (this.filterValue = null);
324
- isFocus && this.$refs.focusInput.focus();
406
+ isFocus && DomHandler.focus(this.$refs.focusInput);
325
407
  },
326
408
  onFocus(event) {
327
409
  this.focused = true;
328
- this.focusedOptionIndex = this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;
410
+ this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;
329
411
  this.overlayVisible && this.scrollInView(this.focusedOptionIndex);
330
412
  this.$emit('focus', event);
331
413
  },
@@ -336,6 +418,8 @@ export default {
336
418
  this.$emit('blur', event);
337
419
  },
338
420
  onKeyDown(event) {
421
+ const metaKey = event.metaKey || event.ctrlKey;
422
+
339
423
  switch (event.code) {
340
424
  case 'ArrowDown':
341
425
  this.onArrowDownKey(event);
@@ -380,15 +464,16 @@ export default {
380
464
  break;
381
465
 
382
466
  default:
383
- if (event.code === 'KeyA' && (event.metaKey || event.ctrlKey)) {
384
- const value = this.visibleOptions.filter(option => this.isValidOption(option)).map(option => this.getOptionValue(option));
467
+ if (event.code === 'KeyA' && metaKey) {
468
+ const value = this.visibleOptions.filter((option) => this.isValidOption(option)).map((option) => this.getOptionValue(option));
469
+
385
470
  this.updateModel(event, value);
386
471
 
387
472
  event.preventDefault();
388
473
  break;
389
474
  }
390
475
 
391
- if (ObjectUtils.isPrintableCharacter(event.key)) {
476
+ if (!metaKey && ObjectUtils.isPrintableCharacter(event.key)) {
392
477
  !this.overlayVisible && this.show();
393
478
  this.searchOptions(event);
394
479
  event.preventDefault();
@@ -411,14 +496,14 @@ export default {
411
496
 
412
497
  if (relatedTarget === this.$refs.focusInput) {
413
498
  const firstFocusableEl = DomHandler.getFirstFocusableElement(this.overlay, ':not(.p-hidden-focusable)');
414
- firstFocusableEl && firstFocusableEl.focus();
415
- }
416
- else {
417
- this.$refs.focusInput.focus();
499
+
500
+ DomHandler.focus(firstFocusableEl);
501
+ } else {
502
+ DomHandler.focus(this.$refs.focusInput);
418
503
  }
419
504
  },
420
505
  onLastHiddenFocus() {
421
- this.$refs.firstHiddenFocusableElementOnOverlay.focus();
506
+ DomHandler.focus(this.$refs.firstHiddenFocusableElementOnOverlay);
422
507
  },
423
508
  onCloseClick() {
424
509
  this.hide(true);
@@ -437,14 +522,12 @@ export default {
437
522
  let selected = this.isSelected(option);
438
523
  let value = null;
439
524
 
440
- if (selected)
441
- value = this.modelValue.filter(val => !ObjectUtils.equals(val, this.getOptionValue(option), this.equalityKey));
442
- else
443
- value = [...(this.modelValue || []), this.getOptionValue(option)];
525
+ if (selected) value = this.modelValue.filter((val) => !ObjectUtils.equals(val, this.getOptionValue(option), this.equalityKey));
526
+ else value = [...(this.modelValue || []), this.getOptionValue(option)];
444
527
 
445
528
  this.updateModel(event, value);
446
- isFocus && this.$refs.focusInput.focus();
447
529
  index !== -1 && (this.focusedOptionIndex = index);
530
+ isFocus && DomHandler.focus(this.$refs.focusInput);
448
531
  },
449
532
  onOptionMouseMove(event, index) {
450
533
  if (this.focusOnHover) {
@@ -458,7 +541,10 @@ export default {
458
541
  if (start !== -1 && end !== -1) {
459
542
  const rangeStart = Math.min(start, end);
460
543
  const rangeEnd = Math.max(start, end);
461
- const value = this.visibleOptions.slice(rangeStart, rangeEnd + 1).filter(option => this.isValidOption(option)).map(option => this.getOptionValue(option));
544
+ const value = this.visibleOptions
545
+ .slice(rangeStart, rangeEnd + 1)
546
+ .filter((option) => this.isValidOption(option))
547
+ .map((option) => this.getOptionValue(option));
462
548
 
463
549
  this.updateModel(event, value);
464
550
  }
@@ -555,8 +641,7 @@ export default {
555
641
 
556
642
  this.overlayVisible && this.hide();
557
643
  event.preventDefault();
558
- }
559
- else {
644
+ } else {
560
645
  const optionIndex = this.focusedOptionIndex !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex) : this.findLastFocusedOptionIndex();
561
646
 
562
647
  if (event.shiftKey) {
@@ -576,8 +661,7 @@ export default {
576
661
  if (pressedInInputText) {
577
662
  event.currentTarget.setSelectionRange(0, 0);
578
663
  this.focusedOptionIndex = -1;
579
- }
580
- else {
664
+ } else {
581
665
  let metaKey = event.metaKey || event.ctrlKey;
582
666
  let optionIndex = this.findFirstOptionIndex();
583
667
 
@@ -596,10 +680,10 @@ export default {
596
680
  if (pressedInInputText) {
597
681
  const target = event.currentTarget;
598
682
  const len = target.value.length;
683
+
599
684
  target.setSelectionRange(len, len);
600
685
  this.focusedOptionIndex = -1;
601
- }
602
- else {
686
+ } else {
603
687
  let metaKey = event.metaKey || event.ctrlKey;
604
688
  let optionIndex = this.findLastOptionIndex();
605
689
 
@@ -625,13 +709,10 @@ export default {
625
709
  onEnterKey(event) {
626
710
  if (!this.overlayVisible) {
627
711
  this.onArrowDownKey(event);
628
- }
629
- else {
712
+ } else {
630
713
  if (this.focusedOptionIndex !== -1) {
631
- if (event.shiftKey)
632
- this.onOptionSelectRange(event, this.focusedOptionIndex);
633
- else
634
- this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);
714
+ if (event.shiftKey) this.onOptionSelectRange(event, this.focusedOptionIndex);
715
+ else this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);
635
716
  }
636
717
  }
637
718
 
@@ -644,11 +725,10 @@ export default {
644
725
  onTabKey(event, pressedInInputText = false) {
645
726
  if (!pressedInInputText) {
646
727
  if (this.overlayVisible && this.hasFocusableElements()) {
647
- this.$refs.firstHiddenFocusableElementOnOverlay.focus();
728
+ DomHandler.focus(this.$refs.firstHiddenFocusableElementOnOverlay);
648
729
 
649
730
  event.preventDefault();
650
- }
651
- else {
731
+ } else {
652
732
  if (this.focusedOptionIndex !== -1) {
653
733
  this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);
654
734
  }
@@ -664,6 +744,8 @@ export default {
664
744
  ZIndexUtils.set('overlay', el, this.$primevue.config.zIndex.overlay);
665
745
  this.alignOverlay();
666
746
  this.scrollInView();
747
+
748
+ this.autoFilterFocus && DomHandler.focus(this.$refs.filterInput);
667
749
  },
668
750
  onOverlayAfterEnter() {
669
751
  this.bindOutsideClickListener();
@@ -686,8 +768,7 @@ export default {
686
768
  alignOverlay() {
687
769
  if (this.appendTo === 'self') {
688
770
  DomHandler.relativePosition(this.overlay, this.$el);
689
- }
690
- else {
771
+ } else {
691
772
  this.overlay.style.minWidth = DomHandler.getOuterWidth(this.$el) + 'px';
692
773
  DomHandler.absolutePosition(this.overlay, this.$el);
693
774
  }
@@ -699,6 +780,7 @@ export default {
699
780
  this.hide();
700
781
  }
701
782
  };
783
+
702
784
  document.addEventListener('click', this.outsideClickListener);
703
785
  }
704
786
  },
@@ -731,6 +813,7 @@ export default {
731
813
  this.hide();
732
814
  }
733
815
  };
816
+
734
817
  window.addEventListener('resize', this.resizeListener);
735
818
  }
736
819
  },
@@ -744,11 +827,14 @@ export default {
744
827
  return !(this.$el.isSameNode(event.target) || this.$el.contains(event.target) || (this.overlay && this.overlay.contains(event.target)));
745
828
  },
746
829
  getLabelByValue(value) {
747
- const matchedOption = this.visibleOptions.find(option => !this.isOptionGroup(option) && ObjectUtils.equals(this.getOptionValue(option), value, this.equalityKey));
748
- return matchedOption ? this.getOptionLabel(matchedOption): null;
830
+ const options = this.optionGroupLabel ? this.flatOptions(this.options) : this.options || [];
831
+ const matchedOption = options.find((option) => !this.isOptionGroup(option) && ObjectUtils.equals(this.getOptionValue(option), value, this.equalityKey));
832
+
833
+ return matchedOption ? this.getOptionLabel(matchedOption) : null;
749
834
  },
750
835
  getSelectedItemsLabel() {
751
836
  let pattern = /{(.*?)}/;
837
+
752
838
  if (pattern.test(this.selectedItemsLabel)) {
753
839
  return this.selectedItemsLabel.replace(this.selectedItemsLabel.match(pattern)[0], this.modelValue.length + '');
754
840
  }
@@ -757,10 +843,9 @@ export default {
757
843
  },
758
844
  onToggleAll(event) {
759
845
  if (this.selectAll !== null) {
760
- this.$emit('selectall-change', {originalEvent: event, checked: !this.allSelected});
761
- }
762
- else {
763
- const value = this.allSelected ? [] : this.visibleOptions.filter(option => !this.isOptionGroup(option)).map(option => this.getOptionValue(option));
846
+ this.$emit('selectall-change', { originalEvent: event, checked: !this.allSelected });
847
+ } else {
848
+ const value = this.allSelected ? [] : this.visibleOptions.filter((option) => !this.isOptionGroup(option)).map((option) => this.getOptionValue(option));
764
849
 
765
850
  this.updateModel(event, value);
766
851
  }
@@ -768,7 +853,7 @@ export default {
768
853
  this.headerCheckboxFocused = true;
769
854
  },
770
855
  removeOption(event, optionValue) {
771
- let value = this.modelValue.filter(val => !ObjectUtils.equals(val, optionValue, this.equalityKey));
856
+ let value = this.modelValue.filter((val) => !ObjectUtils.equals(val, optionValue, this.equalityKey));
772
857
 
773
858
  this.updateModel(event, value);
774
859
  },
@@ -789,34 +874,39 @@ export default {
789
874
  },
790
875
  isSelected(option) {
791
876
  const optionValue = this.getOptionValue(option);
792
- return (this.modelValue || []).some(value => ObjectUtils.equals(value, optionValue, this.equalityKey));
877
+
878
+ return (this.modelValue || []).some((value) => ObjectUtils.equals(value, optionValue, this.equalityKey));
793
879
  },
794
880
  findFirstOptionIndex() {
795
- return this.visibleOptions.findIndex(option => this.isValidOption(option));
881
+ return this.visibleOptions.findIndex((option) => this.isValidOption(option));
796
882
  },
797
883
  findLastOptionIndex() {
798
- return ObjectUtils.findLastIndex(this.visibleOptions, option => this.isValidOption(option));
884
+ return ObjectUtils.findLastIndex(this.visibleOptions, (option) => this.isValidOption(option));
799
885
  },
800
886
  findNextOptionIndex(index) {
801
- const matchedOptionIndex = index < (this.visibleOptions.length - 1) ? this.visibleOptions.slice(index + 1).findIndex(option => this.isValidOption(option)) : -1;
887
+ const matchedOptionIndex = index < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index + 1).findIndex((option) => this.isValidOption(option)) : -1;
888
+
802
889
  return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;
803
890
  },
804
891
  findPrevOptionIndex(index) {
805
- const matchedOptionIndex = index > 0 ? ObjectUtils.findLastIndex(this.visibleOptions.slice(0, index), option => this.isValidOption(option)) : -1;
892
+ const matchedOptionIndex = index > 0 ? ObjectUtils.findLastIndex(this.visibleOptions.slice(0, index), (option) => this.isValidOption(option)) : -1;
893
+
806
894
  return matchedOptionIndex > -1 ? matchedOptionIndex : index;
807
895
  },
808
896
  findFirstSelectedOptionIndex() {
809
- return this.hasSelectedOption ? this.visibleOptions.findIndex(option => this.isValidSelectedOption(option)) : -1;
897
+ return this.hasSelectedOption ? this.visibleOptions.findIndex((option) => this.isValidSelectedOption(option)) : -1;
810
898
  },
811
899
  findLastSelectedOptionIndex() {
812
- return this.hasSelectedOption ? ObjectUtils.findLastIndex(this.visibleOptions, option => this.isValidSelectedOption(option)) : -1;
900
+ return this.hasSelectedOption ? ObjectUtils.findLastIndex(this.visibleOptions, (option) => this.isValidSelectedOption(option)) : -1;
813
901
  },
814
902
  findNextSelectedOptionIndex(index) {
815
- const matchedOptionIndex = this.hasSelectedOption && index < (this.visibleOptions.length - 1) ? this.visibleOptions.slice(index + 1).findIndex(option => this.isValidSelectedOption(option)) : -1;
903
+ const matchedOptionIndex = this.hasSelectedOption && index < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index + 1).findIndex((option) => this.isValidSelectedOption(option)) : -1;
904
+
816
905
  return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : -1;
817
906
  },
818
907
  findPrevSelectedOptionIndex(index) {
819
- const matchedOptionIndex = this.hasSelectedOption && index > 0 ? ObjectUtils.findLastIndex(this.visibleOptions.slice(0, index), option => this.isValidSelectedOption(option)) : -1;
908
+ const matchedOptionIndex = this.hasSelectedOption && index > 0 ? ObjectUtils.findLastIndex(this.visibleOptions.slice(0, index), (option) => this.isValidSelectedOption(option)) : -1;
909
+
820
910
  return matchedOptionIndex > -1 ? matchedOptionIndex : -1;
821
911
  },
822
912
  findNearestSelectedOptionIndex(index, firstCheckUp = false) {
@@ -826,8 +916,7 @@ export default {
826
916
  if (firstCheckUp) {
827
917
  matchedOptionIndex = this.findPrevSelectedOptionIndex(index);
828
918
  matchedOptionIndex = matchedOptionIndex === -1 ? this.findNextSelectedOptionIndex(index) : matchedOptionIndex;
829
- }
830
- else {
919
+ } else {
831
920
  matchedOptionIndex = this.findNextSelectedOptionIndex(index);
832
921
  matchedOptionIndex = matchedOptionIndex === -1 ? this.findPrevSelectedOptionIndex(index) : matchedOptionIndex;
833
922
  }
@@ -837,26 +926,29 @@ export default {
837
926
  },
838
927
  findFirstFocusedOptionIndex() {
839
928
  const selectedIndex = this.findFirstSelectedOptionIndex();
929
+
840
930
  return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;
841
931
  },
842
932
  findLastFocusedOptionIndex() {
843
933
  const selectedIndex = this.findLastSelectedOptionIndex();
934
+
844
935
  return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;
845
936
  },
846
937
  searchOptions(event) {
847
938
  this.searchValue = (this.searchValue || '') + event.key;
848
939
 
849
940
  let optionIndex = -1;
941
+
850
942
  if (this.focusedOptionIndex !== -1) {
851
- optionIndex = this.visibleOptions.slice(this.focusedOptionIndex).findIndex(option => this.isOptionMatched(option));
852
- optionIndex = optionIndex === -1 ? this.visibleOptions.slice(0, this.focusedOptionIndex).findIndex(option => this.isOptionMatched(option)) : optionIndex + this.focusedOptionIndex;
853
- }
854
- else {
855
- optionIndex = this.visibleOptions.findIndex(option => this.isOptionMatched(option));
943
+ optionIndex = this.visibleOptions.slice(this.focusedOptionIndex).findIndex((option) => this.isOptionMatched(option));
944
+ optionIndex = optionIndex === -1 ? this.visibleOptions.slice(0, this.focusedOptionIndex).findIndex((option) => this.isOptionMatched(option)) : optionIndex + this.focusedOptionIndex;
945
+ } else {
946
+ optionIndex = this.visibleOptions.findIndex((option) => this.isOptionMatched(option));
856
947
  }
857
948
 
858
949
  if (optionIndex === -1 && this.focusedOptionIndex === -1) {
859
950
  const selectedIndex = this.findSelectedOptionIndex();
951
+
860
952
  optionIndex = selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;
861
953
  }
862
954
 
@@ -882,10 +974,10 @@ export default {
882
974
  scrollInView(index = -1) {
883
975
  const id = index !== -1 ? `${this.id}_${index}` : this.focusedOptionId;
884
976
  const element = DomHandler.findSingle(this.list, `li[id="${id}"]`);
977
+
885
978
  if (element) {
886
979
  element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });
887
- }
888
- else if (!this.virtualScrollerDisabled) {
980
+ } else if (!this.virtualScrollerDisabled) {
889
981
  this.virtualScroller && this.virtualScroller.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex);
890
982
  }
891
983
  },
@@ -893,6 +985,7 @@ export default {
893
985
  if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption) {
894
986
  this.focusedOptionIndex = this.findFirstFocusedOptionIndex();
895
987
  const value = this.getOptionValue(this.visibleOptions[this.focusedOptionIndex]);
988
+
896
989
  this.updateModel(null, [value]);
897
990
  }
898
991
  },
@@ -905,7 +998,8 @@ export default {
905
998
  result.push({ optionGroup: option, group: true, index });
906
999
 
907
1000
  const optionGroupChildren = this.getOptionGroupChildren(option);
908
- optionGroupChildren && optionGroupChildren.forEach(o => result.push(o));
1001
+
1002
+ optionGroupChildren && optionGroupChildren.forEach((o) => result.push(o));
909
1003
 
910
1004
  return result;
911
1005
  }, []);
@@ -923,50 +1017,64 @@ export default {
923
1017
  },
924
1018
  computed: {
925
1019
  containerClass() {
926
- return ['p-multiselect p-component p-inputwrapper', {
927
- 'p-multiselect-chip': this.display === 'chip',
928
- 'p-disabled': this.disabled,
929
- 'p-focus': this.focused,
930
- 'p-inputwrapper-filled': this.modelValue && this.modelValue.length,
931
- 'p-inputwrapper-focus': this.focused || this.overlayVisible,
932
- 'p-overlay-open': this.overlayVisible
933
- }];
1020
+ return [
1021
+ 'p-multiselect p-component p-inputwrapper',
1022
+ {
1023
+ 'p-multiselect-chip': this.display === 'chip',
1024
+ 'p-disabled': this.disabled,
1025
+ 'p-focus': this.focused,
1026
+ 'p-inputwrapper-filled': this.modelValue && this.modelValue.length,
1027
+ 'p-inputwrapper-focus': this.focused || this.overlayVisible,
1028
+ 'p-overlay-open': this.overlayVisible
1029
+ }
1030
+ ];
934
1031
  },
935
1032
  labelClass() {
936
- return ['p-multiselect-label', {
937
- 'p-placeholder': this.label === this.placeholder,
938
- 'p-multiselect-label-empty': !this.placeholder && (!this.modelValue || this.modelValue.length === 0)
939
- }];
1033
+ return [
1034
+ 'p-multiselect-label',
1035
+ {
1036
+ 'p-placeholder': this.label === this.placeholder,
1037
+ 'p-multiselect-label-empty': !this.placeholder && (!this.modelValue || this.modelValue.length === 0)
1038
+ }
1039
+ ];
940
1040
  },
941
1041
  dropdownIconClass() {
942
- return ['p-multiselect-trigger-icon', this.loading ? this.loadingIcon : 'pi pi-chevron-down'];
1042
+ return ['p-multiselect-trigger-icon', this.loading ? this.loadingIcon : this.dropdownIcon];
943
1043
  },
944
1044
  panelStyleClass() {
945
- return ['p-multiselect-panel p-component', this.panelClass, {
946
- 'p-input-filled': this.$primevue.config.inputStyle === 'filled',
947
- 'p-ripple-disabled': this.$primevue.config.ripple === false
948
- }];
1045
+ return [
1046
+ 'p-multiselect-panel p-component',
1047
+ this.panelClass,
1048
+ {
1049
+ 'p-input-filled': this.$primevue.config.inputStyle === 'filled',
1050
+ 'p-ripple-disabled': this.$primevue.config.ripple === false
1051
+ }
1052
+ ];
949
1053
  },
950
1054
  headerCheckboxClass() {
951
- return ['p-checkbox p-component', {
952
- 'p-checkbox-checked': this.allSelected,
953
- 'p-checkbox-focused': this.headerCheckboxFocused
954
- }];
1055
+ return [
1056
+ 'p-checkbox p-component',
1057
+ {
1058
+ 'p-checkbox-checked': this.allSelected,
1059
+ 'p-checkbox-focused': this.headerCheckboxFocused
1060
+ }
1061
+ ];
955
1062
  },
956
1063
  visibleOptions() {
957
- const options = this.optionGroupLabel ? this.flatOptions(this.options) : (this.options || []);
1064
+ const options = this.optionGroupLabel ? this.flatOptions(this.options) : this.options || [];
958
1065
 
959
1066
  return this.filterValue ? FilterService.filter(options, this.searchFields, this.filterValue, this.filterMatchMode, this.filterLocale) : options;
960
1067
  },
961
- label() { // TODO: Refactor
1068
+ label() {
1069
+ // TODO: Refactor
962
1070
  let label;
963
1071
 
964
1072
  if (this.modelValue && this.modelValue.length) {
965
1073
  if (ObjectUtils.isNotEmpty(this.maxSelectedLabels) && this.modelValue.length > this.maxSelectedLabels) {
966
1074
  return this.getSelectedItemsLabel();
967
- }
968
- else {
1075
+ } else {
969
1076
  label = '';
1077
+
970
1078
  for (let i = 0; i < this.modelValue.length; i++) {
971
1079
  if (i !== 0) {
972
1080
  label += ', ';
@@ -975,15 +1083,14 @@ export default {
975
1083
  label += this.getLabelByValue(this.modelValue[i]);
976
1084
  }
977
1085
  }
978
- }
979
- else {
1086
+ } else {
980
1087
  label = this.placeholder;
981
1088
  }
982
1089
 
983
1090
  return label;
984
1091
  },
985
1092
  allSelected() {
986
- return (this.selectAll !== null) ? this.selectAll : (ObjectUtils.isNotEmpty(this.visibleOptions) && this.visibleOptions.every(option => this.isOptionGroup(option) || this.isValidSelectedOption(option)));
1093
+ return this.selectAll !== null ? this.selectAll : ObjectUtils.isNotEmpty(this.visibleOptions) && this.visibleOptions.every((option) => this.isOptionGroup(option) || this.isValidSelectedOption(option));
987
1094
  },
988
1095
  hasSelectedOption() {
989
1096
  return ObjectUtils.isNotEmpty(this.modelValue);
@@ -995,7 +1102,7 @@ export default {
995
1102
  return this.filterFields || [this.optionLabel];
996
1103
  },
997
1104
  maxSelectionLimitReached() {
998
- return this.selectionLimit && (this.modelValue && this.modelValue.length === this.selectionLimit);
1105
+ return this.selectionLimit && this.modelValue && this.modelValue.length === this.selectionLimit;
999
1106
  },
1000
1107
  filterResultMessageText() {
1001
1108
  return ObjectUtils.isNotEmpty(this.visibleOptions) ? this.filterMessageText.replaceAll('{0}', this.visibleOptions.length) : this.emptyFilterMessageText;
@@ -1018,11 +1125,14 @@ export default {
1018
1125
  selectedMessageText() {
1019
1126
  return this.hasSelectedOption ? this.selectionMessageText.replaceAll('{0}', this.modelValue.length) : this.emptySelectionMessageText;
1020
1127
  },
1128
+ id() {
1129
+ return this.$attrs.id || UniqueComponentId();
1130
+ },
1021
1131
  focusedOptionId() {
1022
1132
  return this.focusedOptionIndex !== -1 ? `${this.id}_${this.focusedOptionIndex}` : null;
1023
1133
  },
1024
1134
  ariaSetSize() {
1025
- return this.visibleOptions.filter(option => !this.isOptionGroup(option)).length;
1135
+ return this.visibleOptions.filter((option) => !this.isOptionGroup(option)).length;
1026
1136
  },
1027
1137
  toggleAllAriaLabel() {
1028
1138
  return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria[this.allSelected ? 'selectAll' : 'unselectAll'] : undefined;
@@ -1035,13 +1145,13 @@ export default {
1035
1145
  }
1036
1146
  },
1037
1147
  directives: {
1038
- 'ripple': Ripple
1148
+ ripple: Ripple
1039
1149
  },
1040
1150
  components: {
1041
- 'VirtualScroller': VirtualScroller,
1042
- 'Portal': Portal
1151
+ VirtualScroller: VirtualScroller,
1152
+ Portal: Portal
1043
1153
  }
1044
- }
1154
+ };
1045
1155
  </script>
1046
1156
 
1047
1157
  <style>
@@ -1065,7 +1175,7 @@ export default {
1065
1175
  cursor: pointer;
1066
1176
  }
1067
1177
 
1068
- .p-multiselect-label {
1178
+ .p-multiselect-label {
1069
1179
  display: block;
1070
1180
  white-space: nowrap;
1071
1181
  cursor: pointer;
@@ -1137,7 +1247,7 @@ export default {
1137
1247
  .p-multiselect-filter-icon {
1138
1248
  position: absolute;
1139
1249
  top: 50%;
1140
- margin-top: -.5rem;
1250
+ margin-top: -0.5rem;
1141
1251
  }
1142
1252
 
1143
1253
  .p-multiselect-filter-container .p-inputtext {