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,14 +1,53 @@
1
1
  <template>
2
2
  <div ref="container" :id="id" :class="containerClass" @click="onContainerClick">
3
- <input v-if="editable" ref="focusInput" :id="inputId" type="text" :style="inputStyle" :class="inputStyleClass" :value="editableInputValue" :placeholder="placeholder" :tabindex="!disabled ? tabindex : -1" :disabled="disabled" autocomplete="off"
4
- role="combobox" :aria-label="ariaLabel" :aria-labelledby="ariaLabelledby" aria-haspopup="listbox" :aria-expanded="overlayVisible" :aria-controls="id + '_list'" :aria-activedescendant="focused ? focusedOptionId : undefined"
5
- @focus="onFocus" @blur="onBlur" @keydown="onKeyDown" @input="onEditableInput" v-bind="inputProps">
6
- <span v-else ref="focusInput" :id="inputId" :style="inputStyle" :class="inputStyleClass" :tabindex="!disabled ? tabindex : -1" role="combobox" :aria-label="ariaLabel || (label === 'p-emptylabel' ? undefined : label)" :aria-labelledby="ariaLabelledby"
7
- aria-haspopup="listbox" :aria-expanded="overlayVisible" :aria-controls="id + '_list'" :aria-activedescendant="focused ? focusedOptionId : undefined" :aria-disabled="disabled"
8
- @focus="onFocus" @blur="onBlur" @keydown="onKeyDown" v-bind="inputProps">
9
- <slot name="value" :value="modelValue" :placeholder="placeholder">{{label === 'p-emptylabel' ? '&nbsp;' : label || 'empty'}}</slot>
3
+ <input
4
+ v-if="editable"
5
+ ref="focusInput"
6
+ :id="inputId"
7
+ type="text"
8
+ :style="inputStyle"
9
+ :class="inputStyleClass"
10
+ :value="editableInputValue"
11
+ :placeholder="placeholder"
12
+ :tabindex="!disabled ? tabindex : -1"
13
+ :disabled="disabled"
14
+ autocomplete="off"
15
+ role="combobox"
16
+ :aria-label="ariaLabel"
17
+ :aria-labelledby="ariaLabelledby"
18
+ aria-haspopup="listbox"
19
+ :aria-expanded="overlayVisible"
20
+ :aria-controls="id + '_list'"
21
+ :aria-activedescendant="focused ? focusedOptionId : undefined"
22
+ @focus="onFocus"
23
+ @blur="onBlur"
24
+ @keydown="onKeyDown"
25
+ @input="onEditableInput"
26
+ v-bind="inputProps"
27
+ />
28
+ <span
29
+ v-else
30
+ ref="focusInput"
31
+ :id="inputId"
32
+ :style="inputStyle"
33
+ :class="inputStyleClass"
34
+ :tabindex="!disabled ? tabindex : -1"
35
+ role="combobox"
36
+ :aria-label="ariaLabel || (label === 'p-emptylabel' ? undefined : label)"
37
+ :aria-labelledby="ariaLabelledby"
38
+ aria-haspopup="listbox"
39
+ :aria-expanded="overlayVisible"
40
+ :aria-controls="id + '_list'"
41
+ :aria-activedescendant="focused ? focusedOptionId : undefined"
42
+ :aria-disabled="disabled"
43
+ @focus="onFocus"
44
+ @blur="onBlur"
45
+ @keydown="onKeyDown"
46
+ v-bind="inputProps"
47
+ >
48
+ <slot name="value" :value="modelValue" :placeholder="placeholder">{{ label === 'p-emptylabel' ? '&nbsp;' : label || 'empty' }}</slot>
10
49
  </span>
11
- <i v-if="showClear && modelValue != null" class="p-dropdown-clear-icon pi pi-times" @click="onClearClick" v-bind="clearIconProps"></i>
50
+ <i v-if="showClear && modelValue != null" :class="['p-dropdown-clear-icon', clearIcon]" @click="onClearClick" v-bind="clearIconProps"></i>
12
51
  <div class="p-dropdown-trigger">
13
52
  <slot name="indicator">
14
53
  <span :class="dropdownIconClass" aria-hidden="true"></span>
@@ -21,42 +60,66 @@
21
60
  <slot name="header" :value="modelValue" :options="visibleOptions"></slot>
22
61
  <div v-if="filter" class="p-dropdown-header">
23
62
  <div class="p-dropdown-filter-container">
24
- <input type="text" ref="filterInput" :value="filterValue" @vnode-updated="onFilterUpdated" class="p-dropdown-filter p-inputtext p-component" :placeholder="filterPlaceholder"
25
- role="searchbox" autocomplete="off" :aria-owns="id + '_list'" :aria-activedescendant="focusedOptionId"
26
- @keydown="onFilterKeyDown" @blur="onFilterBlur" @input="onFilterChange" v-bind="filterInputProps"/>
27
- <span class="p-dropdown-filter-icon pi pi-search"></span>
63
+ <input
64
+ ref="filterInput"
65
+ type="text"
66
+ :value="filterValue"
67
+ @vnode-updated="onFilterUpdated"
68
+ class="p-dropdown-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-dropdown-filter-icon', filterIcon]" />
28
80
  </div>
29
81
  <span role="status" aria-live="polite" class="p-hidden-accessible">
30
- {{filterResultMessageText}}
82
+ {{ filterResultMessageText }}
31
83
  </span>
32
84
  </div>
33
- <div class="p-dropdown-items-wrapper" :style="{'max-height': virtualScrollerDisabled ? scrollHeight : ''}">
34
- <VirtualScroller :ref="virtualScrollerRef" v-bind="virtualScrollerOptions" :items="visibleOptions" :style="{'height': scrollHeight}" :tabindex="-1" :disabled="virtualScrollerDisabled">
85
+ <div class="p-dropdown-items-wrapper" :style="{ 'max-height': virtualScrollerDisabled ? scrollHeight : '' }">
86
+ <VirtualScroller :ref="virtualScrollerRef" v-bind="virtualScrollerOptions" :items="visibleOptions" :style="{ height: scrollHeight }" :tabindex="-1" :disabled="virtualScrollerDisabled">
35
87
  <template v-slot:content="{ styleClass, contentRef, items, getItemOptions, contentStyle, itemSize }">
36
88
  <ul :ref="(el) => listRef(el, contentRef)" :id="id + '_list'" :class="['p-dropdown-items', styleClass]" :style="contentStyle" role="listbox">
37
89
  <template v-for="(option, i) of items" :key="getOptionRenderKey(option, getOptionIndex(i, getItemOptions))">
38
- <li v-if="isOptionGroup(option)" :id="id + '_' + getOptionIndex(i, getItemOptions)" :style="{height: itemSize ? itemSize + 'px' : undefined}" class="p-dropdown-item-group" role="option">
39
- <slot name="optiongroup" :option="option.optionGroup" :index="getOptionIndex(i, getItemOptions)">{{getOptionGroupLabel(option.optionGroup)}}</slot>
90
+ <li v-if="isOptionGroup(option)" :id="id + '_' + getOptionIndex(i, getItemOptions)" :style="{ height: itemSize ? itemSize + 'px' : undefined }" class="p-dropdown-item-group" role="option">
91
+ <slot name="optiongroup" :option="option.optionGroup" :index="getOptionIndex(i, getItemOptions)">{{ getOptionGroupLabel(option.optionGroup) }}</slot>
40
92
  </li>
41
- <li v-else v-ripple :id="id + '_' + getOptionIndex(i, getItemOptions)" :style="{height: itemSize ? itemSize + 'px' : undefined}"
42
- :class="['p-dropdown-item', {'p-highlight': isSelected(option), 'p-focus': focusedOptionIndex === getOptionIndex(i, getItemOptions), 'p-disabled': isOptionDisabled(option)}]"
43
- role="option" :aria-label="getOptionLabel(option)" :aria-selected="isSelected(option)" :aria-disabled="isOptionDisabled(option)" :aria-setsize="ariaSetSize" :aria-posinset="getAriaPosInset(getOptionIndex(i, getItemOptions))"
44
- @click="onOptionSelect($event, option)" @mousemove="onOptionMouseMove($event, getOptionIndex(i, getItemOptions))">
45
- <slot name="option" :option="option" :index="getOptionIndex(i, getItemOptions)">{{getOptionLabel(option)}}</slot>
93
+ <li
94
+ v-else
95
+ :id="id + '_' + getOptionIndex(i, getItemOptions)"
96
+ v-ripple
97
+ :style="{ height: itemSize ? itemSize + 'px' : undefined }"
98
+ :class="['p-dropdown-item', { 'p-highlight': isSelected(option), 'p-focus': focusedOptionIndex === getOptionIndex(i, getItemOptions), 'p-disabled': isOptionDisabled(option) }]"
99
+ role="option"
100
+ :aria-label="getOptionLabel(option)"
101
+ :aria-selected="isSelected(option)"
102
+ :aria-disabled="isOptionDisabled(option)"
103
+ :aria-setsize="ariaSetSize"
104
+ :aria-posinset="getAriaPosInset(getOptionIndex(i, getItemOptions))"
105
+ @click="onOptionSelect($event, option)"
106
+ @mousemove="onOptionMouseMove($event, getOptionIndex(i, getItemOptions))"
107
+ >
108
+ <slot name="option" :option="option" :index="getOptionIndex(i, getItemOptions)">{{ getOptionLabel(option) }}</slot>
46
109
  </li>
47
110
  </template>
48
111
  <li v-if="filterValue && (!items || (items && items.length === 0))" class="p-dropdown-empty-message" role="option">
49
- <slot name="emptyfilter">{{emptyFilterMessageText}}</slot>
112
+ <slot name="emptyfilter">{{ emptyFilterMessageText }}</slot>
50
113
  </li>
51
- <li v-else-if="(!options || (options && options.length === 0))" class="p-dropdown-empty-message" role="option">
52
- <slot name="empty">{{emptyMessageText}}</slot>
114
+ <li v-else-if="!options || (options && options.length === 0)" class="p-dropdown-empty-message" role="option">
115
+ <slot name="empty">{{ emptyMessageText }}</slot>
53
116
  </li>
54
117
  </ul>
55
- <span v-if="(!options || (options && options.length === 0))" role="status" aria-live="polite" class="p-hidden-accessible">
56
- {{emptyMessageText}}
118
+ <span v-if="!options || (options && options.length === 0)" role="status" aria-live="polite" class="p-hidden-accessible">
119
+ {{ emptyMessageText }}
57
120
  </span>
58
121
  <span role="status" aria-live="polite" class="p-hidden-accessible">
59
- {{selectedMessageText}}
122
+ {{ selectedMessageText }}
60
123
  </span>
61
124
  </template>
62
125
  <template v-if="$slots.loader" v-slot:loader="{ options }">
@@ -73,12 +136,12 @@
73
136
  </template>
74
137
 
75
138
  <script>
76
- import {ConnectedOverlayScrollHandler,ObjectUtils,DomHandler,ZIndexUtils,UniqueComponentId} from 'primevue/utils';
139
+ import { FilterService } from 'primevue/api';
77
140
  import OverlayEventBus from 'primevue/overlayeventbus';
78
- import {FilterService} from 'primevue/api';
141
+ import Portal from 'primevue/portal';
79
142
  import Ripple from 'primevue/ripple';
143
+ import { ConnectedOverlayScrollHandler, DomHandler, ObjectUtils, UniqueComponentId, ZIndexUtils } from 'primevue/utils';
80
144
  import VirtualScroller from 'primevue/virtualscroller';
81
- import Portal from 'primevue/portal';
82
145
 
83
146
  export default {
84
147
  name: 'Dropdown',
@@ -91,11 +154,11 @@ export default {
91
154
  optionDisabled: null,
92
155
  optionGroupLabel: null,
93
156
  optionGroupChildren: null,
94
- scrollHeight: {
95
- type: String,
96
- default: '200px'
97
- },
98
- filter: Boolean,
157
+ scrollHeight: {
158
+ type: String,
159
+ default: '200px'
160
+ },
161
+ filter: Boolean,
99
162
  filterPlaceholder: String,
100
163
  filterLocale: String,
101
164
  filterMatchMode: {
@@ -106,20 +169,56 @@ export default {
106
169
  type: Array,
107
170
  default: null
108
171
  },
109
- editable: Boolean,
110
- placeholder: String,
111
- disabled: Boolean,
172
+ editable: Boolean,
173
+ placeholder: {
174
+ type: String,
175
+ default: null
176
+ },
177
+ disabled: {
178
+ type: Boolean,
179
+ default: false
180
+ },
112
181
  dataKey: null,
113
- showClear: Boolean,
114
- inputId: String,
115
- inputStyle: null,
116
- inputClass: null,
117
- inputProps: null,
118
- panelStyle: null,
119
- panelClass: null,
120
- panelProps: null,
121
- filterInputProps: null,
122
- clearIconProps: null,
182
+ showClear: {
183
+ type: Boolean,
184
+ default: false
185
+ },
186
+ inputId: {
187
+ type: String,
188
+ default: null
189
+ },
190
+ inputClass: {
191
+ type: String,
192
+ default: null
193
+ },
194
+ inputStyle: {
195
+ type: null,
196
+ default: null
197
+ },
198
+ inputProps: {
199
+ type: null,
200
+ default: null
201
+ },
202
+ panelClass: {
203
+ type: String,
204
+ default: null
205
+ },
206
+ panelStyle: {
207
+ type: null,
208
+ default: null
209
+ },
210
+ panelProps: {
211
+ type: null,
212
+ default: null
213
+ },
214
+ filterInputProps: {
215
+ type: null,
216
+ default: null
217
+ },
218
+ clearIconProps: {
219
+ type: null,
220
+ default: null
221
+ },
123
222
  appendTo: {
124
223
  type: String,
125
224
  default: 'body'
@@ -128,10 +227,26 @@ export default {
128
227
  type: Boolean,
129
228
  default: false
130
229
  },
230
+ clearIcon: {
231
+ type: String,
232
+ default: 'pi pi-times'
233
+ },
234
+ dropdownIcon: {
235
+ type: String,
236
+ default: 'pi pi-chevron-down'
237
+ },
238
+ filterIcon: {
239
+ type: String,
240
+ default: 'pi pi-search'
241
+ },
131
242
  loadingIcon: {
132
243
  type: String,
133
244
  default: 'pi pi-spinner pi-spin'
134
245
  },
246
+ resetFilterOnHide: {
247
+ type: Boolean,
248
+ default: false
249
+ },
135
250
  virtualScrollerOptions: {
136
251
  type: Object,
137
252
  default: null
@@ -140,6 +255,14 @@ export default {
140
255
  type: Boolean,
141
256
  default: true
142
257
  },
258
+ autoFilterFocus: {
259
+ type: Boolean,
260
+ default: false
261
+ },
262
+ selectOnFocus: {
263
+ type: Boolean,
264
+ default: false
265
+ },
143
266
  filterMessage: {
144
267
  type: String,
145
268
  default: null
@@ -182,16 +305,14 @@ export default {
182
305
  searchTimeout: null,
183
306
  searchValue: null,
184
307
  isModelValueChanged: false,
185
- selectOnFocus: false,
186
308
  focusOnHover: false,
187
309
  data() {
188
310
  return {
189
- id: UniqueComponentId(),
190
311
  focused: false,
191
312
  focusedOptionIndex: -1,
192
313
  filterValue: null,
193
314
  overlayVisible: false
194
- }
315
+ };
195
316
  },
196
317
  watch: {
197
318
  modelValue() {
@@ -202,8 +323,6 @@ export default {
202
323
  }
203
324
  },
204
325
  mounted() {
205
- this.id = this.$attrs.id || this.id;
206
-
207
326
  this.autoUpdateModel();
208
327
  },
209
328
  updated() {
@@ -229,7 +348,7 @@ export default {
229
348
  },
230
349
  methods: {
231
350
  getOptionIndex(index, fn) {
232
- return this.virtualScrollerDisabled ? index : (fn && fn(index)['index']);
351
+ return this.virtualScrollerDisabled ? index : fn && fn(index)['index'];
233
352
  },
234
353
  getOptionLabel(option) {
235
354
  return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : option;
@@ -253,14 +372,14 @@ export default {
253
372
  return ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren);
254
373
  },
255
374
  getAriaPosInset(index) {
256
- return (this.optionGroupLabel ? index - this.visibleOptions.slice(0, index).filter(option => this.isOptionGroup(option)).length : index) + 1;
375
+ return (this.optionGroupLabel ? index - this.visibleOptions.slice(0, index).filter((option) => this.isOptionGroup(option)).length : index) + 1;
257
376
  },
258
377
  show(isFocus) {
259
378
  this.$emit('before-show');
260
379
  this.overlayVisible = true;
261
- this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : (this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1);
380
+ this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;
262
381
 
263
- isFocus && this.$refs.focusInput.focus();
382
+ isFocus && DomHandler.focus(this.$refs.focusInput);
264
383
  },
265
384
  hide(isFocus) {
266
385
  const _hide = () => {
@@ -269,14 +388,17 @@ export default {
269
388
  this.focusedOptionIndex = -1;
270
389
  this.searchValue = '';
271
390
 
272
- isFocus && this.$refs.focusInput.focus();
273
- }
391
+ this.resetFilterOnHide && (this.filterValue = null);
392
+ isFocus && DomHandler.focus(this.$refs.focusInput);
393
+ };
274
394
 
275
- setTimeout(() => { _hide() }, 0); // For ScreenReaders
395
+ setTimeout(() => {
396
+ _hide();
397
+ }, 0); // For ScreenReaders
276
398
  },
277
399
  onFocus(event) {
278
400
  this.focused = true;
279
- this.focusedOptionIndex = this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;
401
+ this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;
280
402
  this.overlayVisible && this.scrollInView(this.focusedOptionIndex);
281
403
  this.$emit('focus', event);
282
404
  },
@@ -287,6 +409,8 @@ export default {
287
409
  this.$emit('blur', event);
288
410
  },
289
411
  onKeyDown(event) {
412
+ const metaKey = event.metaKey || event.ctrlKey;
413
+
290
414
  switch (event.code) {
291
415
  case 'ArrowDown':
292
416
  this.onArrowDownKey(event);
@@ -343,7 +467,7 @@ export default {
343
467
  break;
344
468
 
345
469
  default:
346
- if (ObjectUtils.isPrintableCharacter(event.key)) {
470
+ if (!metaKey && ObjectUtils.isPrintableCharacter(event.key)) {
347
471
  !this.overlayVisible && this.show();
348
472
  !this.editable && this.searchOptions(event, event.key);
349
473
  }
@@ -356,6 +480,7 @@ export default {
356
480
 
357
481
  this.searchValue = '';
358
482
  const matched = this.searchOptions(event, value);
483
+
359
484
  !matched && (this.focusedOptionIndex = -1);
360
485
 
361
486
  this.$emit('update:modelValue', value);
@@ -367,8 +492,7 @@ export default {
367
492
 
368
493
  if (DomHandler.hasClass(event.target, 'p-dropdown-clear-icon') || event.target.tagName === 'INPUT') {
369
494
  return;
370
- }
371
- else if (!this.overlay || !this.overlay.contains(event.target)) {
495
+ } else if (!this.overlay || !this.overlay.contains(event.target)) {
372
496
  this.overlayVisible ? this.hide(true) : this.show(true);
373
497
  }
374
498
  },
@@ -380,20 +504,20 @@ export default {
380
504
 
381
505
  if (relatedTarget === this.$refs.focusInput) {
382
506
  const firstFocusableEl = DomHandler.getFirstFocusableElement(this.overlay, ':not(.p-hidden-focusable)');
383
- firstFocusableEl && firstFocusableEl.focus();
384
- }
385
- else {
386
- this.$refs.focusInput.focus();
507
+
508
+ DomHandler.focus(firstFocusableEl);
509
+ } else {
510
+ DomHandler.focus(this.$refs.focusInput);
387
511
  }
388
512
  },
389
513
  onLastHiddenFocus() {
390
- this.$refs.firstHiddenFocusableElementOnOverlay.focus();
514
+ DomHandler.focus(this.$refs.firstHiddenFocusableElementOnOverlay);
391
515
  },
392
- onOptionSelect(event, option) {
516
+ onOptionSelect(event, option, isHide = true) {
393
517
  const value = this.getOptionValue(option);
394
518
 
395
519
  this.updateModel(event, value);
396
- this.hide(true);
520
+ isHide && this.hide(true);
397
521
  },
398
522
  onOptionMouseMove(event, index) {
399
523
  if (this.focusOnHover) {
@@ -488,8 +612,7 @@ export default {
488
612
 
489
613
  this.overlayVisible && this.hide();
490
614
  event.preventDefault();
491
- }
492
- else {
615
+ } else {
493
616
  const optionIndex = this.focusedOptionIndex !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex) : this.findLastFocusedOptionIndex();
494
617
 
495
618
  this.changeFocusedOptionIndex(event, optionIndex);
@@ -505,8 +628,7 @@ export default {
505
628
  if (pressedInInputText) {
506
629
  event.currentTarget.setSelectionRange(0, 0);
507
630
  this.focusedOptionIndex = -1;
508
- }
509
- else {
631
+ } else {
510
632
  this.changeFocusedOptionIndex(event, this.findFirstOptionIndex());
511
633
 
512
634
  !this.overlayVisible && this.show();
@@ -518,10 +640,10 @@ export default {
518
640
  if (pressedInInputText) {
519
641
  const target = event.currentTarget;
520
642
  const len = target.value.length;
643
+
521
644
  target.setSelectionRange(len, len);
522
645
  this.focusedOptionIndex = -1;
523
- }
524
- else {
646
+ } else {
525
647
  this.changeFocusedOptionIndex(event, this.findLastOptionIndex());
526
648
 
527
649
  !this.overlayVisible && this.show();
@@ -540,8 +662,7 @@ export default {
540
662
  onEnterKey(event) {
541
663
  if (!this.overlayVisible) {
542
664
  this.onArrowDownKey(event);
543
- }
544
- else {
665
+ } else {
545
666
  if (this.focusedOptionIndex !== -1) {
546
667
  this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);
547
668
  }
@@ -561,11 +682,10 @@ export default {
561
682
  onTabKey(event, pressedInInputText = false) {
562
683
  if (!pressedInInputText) {
563
684
  if (this.overlayVisible && this.hasFocusableElements()) {
564
- this.$refs.firstHiddenFocusableElementOnOverlay.focus();
685
+ DomHandler.focus(this.$refs.firstHiddenFocusableElementOnOverlay);
565
686
 
566
687
  event.preventDefault();
567
- }
568
- else {
688
+ } else {
569
689
  if (this.focusedOptionIndex !== -1) {
570
690
  this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);
571
691
  }
@@ -583,6 +703,8 @@ export default {
583
703
  ZIndexUtils.set('overlay', el, this.$primevue.config.zIndex.overlay);
584
704
  this.alignOverlay();
585
705
  this.scrollInView();
706
+
707
+ this.autoFilterFocus && DomHandler.focus(this.$refs.filterInput);
586
708
  },
587
709
  onOverlayAfterEnter() {
588
710
  this.bindOutsideClickListener();
@@ -605,8 +727,7 @@ export default {
605
727
  alignOverlay() {
606
728
  if (this.appendTo === 'self') {
607
729
  DomHandler.relativePosition(this.overlay, this.$el);
608
- }
609
- else {
730
+ } else {
610
731
  this.overlay.style.minWidth = DomHandler.getOuterWidth(this.$el) + 'px';
611
732
  DomHandler.absolutePosition(this.overlay, this.$el);
612
733
  }
@@ -618,6 +739,7 @@ export default {
618
739
  this.hide();
619
740
  }
620
741
  };
742
+
621
743
  document.addEventListener('click', this.outsideClickListener);
622
744
  }
623
745
  },
@@ -650,6 +772,7 @@ export default {
650
772
  this.hide();
651
773
  }
652
774
  };
775
+
653
776
  window.addEventListener('resize', this.resizeListener);
654
777
  }
655
778
  },
@@ -675,28 +798,32 @@ export default {
675
798
  return ObjectUtils.equals(this.modelValue, this.getOptionValue(option), this.equalityKey);
676
799
  },
677
800
  findFirstOptionIndex() {
678
- return this.visibleOptions.findIndex(option => this.isValidOption(option));
801
+ return this.visibleOptions.findIndex((option) => this.isValidOption(option));
679
802
  },
680
803
  findLastOptionIndex() {
681
- return ObjectUtils.findLastIndex(this.visibleOptions, option => this.isValidOption(option));
804
+ return ObjectUtils.findLastIndex(this.visibleOptions, (option) => this.isValidOption(option));
682
805
  },
683
806
  findNextOptionIndex(index) {
684
- const matchedOptionIndex = index < (this.visibleOptions.length - 1) ? this.visibleOptions.slice(index + 1).findIndex(option => this.isValidOption(option)) : -1;
807
+ const matchedOptionIndex = index < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index + 1).findIndex((option) => this.isValidOption(option)) : -1;
808
+
685
809
  return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;
686
810
  },
687
811
  findPrevOptionIndex(index) {
688
- const matchedOptionIndex = index > 0 ? ObjectUtils.findLastIndex(this.visibleOptions.slice(0, index), option => this.isValidOption(option)) : -1;
812
+ const matchedOptionIndex = index > 0 ? ObjectUtils.findLastIndex(this.visibleOptions.slice(0, index), (option) => this.isValidOption(option)) : -1;
813
+
689
814
  return matchedOptionIndex > -1 ? matchedOptionIndex : index;
690
815
  },
691
816
  findSelectedOptionIndex() {
692
- return this.hasSelectedOption ? this.visibleOptions.findIndex(option => this.isValidSelectedOption(option)) : -1;
817
+ return this.hasSelectedOption ? this.visibleOptions.findIndex((option) => this.isValidSelectedOption(option)) : -1;
693
818
  },
694
819
  findFirstFocusedOptionIndex() {
695
820
  const selectedIndex = this.findSelectedOptionIndex();
821
+
696
822
  return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;
697
823
  },
698
824
  findLastFocusedOptionIndex() {
699
825
  const selectedIndex = this.findSelectedOptionIndex();
826
+
700
827
  return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;
701
828
  },
702
829
  searchOptions(event, char) {
@@ -706,11 +833,10 @@ export default {
706
833
  let matched = false;
707
834
 
708
835
  if (this.focusedOptionIndex !== -1) {
709
- optionIndex = this.visibleOptions.slice(this.focusedOptionIndex).findIndex(option => this.isOptionMatched(option));
710
- optionIndex = optionIndex === -1 ? this.visibleOptions.slice(0, this.focusedOptionIndex).findIndex(option => this.isOptionMatched(option)) : optionIndex + this.focusedOptionIndex;
711
- }
712
- else {
713
- optionIndex = this.visibleOptions.findIndex(option => this.isOptionMatched(option));
836
+ optionIndex = this.visibleOptions.slice(this.focusedOptionIndex).findIndex((option) => this.isOptionMatched(option));
837
+ optionIndex = optionIndex === -1 ? this.visibleOptions.slice(0, this.focusedOptionIndex).findIndex((option) => this.isOptionMatched(option)) : optionIndex + this.focusedOptionIndex;
838
+ } else {
839
+ optionIndex = this.visibleOptions.findIndex((option) => this.isOptionMatched(option));
714
840
  }
715
841
 
716
842
  if (optionIndex !== -1) {
@@ -742,17 +868,17 @@ export default {
742
868
  this.scrollInView();
743
869
 
744
870
  if (this.selectOnFocus) {
745
- this.updateModel(event, this.getOptionValue(this.visibleOptions[index]));
871
+ this.onOptionSelect(event, this.visibleOptions[index], false);
746
872
  }
747
873
  }
748
874
  },
749
875
  scrollInView(index = -1) {
750
876
  const id = index !== -1 ? `${this.id}_${index}` : this.focusedOptionId;
751
877
  const element = DomHandler.findSingle(this.list, `li[id="${id}"]`);
878
+
752
879
  if (element) {
753
880
  element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'start' });
754
- }
755
- else if (!this.virtualScrollerDisabled) {
881
+ } else if (!this.virtualScrollerDisabled) {
756
882
  setTimeout(() => {
757
883
  this.virtualScroller && this.virtualScroller.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex);
758
884
  }, 0);
@@ -761,8 +887,7 @@ export default {
761
887
  autoUpdateModel() {
762
888
  if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption) {
763
889
  this.focusedOptionIndex = this.findFirstFocusedOptionIndex();
764
- const value = this.getOptionValue(this.visibleOptions[this.focusedOptionIndex]);
765
- this.updateModel(null, value);
890
+ this.onOptionSelect(null, this.visibleOptions[this.focusedOptionIndex], false);
766
891
  }
767
892
  },
768
893
  updateModel(event, value) {
@@ -774,7 +899,8 @@ export default {
774
899
  result.push({ optionGroup: option, group: true, index });
775
900
 
776
901
  const optionGroupChildren = this.getOptionGroupChildren(option);
777
- optionGroupChildren && optionGroupChildren.forEach(o => result.push(o));
902
+
903
+ optionGroupChildren && optionGroupChildren.forEach((o) => result.push(o));
778
904
 
779
905
  return result;
780
906
  }, []);
@@ -792,32 +918,43 @@ export default {
792
918
  },
793
919
  computed: {
794
920
  containerClass() {
795
- return ['p-dropdown p-component p-inputwrapper', {
796
- 'p-disabled': this.disabled,
797
- 'p-dropdown-clearable': this.showClear && !this.disabled,
798
- 'p-focus': this.focused,
799
- 'p-inputwrapper-filled': this.modelValue,
800
- 'p-inputwrapper-focus': this.focused || this.overlayVisible,
801
- 'p-overlay-open': this.overlayVisible
802
- }];
921
+ return [
922
+ 'p-dropdown p-component p-inputwrapper',
923
+ {
924
+ 'p-disabled': this.disabled,
925
+ 'p-dropdown-clearable': this.showClear && !this.disabled,
926
+ 'p-focus': this.focused,
927
+ 'p-inputwrapper-filled': this.modelValue,
928
+ 'p-inputwrapper-focus': this.focused || this.overlayVisible,
929
+ 'p-overlay-open': this.overlayVisible
930
+ }
931
+ ];
803
932
  },
804
933
  inputStyleClass() {
805
- return ['p-dropdown-label p-inputtext', this.inputClass, {
806
- 'p-placeholder': !this.editable && this.label === this.placeholder,
807
- 'p-dropdown-label-empty': !this.editable && !this.$slots['value'] && (this.label === 'p-emptylabel' || this.label.length === 0)
808
- }];
934
+ return [
935
+ 'p-dropdown-label p-inputtext',
936
+ this.inputClass,
937
+ {
938
+ 'p-placeholder': !this.editable && this.label === this.placeholder,
939
+ 'p-dropdown-label-empty': !this.editable && !this.$slots['value'] && (this.label === 'p-emptylabel' || this.label.length === 0)
940
+ }
941
+ ];
809
942
  },
810
943
  panelStyleClass() {
811
- return ['p-dropdown-panel p-component', this.panelClass, {
812
- 'p-input-filled': this.$primevue.config.inputStyle === 'filled',
813
- 'p-ripple-disabled': this.$primevue.config.ripple === false
814
- }];
944
+ return [
945
+ 'p-dropdown-panel p-component',
946
+ this.panelClass,
947
+ {
948
+ 'p-input-filled': this.$primevue.config.inputStyle === 'filled',
949
+ 'p-ripple-disabled': this.$primevue.config.ripple === false
950
+ }
951
+ ];
815
952
  },
816
953
  dropdownIconClass() {
817
- return ['p-dropdown-trigger-icon', (this.loading ? this.loadingIcon : 'pi pi-chevron-down')];
954
+ return ['p-dropdown-trigger-icon', this.loading ? this.loadingIcon : this.dropdownIcon];
818
955
  },
819
956
  visibleOptions() {
820
- const options = this.optionGroupLabel ? this.flatOptions(this.options) : (this.options || []);
957
+ const options = this.optionGroupLabel ? this.flatOptions(this.options) : this.options || [];
821
958
 
822
959
  return this.filterValue ? FilterService.filter(options, this.searchFields, this.filterValue, this.filterMatchMode, this.filterLocale) : options;
823
960
  },
@@ -826,11 +963,13 @@ export default {
826
963
  },
827
964
  label() {
828
965
  const selectedOptionIndex = this.findSelectedOptionIndex();
829
- return selectedOptionIndex !== -1 ? this.getOptionLabel(this.visibleOptions[selectedOptionIndex]) : (this.placeholder || 'p-emptylabel');
966
+
967
+ return selectedOptionIndex !== -1 ? this.getOptionLabel(this.visibleOptions[selectedOptionIndex]) : this.placeholder || 'p-emptylabel';
830
968
  },
831
969
  editableInputValue() {
832
970
  const selectedOptionIndex = this.findSelectedOptionIndex();
833
- return selectedOptionIndex !== -1 ? this.getOptionLabel(this.visibleOptions[selectedOptionIndex]) : (this.modelValue || '');
971
+
972
+ return selectedOptionIndex !== -1 ? this.getOptionLabel(this.visibleOptions[selectedOptionIndex]) : this.modelValue || '';
834
973
  },
835
974
  equalityKey() {
836
975
  return this.optionValue ? null : this.dataKey;
@@ -859,24 +998,27 @@ export default {
859
998
  selectedMessageText() {
860
999
  return this.hasSelectedOption ? this.selectionMessageText.replaceAll('{0}', '1') : this.emptySelectionMessageText;
861
1000
  },
1001
+ id() {
1002
+ return this.$attrs.id || UniqueComponentId();
1003
+ },
862
1004
  focusedOptionId() {
863
1005
  return this.focusedOptionIndex !== -1 ? `${this.id}_${this.focusedOptionIndex}` : null;
864
1006
  },
865
1007
  ariaSetSize() {
866
- return this.visibleOptions.filter(option => !this.isOptionGroup(option)).length;
1008
+ return this.visibleOptions.filter((option) => !this.isOptionGroup(option)).length;
867
1009
  },
868
1010
  virtualScrollerDisabled() {
869
1011
  return !this.virtualScrollerOptions;
870
1012
  }
871
1013
  },
872
1014
  directives: {
873
- 'ripple': Ripple
1015
+ ripple: Ripple
874
1016
  },
875
1017
  components: {
876
- 'VirtualScroller': VirtualScroller,
877
- 'Portal': Portal
1018
+ VirtualScroller: VirtualScroller,
1019
+ Portal: Portal
878
1020
  }
879
- }
1021
+ };
880
1022
  </script>
881
1023
 
882
1024
  <style>
@@ -890,7 +1032,7 @@ export default {
890
1032
  .p-dropdown-clear-icon {
891
1033
  position: absolute;
892
1034
  top: 50%;
893
- margin-top: -.5rem;
1035
+ margin-top: -0.5rem;
894
1036
  }
895
1037
 
896
1038
  .p-dropdown-trigger {
@@ -915,7 +1057,7 @@ export default {
915
1057
  opacity: 0;
916
1058
  }
917
1059
 
918
- input.p-dropdown-label {
1060
+ input.p-dropdown-label {
919
1061
  cursor: default;
920
1062
  }
921
1063
 
@@ -962,7 +1104,7 @@ input.p-dropdown-label {
962
1104
  .p-dropdown-filter-icon {
963
1105
  position: absolute;
964
1106
  top: 50%;
965
- margin-top: -.5rem;
1107
+ margin-top: -0.5rem;
966
1108
  }
967
1109
 
968
1110
  .p-fluid .p-dropdown {