primevue 3.16.2 → 3.17.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 (797) hide show
  1. package/README.md +2 -1
  2. package/accordion/Accordion.d.ts +23 -5
  3. package/accordion/Accordion.vue +194 -77
  4. package/accordion/accordion.cjs.js +202 -96
  5. package/accordion/accordion.cjs.min.js +1 -1
  6. package/accordion/accordion.esm.js +200 -98
  7. package/accordion/accordion.esm.min.js +1 -1
  8. package/accordion/accordion.js +203 -98
  9. package/accordion/accordion.min.js +1 -1
  10. package/accordiontab/AccordionTab.d.ts +33 -5
  11. package/accordiontab/AccordionTab.vue +8 -1
  12. package/accordiontab/accordiontab.cjs.js +7 -0
  13. package/accordiontab/accordiontab.cjs.min.js +1 -1
  14. package/accordiontab/accordiontab.esm.js +7 -0
  15. package/accordiontab/accordiontab.esm.min.js +1 -1
  16. package/accordiontab/accordiontab.js +7 -0
  17. package/accordiontab/accordiontab.min.js +1 -1
  18. package/api/Api.d.ts +1 -1
  19. package/api/api.cjs.js +299 -313
  20. package/api/api.esm.js +299 -313
  21. package/api/api.js +299 -313
  22. package/autocomplete/AutoComplete.d.ts +22 -17
  23. package/autocomplete/AutoComplete.vue +239 -126
  24. package/autocomplete/autocomplete.cjs.js +145 -108
  25. package/autocomplete/autocomplete.cjs.min.js +1 -1
  26. package/autocomplete/autocomplete.esm.js +146 -109
  27. package/autocomplete/autocomplete.esm.min.js +1 -1
  28. package/autocomplete/autocomplete.js +145 -108
  29. package/autocomplete/autocomplete.min.js +1 -1
  30. package/avatar/Avatar.d.ts +4 -4
  31. package/avatar/Avatar.vue +15 -11
  32. package/avatar/avatar.cjs.js +11 -7
  33. package/avatar/avatar.cjs.min.js +1 -1
  34. package/avatar/avatar.esm.js +11 -7
  35. package/avatar/avatar.esm.min.js +1 -1
  36. package/avatar/avatar.js +11 -7
  37. package/avatar/avatar.min.js +1 -1
  38. package/avatargroup/AvatarGroup.d.ts +6 -9
  39. package/avatargroup/AvatarGroup.vue +1 -1
  40. package/badge/Badge.d.ts +4 -5
  41. package/badge/Badge.vue +16 -13
  42. package/badge/badge.cjs.js +14 -11
  43. package/badge/badge.esm.js +14 -11
  44. package/badge/badge.js +14 -11
  45. package/badgedirective/badgedirective.cjs.js +8 -10
  46. package/badgedirective/badgedirective.esm.js +8 -10
  47. package/badgedirective/badgedirective.js +8 -10
  48. package/blockui/BlockUI.d.ts +6 -6
  49. package/blockui/BlockUI.vue +13 -15
  50. package/blockui/blockui.cjs.js +11 -13
  51. package/blockui/blockui.cjs.min.js +1 -1
  52. package/blockui/blockui.esm.js +11 -13
  53. package/blockui/blockui.esm.min.js +1 -1
  54. package/blockui/blockui.js +11 -13
  55. package/blockui/blockui.min.js +1 -1
  56. package/breadcrumb/Breadcrumb.d.ts +5 -6
  57. package/breadcrumb/Breadcrumb.vue +2 -2
  58. package/breadcrumb/BreadcrumbItem.vue +18 -15
  59. package/breadcrumb/breadcrumb.cjs.js +15 -12
  60. package/breadcrumb/breadcrumb.esm.js +15 -12
  61. package/breadcrumb/breadcrumb.js +15 -12
  62. package/button/Button.d.ts +10 -7
  63. package/button/Button.vue +22 -14
  64. package/button/button.cjs.js +19 -11
  65. package/button/button.cjs.min.js +1 -1
  66. package/button/button.esm.js +19 -11
  67. package/button/button.esm.min.js +1 -1
  68. package/button/button.js +19 -11
  69. package/button/button.min.js +1 -1
  70. package/calendar/Calendar.d.ts +14 -14
  71. package/calendar/Calendar.vue +793 -583
  72. package/calendar/calendar.cjs.js +581 -526
  73. package/calendar/calendar.cjs.min.js +1 -1
  74. package/calendar/calendar.esm.js +581 -526
  75. package/calendar/calendar.esm.min.js +1 -1
  76. package/calendar/calendar.js +581 -526
  77. package/calendar/calendar.min.js +1 -1
  78. package/card/Card.d.ts +5 -7
  79. package/card/Card.vue +5 -5
  80. package/carousel/Carousel.d.ts +29 -19
  81. package/carousel/Carousel.vue +537 -528
  82. package/carousel/carousel.cjs.js +496 -493
  83. package/carousel/carousel.cjs.min.js +1 -1
  84. package/carousel/carousel.esm.js +496 -493
  85. package/carousel/carousel.esm.min.js +1 -1
  86. package/carousel/carousel.js +645 -642
  87. package/carousel/carousel.min.js +1 -1
  88. package/cascadeselect/CascadeSelect.d.ts +19 -14
  89. package/cascadeselect/CascadeSelect.vue +186 -100
  90. package/cascadeselect/CascadeSelectSub.vue +44 -14
  91. package/cascadeselect/cascadeselect.cjs.js +156 -95
  92. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  93. package/cascadeselect/cascadeselect.esm.js +157 -96
  94. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  95. package/cascadeselect/cascadeselect.js +156 -95
  96. package/cascadeselect/cascadeselect.min.js +1 -1
  97. package/chart/Chart.d.ts +6 -7
  98. package/chart/Chart.vue +12 -12
  99. package/chart/chart.cjs.js +11 -11
  100. package/chart/chart.cjs.min.js +1 -1
  101. package/chart/chart.esm.js +11 -11
  102. package/chart/chart.esm.min.js +1 -1
  103. package/chart/chart.js +11 -11
  104. package/chart/chart.min.js +1 -1
  105. package/checkbox/Checkbox.d.ts +12 -12
  106. package/checkbox/Checkbox.vue +48 -20
  107. package/checkbox/checkbox.cjs.js +28 -17
  108. package/checkbox/checkbox.cjs.min.js +1 -1
  109. package/checkbox/checkbox.esm.js +28 -17
  110. package/checkbox/checkbox.esm.min.js +1 -1
  111. package/checkbox/checkbox.js +28 -17
  112. package/checkbox/checkbox.min.js +1 -1
  113. package/chip/Chip.d.ts +5 -5
  114. package/chip/Chip.vue +13 -11
  115. package/chip/chip.cjs.js +7 -4
  116. package/chip/chip.esm.js +7 -4
  117. package/chip/chip.js +7 -4
  118. package/chips/Chips.d.ts +9 -9
  119. package/chips/Chips.vue +89 -33
  120. package/chips/chips.cjs.js +48 -26
  121. package/chips/chips.cjs.min.js +1 -1
  122. package/chips/chips.esm.js +48 -26
  123. package/chips/chips.esm.min.js +1 -1
  124. package/chips/chips.js +48 -26
  125. package/chips/chips.min.js +1 -1
  126. package/colorpicker/ColorPicker.d.ts +11 -12
  127. package/colorpicker/ColorPicker.vue +146 -110
  128. package/colorpicker/colorpicker.cjs.js +113 -74
  129. package/colorpicker/colorpicker.cjs.min.js +1 -1
  130. package/colorpicker/colorpicker.esm.js +113 -74
  131. package/colorpicker/colorpicker.esm.min.js +1 -1
  132. package/colorpicker/colorpicker.js +113 -74
  133. package/colorpicker/colorpicker.min.js +1 -1
  134. package/column/Column.d.ts +5 -6
  135. package/column/Column.vue +1 -1
  136. package/columngroup/ColumnGroup.d.ts +5 -7
  137. package/columngroup/ColumnGroup.vue +1 -1
  138. package/config/PrimeVue.d.ts +4 -2
  139. package/config/config.cjs.js +14 -29
  140. package/config/config.cjs.min.js +1 -1
  141. package/config/config.esm.js +14 -29
  142. package/config/config.esm.min.js +1 -1
  143. package/config/config.js +14 -29
  144. package/config/config.min.js +1 -1
  145. package/confirmationoptions/ConfirmationOptions.d.ts +4 -0
  146. package/confirmationservice/confirmationservice.cjs.js +1 -0
  147. package/confirmationservice/confirmationservice.esm.js +1 -0
  148. package/confirmationservice/confirmationservice.js +1 -0
  149. package/confirmdialog/ConfirmDialog.d.ts +11 -5
  150. package/confirmdialog/ConfirmDialog.vue +25 -15
  151. package/confirmdialog/confirmdialog.cjs.js +34 -16
  152. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  153. package/confirmdialog/confirmdialog.esm.js +34 -16
  154. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  155. package/confirmdialog/confirmdialog.js +35 -17
  156. package/confirmdialog/confirmdialog.min.js +1 -1
  157. package/confirmpopup/ConfirmPopup.d.ts +5 -8
  158. package/confirmpopup/ConfirmPopup.vue +44 -32
  159. package/confirmpopup/confirmpopup.cjs.js +24 -14
  160. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  161. package/confirmpopup/confirmpopup.esm.js +24 -14
  162. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  163. package/confirmpopup/confirmpopup.js +24 -14
  164. package/confirmpopup/confirmpopup.min.js +1 -1
  165. package/contextmenu/ContextMenu.d.ts +4 -5
  166. package/contextmenu/ContextMenu.vue +23 -19
  167. package/contextmenu/ContextMenuSub.vue +54 -42
  168. package/contextmenu/contextmenu.cjs.js +52 -44
  169. package/contextmenu/contextmenu.cjs.min.js +1 -1
  170. package/contextmenu/contextmenu.esm.js +52 -44
  171. package/contextmenu/contextmenu.esm.min.js +1 -1
  172. package/contextmenu/contextmenu.js +52 -44
  173. package/contextmenu/contextmenu.min.js +1 -1
  174. package/core/core.js +1918 -1744
  175. package/core/core.min.js +14 -14
  176. package/datatable/BodyCell.vue +93 -75
  177. package/datatable/ColumnFilter.vue +137 -86
  178. package/datatable/DataTable.d.ts +24 -24
  179. package/datatable/DataTable.vue +470 -296
  180. package/datatable/FooterCell.vue +20 -13
  181. package/datatable/HeaderCell.vue +108 -51
  182. package/datatable/HeaderCheckbox.vue +12 -5
  183. package/datatable/RowCheckbox.vue +14 -6
  184. package/datatable/RowRadioButton.vue +4 -4
  185. package/datatable/TableBody.vue +135 -83
  186. package/datatable/TableFooter.vue +17 -20
  187. package/datatable/TableHeader.vue +132 -52
  188. package/datatable/TableLoadingBody.vue +3 -3
  189. package/datatable/datatable.cjs.js +696 -559
  190. package/datatable/datatable.cjs.min.js +1 -1
  191. package/datatable/datatable.esm.js +696 -559
  192. package/datatable/datatable.esm.min.js +1 -1
  193. package/datatable/datatable.js +696 -559
  194. package/datatable/datatable.min.js +1 -1
  195. package/dataview/DataView.d.ts +8 -8
  196. package/dataview/DataView.vue +80 -66
  197. package/dataview/dataview.cjs.js +31 -35
  198. package/dataview/dataview.cjs.min.js +1 -1
  199. package/dataview/dataview.esm.js +31 -35
  200. package/dataview/dataview.esm.min.js +1 -1
  201. package/dataview/dataview.js +31 -35
  202. package/dataview/dataview.min.js +1 -1
  203. package/dataviewlayoutoptions/DataViewLayoutOptions.d.ts +5 -6
  204. package/dataviewlayoutoptions/DataViewLayoutOptions.vue +28 -34
  205. package/dataviewlayoutoptions/dataviewlayoutoptions.cjs.js +19 -25
  206. package/dataviewlayoutoptions/dataviewlayoutoptions.cjs.min.js +1 -1
  207. package/dataviewlayoutoptions/dataviewlayoutoptions.esm.js +19 -25
  208. package/dataviewlayoutoptions/dataviewlayoutoptions.esm.min.js +1 -1
  209. package/dataviewlayoutoptions/dataviewlayoutoptions.js +46 -52
  210. package/dataviewlayoutoptions/dataviewlayoutoptions.min.js +1 -1
  211. package/deferredcontent/DeferredContent.d.ts +6 -7
  212. package/deferredcontent/DeferredContent.vue +6 -9
  213. package/deferredcontent/deferredcontent.cjs.js +5 -8
  214. package/deferredcontent/deferredcontent.esm.js +5 -8
  215. package/deferredcontent/deferredcontent.js +5 -8
  216. package/dialog/Dialog.d.ts +10 -10
  217. package/dialog/Dialog.vue +64 -60
  218. package/dialog/dialog.cjs.js +50 -46
  219. package/dialog/dialog.cjs.min.js +1 -1
  220. package/dialog/dialog.esm.js +50 -46
  221. package/dialog/dialog.esm.min.js +1 -1
  222. package/dialog/dialog.js +50 -46
  223. package/dialog/dialog.min.js +1 -1
  224. package/divider/Divider.d.ts +4 -5
  225. package/divider/Divider.vue +15 -12
  226. package/divider/divider.cjs.js +17 -12
  227. package/divider/divider.cjs.min.js +1 -1
  228. package/divider/divider.esm.js +17 -12
  229. package/divider/divider.esm.min.js +1 -1
  230. package/divider/divider.js +17 -12
  231. package/divider/divider.min.js +1 -1
  232. package/dock/Dock.d.ts +5 -6
  233. package/dock/Dock.vue +3 -3
  234. package/dock/DockSub.vue +46 -25
  235. package/dock/dock.cjs.js +30 -23
  236. package/dock/dock.cjs.min.js +1 -1
  237. package/dock/dock.esm.js +30 -23
  238. package/dock/dock.esm.min.js +1 -1
  239. package/dock/dock.js +30 -23
  240. package/dock/dock.min.js +1 -1
  241. package/dropdown/Dropdown.d.ts +31 -17
  242. package/dropdown/Dropdown.vue +255 -125
  243. package/dropdown/dropdown.cjs.js +177 -109
  244. package/dropdown/dropdown.cjs.min.js +1 -1
  245. package/dropdown/dropdown.esm.js +178 -110
  246. package/dropdown/dropdown.esm.min.js +1 -1
  247. package/dropdown/dropdown.js +177 -109
  248. package/dropdown/dropdown.min.js +1 -1
  249. package/dynamicdialog/DynamicDialog.d.ts +4 -4
  250. package/dynamicdialog/DynamicDialog.vue +10 -10
  251. package/dynamicdialog/dynamicdialog.cjs.js +11 -9
  252. package/dynamicdialog/dynamicdialog.cjs.min.js +1 -1
  253. package/dynamicdialog/dynamicdialog.esm.js +11 -9
  254. package/dynamicdialog/dynamicdialog.esm.min.js +1 -1
  255. package/dynamicdialog/dynamicdialog.js +11 -9
  256. package/dynamicdialog/dynamicdialog.min.js +1 -1
  257. package/editor/Editor.d.ts +20 -4
  258. package/editor/Editor.vue +506 -466
  259. package/editor/editor.cjs.js +99 -45
  260. package/editor/editor.cjs.min.js +1 -1
  261. package/editor/editor.esm.js +82 -42
  262. package/editor/editor.esm.min.js +1 -1
  263. package/editor/editor.js +83 -47
  264. package/editor/editor.min.js +1 -1
  265. package/fieldset/Fieldset.d.ts +9 -5
  266. package/fieldset/Fieldset.vue +28 -20
  267. package/fieldset/fieldset.cjs.js +31 -19
  268. package/fieldset/fieldset.cjs.min.js +1 -1
  269. package/fieldset/fieldset.esm.js +32 -20
  270. package/fieldset/fieldset.esm.min.js +1 -1
  271. package/fieldset/fieldset.js +31 -19
  272. package/fieldset/fieldset.min.js +1 -1
  273. package/fileupload/FileUpload.d.ts +11 -11
  274. package/fileupload/FileUpload.vue +75 -69
  275. package/fileupload/fileupload.cjs.js +56 -50
  276. package/fileupload/fileupload.cjs.min.js +1 -1
  277. package/fileupload/fileupload.esm.js +56 -50
  278. package/fileupload/fileupload.esm.min.js +1 -1
  279. package/fileupload/fileupload.js +56 -50
  280. package/fileupload/fileupload.min.js +1 -1
  281. package/fullcalendar/FullCalendar.d.ts +5 -7
  282. package/fullcalendar/FullCalendar.vue +6 -6
  283. package/fullcalendar/fullcalendar.cjs.js +3 -2
  284. package/fullcalendar/fullcalendar.esm.js +3 -2
  285. package/fullcalendar/fullcalendar.js +3 -2
  286. package/galleria/Galleria.d.ts +4 -4
  287. package/galleria/Galleria.vue +39 -34
  288. package/galleria/GalleriaContent.vue +58 -31
  289. package/galleria/GalleriaItem.vue +44 -36
  290. package/galleria/GalleriaItemSlot.vue +2 -1
  291. package/galleria/GalleriaThumbnails.vue +107 -91
  292. package/galleria/galleria.cjs.js +180 -152
  293. package/galleria/galleria.cjs.min.js +1 -1
  294. package/galleria/galleria.esm.js +180 -152
  295. package/galleria/galleria.esm.min.js +1 -1
  296. package/galleria/galleria.js +180 -152
  297. package/galleria/galleria.min.js +1 -1
  298. package/image/Image.d.ts +4 -5
  299. package/image/Image.vue +19 -15
  300. package/image/image.cjs.js +11 -7
  301. package/image/image.cjs.min.js +1 -1
  302. package/image/image.esm.js +11 -7
  303. package/image/image.esm.min.js +1 -1
  304. package/image/image.js +11 -7
  305. package/image/image.min.js +1 -1
  306. package/inlinemessage/InlineMessage.d.ts +4 -5
  307. package/inlinemessage/InlineMessage.vue +12 -9
  308. package/inlinemessage/inlinemessage.cjs.js +11 -8
  309. package/inlinemessage/inlinemessage.esm.js +11 -8
  310. package/inlinemessage/inlinemessage.js +11 -8
  311. package/inplace/Inplace.d.ts +6 -6
  312. package/inplace/Inplace.vue +11 -11
  313. package/inplace/inplace.cjs.js +9 -9
  314. package/inplace/inplace.cjs.min.js +1 -1
  315. package/inplace/inplace.esm.js +9 -9
  316. package/inplace/inplace.esm.min.js +1 -1
  317. package/inplace/inplace.js +9 -9
  318. package/inplace/inplace.min.js +1 -1
  319. package/inputmask/InputMask.d.ts +11 -12
  320. package/inputmask/InputMask.vue +119 -92
  321. package/inputmask/inputmask.cjs.js +116 -89
  322. package/inputmask/inputmask.cjs.min.js +1 -1
  323. package/inputmask/inputmask.esm.js +116 -89
  324. package/inputmask/inputmask.esm.min.js +1 -1
  325. package/inputmask/inputmask.js +116 -89
  326. package/inputmask/inputmask.min.js +1 -1
  327. package/inputnumber/InputNumber.d.ts +17 -17
  328. package/inputnumber/InputNumber.vue +237 -177
  329. package/inputnumber/inputnumber.cjs.js +208 -171
  330. package/inputnumber/inputnumber.cjs.min.js +1 -1
  331. package/inputnumber/inputnumber.esm.js +208 -171
  332. package/inputnumber/inputnumber.esm.min.js +1 -1
  333. package/inputnumber/inputnumber.js +208 -171
  334. package/inputnumber/inputnumber.min.js +1 -1
  335. package/inputswitch/InputSwitch.d.ts +10 -10
  336. package/inputswitch/InputSwitch.vue +39 -11
  337. package/inputswitch/inputswitch.cjs.js +23 -9
  338. package/inputswitch/inputswitch.cjs.min.js +1 -1
  339. package/inputswitch/inputswitch.esm.js +23 -9
  340. package/inputswitch/inputswitch.esm.min.js +1 -1
  341. package/inputswitch/inputswitch.js +23 -9
  342. package/inputswitch/inputswitch.min.js +1 -1
  343. package/inputtext/InputText.d.ts +5 -6
  344. package/inputtext/InputText.vue +3 -3
  345. package/inputtext/inputtext.cjs.js +2 -2
  346. package/inputtext/inputtext.esm.js +2 -2
  347. package/inputtext/inputtext.js +2 -2
  348. package/knob/Knob.d.ts +10 -11
  349. package/knob/Knob.vue +47 -29
  350. package/knob/knob.cjs.js +27 -25
  351. package/knob/knob.cjs.min.js +1 -1
  352. package/knob/knob.esm.js +27 -25
  353. package/knob/knob.esm.min.js +1 -1
  354. package/knob/knob.js +27 -25
  355. package/knob/knob.min.js +1 -1
  356. package/listbox/Listbox.d.ts +17 -13
  357. package/listbox/Listbox.vue +144 -97
  358. package/listbox/listbox.cjs.js +96 -86
  359. package/listbox/listbox.cjs.min.js +1 -1
  360. package/listbox/listbox.esm.js +97 -87
  361. package/listbox/listbox.esm.min.js +1 -1
  362. package/listbox/listbox.js +96 -86
  363. package/listbox/listbox.min.js +1 -1
  364. package/megamenu/MegaMenu.d.ts +5 -6
  365. package/megamenu/MegaMenu.vue +108 -94
  366. package/megamenu/megamenu.cjs.js +77 -72
  367. package/megamenu/megamenu.cjs.min.js +1 -1
  368. package/megamenu/megamenu.esm.js +77 -72
  369. package/megamenu/megamenu.esm.min.js +1 -1
  370. package/megamenu/megamenu.js +77 -72
  371. package/megamenu/megamenu.min.js +1 -1
  372. package/menu/Menu.d.ts +5 -8
  373. package/menu/Menu.vue +29 -23
  374. package/menu/Menuitem.vue +21 -18
  375. package/menu/menu.cjs.js +38 -29
  376. package/menu/menu.cjs.min.js +1 -1
  377. package/menu/menu.esm.js +38 -29
  378. package/menu/menu.esm.min.js +1 -1
  379. package/menu/menu.js +38 -29
  380. package/menu/menu.min.js +1 -1
  381. package/menubar/Menubar.d.ts +5 -6
  382. package/menubar/Menubar.vue +14 -15
  383. package/menubar/MenubarSub.vue +79 -62
  384. package/menubar/menubar.cjs.js +56 -58
  385. package/menubar/menubar.cjs.min.js +1 -1
  386. package/menubar/menubar.esm.js +56 -58
  387. package/menubar/menubar.esm.min.js +1 -1
  388. package/menubar/menubar.js +56 -58
  389. package/menubar/menubar.min.js +1 -1
  390. package/menuitem/MenuItem.d.ts +2 -2
  391. package/message/Message.d.ts +5 -5
  392. package/message/Message.vue +19 -14
  393. package/message/message.cjs.js +15 -10
  394. package/message/message.cjs.min.js +1 -1
  395. package/message/message.esm.js +15 -10
  396. package/message/message.esm.min.js +1 -1
  397. package/message/message.js +15 -10
  398. package/message/message.min.js +1 -1
  399. package/multiselect/MultiSelect.d.ts +21 -16
  400. package/multiselect/MultiSelect.vue +240 -150
  401. package/multiselect/multiselect.cjs.js +184 -133
  402. package/multiselect/multiselect.cjs.min.js +1 -1
  403. package/multiselect/multiselect.esm.js +185 -134
  404. package/multiselect/multiselect.esm.min.js +1 -1
  405. package/multiselect/multiselect.js +184 -133
  406. package/multiselect/multiselect.min.js +1 -1
  407. package/orderlist/OrderList.d.ts +5 -5
  408. package/orderlist/OrderList.vue +65 -60
  409. package/orderlist/orderlist.cjs.js +51 -53
  410. package/orderlist/orderlist.esm.js +51 -53
  411. package/orderlist/orderlist.js +51 -53
  412. package/organizationchart/OrganizationChart.d.ts +4 -4
  413. package/organizationchart/OrganizationChart.vue +13 -17
  414. package/organizationchart/OrganizationChartNode.vue +20 -12
  415. package/organizationchart/organizationchart.cjs.js +14 -16
  416. package/organizationchart/organizationchart.cjs.min.js +1 -1
  417. package/organizationchart/organizationchart.esm.js +14 -16
  418. package/organizationchart/organizationchart.esm.min.js +1 -1
  419. package/organizationchart/organizationchart.js +14 -16
  420. package/organizationchart/organizationchart.min.js +1 -1
  421. package/overlaypanel/OverlayPanel.d.ts +5 -5
  422. package/overlaypanel/OverlayPanel.vue +60 -50
  423. package/overlaypanel/overlaypanel.cjs.js +40 -32
  424. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  425. package/overlaypanel/overlaypanel.esm.js +40 -32
  426. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  427. package/overlaypanel/overlaypanel.js +40 -32
  428. package/overlaypanel/overlaypanel.min.js +1 -1
  429. package/package.json +1 -1
  430. package/paginator/CurrentPageReport.vue +47 -47
  431. package/paginator/FirstPageLink.vue +11 -8
  432. package/paginator/JumpToPageDropdown.vue +7 -6
  433. package/paginator/JumpToPageInput.vue +3 -3
  434. package/paginator/LastPageLink.vue +11 -8
  435. package/paginator/NextPageLink.vue +11 -8
  436. package/paginator/PageLinks.vue +3 -4
  437. package/paginator/Paginator.d.ts +5 -5
  438. package/paginator/Paginator.vue +39 -39
  439. package/paginator/PrevPageLink.vue +11 -8
  440. package/paginator/RowsPerPageDropdown.vue +7 -6
  441. package/paginator/paginator.cjs.js +110 -91
  442. package/paginator/paginator.cjs.min.js +1 -1
  443. package/paginator/paginator.esm.js +110 -91
  444. package/paginator/paginator.esm.min.js +1 -1
  445. package/paginator/paginator.js +633 -614
  446. package/paginator/paginator.min.js +1 -1
  447. package/panel/Panel.d.ts +9 -5
  448. package/panel/Panel.vue +29 -11
  449. package/panel/panel.cjs.js +24 -14
  450. package/panel/panel.cjs.min.js +1 -1
  451. package/panel/panel.esm.js +24 -14
  452. package/panel/panel.esm.min.js +1 -1
  453. package/panel/panel.js +24 -14
  454. package/panel/panel.min.js +1 -1
  455. package/panelmenu/PanelMenu.d.ts +5 -5
  456. package/panelmenu/PanelMenu.vue +46 -38
  457. package/panelmenu/PanelMenuSub.vue +40 -29
  458. package/panelmenu/panelmenu.cjs.js +56 -52
  459. package/panelmenu/panelmenu.cjs.min.js +1 -1
  460. package/panelmenu/panelmenu.esm.js +56 -52
  461. package/panelmenu/panelmenu.esm.min.js +1 -1
  462. package/panelmenu/panelmenu.js +56 -52
  463. package/panelmenu/panelmenu.min.js +1 -1
  464. package/password/Password.d.ts +12 -7
  465. package/password/Password.vue +156 -79
  466. package/password/password.cjs.js +135 -74
  467. package/password/password.cjs.min.js +1 -1
  468. package/password/password.esm.js +135 -74
  469. package/password/password.esm.min.js +1 -1
  470. package/password/password.js +135 -74
  471. package/password/password.min.js +1 -1
  472. package/picklist/PickList.d.ts +9 -9
  473. package/picklist/PickList.vue +99 -78
  474. package/picklist/picklist.cjs.js +71 -66
  475. package/picklist/picklist.cjs.min.js +1 -1
  476. package/picklist/picklist.esm.js +71 -66
  477. package/picklist/picklist.esm.min.js +1 -1
  478. package/picklist/picklist.js +71 -66
  479. package/picklist/picklist.min.js +1 -1
  480. package/portal/Portal.d.ts +3 -3
  481. package/portal/Portal.vue +2 -2
  482. package/portal/portal.cjs.js +1 -1
  483. package/portal/portal.esm.js +1 -1
  484. package/portal/portal.js +1 -1
  485. package/progressbar/ProgressBar.d.ts +4 -5
  486. package/progressbar/ProgressBar.vue +63 -51
  487. package/progressbar/progressbar.cjs.js +2 -2
  488. package/progressbar/progressbar.cjs.min.js +1 -1
  489. package/progressbar/progressbar.esm.js +2 -2
  490. package/progressbar/progressbar.esm.min.js +1 -1
  491. package/progressbar/progressbar.js +2 -2
  492. package/progressbar/progressbar.min.js +1 -1
  493. package/progressspinner/ProgressSpinner.d.ts +5 -7
  494. package/progressspinner/ProgressSpinner.vue +1 -1
  495. package/radiobutton/RadioButton.d.ts +9 -9
  496. package/radiobutton/RadioButton.vue +41 -13
  497. package/radiobutton/radiobutton.cjs.js +24 -10
  498. package/radiobutton/radiobutton.cjs.min.js +1 -1
  499. package/radiobutton/radiobutton.esm.js +24 -10
  500. package/radiobutton/radiobutton.esm.min.js +1 -1
  501. package/radiobutton/radiobutton.js +24 -10
  502. package/radiobutton/radiobutton.min.js +1 -1
  503. package/rating/Rating.d.ts +54 -5
  504. package/rating/Rating.vue +88 -62
  505. package/rating/rating.cjs.js +105 -84
  506. package/rating/rating.cjs.min.js +1 -1
  507. package/rating/rating.esm.js +106 -85
  508. package/rating/rating.esm.min.js +1 -1
  509. package/rating/rating.js +106 -86
  510. package/rating/rating.min.js +1 -1
  511. package/resources/themes/arya-blue/theme.css +23 -12
  512. package/resources/themes/arya-green/theme.css +23 -12
  513. package/resources/themes/arya-orange/theme.css +23 -12
  514. package/resources/themes/arya-purple/theme.css +23 -12
  515. package/resources/themes/bootstrap4-dark-blue/theme.css +24 -13
  516. package/resources/themes/bootstrap4-dark-purple/theme.css +24 -13
  517. package/resources/themes/bootstrap4-light-blue/theme.css +24 -13
  518. package/resources/themes/bootstrap4-light-purple/theme.css +24 -13
  519. package/resources/themes/fluent-light/theme.css +23 -12
  520. package/resources/themes/lara-dark-blue/theme.css +23 -12
  521. package/resources/themes/lara-dark-indigo/theme.css +23 -12
  522. package/resources/themes/lara-dark-purple/theme.css +23 -12
  523. package/resources/themes/lara-dark-teal/theme.css +23 -12
  524. package/resources/themes/lara-light-blue/theme.css +23 -12
  525. package/resources/themes/lara-light-indigo/theme.css +23 -12
  526. package/resources/themes/lara-light-purple/theme.css +23 -12
  527. package/resources/themes/lara-light-teal/theme.css +23 -12
  528. package/resources/themes/luna-amber/theme.css +24 -13
  529. package/resources/themes/luna-blue/theme.css +24 -13
  530. package/resources/themes/luna-green/theme.css +24 -13
  531. package/resources/themes/luna-pink/theme.css +24 -13
  532. package/resources/themes/md-dark-deeppurple/theme.css +46 -20
  533. package/resources/themes/md-dark-indigo/theme.css +46 -20
  534. package/resources/themes/md-light-deeppurple/theme.css +46 -20
  535. package/resources/themes/md-light-indigo/theme.css +46 -20
  536. package/resources/themes/mdc-dark-deeppurple/theme.css +46 -20
  537. package/resources/themes/mdc-dark-indigo/theme.css +46 -20
  538. package/resources/themes/mdc-light-deeppurple/theme.css +46 -20
  539. package/resources/themes/mdc-light-indigo/theme.css +46 -20
  540. package/resources/themes/nova/theme.css +24 -13
  541. package/resources/themes/nova-accent/theme.css +23 -12
  542. package/resources/themes/nova-alt/theme.css +24 -13
  543. package/resources/themes/nova-vue/theme.css +24 -13
  544. package/resources/themes/rhea/theme.css +23 -12
  545. package/resources/themes/saga-blue/theme.css +23 -12
  546. package/resources/themes/saga-green/theme.css +23 -12
  547. package/resources/themes/saga-orange/theme.css +23 -12
  548. package/resources/themes/saga-purple/theme.css +23 -12
  549. package/resources/themes/tailwind-light/theme.css +23 -12
  550. package/resources/themes/vela-blue/theme.css +23 -12
  551. package/resources/themes/vela-green/theme.css +23 -12
  552. package/resources/themes/vela-orange/theme.css +23 -12
  553. package/resources/themes/vela-purple/theme.css +23 -12
  554. package/ripple/ripple.cjs.js +7 -1
  555. package/ripple/ripple.esm.js +7 -1
  556. package/ripple/ripple.js +7 -1
  557. package/row/Row.d.ts +6 -9
  558. package/row/Row.vue +1 -1
  559. package/scrollpanel/ScrollPanel.d.ts +9 -5
  560. package/scrollpanel/ScrollPanel.vue +194 -56
  561. package/scrollpanel/scrollpanel.cjs.js +180 -56
  562. package/scrollpanel/scrollpanel.cjs.min.js +1 -1
  563. package/scrollpanel/scrollpanel.esm.js +181 -57
  564. package/scrollpanel/scrollpanel.esm.min.js +1 -1
  565. package/scrollpanel/scrollpanel.js +180 -56
  566. package/scrollpanel/scrollpanel.min.js +1 -1
  567. package/scrolltop/ScrollTop.d.ts +5 -7
  568. package/scrolltop/ScrollTop.vue +18 -23
  569. package/scrolltop/scrolltop.cjs.js +14 -19
  570. package/scrolltop/scrolltop.cjs.min.js +1 -1
  571. package/scrolltop/scrolltop.esm.js +14 -19
  572. package/scrolltop/scrolltop.esm.min.js +1 -1
  573. package/scrolltop/scrolltop.js +14 -19
  574. package/scrolltop/scrolltop.min.js +1 -1
  575. package/selectbutton/SelectButton.d.ts +11 -11
  576. package/selectbutton/SelectButton.vue +50 -32
  577. package/selectbutton/selectbutton.cjs.js +30 -25
  578. package/selectbutton/selectbutton.esm.js +30 -25
  579. package/selectbutton/selectbutton.js +30 -25
  580. package/sidebar/Sidebar.d.ts +6 -6
  581. package/sidebar/Sidebar.vue +24 -14
  582. package/sidebar/sidebar.cjs.js +20 -10
  583. package/sidebar/sidebar.cjs.min.js +1 -1
  584. package/sidebar/sidebar.esm.js +20 -10
  585. package/sidebar/sidebar.esm.min.js +1 -1
  586. package/sidebar/sidebar.js +20 -10
  587. package/sidebar/sidebar.min.js +1 -1
  588. package/skeleton/Skeleton.d.ts +5 -7
  589. package/skeleton/Skeleton.vue +12 -11
  590. package/skeleton/skeleton.cjs.js +10 -9
  591. package/skeleton/skeleton.cjs.min.js +1 -1
  592. package/skeleton/skeleton.esm.js +10 -9
  593. package/skeleton/skeleton.esm.min.js +1 -1
  594. package/skeleton/skeleton.js +10 -9
  595. package/skeleton/skeleton.min.js +1 -1
  596. package/slider/Slider.d.ts +7 -8
  597. package/slider/Slider.vue +162 -141
  598. package/slider/slider.cjs.js +100 -127
  599. package/slider/slider.cjs.min.js +1 -1
  600. package/slider/slider.esm.js +100 -127
  601. package/slider/slider.esm.min.js +1 -1
  602. package/slider/slider.js +100 -127
  603. package/slider/slider.min.js +1 -1
  604. package/speeddial/SpeedDial.d.ts +8 -8
  605. package/speeddial/SpeedDial.vue +54 -39
  606. package/speeddial/speeddial.cjs.js +44 -36
  607. package/speeddial/speeddial.esm.js +44 -36
  608. package/speeddial/speeddial.js +44 -36
  609. package/splitbutton/SplitButton.d.ts +6 -6
  610. package/splitbutton/SplitButton.vue +9 -11
  611. package/splitbutton/splitbutton.cjs.js +7 -7
  612. package/splitbutton/splitbutton.cjs.min.js +1 -1
  613. package/splitbutton/splitbutton.esm.js +7 -7
  614. package/splitbutton/splitbutton.esm.min.js +1 -1
  615. package/splitbutton/splitbutton.js +7 -7
  616. package/splitbutton/splitbutton.min.js +1 -1
  617. package/splitter/Splitter.d.ts +10 -5
  618. package/splitter/Splitter.vue +158 -53
  619. package/splitter/splitter.cjs.js +156 -52
  620. package/splitter/splitter.cjs.min.js +1 -1
  621. package/splitter/splitter.esm.js +157 -53
  622. package/splitter/splitter.esm.min.js +1 -1
  623. package/splitter/splitter.js +156 -52
  624. package/splitter/splitter.min.js +1 -1
  625. package/splitterpanel/SplitterPanel.d.ts +4 -5
  626. package/splitterpanel/SplitterPanel.vue +3 -3
  627. package/splitterpanel/splitterpanel.cjs.js +2 -2
  628. package/splitterpanel/splitterpanel.esm.js +2 -2
  629. package/splitterpanel/splitterpanel.js +2 -2
  630. package/steps/Steps.d.ts +4 -5
  631. package/steps/Steps.vue +31 -23
  632. package/steps/steps.cjs.js +24 -16
  633. package/steps/steps.esm.js +24 -16
  634. package/steps/steps.js +24 -16
  635. package/styleclass/styleclass.cjs.js +19 -21
  636. package/styleclass/styleclass.esm.js +19 -21
  637. package/styleclass/styleclass.js +19 -21
  638. package/tabmenu/TabMenu.d.ts +4 -4
  639. package/tabmenu/TabMenu.vue +45 -34
  640. package/tabmenu/tabmenu.cjs.js +36 -25
  641. package/tabmenu/tabmenu.cjs.min.js +1 -1
  642. package/tabmenu/tabmenu.esm.js +36 -25
  643. package/tabmenu/tabmenu.esm.min.js +1 -1
  644. package/tabmenu/tabmenu.js +36 -25
  645. package/tabmenu/tabmenu.min.js +1 -1
  646. package/tabpanel/TabPanel.d.ts +33 -6
  647. package/tabpanel/TabPanel.vue +8 -1
  648. package/tabpanel/tabpanel.cjs.js +7 -0
  649. package/tabpanel/tabpanel.cjs.min.js +1 -1
  650. package/tabpanel/tabpanel.esm.js +7 -0
  651. package/tabpanel/tabpanel.esm.min.js +1 -1
  652. package/tabpanel/tabpanel.js +7 -0
  653. package/tabpanel/tabpanel.min.js +1 -1
  654. package/tabview/TabView.d.ts +22 -6
  655. package/tabview/TabView.vue +280 -96
  656. package/tabview/tabview.cjs.js +294 -131
  657. package/tabview/tabview.cjs.min.js +1 -1
  658. package/tabview/tabview.esm.js +296 -133
  659. package/tabview/tabview.esm.min.js +1 -1
  660. package/tabview/tabview.js +294 -131
  661. package/tabview/tabview.min.js +1 -1
  662. package/tag/Tag.d.ts +4 -5
  663. package/tag/Tag.vue +13 -10
  664. package/tag/tag.cjs.js +10 -7
  665. package/tag/tag.esm.js +10 -7
  666. package/tag/tag.js +10 -7
  667. package/terminal/Terminal.d.ts +5 -7
  668. package/terminal/Terminal.vue +10 -10
  669. package/terminal/terminal.cjs.js +3 -3
  670. package/terminal/terminal.cjs.min.js +1 -1
  671. package/terminal/terminal.esm.js +3 -3
  672. package/terminal/terminal.esm.min.js +1 -1
  673. package/terminal/terminal.js +3 -3
  674. package/terminal/terminal.min.js +1 -1
  675. package/textarea/Textarea.d.ts +5 -6
  676. package/textarea/Textarea.vue +7 -7
  677. package/textarea/textarea.cjs.js +6 -6
  678. package/textarea/textarea.esm.js +6 -6
  679. package/textarea/textarea.js +6 -6
  680. package/tieredmenu/TieredMenu.d.ts +4 -5
  681. package/tieredmenu/TieredMenu.vue +23 -15
  682. package/tieredmenu/TieredMenuSub.vue +62 -51
  683. package/tieredmenu/tieredmenu.cjs.js +60 -50
  684. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  685. package/tieredmenu/tieredmenu.esm.js +60 -50
  686. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  687. package/tieredmenu/tieredmenu.js +60 -50
  688. package/tieredmenu/tieredmenu.min.js +1 -1
  689. package/timeline/Timeline.d.ts +4 -5
  690. package/timeline/Timeline.vue +6 -10
  691. package/timeline/timeline.cjs.js +3 -7
  692. package/timeline/timeline.cjs.min.js +1 -1
  693. package/timeline/timeline.esm.js +3 -7
  694. package/timeline/timeline.esm.min.js +1 -1
  695. package/timeline/timeline.js +3 -7
  696. package/timeline/timeline.min.js +1 -1
  697. package/toast/Toast.d.ts +10 -13
  698. package/toast/Toast.vue +36 -29
  699. package/toast/ToastMessage.vue +25 -18
  700. package/toast/toast.cjs.js +37 -23
  701. package/toast/toast.cjs.min.js +1 -1
  702. package/toast/toast.esm.js +37 -23
  703. package/toast/toast.esm.min.js +1 -1
  704. package/toast/toast.js +37 -23
  705. package/toast/toast.min.js +1 -1
  706. package/toastservice/toastservice.cjs.js +1 -0
  707. package/toastservice/toastservice.esm.js +1 -0
  708. package/toastservice/toastservice.js +1 -0
  709. package/togglebutton/ToggleButton.d.ts +10 -10
  710. package/togglebutton/ToggleButton.vue +42 -18
  711. package/togglebutton/togglebutton.cjs.js +25 -13
  712. package/togglebutton/togglebutton.cjs.min.js +1 -1
  713. package/togglebutton/togglebutton.esm.js +25 -13
  714. package/togglebutton/togglebutton.esm.min.js +1 -1
  715. package/togglebutton/togglebutton.js +25 -13
  716. package/togglebutton/togglebutton.min.js +1 -1
  717. package/toolbar/Toolbar.d.ts +8 -5
  718. package/toolbar/Toolbar.vue +9 -3
  719. package/toolbar/toolbar.cjs.js +14 -7
  720. package/toolbar/toolbar.cjs.min.js +1 -1
  721. package/toolbar/toolbar.esm.js +14 -7
  722. package/toolbar/toolbar.esm.min.js +1 -1
  723. package/toolbar/toolbar.js +14 -7
  724. package/toolbar/toolbar.min.js +1 -1
  725. package/tooltip/tooltip.cjs.js +36 -24
  726. package/tooltip/tooltip.cjs.min.js +1 -1
  727. package/tooltip/tooltip.esm.js +37 -25
  728. package/tooltip/tooltip.esm.min.js +1 -1
  729. package/tooltip/tooltip.js +36 -24
  730. package/tooltip/tooltip.min.js +1 -1
  731. package/tree/Tree.d.ts +7 -7
  732. package/tree/Tree.vue +66 -56
  733. package/tree/TreeNode.vue +70 -66
  734. package/tree/tree.cjs.js +99 -102
  735. package/tree/tree.cjs.min.js +1 -1
  736. package/tree/tree.esm.js +99 -102
  737. package/tree/tree.esm.min.js +1 -1
  738. package/tree/tree.js +99 -102
  739. package/tree/tree.min.js +1 -1
  740. package/treeselect/TreeSelect.d.ts +9 -9
  741. package/treeselect/TreeSelect.vue +130 -72
  742. package/treeselect/treeselect.cjs.js +89 -59
  743. package/treeselect/treeselect.cjs.min.js +1 -1
  744. package/treeselect/treeselect.esm.js +89 -59
  745. package/treeselect/treeselect.esm.min.js +1 -1
  746. package/treeselect/treeselect.js +89 -59
  747. package/treeselect/treeselect.min.js +1 -1
  748. package/treetable/BodyCell.vue +29 -19
  749. package/treetable/FooterCell.vue +19 -11
  750. package/treetable/HeaderCell.vue +44 -36
  751. package/treetable/TreeTable.d.ts +8 -8
  752. package/treetable/TreeTable.vue +229 -178
  753. package/treetable/TreeTableRow.vue +74 -58
  754. package/treetable/treetable.cjs.js +287 -253
  755. package/treetable/treetable.cjs.min.js +1 -1
  756. package/treetable/treetable.esm.js +287 -253
  757. package/treetable/treetable.esm.min.js +1 -1
  758. package/treetable/treetable.js +287 -253
  759. package/treetable/treetable.min.js +1 -1
  760. package/tristatecheckbox/TriStateCheckbox.d.ts +9 -9
  761. package/tristatecheckbox/TriStateCheckbox.vue +39 -18
  762. package/tristatecheckbox/tristatecheckbox.cjs.js +24 -15
  763. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  764. package/tristatecheckbox/tristatecheckbox.esm.js +24 -15
  765. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  766. package/tristatecheckbox/tristatecheckbox.js +24 -15
  767. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  768. package/ts-helpers.d.ts +16 -10
  769. package/useconfirm/UseConfirm.d.ts +1 -1
  770. package/useconfirm/useconfirm.cjs.js +2 -1
  771. package/useconfirm/useconfirm.esm.js +2 -1
  772. package/useconfirm/useconfirm.js +2 -1
  773. package/usedialog/UseDialog.d.ts +1 -1
  774. package/usedialog/usedialog.cjs.js +2 -1
  775. package/usedialog/usedialog.esm.js +2 -1
  776. package/usedialog/usedialog.js +2 -1
  777. package/usetoast/usetoast.cjs.js +2 -1
  778. package/usetoast/usetoast.esm.js +2 -1
  779. package/usetoast/usetoast.js +2 -1
  780. package/utils/Utils.d.ts +7 -5
  781. package/utils/utils.cjs.js +183 -156
  782. package/utils/utils.cjs.min.js +1 -1
  783. package/utils/utils.esm.js +183 -156
  784. package/utils/utils.esm.min.js +1 -1
  785. package/utils/utils.js +183 -156
  786. package/utils/utils.min.js +1 -1
  787. package/vetur-attributes.json +160 -0
  788. package/vetur-tags.json +58 -8
  789. package/virtualscroller/VirtualScroller.d.ts +9 -9
  790. package/virtualscroller/VirtualScroller.vue +108 -96
  791. package/virtualscroller/virtualscroller.cjs.js +87 -89
  792. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  793. package/virtualscroller/virtualscroller.esm.js +87 -89
  794. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  795. package/virtualscroller/virtualscroller.js +87 -89
  796. package/virtualscroller/virtualscroller.min.js +1 -1
  797. package/web-types.json +488 -2
@@ -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
56
  <span class="p-autocomplete-token-icon pi pi-times-circle" @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
87
  <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" />
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,7 +136,7 @@
59
136
  </template>
60
137
 
61
138
  <script>
62
- import {ConnectedOverlayScrollHandler,UniqueComponentId,ObjectUtils,DomHandler,ZIndexUtils} from 'primevue/utils';
139
+ import { ConnectedOverlayScrollHandler, UniqueComponentId, ObjectUtils, DomHandler, ZIndexUtils } from 'primevue/utils';
63
140
  import OverlayEventBus from 'primevue/overlayeventbus';
64
141
  import Button from 'primevue/button';
65
142
  import Ripple from 'primevue/ripple';
@@ -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,13 +214,34 @@ 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
+ },
145
245
  loadingIcon: {
146
246
  type: String,
147
247
  default: 'pi pi-spinner'
@@ -154,6 +254,10 @@ export default {
154
254
  type: Boolean,
155
255
  default: true
156
256
  },
257
+ selectOnFocus: {
258
+ type: Boolean,
259
+ default: false
260
+ },
157
261
  searchLocale: {
158
262
  type: String,
159
263
  default: undefined
@@ -193,18 +297,16 @@ export default {
193
297
  overlay: null,
194
298
  virtualScroller: null,
195
299
  searchTimeout: null,
196
- selectOnFocus: false,
197
300
  focusOnHover: false,
198
301
  dirty: false,
199
302
  data() {
200
303
  return {
201
- id: UniqueComponentId(),
202
304
  focused: false,
203
305
  focusedOptionIndex: -1,
204
306
  focusedMultipleOptionIndex: -1,
205
307
  overlayVisible: false,
206
308
  searching: false
207
- }
309
+ };
208
310
  },
209
311
  watch: {
210
312
  suggestions() {
@@ -218,8 +320,6 @@ export default {
218
320
  }
219
321
  },
220
322
  mounted() {
221
- this.id = this.$attrs.id || this.id;
222
-
223
323
  this.autoUpdateModel();
224
324
  },
225
325
  updated() {
@@ -243,7 +343,7 @@ export default {
243
343
  },
244
344
  methods: {
245
345
  getOptionIndex(index, fn) {
246
- return this.virtualScrollerDisabled ? index : (fn && fn(index)['index']);
346
+ return this.virtualScrollerDisabled ? index : fn && fn(index)['index'];
247
347
  },
248
348
  getOptionLabel(option) {
249
349
  return this.field || this.optionLabel ? ObjectUtils.resolveFieldData(option, this.field || this.optionLabel) : option;
@@ -267,15 +367,15 @@ export default {
267
367
  return ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren);
268
368
  },
269
369
  getAriaPosInset(index) {
270
- return (this.optionGroupLabel ? index - this.visibleOptions.slice(0, index).filter(option => this.isOptionGroup(option)).length : index) + 1;
370
+ return (this.optionGroupLabel ? index - this.visibleOptions.slice(0, index).filter((option) => this.isOptionGroup(option)).length : index) + 1;
271
371
  },
272
372
  show(isFocus) {
273
373
  this.$emit('before-show');
274
374
  this.dirty = true;
275
375
  this.overlayVisible = true;
276
- this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : (this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1);
376
+ this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;
277
377
 
278
- isFocus && this.$refs.focusInput.focus();
378
+ isFocus && DomHandler.focus(this.$refs.focusInput);
279
379
  },
280
380
  hide(isFocus) {
281
381
  const _hide = () => {
@@ -284,10 +384,12 @@ export default {
284
384
  this.overlayVisible = false;
285
385
  this.focusedOptionIndex = -1;
286
386
 
287
- isFocus && this.$refs.focusInput.focus();
288
- }
387
+ isFocus && DomHandler.focus(this.$refs.focusInput);
388
+ };
289
389
 
290
- setTimeout(() => { _hide() }, 0); // For ScreenReaders
390
+ setTimeout(() => {
391
+ _hide();
392
+ }, 0); // For ScreenReaders
291
393
  },
292
394
  onFocus(event) {
293
395
  if (!this.dirty && this.completeOnFocus) {
@@ -371,6 +473,7 @@ export default {
371
473
  }
372
474
 
373
475
  let query = event.target.value;
476
+
374
477
  if (!this.multiple) {
375
478
  this.updateModel(event, query);
376
479
  }
@@ -378,16 +481,14 @@ export default {
378
481
  if (query.length === 0) {
379
482
  this.hide();
380
483
  this.$emit('clear');
381
- }
382
- else {
484
+ } else {
383
485
  if (query.length >= this.minLength) {
384
486
  this.focusedOptionIndex = -1;
385
487
 
386
488
  this.searchTimeout = setTimeout(() => {
387
489
  this.search(event, query, 'input');
388
490
  }, this.delay);
389
- }
390
- else {
491
+ } else {
391
492
  this.hide();
392
493
  }
393
494
  }
@@ -396,8 +497,8 @@ export default {
396
497
  if (this.forceSelection) {
397
498
  let valid = false;
398
499
 
399
- if (this.visibleOptions) {
400
- const matchedValue = this.visibleOptions.find(option => this.isOptionMatched(option, event.target.value));
500
+ if (this.visibleOptions) {
501
+ const matchedValue = this.visibleOptions.find((option) => this.isOptionMatched(option, event.target.value));
401
502
 
402
503
  if (matchedValue !== undefined) {
403
504
  valid = true;
@@ -443,7 +544,7 @@ export default {
443
544
  }
444
545
 
445
546
  if (!this.overlay || !this.overlay.contains(event.target)) {
446
- this.$refs.focusInput.focus();
547
+ DomHandler.focus(this.$refs.focusInput);
447
548
  }
448
549
  },
449
550
  onDropdownClick(event) {
@@ -451,20 +552,17 @@ export default {
451
552
 
452
553
  if (this.overlayVisible) {
453
554
  this.hide(true);
454
- }
455
- else {
456
- this.$refs.focusInput.focus();
555
+ } else {
556
+ DomHandler.focus(this.$refs.focusInput);
457
557
  query = this.$refs.focusInput.value;
458
558
 
459
- if (this.dropdownMode === 'blank')
460
- this.search(event, '', 'dropdown');
461
- else if (this.dropdownMode === 'current')
462
- this.search(event, query, 'dropdown');
559
+ if (this.dropdownMode === 'blank') this.search(event, '', 'dropdown');
560
+ else if (this.dropdownMode === 'current') this.search(event, query, 'dropdown');
463
561
  }
464
562
 
465
563
  this.$emit('dropdown-click', { originalEvent: event, query });
466
564
  },
467
- onOptionSelect(event, option) {
565
+ onOptionSelect(event, option, isHide = true) {
468
566
  const value = this.getOptionValue(option);
469
567
 
470
568
  if (this.multiple) {
@@ -473,14 +571,13 @@ export default {
473
571
  if (!this.isSelected(option)) {
474
572
  this.updateModel(event, [...(this.modelValue || []), value]);
475
573
  }
476
- }
477
- else {
574
+ } else {
478
575
  this.updateModel(event, value);
479
576
  }
480
577
 
481
578
  this.$emit('item-select', { originalEvent: event, value: option });
482
579
 
483
- this.hide(true);
580
+ isHide && this.hide(true);
484
581
  },
485
582
  onOptionMouseMove(event, index) {
486
583
  if (this.focusOnHover) {
@@ -526,8 +623,7 @@ export default {
526
623
 
527
624
  this.overlayVisible && this.hide();
528
625
  event.preventDefault();
529
- }
530
- else {
626
+ } else {
531
627
  const optionIndex = this.focusedOptionIndex !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex) : this.findLastFocusedOptionIndex();
532
628
 
533
629
  this.changeFocusedOptionIndex(event, optionIndex);
@@ -537,14 +633,14 @@ export default {
537
633
  },
538
634
  onArrowLeftKey(event) {
539
635
  const target = event.currentTarget;
636
+
540
637
  this.focusedOptionIndex = -1;
541
638
 
542
639
  if (this.multiple) {
543
640
  if (ObjectUtils.isEmpty(target.value) && this.hasSelectedOption) {
544
- this.$refs.multiContainer.focus();
641
+ DomHandler.focus(this.$refs.multiContainer);
545
642
  this.focusedMultipleOptionIndex = this.modelValue.length;
546
- }
547
- else {
643
+ } else {
548
644
  event.stopPropagation(); // To prevent onArrowLeftKeyOnMultiple method
549
645
  }
550
646
  }
@@ -563,6 +659,7 @@ export default {
563
659
  onEndKey(event) {
564
660
  const target = event.currentTarget;
565
661
  const len = target.value.length;
662
+
566
663
  target.setSelectionRange(len, len);
567
664
  this.focusedOptionIndex = -1;
568
665
 
@@ -579,8 +676,7 @@ export default {
579
676
  onEnterKey(event) {
580
677
  if (!this.overlayVisible) {
581
678
  this.onArrowDownKey(event);
582
- }
583
- else {
679
+ } else {
584
680
  if (this.focusedOptionIndex !== -1) {
585
681
  this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);
586
682
  }
@@ -620,9 +716,9 @@ export default {
620
716
  onArrowRightKeyOnMultiple() {
621
717
  this.focusedMultipleOptionIndex++;
622
718
 
623
- if (this.focusedMultipleOptionIndex > (this.modelValue.length - 1)) {
719
+ if (this.focusedMultipleOptionIndex > this.modelValue.length - 1) {
624
720
  this.focusedMultipleOptionIndex = -1;
625
- this.$refs.focusInput.focus();
721
+ DomHandler.focus(this.$refs.focusInput);
626
722
  }
627
723
  },
628
724
  onBackspaceKeyOnMultiple(event) {
@@ -654,10 +750,10 @@ export default {
654
750
  },
655
751
  alignOverlay() {
656
752
  let target = this.multiple ? this.$refs.multiContainer : this.$refs.focusInput;
753
+
657
754
  if (this.appendTo === 'self') {
658
755
  DomHandler.relativePosition(this.overlay, target);
659
- }
660
- else {
756
+ } else {
661
757
  this.overlay.style.minWidth = DomHandler.getOuterWidth(target) + 'px';
662
758
  DomHandler.absolutePosition(this.overlay, target);
663
759
  }
@@ -669,6 +765,7 @@ export default {
669
765
  this.hide();
670
766
  }
671
767
  };
768
+
672
769
  document.addEventListener('click', this.outsideClickListener);
673
770
  }
674
771
  },
@@ -701,6 +798,7 @@ export default {
701
798
  this.hide();
702
799
  }
703
800
  };
801
+
704
802
  window.addEventListener('resize', this.resizeListener);
705
803
  }
706
804
  },
@@ -714,13 +812,11 @@ export default {
714
812
  return !this.overlay.contains(event.target) && !this.isInputClicked(event) && !this.isDropdownClicked(event);
715
813
  },
716
814
  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;
815
+ if (this.multiple) return event.target === this.$refs.multiContainer || this.$refs.multiContainer.contains(event.target);
816
+ else return event.target === this.$refs.focusInput;
721
817
  },
722
818
  isDropdownClicked(event) {
723
- return this.$refs.dropdownButton ? (event.target === this.$refs.dropdownButton || this.$refs.dropdownButton.$el.contains(event.target)) : false;
819
+ return this.$refs.dropdownButton ? event.target === this.$refs.dropdownButton || this.$refs.dropdownButton.$el.contains(event.target) : false;
724
820
  },
725
821
  isOptionMatched(option, value) {
726
822
  return this.isValidOption(option) && this.getOptionLabel(option).toLocaleLowerCase(this.searchLocale) === value.toLocaleLowerCase(this.searchLocale);
@@ -735,28 +831,32 @@ export default {
735
831
  return ObjectUtils.equals(this.modelValue, this.getOptionValue(option), this.equalityKey);
736
832
  },
737
833
  findFirstOptionIndex() {
738
- return this.visibleOptions.findIndex(option => this.isValidOption(option));
834
+ return this.visibleOptions.findIndex((option) => this.isValidOption(option));
739
835
  },
740
836
  findLastOptionIndex() {
741
- return ObjectUtils.findLastIndex(this.visibleOptions, option => this.isValidOption(option));
837
+ return ObjectUtils.findLastIndex(this.visibleOptions, (option) => this.isValidOption(option));
742
838
  },
743
839
  findNextOptionIndex(index) {
744
- const matchedOptionIndex = index < (this.visibleOptions.length - 1) ? this.visibleOptions.slice(index + 1).findIndex(option => this.isValidOption(option)) : -1;
840
+ const matchedOptionIndex = index < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index + 1).findIndex((option) => this.isValidOption(option)) : -1;
841
+
745
842
  return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;
746
843
  },
747
844
  findPrevOptionIndex(index) {
748
- const matchedOptionIndex = index > 0 ? ObjectUtils.findLastIndex(this.visibleOptions.slice(0, index), option => this.isValidOption(option)) : -1;
845
+ const matchedOptionIndex = index > 0 ? ObjectUtils.findLastIndex(this.visibleOptions.slice(0, index), (option) => this.isValidOption(option)) : -1;
846
+
749
847
  return matchedOptionIndex > -1 ? matchedOptionIndex : index;
750
848
  },
751
849
  findSelectedOptionIndex() {
752
- return this.hasSelectedOption ? this.visibleOptions.findIndex(option => this.isValidSelectedOption(option)) : -1;
850
+ return this.hasSelectedOption ? this.visibleOptions.findIndex((option) => this.isValidSelectedOption(option)) : -1;
753
851
  },
754
852
  findFirstFocusedOptionIndex() {
755
853
  const selectedIndex = this.findSelectedOptionIndex();
854
+
756
855
  return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;
757
856
  },
758
857
  findLastFocusedOptionIndex() {
759
858
  const selectedIndex = this.findSelectedOptionIndex();
859
+
760
860
  return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;
761
861
  },
762
862
  search(event, query, source) {
@@ -775,12 +875,12 @@ export default {
775
875
  },
776
876
  removeOption(event, index) {
777
877
  const removedOption = this.modelValue[index];
778
- const value = this.modelValue.filter((_, i) => i !== index).map(option => this.getOptionValue(option));
878
+ const value = this.modelValue.filter((_, i) => i !== index).map((option) => this.getOptionValue(option));
779
879
 
780
880
  this.updateModel(event, value);
781
881
  this.$emit('item-unselect', { originalEvent: event, value: removedOption });
782
882
  this.dirty = true;
783
- this.$refs.focusInput.focus();
883
+ DomHandler.focus(this.$refs.focusInput);
784
884
  },
785
885
  changeFocusedOptionIndex(event, index) {
786
886
  if (this.focusedOptionIndex !== index) {
@@ -788,17 +888,17 @@ export default {
788
888
  this.scrollInView();
789
889
 
790
890
  if (this.selectOnFocus || this.autoHighlight) {
791
- this.updateModel(event, this.getOptionValue(this.visibleOptions[index]));
891
+ this.onOptionSelect(event, this.visibleOptions[index], false);
792
892
  }
793
893
  }
794
894
  },
795
895
  scrollInView(index = -1) {
796
896
  const id = index !== -1 ? `${this.id}_${index}` : this.focusedOptionId;
797
897
  const element = DomHandler.findSingle(this.list, `li[id="${id}"]`);
898
+
798
899
  if (element) {
799
900
  element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'start' });
800
- }
801
- else if (!this.virtualScrollerDisabled) {
901
+ } else if (!this.virtualScrollerDisabled) {
802
902
  setTimeout(() => {
803
903
  this.virtualScroller && this.virtualScroller.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex);
804
904
  }, 0);
@@ -807,8 +907,7 @@ export default {
807
907
  autoUpdateModel() {
808
908
  if ((this.selectOnFocus || this.autoHighlight) && this.autoOptionFocus && !this.hasSelectedOption) {
809
909
  this.focusedOptionIndex = this.findFirstFocusedOptionIndex();
810
- const value = this.getOptionValue(this.visibleOptions[this.focusedOptionIndex]);
811
- this.updateModel(null, this.multiple ? [value] : value);
910
+ this.onOptionSelect(null, this.visibleOptions[this.focusedOptionIndex], false);
812
911
  }
813
912
  },
814
913
  updateModel(event, value) {
@@ -820,7 +919,8 @@ export default {
820
919
  result.push({ optionGroup: option, group: true, index });
821
920
 
822
921
  const optionGroupChildren = this.getOptionGroupChildren(option);
823
- optionGroupChildren && optionGroupChildren.forEach(o => result.push(o));
922
+
923
+ optionGroupChildren && optionGroupChildren.forEach((o) => result.push(o));
824
924
 
825
925
  return result;
826
926
  }, []);
@@ -838,47 +938,57 @@ export default {
838
938
  },
839
939
  computed: {
840
940
  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
- }];
941
+ return [
942
+ 'p-autocomplete p-component p-inputwrapper',
943
+ {
944
+ 'p-disabled': this.disabled,
945
+ 'p-focus': this.focused,
946
+ 'p-autocomplete-dd': this.dropdown,
947
+ 'p-autocomplete-multiple': this.multiple,
948
+ 'p-inputwrapper-filled': this.modelValue || ObjectUtils.isNotEmpty(this.inputValue),
949
+ 'p-inputwrapper-focus': this.focused,
950
+ 'p-overlay-open': this.overlayVisible
951
+ }
952
+ ];
850
953
  },
851
954
  inputStyleClass() {
852
- return ['p-autocomplete-input p-inputtext p-component', this.inputClass, {
853
- 'p-autocomplete-dd-input': this.dropdown
854
- }];
955
+ return [
956
+ 'p-autocomplete-input p-inputtext p-component',
957
+ this.inputClass,
958
+ {
959
+ 'p-autocomplete-dd-input': this.dropdown
960
+ }
961
+ ];
855
962
  },
856
963
  multiContainerClass() {
857
964
  return ['p-autocomplete-multiple-container p-component p-inputtext'];
858
965
  },
859
966
  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
- }];
967
+ return [
968
+ 'p-autocomplete-panel p-component',
969
+ this.panelClass,
970
+ {
971
+ 'p-input-filled': this.$primevue.config.inputStyle === 'filled',
972
+ 'p-ripple-disabled': this.$primevue.config.ripple === false
973
+ }
974
+ ];
864
975
  },
865
976
  loadingIconClass() {
866
977
  return ['p-autocomplete-loader pi-spin', this.loadingIcon];
867
978
  },
868
979
  visibleOptions() {
869
- return this.optionGroupLabel ? this.flatOptions(this.suggestions) : (this.suggestions || []);
980
+ return this.optionGroupLabel ? this.flatOptions(this.suggestions) : this.suggestions || [];
870
981
  },
871
982
  inputValue() {
872
983
  if (this.modelValue) {
873
984
  if (typeof this.modelValue === 'object') {
874
985
  const label = this.getOptionLabel(this.modelValue);
986
+
875
987
  return label != null ? label : this.modelValue;
876
- }
877
- else {
988
+ } else {
878
989
  return this.modelValue;
879
990
  }
880
- }
881
- else {
991
+ } else {
882
992
  return '';
883
993
  }
884
994
  },
@@ -906,6 +1016,9 @@ export default {
906
1016
  selectedMessageText() {
907
1017
  return this.hasSelectedOption ? this.selectionMessageText.replaceAll('{0}', this.multiple ? this.modelValue.length : '1') : this.emptySelectionMessageText;
908
1018
  },
1019
+ id() {
1020
+ return this.$attrs.id || UniqueComponentId();
1021
+ },
909
1022
  focusedOptionId() {
910
1023
  return this.focusedOptionIndex !== -1 ? `${this.id}_${this.focusedOptionIndex}` : null;
911
1024
  },
@@ -913,21 +1026,21 @@ export default {
913
1026
  return this.focusedMultipleOptionIndex !== -1 ? `${this.id}_multiple_option_${this.focusedMultipleOptionIndex}` : null;
914
1027
  },
915
1028
  ariaSetSize() {
916
- return this.visibleOptions.filter(option => !this.isOptionGroup(option)).length;
1029
+ return this.visibleOptions.filter((option) => !this.isOptionGroup(option)).length;
917
1030
  },
918
1031
  virtualScrollerDisabled() {
919
1032
  return !this.virtualScrollerOptions;
920
1033
  }
921
1034
  },
922
1035
  components: {
923
- 'Button': Button,
924
- 'VirtualScroller': VirtualScroller,
925
- 'Portal': Portal
1036
+ Button: Button,
1037
+ VirtualScroller: VirtualScroller,
1038
+ Portal: Portal
926
1039
  },
927
1040
  directives: {
928
- 'ripple': Ripple
1041
+ ripple: Ripple
929
1042
  }
930
- }
1043
+ };
931
1044
  </script>
932
1045
 
933
1046
  <style>
@@ -939,7 +1052,7 @@ export default {
939
1052
  .p-autocomplete-loader {
940
1053
  position: absolute;
941
1054
  top: 50%;
942
- margin-top: -.5rem;
1055
+ margin-top: -0.5rem;
943
1056
  }
944
1057
 
945
1058
  .p-autocomplete-dd .p-autocomplete-input {
@@ -949,13 +1062,13 @@ export default {
949
1062
 
950
1063
  .p-autocomplete-dd .p-autocomplete-input,
951
1064
  .p-autocomplete-dd .p-autocomplete-multiple-container {
952
- border-top-right-radius: 0;
953
- border-bottom-right-radius: 0;
954
- }
1065
+ border-top-right-radius: 0;
1066
+ border-bottom-right-radius: 0;
1067
+ }
955
1068
 
956
1069
  .p-autocomplete-dd .p-autocomplete-dropdown {
957
- border-top-left-radius: 0;
958
- border-bottom-left-radius: 0px;
1070
+ border-top-left-radius: 0;
1071
+ border-bottom-left-radius: 0px;
959
1072
  }
960
1073
 
961
1074
  .p-autocomplete .p-autocomplete-panel {