primevue 3.9.1 → 3.12.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 (598) hide show
  1. package/README.md +256 -2
  2. package/accordion/Accordion.d.ts +74 -11
  3. package/accordion/accordion.esm.js +1 -1
  4. package/accordion/accordion.esm.min.js +1 -1
  5. package/accordion/accordion.js +1 -1
  6. package/accordiontab/AccordionTab.d.ts +37 -8
  7. package/accordiontab/accordiontab.esm.js +1 -1
  8. package/accordiontab/accordiontab.esm.min.js +1 -1
  9. package/accordiontab/accordiontab.js +1 -1
  10. package/api/Api.d.ts +292 -285
  11. package/api/api.js +1 -1
  12. package/autocomplete/AutoComplete.d.ts +280 -63
  13. package/autocomplete/AutoComplete.vue +2 -2
  14. package/autocomplete/autocomplete.cjs.js +7 -6
  15. package/autocomplete/autocomplete.cjs.min.js +1 -1
  16. package/autocomplete/autocomplete.esm.js +4 -3
  17. package/autocomplete/autocomplete.esm.min.js +1 -1
  18. package/autocomplete/autocomplete.js +8 -7
  19. package/autocomplete/autocomplete.min.js +1 -1
  20. package/avatar/Avatar.d.ts +57 -8
  21. package/avatar/avatar.esm.js +1 -1
  22. package/avatar/avatar.esm.min.js +1 -1
  23. package/avatar/avatar.js +1 -1
  24. package/avatargroup/AvatarGroup.d.ts +29 -3
  25. package/avatargroup/avatargroup.esm.js +1 -1
  26. package/avatargroup/avatargroup.esm.min.js +1 -1
  27. package/avatargroup/avatargroup.js +1 -1
  28. package/badge/Badge.d.ts +46 -5
  29. package/badge/badge.esm.js +1 -1
  30. package/badge/badge.esm.min.js +1 -1
  31. package/badge/badge.js +1 -1
  32. package/badgedirective/badgedirective.esm.js +1 -1
  33. package/badgedirective/badgedirective.esm.min.js +1 -1
  34. package/badgedirective/badgedirective.js +1 -1
  35. package/blockui/BlockUI.d.ts +52 -11
  36. package/blockui/blockui.esm.js +1 -1
  37. package/blockui/blockui.esm.min.js +1 -1
  38. package/blockui/blockui.js +1 -1
  39. package/breadcrumb/Breadcrumb.d.ts +49 -9
  40. package/breadcrumb/breadcrumb.esm.js +1 -1
  41. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  42. package/breadcrumb/breadcrumb.js +1 -1
  43. package/button/Button.d.ts +68 -11
  44. package/button/button.cjs.js +1 -1
  45. package/button/button.esm.js +1 -1
  46. package/button/button.esm.min.js +1 -1
  47. package/button/button.js +2 -2
  48. package/calendar/Calendar.d.ts +333 -62
  49. package/calendar/Calendar.vue +67 -35
  50. package/calendar/calendar.cjs.js +141 -110
  51. package/calendar/calendar.cjs.min.js +1 -1
  52. package/calendar/calendar.esm.js +139 -107
  53. package/calendar/calendar.esm.min.js +1 -1
  54. package/calendar/calendar.js +143 -111
  55. package/calendar/calendar.min.js +1 -1
  56. package/card/Card.d.ts +43 -9
  57. package/card/card.esm.js +1 -1
  58. package/card/card.esm.min.js +1 -1
  59. package/card/card.js +1 -1
  60. package/carousel/Carousel.d.ts +121 -24
  61. package/carousel/carousel.cjs.js +1 -1
  62. package/carousel/carousel.esm.js +1 -1
  63. package/carousel/carousel.esm.min.js +1 -1
  64. package/carousel/carousel.js +2 -2
  65. package/cascadeselect/CascadeSelect.d.ts +164 -31
  66. package/cascadeselect/cascadeselect.cjs.js +2 -2
  67. package/cascadeselect/cascadeselect.esm.js +1 -1
  68. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  69. package/cascadeselect/cascadeselect.js +3 -3
  70. package/chart/Chart.d.ts +104 -12
  71. package/chart/Chart.vue +9 -2
  72. package/chart/chart.cjs.js +11 -6
  73. package/chart/chart.cjs.min.js +1 -1
  74. package/chart/chart.esm.js +10 -3
  75. package/chart/chart.esm.min.js +1 -1
  76. package/chart/chart.js +10 -3
  77. package/chart/chart.min.js +1 -1
  78. package/checkbox/Checkbox.d.ts +66 -8
  79. package/checkbox/checkbox.esm.js +1 -1
  80. package/checkbox/checkbox.esm.min.js +1 -1
  81. package/checkbox/checkbox.js +1 -1
  82. package/chip/Chip.d.ts +50 -4
  83. package/chip/chip.esm.js +1 -1
  84. package/chip/chip.esm.min.js +1 -1
  85. package/chip/chip.js +1 -1
  86. package/chips/Chips.d.ts +88 -15
  87. package/chips/chips.esm.js +1 -1
  88. package/chips/chips.esm.min.js +1 -1
  89. package/chips/chips.js +1 -1
  90. package/colorpicker/ColorPicker.d.ts +105 -16
  91. package/colorpicker/colorpicker.cjs.js +1 -1
  92. package/colorpicker/colorpicker.esm.js +1 -1
  93. package/colorpicker/colorpicker.esm.min.js +1 -1
  94. package/colorpicker/colorpicker.js +2 -2
  95. package/column/Column.d.ts +452 -78
  96. package/column/Column.vue +6 -2
  97. package/column/column.cjs.js +6 -2
  98. package/column/column.cjs.min.js +1 -1
  99. package/column/column.esm.js +7 -3
  100. package/column/column.esm.min.js +1 -1
  101. package/column/column.js +7 -3
  102. package/column/column.min.js +1 -1
  103. package/columngroup/ColumnGroup.d.ts +30 -4
  104. package/columngroup/columngroup.esm.js +1 -1
  105. package/columngroup/columngroup.esm.min.js +1 -1
  106. package/columngroup/columngroup.js +1 -1
  107. package/config/config.cjs.js +1 -1
  108. package/config/config.esm.js +1 -2
  109. package/config/config.esm.min.js +1 -1
  110. package/config/config.js +2 -2
  111. package/confirmationeventbus/confirmationeventbus.esm.js +1 -1
  112. package/confirmationeventbus/confirmationeventbus.esm.min.js +1 -1
  113. package/confirmationeventbus/confirmationeventbus.js +1 -1
  114. package/confirmationoptions/ConfirmationOptions.d.ts +62 -0
  115. package/confirmationoptions/package.json +3 -0
  116. package/confirmationservice/ConfirmationService.d.ts +2 -1
  117. package/confirmationservice/confirmationservice.cjs.js +2 -2
  118. package/confirmationservice/confirmationservice.esm.js +1 -1
  119. package/confirmationservice/confirmationservice.esm.min.js +1 -1
  120. package/confirmationservice/confirmationservice.js +3 -3
  121. package/confirmdialog/ConfirmDialog.d.ts +57 -5
  122. package/confirmdialog/confirmdialog.cjs.js +6 -6
  123. package/confirmdialog/confirmdialog.esm.js +1 -1
  124. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  125. package/confirmdialog/confirmdialog.js +7 -7
  126. package/confirmpopup/ConfirmPopup.d.ts +38 -7
  127. package/confirmpopup/confirmpopup.cjs.js +6 -6
  128. package/confirmpopup/confirmpopup.esm.js +1 -1
  129. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  130. package/confirmpopup/confirmpopup.js +7 -7
  131. package/contextmenu/ContextMenu.d.ts +88 -16
  132. package/contextmenu/contextmenu.cjs.js +1 -1
  133. package/contextmenu/contextmenu.esm.js +1 -1
  134. package/contextmenu/contextmenu.esm.min.js +1 -1
  135. package/contextmenu/contextmenu.js +2 -2
  136. package/core/core.js +754 -327
  137. package/core/core.min.js +7 -5
  138. package/datatable/BodyCell.vue +26 -1
  139. package/datatable/DataTable.d.ts +1056 -131
  140. package/datatable/DataTable.vue +124 -118
  141. package/datatable/HeaderCheckbox.vue +5 -2
  142. package/datatable/RowCheckbox.vue +1 -1
  143. package/datatable/RowRadioButton.vue +1 -1
  144. package/datatable/TableBody.vue +53 -14
  145. package/datatable/TableFooter.vue +18 -1
  146. package/datatable/TableHeader.vue +18 -1
  147. package/datatable/datatable.cjs.js +488 -362
  148. package/datatable/datatable.cjs.min.js +1 -1
  149. package/datatable/datatable.esm.js +478 -353
  150. package/datatable/datatable.esm.min.js +1 -1
  151. package/datatable/datatable.js +489 -364
  152. package/datatable/datatable.min.js +1 -1
  153. package/dataview/DataView.d.ts +198 -32
  154. package/dataview/dataview.cjs.js +1 -1
  155. package/dataview/dataview.esm.js +1 -1
  156. package/dataview/dataview.esm.min.js +1 -1
  157. package/dataview/dataview.js +2 -2
  158. package/dataviewlayoutoptions/DataViewLayoutOptions.d.ts +34 -5
  159. package/dataviewlayoutoptions/dataviewlayoutoptions.esm.js +1 -1
  160. package/dataviewlayoutoptions/dataviewlayoutoptions.esm.min.js +1 -1
  161. package/dataviewlayoutoptions/dataviewlayoutoptions.js +1 -1
  162. package/deferredcontent/DeferredContent.d.ts +31 -6
  163. package/deferredcontent/deferredcontent.esm.js +1 -1
  164. package/deferredcontent/deferredcontent.esm.min.js +1 -1
  165. package/deferredcontent/deferredcontent.js +1 -1
  166. package/dialog/Dialog.d.ts +187 -34
  167. package/dialog/Dialog.vue +1 -1
  168. package/dialog/dialog.cjs.js +2 -3
  169. package/dialog/dialog.cjs.min.js +1 -1
  170. package/dialog/dialog.esm.js +2 -3
  171. package/dialog/dialog.esm.min.js +1 -1
  172. package/dialog/dialog.js +3 -4
  173. package/dialog/dialog.min.js +1 -1
  174. package/divider/Divider.d.ts +53 -8
  175. package/divider/divider.esm.js +1 -1
  176. package/divider/divider.esm.min.js +1 -1
  177. package/divider/divider.js +1 -1
  178. package/dock/Dock.d.ts +92 -15
  179. package/dock/DockSub.vue +3 -1
  180. package/dock/dock.cjs.js +4 -1
  181. package/dock/dock.cjs.min.js +1 -1
  182. package/dock/dock.esm.js +4 -2
  183. package/dock/dock.esm.min.js +1 -1
  184. package/dock/dock.js +5 -3
  185. package/dock/dock.min.js +1 -1
  186. package/dropdown/Dropdown.d.ts +335 -76
  187. package/dropdown/Dropdown.vue +16 -12
  188. package/dropdown/dropdown.cjs.js +21 -15
  189. package/dropdown/dropdown.cjs.min.js +1 -1
  190. package/dropdown/dropdown.esm.js +19 -13
  191. package/dropdown/dropdown.esm.min.js +1 -1
  192. package/dropdown/dropdown.js +22 -16
  193. package/dropdown/dropdown.min.js +1 -1
  194. package/editor/Editor.d.ts +78 -11
  195. package/editor/editor.cjs.js +1 -1
  196. package/editor/editor.esm.js +1 -1
  197. package/editor/editor.esm.min.js +1 -1
  198. package/editor/editor.js +2 -2
  199. package/fieldset/Fieldset.d.ts +63 -11
  200. package/fieldset/fieldset.cjs.js +1 -1
  201. package/fieldset/fieldset.esm.js +1 -1
  202. package/fieldset/fieldset.esm.min.js +1 -1
  203. package/fieldset/fieldset.js +2 -2
  204. package/fileupload/FileUpload.d.ts +255 -37
  205. package/fileupload/fileupload.cjs.js +4 -4
  206. package/fileupload/fileupload.esm.js +1 -1
  207. package/fileupload/fileupload.esm.min.js +1 -1
  208. package/fileupload/fileupload.js +5 -5
  209. package/fullcalendar/FullCalendar.d.ts +29 -3
  210. package/fullcalendar/fullcalendar.esm.js +1 -1
  211. package/fullcalendar/fullcalendar.esm.min.js +1 -1
  212. package/fullcalendar/fullcalendar.js +1 -1
  213. package/galleria/Galleria.d.ts +196 -46
  214. package/galleria/galleria.cjs.js +3 -3
  215. package/galleria/galleria.esm.js +1 -1
  216. package/galleria/galleria.esm.min.js +1 -1
  217. package/galleria/galleria.js +4 -4
  218. package/image/Image.d.ts +51 -6
  219. package/image/image.esm.js +1 -1
  220. package/image/image.esm.min.js +1 -1
  221. package/image/image.js +1 -1
  222. package/inlinemessage/InlineMessage.d.ts +34 -6
  223. package/inlinemessage/inlinemessage.esm.js +1 -1
  224. package/inlinemessage/inlinemessage.esm.min.js +1 -1
  225. package/inlinemessage/inlinemessage.js +1 -1
  226. package/inplace/Inplace.d.ts +57 -12
  227. package/inplace/inplace.cjs.js +1 -1
  228. package/inplace/inplace.esm.js +1 -1
  229. package/inplace/inplace.esm.min.js +1 -1
  230. package/inplace/inplace.js +2 -2
  231. package/inputmask/InputMask.d.ts +75 -15
  232. package/inputmask/inputmask.esm.js +1 -1
  233. package/inputmask/inputmask.esm.min.js +1 -1
  234. package/inputmask/inputmask.js +1 -1
  235. package/inputnumber/InputNumber.d.ts +180 -30
  236. package/inputnumber/inputnumber.cjs.js +2 -2
  237. package/inputnumber/inputnumber.esm.js +1 -1
  238. package/inputnumber/inputnumber.esm.min.js +1 -1
  239. package/inputnumber/inputnumber.js +3 -3
  240. package/inputswitch/InputSwitch.d.ts +61 -9
  241. package/inputswitch/inputswitch.esm.js +1 -1
  242. package/inputswitch/inputswitch.esm.min.js +1 -1
  243. package/inputswitch/inputswitch.js +1 -1
  244. package/inputtext/InputText.d.ts +34 -5
  245. package/inputtext/inputtext.esm.js +1 -1
  246. package/inputtext/inputtext.esm.min.js +1 -1
  247. package/inputtext/inputtext.js +1 -1
  248. package/knob/Knob.d.ts +92 -18
  249. package/knob/Knob.vue +1 -1
  250. package/knob/knob.cjs.js +1 -1
  251. package/knob/knob.cjs.min.js +1 -1
  252. package/knob/knob.esm.js +2 -2
  253. package/knob/knob.esm.min.js +1 -1
  254. package/knob/knob.js +2 -2
  255. package/knob/knob.min.js +1 -1
  256. package/listbox/Listbox.d.ts +240 -55
  257. package/listbox/Listbox.vue +2 -2
  258. package/listbox/listbox.cjs.js +5 -4
  259. package/listbox/listbox.cjs.min.js +1 -1
  260. package/listbox/listbox.esm.js +4 -3
  261. package/listbox/listbox.esm.min.js +1 -1
  262. package/listbox/listbox.js +6 -5
  263. package/listbox/listbox.min.js +1 -1
  264. package/megamenu/MegaMenu.d.ts +60 -12
  265. package/megamenu/megamenu.cjs.js +1 -1
  266. package/megamenu/megamenu.esm.js +1 -1
  267. package/megamenu/megamenu.esm.min.js +1 -1
  268. package/megamenu/megamenu.js +2 -2
  269. package/menu/Menu.d.ts +84 -15
  270. package/menu/menu.cjs.js +2 -2
  271. package/menu/menu.esm.js +1 -1
  272. package/menu/menu.esm.min.js +1 -1
  273. package/menu/menu.js +3 -3
  274. package/menubar/Menubar.d.ts +52 -11
  275. package/menubar/menubar.cjs.js +1 -1
  276. package/menubar/menubar.esm.js +1 -1
  277. package/menubar/menubar.esm.min.js +1 -1
  278. package/menubar/menubar.js +2 -2
  279. package/menuitem/MenuItem.d.ts +82 -0
  280. package/menuitem/package.json +3 -0
  281. package/message/Message.d.ts +57 -11
  282. package/message/message.cjs.js +1 -1
  283. package/message/message.esm.js +1 -1
  284. package/message/message.esm.min.js +1 -1
  285. package/message/message.js +2 -2
  286. package/multiselect/MultiSelect.d.ts +363 -83
  287. package/multiselect/MultiSelect.vue +17 -13
  288. package/multiselect/multiselect.cjs.js +20 -13
  289. package/multiselect/multiselect.cjs.min.js +1 -1
  290. package/multiselect/multiselect.esm.js +18 -11
  291. package/multiselect/multiselect.esm.min.js +1 -1
  292. package/multiselect/multiselect.js +21 -14
  293. package/multiselect/multiselect.min.js +1 -1
  294. package/orderlist/OrderList.d.ts +126 -19
  295. package/orderlist/OrderList.vue +10 -1
  296. package/orderlist/orderlist.cjs.js +19 -11
  297. package/orderlist/orderlist.cjs.min.js +1 -1
  298. package/orderlist/orderlist.esm.js +18 -10
  299. package/orderlist/orderlist.esm.min.js +1 -1
  300. package/orderlist/orderlist.js +20 -12
  301. package/orderlist/orderlist.min.js +1 -1
  302. package/organizationchart/OrganizationChart.d.ts +137 -15
  303. package/organizationchart/organizationchart.esm.js +1 -1
  304. package/organizationchart/organizationchart.esm.min.js +1 -1
  305. package/organizationchart/organizationchart.js +1 -1
  306. package/overlayeventbus/overlayeventbus.esm.js +1 -1
  307. package/overlayeventbus/overlayeventbus.esm.min.js +1 -1
  308. package/overlayeventbus/overlayeventbus.js +1 -1
  309. package/overlaypanel/OverlayPanel.d.ts +107 -12
  310. package/overlaypanel/overlaypanel.cjs.js +5 -5
  311. package/overlaypanel/overlaypanel.esm.js +1 -1
  312. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  313. package/overlaypanel/overlaypanel.js +6 -6
  314. package/package.json +1 -1
  315. package/paginator/Paginator.d.ts +129 -27
  316. package/paginator/paginator.cjs.js +8 -8
  317. package/paginator/paginator.esm.js +1 -1
  318. package/paginator/paginator.esm.min.js +1 -1
  319. package/paginator/paginator.js +9 -9
  320. package/panel/Panel.d.ts +64 -9
  321. package/panel/panel.cjs.js +1 -1
  322. package/panel/panel.esm.js +1 -1
  323. package/panel/panel.esm.min.js +1 -1
  324. package/panel/panel.js +2 -2
  325. package/panelmenu/PanelMenu.d.ts +59 -11
  326. package/panelmenu/PanelMenu.vue +2 -2
  327. package/panelmenu/panelmenu.cjs.js +4 -4
  328. package/panelmenu/panelmenu.cjs.min.js +1 -1
  329. package/panelmenu/panelmenu.esm.js +5 -5
  330. package/panelmenu/panelmenu.esm.min.js +1 -1
  331. package/panelmenu/panelmenu.js +5 -5
  332. package/panelmenu/panelmenu.min.js +1 -1
  333. package/password/Password.d.ts +115 -24
  334. package/password/password.cjs.js +2 -2
  335. package/password/password.esm.js +1 -1
  336. package/password/password.esm.min.js +1 -1
  337. package/password/password.js +3 -3
  338. package/picklist/PickList.d.ts +203 -32
  339. package/picklist/PickList.vue +10 -1
  340. package/picklist/picklist.cjs.js +27 -19
  341. package/picklist/picklist.cjs.min.js +1 -1
  342. package/picklist/picklist.esm.js +26 -18
  343. package/picklist/picklist.esm.min.js +1 -1
  344. package/picklist/picklist.js +28 -20
  345. package/picklist/picklist.min.js +1 -1
  346. package/progressbar/ProgressBar.d.ts +43 -8
  347. package/progressbar/progressbar.esm.js +1 -1
  348. package/progressbar/progressbar.esm.min.js +1 -1
  349. package/progressbar/progressbar.js +1 -1
  350. package/progressspinner/ProgressSpinner.d.ts +39 -6
  351. package/progressspinner/progressspinner.esm.js +1 -1
  352. package/progressspinner/progressspinner.esm.min.js +1 -1
  353. package/progressspinner/progressspinner.js +1 -1
  354. package/radiobutton/RadioButton.d.ts +52 -7
  355. package/radiobutton/radiobutton.esm.js +1 -1
  356. package/radiobutton/radiobutton.esm.min.js +1 -1
  357. package/radiobutton/radiobutton.js +1 -1
  358. package/rating/Rating.d.ts +67 -10
  359. package/rating/rating.esm.js +1 -1
  360. package/rating/rating.esm.min.js +1 -1
  361. package/rating/rating.js +1 -1
  362. package/resources/themes/arya-blue/theme.css +41 -22
  363. package/resources/themes/arya-green/theme.css +41 -22
  364. package/resources/themes/arya-orange/theme.css +41 -22
  365. package/resources/themes/arya-purple/theme.css +41 -22
  366. package/resources/themes/bootstrap4-dark-blue/theme.css +29 -6
  367. package/resources/themes/bootstrap4-dark-purple/theme.css +29 -6
  368. package/resources/themes/bootstrap4-light-blue/theme.css +29 -6
  369. package/resources/themes/bootstrap4-light-purple/theme.css +29 -6
  370. package/resources/themes/fluent-light/theme.css +41 -22
  371. package/resources/themes/lara-dark-blue/theme.css +371 -361
  372. package/resources/themes/lara-dark-indigo/theme.css +371 -361
  373. package/resources/themes/lara-dark-purple/theme.css +371 -361
  374. package/resources/themes/lara-dark-teal/theme.css +371 -361
  375. package/resources/themes/lara-light-blue/theme.css +41 -31
  376. package/resources/themes/lara-light-indigo/theme.css +41 -31
  377. package/resources/themes/lara-light-purple/theme.css +41 -31
  378. package/resources/themes/lara-light-teal/theme.css +41 -31
  379. package/resources/themes/luna-amber/theme.css +41 -22
  380. package/resources/themes/luna-blue/theme.css +41 -22
  381. package/resources/themes/luna-green/theme.css +41 -22
  382. package/resources/themes/luna-pink/theme.css +41 -22
  383. package/resources/themes/md-dark-deeppurple/theme.css +24 -5
  384. package/resources/themes/md-dark-indigo/theme.css +24 -5
  385. package/resources/themes/md-light-deeppurple/theme.css +24 -5
  386. package/resources/themes/md-light-indigo/theme.css +24 -5
  387. package/resources/themes/mdc-dark-deeppurple/theme.css +24 -5
  388. package/resources/themes/mdc-dark-indigo/theme.css +24 -5
  389. package/resources/themes/mdc-light-deeppurple/theme.css +24 -5
  390. package/resources/themes/mdc-light-indigo/theme.css +24 -5
  391. package/resources/themes/nova/theme.css +41 -22
  392. package/resources/themes/nova-accent/theme.css +41 -22
  393. package/resources/themes/nova-alt/theme.css +41 -22
  394. package/resources/themes/nova-vue/theme.css +41 -22
  395. package/resources/themes/rhea/theme.css +41 -22
  396. package/resources/themes/saga-blue/theme.css +25 -6
  397. package/resources/themes/saga-green/theme.css +25 -6
  398. package/resources/themes/saga-orange/theme.css +25 -6
  399. package/resources/themes/saga-purple/theme.css +25 -6
  400. package/resources/themes/tailwind-light/theme.css +44 -25
  401. package/resources/themes/vela-blue/theme.css +41 -22
  402. package/resources/themes/vela-green/theme.css +41 -22
  403. package/resources/themes/vela-orange/theme.css +41 -22
  404. package/resources/themes/vela-purple/theme.css +41 -22
  405. package/ripple/ripple.esm.js +1 -1
  406. package/ripple/ripple.esm.min.js +1 -1
  407. package/ripple/ripple.js +1 -1
  408. package/row/Row.d.ts +25 -3
  409. package/row/row.esm.js +1 -1
  410. package/row/row.esm.min.js +1 -1
  411. package/row/row.js +1 -1
  412. package/scrollpanel/ScrollPanel.d.ts +27 -5
  413. package/scrollpanel/scrollpanel.esm.js +1 -1
  414. package/scrollpanel/scrollpanel.esm.min.js +1 -1
  415. package/scrollpanel/scrollpanel.js +1 -1
  416. package/scrolltop/ScrollTop.d.ts +47 -7
  417. package/scrolltop/scrolltop.esm.js +1 -1
  418. package/scrolltop/scrolltop.esm.min.js +1 -1
  419. package/scrolltop/scrolltop.js +1 -1
  420. package/selectbutton/SelectButton.d.ts +101 -17
  421. package/selectbutton/selectbutton.cjs.js +1 -1
  422. package/selectbutton/selectbutton.esm.js +1 -1
  423. package/selectbutton/selectbutton.esm.min.js +1 -1
  424. package/selectbutton/selectbutton.js +2 -2
  425. package/sidebar/Sidebar.d.ts +81 -16
  426. package/sidebar/Sidebar.vue +2 -0
  427. package/sidebar/sidebar.cjs.js +2 -2
  428. package/sidebar/sidebar.cjs.min.js +1 -1
  429. package/sidebar/sidebar.esm.js +2 -2
  430. package/sidebar/sidebar.esm.min.js +1 -1
  431. package/sidebar/sidebar.js +3 -3
  432. package/sidebar/sidebar.min.js +1 -1
  433. package/skeleton/Skeleton.d.ts +58 -9
  434. package/skeleton/skeleton.esm.js +1 -1
  435. package/skeleton/skeleton.esm.min.js +1 -1
  436. package/skeleton/skeleton.js +1 -1
  437. package/slider/Slider.d.ts +90 -14
  438. package/slider/slider.esm.js +1 -1
  439. package/slider/slider.esm.min.js +1 -1
  440. package/slider/slider.js +1 -1
  441. package/speeddial/SpeedDial.d.ts +166 -29
  442. package/speeddial/SpeedDial.vue +3 -1
  443. package/speeddial/speeddial.cjs.js +5 -2
  444. package/speeddial/speeddial.cjs.min.js +1 -1
  445. package/speeddial/speeddial.esm.js +4 -2
  446. package/speeddial/speeddial.esm.min.js +1 -1
  447. package/speeddial/speeddial.js +6 -4
  448. package/speeddial/speeddial.min.js +1 -1
  449. package/splitbutton/SplitButton.d.ts +76 -11
  450. package/splitbutton/SplitButton.vue +3 -1
  451. package/splitbutton/splitbutton.cjs.js +15 -13
  452. package/splitbutton/splitbutton.cjs.min.js +1 -1
  453. package/splitbutton/splitbutton.esm.js +15 -13
  454. package/splitbutton/splitbutton.esm.min.js +1 -1
  455. package/splitbutton/splitbutton.js +16 -14
  456. package/splitbutton/splitbutton.min.js +1 -1
  457. package/splitter/Splitter.d.ts +74 -7
  458. package/splitter/Splitter.vue +5 -5
  459. package/splitter/splitter.cjs.js +1 -1
  460. package/splitter/splitter.cjs.min.js +1 -1
  461. package/splitter/splitter.esm.js +2 -2
  462. package/splitter/splitter.esm.min.js +1 -1
  463. package/splitter/splitter.js +2 -2
  464. package/splitter/splitter.min.js +1 -1
  465. package/splitterpanel/SplitterPanel.d.ts +34 -7
  466. package/splitterpanel/splitterpanel.esm.js +1 -1
  467. package/splitterpanel/splitterpanel.esm.min.js +1 -1
  468. package/splitterpanel/splitterpanel.js +1 -1
  469. package/steps/Steps.d.ts +51 -11
  470. package/steps/steps.esm.js +1 -1
  471. package/steps/steps.esm.min.js +1 -1
  472. package/steps/steps.js +1 -1
  473. package/styleclass/styleclass.esm.js +1 -1
  474. package/styleclass/styleclass.esm.min.js +1 -1
  475. package/styleclass/styleclass.js +1 -1
  476. package/tabmenu/TabMenu.d.ts +63 -10
  477. package/tabmenu/tabmenu.cjs.js +1 -1
  478. package/tabmenu/tabmenu.esm.js +1 -1
  479. package/tabmenu/tabmenu.esm.min.js +1 -1
  480. package/tabmenu/tabmenu.js +2 -2
  481. package/tabpanel/TabPanel.d.ts +38 -7
  482. package/tabpanel/tabpanel.esm.js +1 -1
  483. package/tabpanel/tabpanel.esm.min.js +1 -1
  484. package/tabpanel/tabpanel.js +1 -1
  485. package/tabview/TabView.d.ts +73 -11
  486. package/tabview/TabView.vue +1 -1
  487. package/tabview/tabview.cjs.js +2 -2
  488. package/tabview/tabview.cjs.min.js +1 -1
  489. package/tabview/tabview.esm.js +2 -2
  490. package/tabview/tabview.esm.min.js +1 -1
  491. package/tabview/tabview.js +3 -3
  492. package/tabview/tabview.min.js +1 -1
  493. package/tag/Tag.d.ts +44 -8
  494. package/tag/Tag.vue +1 -1
  495. package/tag/tag.cjs.js +6 -6
  496. package/tag/tag.cjs.min.js +1 -1
  497. package/tag/tag.esm.js +8 -8
  498. package/tag/tag.esm.min.js +1 -1
  499. package/tag/tag.js +7 -7
  500. package/tag/tag.min.js +1 -1
  501. package/terminal/Terminal.d.ts +36 -5
  502. package/terminal/terminal.cjs.js +3 -3
  503. package/terminal/terminal.esm.js +1 -1
  504. package/terminal/terminal.esm.min.js +1 -1
  505. package/terminal/terminal.js +4 -4
  506. package/terminalservice/TerminalService.d.ts +1 -1
  507. package/terminalservice/terminalservice.esm.js +1 -1
  508. package/terminalservice/terminalservice.esm.min.js +1 -1
  509. package/terminalservice/terminalservice.js +1 -1
  510. package/textarea/Textarea.d.ts +38 -6
  511. package/textarea/textarea.esm.js +1 -1
  512. package/textarea/textarea.esm.min.js +1 -1
  513. package/textarea/textarea.js +1 -1
  514. package/tieredmenu/TieredMenu.d.ts +89 -15
  515. package/tieredmenu/tieredmenu.cjs.js +2 -2
  516. package/tieredmenu/tieredmenu.esm.js +1 -1
  517. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  518. package/tieredmenu/tieredmenu.js +3 -3
  519. package/timeline/Timeline.d.ts +94 -15
  520. package/timeline/timeline.esm.js +1 -1
  521. package/timeline/timeline.esm.min.js +1 -1
  522. package/timeline/timeline.js +1 -1
  523. package/toast/Toast.d.ts +118 -12
  524. package/toast/toast.cjs.js +7 -7
  525. package/toast/toast.esm.js +1 -1
  526. package/toast/toast.esm.min.js +1 -1
  527. package/toast/toast.js +8 -8
  528. package/toasteventbus/toasteventbus.esm.js +1 -1
  529. package/toasteventbus/toasteventbus.esm.min.js +1 -1
  530. package/toasteventbus/toasteventbus.js +1 -1
  531. package/toastservice/ToastService.d.ts +17 -5
  532. package/toastservice/toastservice.cjs.js +3 -3
  533. package/toastservice/toastservice.esm.js +1 -1
  534. package/toastservice/toastservice.esm.min.js +1 -1
  535. package/toastservice/toastservice.js +4 -4
  536. package/togglebutton/ToggleButton.d.ts +64 -11
  537. package/togglebutton/togglebutton.cjs.js +1 -1
  538. package/togglebutton/togglebutton.esm.js +1 -1
  539. package/togglebutton/togglebutton.esm.min.js +1 -1
  540. package/togglebutton/togglebutton.js +2 -2
  541. package/toolbar/Toolbar.d.ts +31 -6
  542. package/toolbar/toolbar.esm.js +1 -1
  543. package/toolbar/toolbar.esm.min.js +1 -1
  544. package/toolbar/toolbar.js +1 -1
  545. package/tooltip/tooltip.esm.js +1 -1
  546. package/tooltip/tooltip.esm.min.js +1 -1
  547. package/tooltip/tooltip.js +1 -1
  548. package/tree/Tree.d.ts +189 -26
  549. package/tree/Tree.vue +1 -0
  550. package/tree/tree.cjs.js +2 -2
  551. package/tree/tree.cjs.min.js +1 -1
  552. package/tree/tree.esm.js +2 -2
  553. package/tree/tree.esm.min.js +1 -1
  554. package/tree/tree.js +3 -3
  555. package/tree/tree.min.js +1 -1
  556. package/treeselect/TreeSelect.d.ts +201 -44
  557. package/treeselect/treeselect.cjs.js +3 -3
  558. package/treeselect/treeselect.esm.js +1 -1
  559. package/treeselect/treeselect.esm.min.js +1 -1
  560. package/treeselect/treeselect.js +4 -4
  561. package/treetable/BodyCell.vue +5 -5
  562. package/treetable/FooterCell.vue +3 -3
  563. package/treetable/HeaderCell.vue +2 -2
  564. package/treetable/TreeTable.d.ts +459 -63
  565. package/treetable/TreeTable.vue +6 -2
  566. package/treetable/treetable.cjs.js +13 -13
  567. package/treetable/treetable.cjs.min.js +1 -1
  568. package/treetable/treetable.esm.js +12 -12
  569. package/treetable/treetable.esm.min.js +1 -1
  570. package/treetable/treetable.js +14 -14
  571. package/treetable/treetable.min.js +1 -1
  572. package/tristatecheckbox/TriStateCheckbox.d.ts +40 -6
  573. package/tristatecheckbox/tristatecheckbox.esm.js +1 -1
  574. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  575. package/tristatecheckbox/tristatecheckbox.js +1 -1
  576. package/ts-helpers.d.ts +28 -0
  577. package/useconfirm/UseConfirm.d.ts +5 -19
  578. package/useconfirm/useconfirm.js +1 -1
  579. package/usetoast/UseToast.d.ts +3 -5
  580. package/usetoast/usetoast.js +1 -1
  581. package/utils/Utils.d.ts +3 -0
  582. package/utils/utils.cjs.js +41 -4
  583. package/utils/utils.cjs.min.js +1 -1
  584. package/utils/utils.esm.js +41 -4
  585. package/utils/utils.esm.min.js +1 -1
  586. package/utils/utils.js +42 -5
  587. package/utils/utils.min.js +1 -1
  588. package/vetur-attributes.json +70 -30
  589. package/vetur-tags.json +18 -8
  590. package/virtualscroller/VirtualScroller.d.ts +294 -53
  591. package/virtualscroller/VirtualScroller.vue +304 -253
  592. package/virtualscroller/virtualscroller.cjs.js +333 -264
  593. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  594. package/virtualscroller/virtualscroller.esm.js +334 -265
  595. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  596. package/virtualscroller/virtualscroller.js +334 -265
  597. package/virtualscroller/virtualscroller.min.js +1 -1
  598. package/web-types.json +229 -45
@@ -1,19 +1,65 @@
1
1
  import { VNode } from 'vue';
2
+ import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
2
3
 
3
- interface MessageProps {
4
- severity?: string;
5
- closable?: boolean;
6
- sticky?: boolean;
7
- life?: number;
8
- icon?: string;
4
+ type MessageSeverityType = 'success' | 'info' | 'warn' | 'error' | undefined;
5
+
6
+ export interface MessageProps {
7
+ /**
8
+ * Severity level of the message.
9
+ * @see MessageSeverityType
10
+ * Default value is 'info'.
11
+ */
12
+ severity?: MessageSeverityType;
13
+ /**
14
+ * Whether the message can be closed manually using the close icon.
15
+ * Default value is true.
16
+ */
17
+ closable?: boolean | undefined;
18
+ /**
19
+ * When enabled, message is not removed automatically.
20
+ */
21
+ sticky?: boolean | undefined;
22
+ /**
23
+ * Delay in milliseconds to close the message automatically.
24
+ * Default value is 3000.
25
+ */
26
+ life?: number | undefined;
27
+ /**
28
+ * Display a custom icon for the message.
29
+ */
30
+ icon?: string | undefined;
31
+ }
32
+
33
+ export interface MessageSlots {
34
+ /**
35
+ * Default custom slot.
36
+ */
37
+ default: () => VNode[];
9
38
  }
10
39
 
11
- declare class Message {
12
- $props: MessageProps;
13
- $emit(eventName: 'close', event: Event): this;
14
- $slots: {
15
- '': VNode[];
40
+ export declare type MessageEmits = {
41
+ /**
42
+ * Callback to invoke when a message is closed.
43
+ * @param {Event} event - Browser event.
44
+ */
45
+ 'close': (event: Event) => void;
46
+ }
47
+
48
+ declare class Message extends ClassComponent<MessageProps, MessageSlots, MessageEmits> { }
49
+
50
+ declare module '@vue/runtime-core' {
51
+ interface GlobalComponents {
52
+ Message: GlobalComponentConstructor<Message>
16
53
  }
17
54
  }
18
55
 
56
+ /**
57
+ *
58
+ * Messages is used to display inline messages with various severities.
59
+ *
60
+ * Demos:
61
+ *
62
+ * - [Message](https://www.primefaces.org/primevue/showcase/#/message)
63
+ *
64
+ */
19
65
  export default Message;
@@ -65,7 +65,7 @@ var script = {
65
65
  }
66
66
  },
67
67
  directives: {
68
- 'ripple': Ripple__default['default']
68
+ 'ripple': Ripple__default["default"]
69
69
  }
70
70
  };
71
71
 
@@ -137,4 +137,4 @@ styleInject(css_248z);
137
137
 
138
138
  script.render = render;
139
139
 
140
- export default script;
140
+ export { script as default };
@@ -1 +1 @@
1
- import e from"primevue/ripple";import{resolveDirective as s,openBlock as t,createBlock as i,Transition as n,withCtx as a,withDirectives as l,createVNode as o,renderSlot as p,createCommentVNode as r,vShow as c}from"vue";var m={name:"Message",emits:["close"],props:{severity:{type:String,default:"info"},closable:{type:Boolean,default:!0},sticky:{type:Boolean,default:!0},life:{type:Number,default:3e3},icon:{type:String,default:null}},timeout:null,data:()=>({visible:!0}),mounted(){this.sticky||setTimeout((()=>{this.visible=!1}),this.life)},methods:{close(e){this.visible=!1,this.$emit("close",e)}},computed:{containerClass(){return"p-message p-component p-message-"+this.severity},iconClass(){return["p-message-icon pi",this.icon?this.icon:{"pi-info-circle":"info"===this.severity,"pi-check":"success"===this.severity,"pi-exclamation-triangle":"warn"===this.severity,"pi-times-circle":"error"===this.severity}]}},directives:{ripple:e}};const d={class:"p-message-wrapper"},g={class:"p-message-text"},u=o("i",{class:"p-message-close-icon pi pi-times"},null,-1);!function(e,s){void 0===s&&(s={});var t=s.insertAt;if(e&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===t&&i.firstChild?i.insertBefore(n,i.firstChild):i.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-message-wrapper {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n.p-message-close {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.p-message-close.p-link {\n margin-left: auto;\n overflow: hidden;\n position: relative;\n}\n.p-message-enter-from {\n opacity: 0;\n}\n.p-message-enter-active {\n -webkit-transition: opacity .3s;\n transition: opacity .3s;\n}\n.p-message.p-message-leave-from {\n max-height: 1000px;\n}\n.p-message.p-message-leave-to {\n max-height: 0;\n opacity: 0;\n margin: 0 !important;\n}\n.p-message-leave-active {\n overflow: hidden;\n -webkit-transition: max-height .3s cubic-bezier(0, 1, 0, 1), opacity .3s, margin .15s;\n transition: max-height .3s cubic-bezier(0, 1, 0, 1), opacity .3s, margin .15s;\n}\n.p-message-leave-active .p-message-close {\n display: none;\n}\n"),m.render=function(e,m,f,y,h,v){const b=s("ripple");return t(),i(n,{name:"p-message",appear:""},{default:a((()=>[l(o("div",{class:v.containerClass,role:"alert"},[o("div",d,[o("span",{class:v.iconClass},null,2),o("div",g,[p(e.$slots,"default")]),f.closable?l((t(),i("button",{key:0,class:"p-message-close p-link",onClick:m[1]||(m[1]=e=>v.close(e)),type:"button"},[u],512)),[[b]]):r("",!0)])],2),[[c,h.visible]])])),_:3})};export default m;
1
+ import e from"primevue/ripple";import{resolveDirective as s,openBlock as t,createBlock as i,Transition as n,withCtx as a,withDirectives as l,createVNode as o,renderSlot as p,createCommentVNode as r,vShow as c}from"vue";var m={name:"Message",emits:["close"],props:{severity:{type:String,default:"info"},closable:{type:Boolean,default:!0},sticky:{type:Boolean,default:!0},life:{type:Number,default:3e3},icon:{type:String,default:null}},timeout:null,data:()=>({visible:!0}),mounted(){this.sticky||setTimeout((()=>{this.visible=!1}),this.life)},methods:{close(e){this.visible=!1,this.$emit("close",e)}},computed:{containerClass(){return"p-message p-component p-message-"+this.severity},iconClass(){return["p-message-icon pi",this.icon?this.icon:{"pi-info-circle":"info"===this.severity,"pi-check":"success"===this.severity,"pi-exclamation-triangle":"warn"===this.severity,"pi-times-circle":"error"===this.severity}]}},directives:{ripple:e}};const d={class:"p-message-wrapper"},g={class:"p-message-text"},u=o("i",{class:"p-message-close-icon pi pi-times"},null,-1);!function(e,s){void 0===s&&(s={});var t=s.insertAt;if(e&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===t&&i.firstChild?i.insertBefore(n,i.firstChild):i.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-message-wrapper {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n.p-message-close {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.p-message-close.p-link {\n margin-left: auto;\n overflow: hidden;\n position: relative;\n}\n.p-message-enter-from {\n opacity: 0;\n}\n.p-message-enter-active {\n -webkit-transition: opacity .3s;\n transition: opacity .3s;\n}\n.p-message.p-message-leave-from {\n max-height: 1000px;\n}\n.p-message.p-message-leave-to {\n max-height: 0;\n opacity: 0;\n margin: 0 !important;\n}\n.p-message-leave-active {\n overflow: hidden;\n -webkit-transition: max-height .3s cubic-bezier(0, 1, 0, 1), opacity .3s, margin .15s;\n transition: max-height .3s cubic-bezier(0, 1, 0, 1), opacity .3s, margin .15s;\n}\n.p-message-leave-active .p-message-close {\n display: none;\n}\n"),m.render=function(e,m,f,y,h,v){const b=s("ripple");return t(),i(n,{name:"p-message",appear:""},{default:a((()=>[l(o("div",{class:v.containerClass,role:"alert"},[o("div",d,[o("span",{class:v.iconClass},null,2),o("div",g,[p(e.$slots,"default")]),f.closable?l((t(),i("button",{key:0,class:"p-message-close p-link",onClick:m[1]||(m[1]=e=>v.close(e)),type:"button"},[u],512)),[[b]]):r("",!0)])],2),[[c,h.visible]])])),_:3})};export{m as default};
@@ -64,7 +64,7 @@ this.primevue.message = (function (Ripple, vue) {
64
64
  }
65
65
  },
66
66
  directives: {
67
- 'ripple': Ripple__default['default']
67
+ 'ripple': Ripple__default["default"]
68
68
  }
69
69
  };
70
70
 
@@ -144,4 +144,4 @@ this.primevue.message = (function (Ripple, vue) {
144
144
 
145
145
  return script;
146
146
 
147
- }(primevue.ripple, Vue));
147
+ })(primevue.ripple, Vue);
@@ -1,111 +1,391 @@
1
1
  import { VNode } from 'vue';
2
- import VirtualScrollerProps from '../virtualscroller';
2
+ import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
3
+ import { VirtualScrollerProps, VirtualScrollerItemOptions } from '../virtualscroller';
3
4
 
4
5
  type MultiSelectOptionLabelType = string | ((data: any) => string) | undefined;
6
+
5
7
  type MultiSelectOptionValueType = string | ((data: any) => any) | undefined;
8
+
6
9
  type MultiSelectOptionDisabledType = string | ((data: any) => boolean) | undefined;
10
+
7
11
  type MultiSelectOptionChildrenType = string | ((data: any) => any[]) | undefined;
8
12
 
9
- interface MultiSelectProps {
10
- modelValue?: any;
11
- options?: any[];
12
- optionLabel?: MultiSelectOptionLabelType;
13
- optionValue?: MultiSelectOptionValueType;
14
- optionDisabled?: MultiSelectOptionDisabledType;
15
- optionGroupLabel?: MultiSelectOptionLabelType;
16
- optionGroupChildren?: MultiSelectOptionChildrenType;
17
- scrollHeight?: string;
18
- placeholder?: string;
19
- disabled?: boolean;
20
- tabindex?: string;
21
- inputId?: string;
22
- dataKey?: string;
23
- filter?: boolean;
24
- filterPlaceholder?: string;
25
- filterLocale?: string;
26
- filterMatchMode?: string;
27
- filterFields?: string[];
28
- ariaLabelledBy?: string;
29
- appendTo?: string;
30
- emptyFilterMessage?: string;
31
- emptyMessage?: string;
32
- display?: string;
33
- panelClass?: string;
34
- selectedItemsLabel?: string;
35
- maxSelectedLabels?: number;
36
- selectionLimit?: number;
37
- showToggleAll?: boolean;
38
- loading?: boolean;
39
- loadingIcon?: string;
40
- virtualScrollerOptions?: VirtualScrollerProps;
41
- selectAll?: boolean;
42
- }
13
+ type MultiSelectFilterMatchModeType = 'contains' | 'startsWith' | 'endsWith' | undefined;
43
14
 
44
- interface MultiSelectValueSlotInterface {
45
- value: any;
46
- placeholder: string;
47
- }
15
+ type MultiSelectAppendToType = 'body' | 'self' | string | undefined;
16
+
17
+ type MultiSelectDisplayType = 'comma' | 'chip' | undefined;
48
18
 
49
- interface MultiSelectHeaderSlotInterface {
19
+ export interface MultiSelectChangeEvent {
20
+ /**
21
+ * Browser event
22
+ */
23
+ originalEvent: Event;
24
+ /**
25
+ * Selected option value
26
+ */
50
27
  value: any;
51
- options: any[];
52
28
  }
53
29
 
54
- interface MultiSelectFooterSlotInterface {
55
- value: any;
56
- options: any[];
30
+ export interface MultiSelectAllChangeEvent {
31
+ /**
32
+ * Browser event
33
+ */
34
+ originalEvent: Event;
35
+ /**
36
+ * Whether all data is selected.
37
+ */
38
+ checked: boolean;
57
39
  }
58
40
 
59
- interface MultiSelectOptionSlotInterface {
60
- option: any;
61
- index: number;
41
+ export interface MultiSelectFilterEvent {
42
+ /**
43
+ * Original event
44
+ */
45
+ originalEvent: Event;
46
+ /**
47
+ * Filter value
48
+ */
49
+ value: string;
62
50
  }
63
51
 
64
- interface MultiSelectOptionGroupSlotInterface {
65
- option: any;
66
- index: number;
52
+ export interface MultiSelectProps {
53
+ /**
54
+ * Value of the component.
55
+ */
56
+ modelValue?: any;
57
+ /**
58
+ * An array of selectitems to display as the available options.
59
+ */
60
+ options?: any[] | undefined;
61
+ /**
62
+ * Property name or getter function to use as the label of an option.
63
+ */
64
+ optionLabel?: MultiSelectOptionLabelType;
65
+ /**
66
+ * Property name or getter function to use as the value of an option, defaults to the option itself when not defined.
67
+ */
68
+ optionValue?: MultiSelectOptionValueType;
69
+ /**
70
+ * Property name or getter function to use as the disabled flag of an option, defaults to false when not defined.
71
+ */
72
+ optionDisabled?: MultiSelectOptionDisabledType;
73
+ /**
74
+ * Property name or getter function to use as the label of an option group.
75
+ */
76
+ optionGroupLabel?: MultiSelectOptionLabelType;
77
+ /**
78
+ * Property name or getter function that refers to the children options of option group.
79
+ */
80
+ optionGroupChildren?: MultiSelectOptionChildrenType;
81
+ /**
82
+ * Height of the viewport, a scrollbar is defined if height of list exceeds this value.
83
+ * Default value is '200px'.
84
+ */
85
+ scrollHeight?: string | undefined;
86
+ /**
87
+ * Label to display when there are no selections.
88
+ */
89
+ placeholder?: string | undefined;
90
+ /**
91
+ * When present, it specifies that the component should be disabled.
92
+ */
93
+ disabled?: boolean | undefined;
94
+ /**
95
+ * Index of the element in tabbing order.
96
+ */
97
+ tabindex?: string | number | undefined;
98
+ /**
99
+ * Identifier of the underlying input element.
100
+ */
101
+ inputId?: string | undefined;
102
+ /**
103
+ * A property to uniquely identify an option.
104
+ */
105
+ dataKey?: string | undefined;
106
+ /**
107
+ * When specified, displays a filter input at header.
108
+ */
109
+ filter?: boolean | undefined;
110
+ /**
111
+ * Placeholder text to show when filter input is empty.
112
+ */
113
+ filterPlaceholder?: string | undefined;
114
+ /**
115
+ * Locale to use in filtering. The default locale is the host environment's current locale.
116
+ */
117
+ filterLocale?: string | undefined;
118
+ /**
119
+ * Defines the filtering algorithm to use when searching the options.
120
+ * @see MultiSelectFilterMatchModeType
121
+ * Default value is 'contains'.
122
+ */
123
+ filterMatchMode?: MultiSelectFilterMatchModeType;
124
+ /**
125
+ * Fields used when filtering the options, defaults to optionLabel.
126
+ */
127
+ filterFields?: string[] | undefined;
128
+ /**
129
+ * Establishes relationships between the component and label(s) where its value should be one or more element IDs.
130
+ */
131
+ ariaLabelledBy?: string | undefined;
132
+ /**
133
+ * A valid query selector or an HTMLElement to specify where the overlay gets attached. Special keywords are 'body' for document body and 'self' for the element itself.
134
+ * @see MultiSelectAppendToType
135
+ * Default value is 'body'.
136
+ */
137
+ appendTo?: MultiSelectAppendToType;
138
+ /**
139
+ * Text to display when filtering does not return any results. Defaults to value from PrimeVue locale configuration.
140
+ * Default value is 'No results found'.
141
+ */
142
+ emptyFilterMessage?: string | undefined;
143
+ /**
144
+ * Text to display when there are no options available. Defaults to value from PrimeVue locale configuration.
145
+ * Default value is 'No results found'.
146
+ */
147
+ emptyMessage?: string | undefined;
148
+ /**
149
+ * Defines how the selected items are displayed.
150
+ * @see MultiSelectDisplayType
151
+ * Default value is 'comma'.
152
+ */
153
+ display?: MultiSelectDisplayType;
154
+ /**
155
+ * Style class of the overlay panel.
156
+ */
157
+ panelClass?: any;
158
+ /**
159
+ * Label to display after exceeding max selected labels.
160
+ * Default value is '{0} items selected'.
161
+ */
162
+ selectedItemsLabel?: string | undefined;
163
+ /**
164
+ * Decides how many selected item labels to show at most.
165
+ */
166
+ maxSelectedLabels?: number | undefined;
167
+ /**
168
+ * Maximum number of selectable items.
169
+ */
170
+ selectionLimit?: number | undefined;
171
+ /**
172
+ * Whether to show the header checkbox to toggle the selection of all items at once.
173
+ * Default value is true.
174
+ */
175
+ showToggleAll?: boolean | undefined;
176
+ /**
177
+ * Whether the multiselect is in loading state.
178
+ */
179
+ loading?: boolean | undefined;
180
+ /**
181
+ * Icon to display in loading state.
182
+ * Default value is 'pi pi-spinner pi-spin'.
183
+ */
184
+ loadingIcon?: string | undefined;
185
+ /**
186
+ * Whether to use the virtualScroller feature. The properties of VirtualScroller component can be used like an object in it.
187
+ * @see VirtualScroller.VirtualScrollerProps
188
+ */
189
+ virtualScrollerOptions?: VirtualScrollerProps;
190
+ /**
191
+ * Whether all data is selected.
192
+ */
193
+ selectAll?: boolean | undefined;
67
194
  }
68
195
 
69
- interface MultiSelectChipSlotContent {
70
- value: any;
196
+ export interface MultiSelectSlots {
197
+ /**
198
+ * Custom value template.
199
+ * @param {Object} scope - value slot's params.
200
+ */
201
+ value: (scope: {
202
+ /**
203
+ * Value of the component
204
+ */
205
+ value: any;
206
+ /**
207
+ * Placeholder prop value
208
+ */
209
+ placeholder: string;
210
+ }) => VNode[];
211
+ /**
212
+ * Custom header template.
213
+ * @param {Object} scope - header slot's params.
214
+ */
215
+ header: (scope: {
216
+ /**
217
+ * Value of the component
218
+ */
219
+ value: any;
220
+ /**
221
+ * Displayed options
222
+ */
223
+ options: any[];
224
+ }) => VNode[];
225
+ /**
226
+ * Custom footer template.
227
+ * @param {Object} scope - footer slot's params.
228
+ */
229
+ footer: (scope: {
230
+ /**
231
+ * Value of the component
232
+ */
233
+ value: any;
234
+ /**
235
+ * Displayed options
236
+ */
237
+ options: any[];
238
+ }) => VNode[];
239
+ /**
240
+ * Custom emptyfilter template.
241
+ */
242
+ emptyfilter: () => VNode[];
243
+ /**
244
+ * Custom empty template.
245
+ */
246
+ empty: () => VNode[];
247
+ /**
248
+ * Custom option template.
249
+ * @param {Object} scope - option slot's params.
250
+ */
251
+ option: (scope: {
252
+ /**
253
+ * Option instance
254
+ */
255
+ option: any;
256
+ /**
257
+ * Index of the option
258
+ */
259
+ index: number;
260
+ }) => VNode[];
261
+ /**
262
+ * Custom option group template.
263
+ * @param {Object} scope - option group slot's params.
264
+ */
265
+ optiongroup: (scope: {
266
+ /**
267
+ * Option instance
268
+ */
269
+ option: any;
270
+ /**
271
+ * Index of the option
272
+ */
273
+ index: number;
274
+ }) => VNode[];
275
+ /**
276
+ * Custom chip template.
277
+ * @param {Object} scope - chip slot's params.
278
+ */
279
+ chip: (scope: {
280
+ /**
281
+ * A value in the selection
282
+ */
283
+ value: any;
284
+ }) => VNode[];
285
+ /**
286
+ * Custom content template.
287
+ * @param {Object} scope - content slot's params.
288
+ */
289
+ content: (scope: {
290
+ /**
291
+ * An array of objects to display for virtualscroller
292
+ */
293
+ items: any;
294
+ /**
295
+ * Style class of the component
296
+ */
297
+ styleClass: string;
298
+ /**
299
+ * Referance of the content
300
+ * @param {HTMLElement} el - Element of 'ref' property
301
+ */
302
+ contentRef(el: any): void;
303
+ /**
304
+ * Options of the items
305
+ * @param {number} index - Rendered index
306
+ * @return {@link VirtualScroller.VirtualScrollerItemOptions}
307
+ */
308
+ getItemOptions(index: number): VirtualScrollerItemOptions;
309
+ }) => VNode[];
310
+ /**
311
+ * Custom loader template.
312
+ * @param {Object} scope - loader slot's params.
313
+ */
314
+ loader: (scope: {
315
+ /**
316
+ * Options of the loader items for virtualscroller
317
+ */
318
+ options: any[];
319
+ }) => VNode[];
320
+ /**
321
+ * Custom indicator template.
322
+ */
323
+ indicator: () => VNode[];
71
324
  }
72
325
 
73
- interface MultiSelectContentInterface {
74
- items: any;
75
- styleClass: string;
76
- contentRef: string;
77
- getItemOptions: any;
326
+ export declare type MultiSelectEmits = {
327
+ /**
328
+ * Emitted when the value changes.
329
+ * @param {*} value - New value.
330
+ */
331
+ 'update:modelValue': (value: any) => void;
332
+ /**
333
+ * Callback to invoke on value change.
334
+ * @param {MultiSelectChangeEvent} event - Custom change event.
335
+ */
336
+ 'change': (event: MultiSelectChangeEvent) => void;
337
+ /**
338
+ * Callback to invoke before the overlay is shown.
339
+ */
340
+ 'before-show': () => void;
341
+ /**
342
+ * Callback to invoke before the overlay is hidden.
343
+ */
344
+ 'before-hide': () => void;
345
+ /**
346
+ * Callback to invoke when the overlay is shown.
347
+ */
348
+ 'show': () => void;
349
+ /**
350
+ * Callback to invoke when the overlay is hidden.
351
+ */
352
+ 'hide': () => void;
353
+ /**
354
+ * Callback to invoke on filter input.
355
+ * @param {MultiSelectFilterEvent} event - Custom filter event.
356
+ */
357
+ 'filter': (event: MultiSelectFilterEvent) => void;
358
+ /**
359
+ * Callback to invoke when all data is selected.
360
+ * @param {MultiSelectAllChangeEvent} event - Custom select all change event.
361
+ */
362
+ 'selectall-change': (event: MultiSelectAllChangeEvent) => void;
78
363
  }
79
364
 
80
- interface MultiSelectLoaderSlotInterface {
81
- options: any[];
365
+ declare class MultiSelect extends ClassComponent<MultiSelectProps, MultiSelectSlots, MultiSelectEmits> {
366
+ /**
367
+ * Shows the overlay.
368
+ */
369
+ show: () => void;
370
+ /**
371
+ * Hides the overlay.
372
+ */
373
+ hide: () => void;
82
374
  }
83
375
 
84
- declare class MultiSelect {
85
- $props: MultiSelectProps;
86
- $emit(eventName: 'update:modelValue', value: any): this;
87
- $emit(eventName: 'change', e: {originalEvent: Event, value: any}): this;
88
- $emit(eventName: 'before-show'): this;
89
- $emit(eventName: 'before-leave'): this;
90
- $emit(eventName: 'show'): this;
91
- $emit(eventName: 'hide'): this;
92
- $emit(eventName: 'filter', e: { originalEvent: Event, value: string }): this;
93
- $emit(eventName: 'selectall-change', e: { originalEvent: Event, checked: boolean }): this;
94
- show(): void;
95
- hide(): void;
96
- $slots: {
97
- value: MultiSelectValueSlotInterface;
98
- header: MultiSelectHeaderSlotInterface;
99
- footer: MultiSelectFooterSlotInterface;
100
- emptyfilter: VNode[];
101
- empty: VNode[];
102
- option: MultiSelectOptionSlotInterface;
103
- optiongroup: MultiSelectOptionGroupSlotInterface;
104
- chip: MultiSelectChipSlotContent;
105
- content: MultiSelectContentInterface;
106
- loader: MultiSelectLoaderSlotInterface;
107
- indicator: VNode[];
376
+ declare module '@vue/runtime-core' {
377
+ interface GlobalComponents {
378
+ MultiSelect: GlobalComponentConstructor<MultiSelect>
108
379
  }
109
380
  }
110
381
 
382
+ /**
383
+ *
384
+ * MultiSelect is used to multiple values from a list of options.
385
+ *
386
+ * Demos:
387
+ *
388
+ * - [MultiSelect](https://www.primefaces.org/primevue/showcase/#/multiselect)
389
+ *
390
+ */
111
391
  export default MultiSelect;
@@ -12,9 +12,9 @@
12
12
  </template>
13
13
  <template v-else-if="display === 'chip'">
14
14
  <div v-for="item of modelValue" class="p-multiselect-token" :key="getLabelByValue(item)">
15
- <slot name="chip" :value="item">
15
+ <slot name="chip" :value="item">
16
16
  <span class="p-multiselect-token-label">{{getLabelByValue(item)}}</span>
17
- </slot>
17
+ </slot>
18
18
  <span v-if="!disabled" class="p-multiselect-token-icon pi pi-times-circle" @click="removeChip(item)"></span>
19
19
  </div>
20
20
  <template v-if="!modelValue || modelValue.length === 0">{{placeholder || 'empty'}}</template>
@@ -28,7 +28,7 @@
28
28
  </slot>
29
29
  </div>
30
30
  <Teleport :to="appendTarget" :disabled="appendDisabled">
31
- <transition name="p-connected-overlay" @enter="onOverlayEnter" @leave="onOverlayLeave" @after-leave="onOverlayAfterLeave">
31
+ <transition name="p-connected-overlay" @enter="onOverlayEnter" @after-enter="onOverlayAfterEnter" @leave="onOverlayLeave" @after-leave="onOverlayAfterLeave">
32
32
  <div :ref="overlayRef" :class="panelStyleClass" v-if="overlayVisible" @click="onOverlayClick">
33
33
  <slot name="header" :value="modelValue" :options="visibleOptions"></slot>
34
34
  <div class="p-multiselect-header" v-if="(showToggleAll && selectionLimit == null) || filter">
@@ -41,7 +41,7 @@
41
41
  </div>
42
42
  </div>
43
43
  <div v-if="filter" class="p-multiselect-filter-container">
44
- <input type="text" ref="filterInput" v-model="filterValue" class="p-multiselect-filter p-inputtext p-component" :placeholder="filterPlaceholder" @input="onFilterChange">
44
+ <input type="text" ref="filterInput" v-model="filterValue" autoComplete="on" class="p-multiselect-filter p-inputtext p-component" :placeholder="filterPlaceholder" @input="onFilterChange">
45
45
  <span class="p-multiselect-filter-icon pi pi-search"></span>
46
46
  </div>
47
47
  <button class="p-multiselect-close p-link" @click="onCloseClick" type="button" v-ripple>
@@ -50,8 +50,8 @@
50
50
  </div>
51
51
  <div class="p-multiselect-items-wrapper" :style="{'max-height': virtualScrollerDisabled ? scrollHeight : ''}">
52
52
  <VirtualScroller :ref="virtualScrollerRef" v-bind="virtualScrollerOptions" :items="visibleOptions" :style="{'height': scrollHeight}" :disabled="virtualScrollerDisabled">
53
- <template v-slot:content="{ styleClass, contentRef, items, getItemOptions }">
54
- <ul :ref="contentRef" :class="['p-multiselect-items p-component', styleClass]" role="listbox" aria-multiselectable="true">
53
+ <template v-slot:content="{ styleClass, contentRef, items, getItemOptions, contentStyle}">
54
+ <ul :ref="contentRef" :class="['p-multiselect-items p-component', styleClass]" :style="contentStyle" role="listbox" aria-multiselectable="true">
55
55
  <template v-if="!optionGroupLabel">
56
56
  <li v-for="(option, i) of items" :class="['p-multiselect-item', {'p-highlight': isSelected(option), 'p-disabled': isOptionDisabled(option)}]" role="option" :aria-selected="isSelected(option)"
57
57
  :key="getOptionRenderKey(option)" @click="onOptionSelect($event, option)" @keydown="onOptionKeyDown($event, option)" :tabindex="tabindex||'0'" :aria-label="getOptionLabel(option)" v-ripple>
@@ -420,6 +420,17 @@ export default {
420
420
  onOverlayEnter(el) {
421
421
  ZIndexUtils.set('overlay', el, this.$primevue.config.zIndex.overlay);
422
422
  this.alignOverlay();
423
+
424
+ if (!this.virtualScrollerDisabled) {
425
+ const selectedIndex = this.getSelectedOptionIndex();
426
+ if (selectedIndex !== -1) {
427
+ setTimeout(() => {
428
+ this.virtualScroller && this.virtualScroller.scrollToIndex(selectedIndex)
429
+ }, 0);
430
+ }
431
+ }
432
+ },
433
+ onOverlayAfterEnter() {
423
434
  this.bindOutsideClickListener();
424
435
  this.bindScrollListener();
425
436
  this.bindResizeListener();
@@ -428,13 +439,6 @@ export default {
428
439
  this.$refs.filterInput.focus();
429
440
  }
430
441
 
431
- if (!this.virtualScrollerDisabled) {
432
- const selectedIndex = this.getSelectedOptionIndex();
433
- if (selectedIndex !== -1) {
434
- this.virtualScroller.scrollToIndex(selectedIndex);
435
- }
436
- }
437
-
438
442
  this.$emit('show');
439
443
  },
440
444
  onOverlayLeave() {