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,50 +1,127 @@
1
1
  <template>
2
2
  <div ref="container" :class="containerClass" @click="onContainerClick">
3
- <input v-if="!multiple" ref="focusInput" :id="inputId" type="text" :style="inputStyle" :class="inputStyleClass" :value="inputValue" :placeholder="placeholder" :tabindex="!disabled ? tabindex : -1" :disabled="disabled" autocomplete="off"
4
- role="combobox" :aria-label="ariaLabel" :aria-labelledby="ariaLabelledby" aria-haspopup="listbox" aria-autocomplete="list" :aria-expanded="overlayVisible" :aria-controls="id + '_list'" :aria-activedescendant="focused ? focusedOptionId : undefined"
5
- @focus="onFocus" @blur="onBlur" @keydown="onKeyDown" @input="onInput" @change="onChange" v-bind="inputProps" />
6
- <ul v-if="multiple" ref="multiContainer" :class="multiContainerClass" tabindex="-1" role="listbox" aria-orientation="horizontal" :aria-activedescendant="focused ? focusedMultipleOptionId : undefined"
7
- @focus="onMultipleContainerFocus" @blur="onMultipleContainerBlur" @keydown="onMultipleContainerKeyDown">
8
- <li v-for="(option, i) of modelValue" :key="i" :id="id + '_multiple_option_' + i" :class="['p-autocomplete-token', {'p-focus': focusedMultipleOptionIndex === i}]"
9
- role="option" :aria-label="getOptionLabel(option)" :aria-selected="true" :aria-setsize="modelValue.length" :aria-posinset="i + 1">
3
+ <input
4
+ v-if="!multiple"
5
+ ref="focusInput"
6
+ :id="inputId"
7
+ type="text"
8
+ :style="inputStyle"
9
+ :class="inputStyleClass"
10
+ :value="inputValue"
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-autocomplete="list"
20
+ :aria-expanded="overlayVisible"
21
+ :aria-controls="id + '_list'"
22
+ :aria-activedescendant="focused ? focusedOptionId : undefined"
23
+ @focus="onFocus"
24
+ @blur="onBlur"
25
+ @keydown="onKeyDown"
26
+ @input="onInput"
27
+ @change="onChange"
28
+ v-bind="inputProps"
29
+ />
30
+ <ul
31
+ v-if="multiple"
32
+ ref="multiContainer"
33
+ :class="multiContainerClass"
34
+ tabindex="-1"
35
+ role="listbox"
36
+ aria-orientation="horizontal"
37
+ :aria-activedescendant="focused ? focusedMultipleOptionId : undefined"
38
+ @focus="onMultipleContainerFocus"
39
+ @blur="onMultipleContainerBlur"
40
+ @keydown="onMultipleContainerKeyDown"
41
+ >
42
+ <li
43
+ v-for="(option, i) of modelValue"
44
+ :key="i"
45
+ :id="id + '_multiple_option_' + i"
46
+ :class="['p-autocomplete-token', { 'p-focus': focusedMultipleOptionIndex === i }]"
47
+ role="option"
48
+ :aria-label="getOptionLabel(option)"
49
+ :aria-selected="true"
50
+ :aria-setsize="modelValue.length"
51
+ :aria-posinset="i + 1"
52
+ >
10
53
  <slot name="chip" :value="option">
11
- <span class="p-autocomplete-token-label">{{getOptionLabel(option)}}</span>
54
+ <span class="p-autocomplete-token-label">{{ getOptionLabel(option) }}</span>
12
55
  </slot>
13
- <span class="p-autocomplete-token-icon pi pi-times-circle" @click="removeOption($event, i)" aria-hidden="true"></span>
56
+ <span :class="['p-autocomplete-token-icon', removeTokenIcon]" @click="removeOption($event, i)" aria-hidden="true"></span>
14
57
  </li>
15
58
  <li class="p-autocomplete-input-token" role="option">
16
- <input ref="focusInput" :id="inputId" type="text" :style="inputStyle" :class="inputClass" :placeholder="placeholder" :tabindex="!disabled ? tabindex : -1" :disabled="disabled" autocomplete="off"
17
- role="combobox" :aria-label="ariaLabel" :aria-labelledby="ariaLabelledby" aria-haspopup="listbox" aria-autocomplete="list" :aria-expanded="overlayVisible" :aria-controls="id + '_list'" :aria-activedescendant="focused ? focusedOptionId : undefined"
18
- @focus="onFocus" @blur="onBlur" @keydown="onKeyDown" @input="onInput" @change="onChange" v-bind="inputProps" />
59
+ <input
60
+ ref="focusInput"
61
+ :id="inputId"
62
+ type="text"
63
+ :style="inputStyle"
64
+ :class="inputClass"
65
+ :placeholder="placeholder"
66
+ :tabindex="!disabled ? tabindex : -1"
67
+ :disabled="disabled"
68
+ autocomplete="off"
69
+ role="combobox"
70
+ :aria-label="ariaLabel"
71
+ :aria-labelledby="ariaLabelledby"
72
+ aria-haspopup="listbox"
73
+ aria-autocomplete="list"
74
+ :aria-expanded="overlayVisible"
75
+ :aria-controls="id + '_list'"
76
+ :aria-activedescendant="focused ? focusedOptionId : undefined"
77
+ @focus="onFocus"
78
+ @blur="onBlur"
79
+ @keydown="onKeyDown"
80
+ @input="onInput"
81
+ @change="onChange"
82
+ v-bind="inputProps"
83
+ />
19
84
  </li>
20
85
  </ul>
21
86
  <i v-if="searching" :class="loadingIconClass" aria-hidden="true"></i>
22
- <Button v-if="dropdown" ref="dropdownButton" type="button" icon="pi pi-chevron-down" class="p-autocomplete-dropdown" tabindex="-1" :disabled="disabled" aria-hidden="true" @click="onDropdownClick" />
87
+ <Button v-if="dropdown" ref="dropdownButton" type="button" :icon="dropdownIcon" class="p-autocomplete-dropdown" tabindex="-1" :disabled="disabled" aria-hidden="true" @click="onDropdownClick" />
23
88
  <span role="status" aria-live="polite" class="p-hidden-accessible">
24
- {{searchResultMessageText}}
89
+ {{ searchResultMessageText }}
25
90
  </span>
26
91
  <Portal :appendTo="appendTo">
27
92
  <transition name="p-connected-overlay" @enter="onOverlayEnter" @after-enter="onOverlayAfterEnter" @leave="onOverlayLeave" @after-leave="onOverlayAfterLeave">
28
- <div v-if="overlayVisible" :ref="overlayRef" :class="panelStyleClass" :style="{...panelStyle, 'max-height': virtualScrollerDisabled ? scrollHeight : ''}" @click="onOverlayClick" @keydown="onOverlayKeyDown" v-bind="panelProps">
93
+ <div v-if="overlayVisible" :ref="overlayRef" :class="panelStyleClass" :style="{ ...panelStyle, 'max-height': virtualScrollerDisabled ? scrollHeight : '' }" @click="onOverlayClick" @keydown="onOverlayKeyDown" v-bind="panelProps">
29
94
  <slot name="header" :value="modelValue" :suggestions="visibleOptions"></slot>
30
- <VirtualScroller :ref="virtualScrollerRef" v-bind="virtualScrollerOptions" :style="{'height': scrollHeight}" :items="visibleOptions" :tabindex="-1" :disabled="virtualScrollerDisabled">
95
+ <VirtualScroller :ref="virtualScrollerRef" v-bind="virtualScrollerOptions" :style="{ height: scrollHeight }" :items="visibleOptions" :tabindex="-1" :disabled="virtualScrollerDisabled">
31
96
  <template v-slot:content="{ styleClass, contentRef, items, getItemOptions, contentStyle, itemSize }">
32
97
  <ul :ref="(el) => listRef(el, contentRef)" :id="id + '_list'" :class="['p-autocomplete-items', styleClass]" :style="contentStyle" role="listbox">
33
98
  <template v-for="(option, i) of items" :key="getOptionRenderKey(option, getOptionIndex(i, getItemOptions))">
34
- <li v-if="isOptionGroup(option)" :id="id + '_' + getOptionIndex(i, getItemOptions)" :style="{height: itemSize ? itemSize + 'px' : undefined}" class="p-autocomplete-item-group" role="option">
35
- <slot name="optiongroup" :option="option.optionGroup" :item="option.optionGroup" :index="getOptionIndex(i, getItemOptions)">{{getOptionGroupLabel(option.optionGroup)}}</slot>
99
+ <li v-if="isOptionGroup(option)" :id="id + '_' + getOptionIndex(i, getItemOptions)" :style="{ height: itemSize ? itemSize + 'px' : undefined }" class="p-autocomplete-item-group" role="option">
100
+ <slot name="optiongroup" :option="option.optionGroup" :item="option.optionGroup" :index="getOptionIndex(i, getItemOptions)">{{ getOptionGroupLabel(option.optionGroup) }}</slot>
36
101
  </li>
37
- <li v-else v-ripple :id="id + '_' + getOptionIndex(i, getItemOptions)" :style="{height: itemSize ? itemSize + 'px' : undefined}"
38
- :class="['p-autocomplete-item', {'p-highlight': isSelected(option), 'p-focus': focusedOptionIndex === getOptionIndex(i, getItemOptions), 'p-disabled': isOptionDisabled(option)}]"
39
- role="option" :aria-label="getOptionLabel(option)" :aria-selected="isSelected(option)" :aria-disabled="isOptionDisabled(option)" :aria-setsize="ariaSetSize" :aria-posinset="getAriaPosInset(getOptionIndex(i, getItemOptions))"
40
- @click="onOptionSelect($event, option)" @mousemove="onOptionMouseMove($event, getOptionIndex(i, getItemOptions))">
41
- <slot v-if="$slots.option" name="option" :option="option" :index="getOptionIndex(i, getItemOptions)">{{getOptionLabel(option)}}</slot>
42
- <slot v-else name="item" :item="option" :index="getOptionIndex(i, getItemOptions)">{{getOptionLabel(option)}}</slot> <!--TODO: Deprecated since v3.16.0-->
102
+ <li
103
+ v-else
104
+ :id="id + '_' + getOptionIndex(i, getItemOptions)"
105
+ v-ripple
106
+ :style="{ height: itemSize ? itemSize + 'px' : undefined }"
107
+ :class="['p-autocomplete-item', { 'p-highlight': isSelected(option), 'p-focus': focusedOptionIndex === getOptionIndex(i, getItemOptions), 'p-disabled': isOptionDisabled(option) }]"
108
+ role="option"
109
+ :aria-label="getOptionLabel(option)"
110
+ :aria-selected="isSelected(option)"
111
+ :aria-disabled="isOptionDisabled(option)"
112
+ :aria-setsize="ariaSetSize"
113
+ :aria-posinset="getAriaPosInset(getOptionIndex(i, getItemOptions))"
114
+ @click="onOptionSelect($event, option)"
115
+ @mousemove="onOptionMouseMove($event, getOptionIndex(i, getItemOptions))"
116
+ >
117
+ <slot v-if="$slots.option" name="option" :option="option" :index="getOptionIndex(i, getItemOptions)">{{ getOptionLabel(option) }}</slot>
118
+ <slot v-else name="item" :item="option" :index="getOptionIndex(i, getItemOptions)">{{ getOptionLabel(option) }}</slot>
119
+ <!--TODO: Deprecated since v3.16.0-->
43
120
  </li>
44
121
  </template>
45
122
  </ul>
46
123
  <span role="status" aria-live="polite" class="p-hidden-accessible">
47
- {{selectedMessageText}}
124
+ {{ selectedMessageText }}
48
125
  </span>
49
126
  </template>
50
127
  <template v-if="$slots.loader" v-slot:loader="{ options }">
@@ -59,12 +136,12 @@
59
136
  </template>
60
137
 
61
138
  <script>
62
- import {ConnectedOverlayScrollHandler,UniqueComponentId,ObjectUtils,DomHandler,ZIndexUtils} from 'primevue/utils';
63
- import OverlayEventBus from 'primevue/overlayeventbus';
64
139
  import Button from 'primevue/button';
140
+ import OverlayEventBus from 'primevue/overlayeventbus';
141
+ import Portal from 'primevue/portal';
65
142
  import Ripple from 'primevue/ripple';
143
+ import { ConnectedOverlayScrollHandler, DomHandler, ObjectUtils, UniqueComponentId, ZIndexUtils } from 'primevue/utils';
66
144
  import VirtualScroller from 'primevue/virtualscroller';
67
- import Portal from 'primevue/portal';
68
145
 
69
146
  export default {
70
147
  name: 'AutoComplete',
@@ -75,8 +152,9 @@ export default {
75
152
  type: Array,
76
153
  default: null
77
154
  },
78
- field: { // TODO: Deprecated since v3.16.0
79
- type: [String,Function],
155
+ field: {
156
+ // TODO: Deprecated since v3.16.0
157
+ type: [String, Function],
80
158
  default: null
81
159
  },
82
160
  optionLabel: null,
@@ -95,7 +173,8 @@ export default {
95
173
  type: String,
96
174
  default: 'blank'
97
175
  },
98
- autoHighlight: { // TODO: Deprecated since v3.16.0
176
+ autoHighlight: {
177
+ // TODO: Deprecated since v3.16.0. Use selectOnFocus property instead.
99
178
  type: Boolean,
100
179
  default: false
101
180
  },
@@ -135,17 +214,46 @@ export default {
135
214
  type: Boolean,
136
215
  default: false
137
216
  },
138
- inputId: String,
139
- inputStyle: null,
140
- inputClass: null,
141
- inputProps: null,
142
- panelStyle: null,
143
- panelClass: null,
144
- panelProps: null,
217
+ inputId: {
218
+ type: String,
219
+ default: null
220
+ },
221
+ inputStyle: {
222
+ type: null,
223
+ default: null
224
+ },
225
+ inputClass: {
226
+ type: String,
227
+ default: null
228
+ },
229
+ inputProps: {
230
+ type: null,
231
+ default: null
232
+ },
233
+ panelStyle: {
234
+ type: null,
235
+ default: null
236
+ },
237
+ panelClass: {
238
+ type: String,
239
+ default: null
240
+ },
241
+ panelProps: {
242
+ type: null,
243
+ default: null
244
+ },
245
+ dropdownIcon: {
246
+ type: String,
247
+ default: 'pi pi-chevron-down'
248
+ },
145
249
  loadingIcon: {
146
250
  type: String,
147
251
  default: 'pi pi-spinner'
148
252
  },
253
+ removeTokenIcon: {
254
+ type: String,
255
+ default: 'pi pi-times-circle'
256
+ },
149
257
  virtualScrollerOptions: {
150
258
  type: Object,
151
259
  default: null
@@ -154,6 +262,10 @@ export default {
154
262
  type: Boolean,
155
263
  default: true
156
264
  },
265
+ selectOnFocus: {
266
+ type: Boolean,
267
+ default: false
268
+ },
157
269
  searchLocale: {
158
270
  type: String,
159
271
  default: undefined
@@ -193,18 +305,16 @@ export default {
193
305
  overlay: null,
194
306
  virtualScroller: null,
195
307
  searchTimeout: null,
196
- selectOnFocus: false,
197
308
  focusOnHover: false,
198
309
  dirty: false,
199
310
  data() {
200
311
  return {
201
- id: UniqueComponentId(),
202
312
  focused: false,
203
313
  focusedOptionIndex: -1,
204
314
  focusedMultipleOptionIndex: -1,
205
315
  overlayVisible: false,
206
316
  searching: false
207
- }
317
+ };
208
318
  },
209
319
  watch: {
210
320
  suggestions() {
@@ -218,8 +328,6 @@ export default {
218
328
  }
219
329
  },
220
330
  mounted() {
221
- this.id = this.$attrs.id || this.id;
222
-
223
331
  this.autoUpdateModel();
224
332
  },
225
333
  updated() {
@@ -243,7 +351,7 @@ export default {
243
351
  },
244
352
  methods: {
245
353
  getOptionIndex(index, fn) {
246
- return this.virtualScrollerDisabled ? index : (fn && fn(index)['index']);
354
+ return this.virtualScrollerDisabled ? index : fn && fn(index)['index'];
247
355
  },
248
356
  getOptionLabel(option) {
249
357
  return this.field || this.optionLabel ? ObjectUtils.resolveFieldData(option, this.field || this.optionLabel) : option;
@@ -267,15 +375,15 @@ export default {
267
375
  return ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren);
268
376
  },
269
377
  getAriaPosInset(index) {
270
- return (this.optionGroupLabel ? index - this.visibleOptions.slice(0, index).filter(option => this.isOptionGroup(option)).length : index) + 1;
378
+ return (this.optionGroupLabel ? index - this.visibleOptions.slice(0, index).filter((option) => this.isOptionGroup(option)).length : index) + 1;
271
379
  },
272
380
  show(isFocus) {
273
381
  this.$emit('before-show');
274
382
  this.dirty = true;
275
383
  this.overlayVisible = true;
276
- this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : (this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1);
384
+ this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;
277
385
 
278
- isFocus && this.$refs.focusInput.focus();
386
+ isFocus && DomHandler.focus(this.$refs.focusInput);
279
387
  },
280
388
  hide(isFocus) {
281
389
  const _hide = () => {
@@ -284,10 +392,12 @@ export default {
284
392
  this.overlayVisible = false;
285
393
  this.focusedOptionIndex = -1;
286
394
 
287
- isFocus && this.$refs.focusInput.focus();
288
- }
395
+ isFocus && DomHandler.focus(this.$refs.focusInput);
396
+ };
289
397
 
290
- setTimeout(() => { _hide() }, 0); // For ScreenReaders
398
+ setTimeout(() => {
399
+ _hide();
400
+ }, 0); // For ScreenReaders
291
401
  },
292
402
  onFocus(event) {
293
403
  if (!this.dirty && this.completeOnFocus) {
@@ -296,7 +406,7 @@ export default {
296
406
 
297
407
  this.dirty = true;
298
408
  this.focused = true;
299
- this.focusedOptionIndex = this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;
409
+ this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;
300
410
  this.overlayVisible && this.scrollInView(this.focusedOptionIndex);
301
411
  this.$emit('focus', event);
302
412
  },
@@ -371,6 +481,7 @@ export default {
371
481
  }
372
482
 
373
483
  let query = event.target.value;
484
+
374
485
  if (!this.multiple) {
375
486
  this.updateModel(event, query);
376
487
  }
@@ -378,16 +489,14 @@ export default {
378
489
  if (query.length === 0) {
379
490
  this.hide();
380
491
  this.$emit('clear');
381
- }
382
- else {
492
+ } else {
383
493
  if (query.length >= this.minLength) {
384
494
  this.focusedOptionIndex = -1;
385
495
 
386
496
  this.searchTimeout = setTimeout(() => {
387
497
  this.search(event, query, 'input');
388
498
  }, this.delay);
389
- }
390
- else {
499
+ } else {
391
500
  this.hide();
392
501
  }
393
502
  }
@@ -396,8 +505,8 @@ export default {
396
505
  if (this.forceSelection) {
397
506
  let valid = false;
398
507
 
399
- if (this.visibleOptions) {
400
- const matchedValue = this.visibleOptions.find(option => this.isOptionMatched(option, event.target.value));
508
+ if (this.visibleOptions) {
509
+ const matchedValue = this.visibleOptions.find((option) => this.isOptionMatched(option, event.target.value));
401
510
 
402
511
  if (matchedValue !== undefined) {
403
512
  valid = true;
@@ -443,7 +552,7 @@ export default {
443
552
  }
444
553
 
445
554
  if (!this.overlay || !this.overlay.contains(event.target)) {
446
- this.$refs.focusInput.focus();
555
+ DomHandler.focus(this.$refs.focusInput);
447
556
  }
448
557
  },
449
558
  onDropdownClick(event) {
@@ -451,20 +560,17 @@ export default {
451
560
 
452
561
  if (this.overlayVisible) {
453
562
  this.hide(true);
454
- }
455
- else {
456
- this.$refs.focusInput.focus();
563
+ } else {
564
+ DomHandler.focus(this.$refs.focusInput);
457
565
  query = this.$refs.focusInput.value;
458
566
 
459
- if (this.dropdownMode === 'blank')
460
- this.search(event, '', 'dropdown');
461
- else if (this.dropdownMode === 'current')
462
- this.search(event, query, 'dropdown');
567
+ if (this.dropdownMode === 'blank') this.search(event, '', 'dropdown');
568
+ else if (this.dropdownMode === 'current') this.search(event, query, 'dropdown');
463
569
  }
464
570
 
465
571
  this.$emit('dropdown-click', { originalEvent: event, query });
466
572
  },
467
- onOptionSelect(event, option) {
573
+ onOptionSelect(event, option, isHide = true) {
468
574
  const value = this.getOptionValue(option);
469
575
 
470
576
  if (this.multiple) {
@@ -473,14 +579,13 @@ export default {
473
579
  if (!this.isSelected(option)) {
474
580
  this.updateModel(event, [...(this.modelValue || []), value]);
475
581
  }
476
- }
477
- else {
582
+ } else {
478
583
  this.updateModel(event, value);
479
584
  }
480
585
 
481
586
  this.$emit('item-select', { originalEvent: event, value: option });
482
587
 
483
- this.hide(true);
588
+ isHide && this.hide(true);
484
589
  },
485
590
  onOptionMouseMove(event, index) {
486
591
  if (this.focusOnHover) {
@@ -526,8 +631,7 @@ export default {
526
631
 
527
632
  this.overlayVisible && this.hide();
528
633
  event.preventDefault();
529
- }
530
- else {
634
+ } else {
531
635
  const optionIndex = this.focusedOptionIndex !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex) : this.findLastFocusedOptionIndex();
532
636
 
533
637
  this.changeFocusedOptionIndex(event, optionIndex);
@@ -537,14 +641,14 @@ export default {
537
641
  },
538
642
  onArrowLeftKey(event) {
539
643
  const target = event.currentTarget;
644
+
540
645
  this.focusedOptionIndex = -1;
541
646
 
542
647
  if (this.multiple) {
543
648
  if (ObjectUtils.isEmpty(target.value) && this.hasSelectedOption) {
544
- this.$refs.multiContainer.focus();
649
+ DomHandler.focus(this.$refs.multiContainer);
545
650
  this.focusedMultipleOptionIndex = this.modelValue.length;
546
- }
547
- else {
651
+ } else {
548
652
  event.stopPropagation(); // To prevent onArrowLeftKeyOnMultiple method
549
653
  }
550
654
  }
@@ -563,6 +667,7 @@ export default {
563
667
  onEndKey(event) {
564
668
  const target = event.currentTarget;
565
669
  const len = target.value.length;
670
+
566
671
  target.setSelectionRange(len, len);
567
672
  this.focusedOptionIndex = -1;
568
673
 
@@ -579,8 +684,7 @@ export default {
579
684
  onEnterKey(event) {
580
685
  if (!this.overlayVisible) {
581
686
  this.onArrowDownKey(event);
582
- }
583
- else {
687
+ } else {
584
688
  if (this.focusedOptionIndex !== -1) {
585
689
  this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);
586
690
  }
@@ -620,9 +724,9 @@ export default {
620
724
  onArrowRightKeyOnMultiple() {
621
725
  this.focusedMultipleOptionIndex++;
622
726
 
623
- if (this.focusedMultipleOptionIndex > (this.modelValue.length - 1)) {
727
+ if (this.focusedMultipleOptionIndex > this.modelValue.length - 1) {
624
728
  this.focusedMultipleOptionIndex = -1;
625
- this.$refs.focusInput.focus();
729
+ DomHandler.focus(this.$refs.focusInput);
626
730
  }
627
731
  },
628
732
  onBackspaceKeyOnMultiple(event) {
@@ -654,10 +758,10 @@ export default {
654
758
  },
655
759
  alignOverlay() {
656
760
  let target = this.multiple ? this.$refs.multiContainer : this.$refs.focusInput;
761
+
657
762
  if (this.appendTo === 'self') {
658
763
  DomHandler.relativePosition(this.overlay, target);
659
- }
660
- else {
764
+ } else {
661
765
  this.overlay.style.minWidth = DomHandler.getOuterWidth(target) + 'px';
662
766
  DomHandler.absolutePosition(this.overlay, target);
663
767
  }
@@ -669,6 +773,7 @@ export default {
669
773
  this.hide();
670
774
  }
671
775
  };
776
+
672
777
  document.addEventListener('click', this.outsideClickListener);
673
778
  }
674
779
  },
@@ -701,6 +806,7 @@ export default {
701
806
  this.hide();
702
807
  }
703
808
  };
809
+
704
810
  window.addEventListener('resize', this.resizeListener);
705
811
  }
706
812
  },
@@ -714,13 +820,11 @@ export default {
714
820
  return !this.overlay.contains(event.target) && !this.isInputClicked(event) && !this.isDropdownClicked(event);
715
821
  },
716
822
  isInputClicked(event) {
717
- if (this.multiple)
718
- return event.target === this.$refs.multiContainer || this.$refs.multiContainer.contains(event.target);
719
- else
720
- return event.target === this.$refs.focusInput;
823
+ if (this.multiple) return event.target === this.$refs.multiContainer || this.$refs.multiContainer.contains(event.target);
824
+ else return event.target === this.$refs.focusInput;
721
825
  },
722
826
  isDropdownClicked(event) {
723
- return this.$refs.dropdownButton ? (event.target === this.$refs.dropdownButton || this.$refs.dropdownButton.$el.contains(event.target)) : false;
827
+ return this.$refs.dropdownButton ? event.target === this.$refs.dropdownButton || this.$refs.dropdownButton.$el.contains(event.target) : false;
724
828
  },
725
829
  isOptionMatched(option, value) {
726
830
  return this.isValidOption(option) && this.getOptionLabel(option).toLocaleLowerCase(this.searchLocale) === value.toLocaleLowerCase(this.searchLocale);
@@ -735,28 +839,32 @@ export default {
735
839
  return ObjectUtils.equals(this.modelValue, this.getOptionValue(option), this.equalityKey);
736
840
  },
737
841
  findFirstOptionIndex() {
738
- return this.visibleOptions.findIndex(option => this.isValidOption(option));
842
+ return this.visibleOptions.findIndex((option) => this.isValidOption(option));
739
843
  },
740
844
  findLastOptionIndex() {
741
- return ObjectUtils.findLastIndex(this.visibleOptions, option => this.isValidOption(option));
845
+ return ObjectUtils.findLastIndex(this.visibleOptions, (option) => this.isValidOption(option));
742
846
  },
743
847
  findNextOptionIndex(index) {
744
- const matchedOptionIndex = index < (this.visibleOptions.length - 1) ? this.visibleOptions.slice(index + 1).findIndex(option => this.isValidOption(option)) : -1;
848
+ const matchedOptionIndex = index < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index + 1).findIndex((option) => this.isValidOption(option)) : -1;
849
+
745
850
  return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;
746
851
  },
747
852
  findPrevOptionIndex(index) {
748
- const matchedOptionIndex = index > 0 ? ObjectUtils.findLastIndex(this.visibleOptions.slice(0, index), option => this.isValidOption(option)) : -1;
853
+ const matchedOptionIndex = index > 0 ? ObjectUtils.findLastIndex(this.visibleOptions.slice(0, index), (option) => this.isValidOption(option)) : -1;
854
+
749
855
  return matchedOptionIndex > -1 ? matchedOptionIndex : index;
750
856
  },
751
857
  findSelectedOptionIndex() {
752
- return this.hasSelectedOption ? this.visibleOptions.findIndex(option => this.isValidSelectedOption(option)) : -1;
858
+ return this.hasSelectedOption ? this.visibleOptions.findIndex((option) => this.isValidSelectedOption(option)) : -1;
753
859
  },
754
860
  findFirstFocusedOptionIndex() {
755
861
  const selectedIndex = this.findSelectedOptionIndex();
862
+
756
863
  return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;
757
864
  },
758
865
  findLastFocusedOptionIndex() {
759
866
  const selectedIndex = this.findSelectedOptionIndex();
867
+
760
868
  return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;
761
869
  },
762
870
  search(event, query, source) {
@@ -775,12 +883,12 @@ export default {
775
883
  },
776
884
  removeOption(event, index) {
777
885
  const removedOption = this.modelValue[index];
778
- const value = this.modelValue.filter((_, i) => i !== index).map(option => this.getOptionValue(option));
886
+ const value = this.modelValue.filter((_, i) => i !== index).map((option) => this.getOptionValue(option));
779
887
 
780
888
  this.updateModel(event, value);
781
889
  this.$emit('item-unselect', { originalEvent: event, value: removedOption });
782
890
  this.dirty = true;
783
- this.$refs.focusInput.focus();
891
+ DomHandler.focus(this.$refs.focusInput);
784
892
  },
785
893
  changeFocusedOptionIndex(event, index) {
786
894
  if (this.focusedOptionIndex !== index) {
@@ -788,17 +896,17 @@ export default {
788
896
  this.scrollInView();
789
897
 
790
898
  if (this.selectOnFocus || this.autoHighlight) {
791
- this.updateModel(event, this.getOptionValue(this.visibleOptions[index]));
899
+ this.onOptionSelect(event, this.visibleOptions[index], false);
792
900
  }
793
901
  }
794
902
  },
795
903
  scrollInView(index = -1) {
796
904
  const id = index !== -1 ? `${this.id}_${index}` : this.focusedOptionId;
797
905
  const element = DomHandler.findSingle(this.list, `li[id="${id}"]`);
906
+
798
907
  if (element) {
799
908
  element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'start' });
800
- }
801
- else if (!this.virtualScrollerDisabled) {
909
+ } else if (!this.virtualScrollerDisabled) {
802
910
  setTimeout(() => {
803
911
  this.virtualScroller && this.virtualScroller.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex);
804
912
  }, 0);
@@ -807,8 +915,7 @@ export default {
807
915
  autoUpdateModel() {
808
916
  if ((this.selectOnFocus || this.autoHighlight) && this.autoOptionFocus && !this.hasSelectedOption) {
809
917
  this.focusedOptionIndex = this.findFirstFocusedOptionIndex();
810
- const value = this.getOptionValue(this.visibleOptions[this.focusedOptionIndex]);
811
- this.updateModel(null, this.multiple ? [value] : value);
918
+ this.onOptionSelect(null, this.visibleOptions[this.focusedOptionIndex], false);
812
919
  }
813
920
  },
814
921
  updateModel(event, value) {
@@ -820,7 +927,8 @@ export default {
820
927
  result.push({ optionGroup: option, group: true, index });
821
928
 
822
929
  const optionGroupChildren = this.getOptionGroupChildren(option);
823
- optionGroupChildren && optionGroupChildren.forEach(o => result.push(o));
930
+
931
+ optionGroupChildren && optionGroupChildren.forEach((o) => result.push(o));
824
932
 
825
933
  return result;
826
934
  }, []);
@@ -838,47 +946,57 @@ export default {
838
946
  },
839
947
  computed: {
840
948
  containerClass() {
841
- return ['p-autocomplete p-component p-inputwrapper', {
842
- 'p-disabled': this.disabled,
843
- 'p-focus': this.focused,
844
- 'p-autocomplete-dd': this.dropdown,
845
- 'p-autocomplete-multiple': this.multiple,
846
- 'p-inputwrapper-filled': this.modelValue || ObjectUtils.isNotEmpty(this.inputValue),
847
- 'p-inputwrapper-focus': this.focused,
848
- 'p-overlay-open': this.overlayVisible
849
- }];
949
+ return [
950
+ 'p-autocomplete p-component p-inputwrapper',
951
+ {
952
+ 'p-disabled': this.disabled,
953
+ 'p-focus': this.focused,
954
+ 'p-autocomplete-dd': this.dropdown,
955
+ 'p-autocomplete-multiple': this.multiple,
956
+ 'p-inputwrapper-filled': this.modelValue || ObjectUtils.isNotEmpty(this.inputValue),
957
+ 'p-inputwrapper-focus': this.focused,
958
+ 'p-overlay-open': this.overlayVisible
959
+ }
960
+ ];
850
961
  },
851
962
  inputStyleClass() {
852
- return ['p-autocomplete-input p-inputtext p-component', this.inputClass, {
853
- 'p-autocomplete-dd-input': this.dropdown
854
- }];
963
+ return [
964
+ 'p-autocomplete-input p-inputtext p-component',
965
+ this.inputClass,
966
+ {
967
+ 'p-autocomplete-dd-input': this.dropdown
968
+ }
969
+ ];
855
970
  },
856
971
  multiContainerClass() {
857
972
  return ['p-autocomplete-multiple-container p-component p-inputtext'];
858
973
  },
859
974
  panelStyleClass() {
860
- return ['p-autocomplete-panel p-component', this.panelClass, {
861
- 'p-input-filled': this.$primevue.config.inputStyle === 'filled',
862
- 'p-ripple-disabled': this.$primevue.config.ripple === false
863
- }];
975
+ return [
976
+ 'p-autocomplete-panel p-component',
977
+ this.panelClass,
978
+ {
979
+ 'p-input-filled': this.$primevue.config.inputStyle === 'filled',
980
+ 'p-ripple-disabled': this.$primevue.config.ripple === false
981
+ }
982
+ ];
864
983
  },
865
984
  loadingIconClass() {
866
985
  return ['p-autocomplete-loader pi-spin', this.loadingIcon];
867
986
  },
868
987
  visibleOptions() {
869
- return this.optionGroupLabel ? this.flatOptions(this.suggestions) : (this.suggestions || []);
988
+ return this.optionGroupLabel ? this.flatOptions(this.suggestions) : this.suggestions || [];
870
989
  },
871
990
  inputValue() {
872
991
  if (this.modelValue) {
873
992
  if (typeof this.modelValue === 'object') {
874
993
  const label = this.getOptionLabel(this.modelValue);
994
+
875
995
  return label != null ? label : this.modelValue;
876
- }
877
- else {
996
+ } else {
878
997
  return this.modelValue;
879
998
  }
880
- }
881
- else {
999
+ } else {
882
1000
  return '';
883
1001
  }
884
1002
  },
@@ -906,6 +1024,9 @@ export default {
906
1024
  selectedMessageText() {
907
1025
  return this.hasSelectedOption ? this.selectionMessageText.replaceAll('{0}', this.multiple ? this.modelValue.length : '1') : this.emptySelectionMessageText;
908
1026
  },
1027
+ id() {
1028
+ return this.$attrs.id || UniqueComponentId();
1029
+ },
909
1030
  focusedOptionId() {
910
1031
  return this.focusedOptionIndex !== -1 ? `${this.id}_${this.focusedOptionIndex}` : null;
911
1032
  },
@@ -913,21 +1034,21 @@ export default {
913
1034
  return this.focusedMultipleOptionIndex !== -1 ? `${this.id}_multiple_option_${this.focusedMultipleOptionIndex}` : null;
914
1035
  },
915
1036
  ariaSetSize() {
916
- return this.visibleOptions.filter(option => !this.isOptionGroup(option)).length;
1037
+ return this.visibleOptions.filter((option) => !this.isOptionGroup(option)).length;
917
1038
  },
918
1039
  virtualScrollerDisabled() {
919
1040
  return !this.virtualScrollerOptions;
920
1041
  }
921
1042
  },
922
1043
  components: {
923
- 'Button': Button,
924
- 'VirtualScroller': VirtualScroller,
925
- 'Portal': Portal
1044
+ Button: Button,
1045
+ VirtualScroller: VirtualScroller,
1046
+ Portal: Portal
926
1047
  },
927
1048
  directives: {
928
- 'ripple': Ripple
1049
+ ripple: Ripple
929
1050
  }
930
- }
1051
+ };
931
1052
  </script>
932
1053
 
933
1054
  <style>
@@ -939,7 +1060,7 @@ export default {
939
1060
  .p-autocomplete-loader {
940
1061
  position: absolute;
941
1062
  top: 50%;
942
- margin-top: -.5rem;
1063
+ margin-top: -0.5rem;
943
1064
  }
944
1065
 
945
1066
  .p-autocomplete-dd .p-autocomplete-input {
@@ -949,13 +1070,13 @@ export default {
949
1070
 
950
1071
  .p-autocomplete-dd .p-autocomplete-input,
951
1072
  .p-autocomplete-dd .p-autocomplete-multiple-container {
952
- border-top-right-radius: 0;
953
- border-bottom-right-radius: 0;
954
- }
1073
+ border-top-right-radius: 0;
1074
+ border-bottom-right-radius: 0;
1075
+ }
955
1076
 
956
1077
  .p-autocomplete-dd .p-autocomplete-dropdown {
957
- border-top-left-radius: 0;
958
- border-bottom-left-radius: 0px;
1078
+ border-top-left-radius: 0;
1079
+ border-bottom-left-radius: 0px;
959
1080
  }
960
1081
 
961
1082
  .p-autocomplete .p-autocomplete-panel {