primevue 4.1.0 → 4.2.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 (596) hide show
  1. package/README.md +2 -94
  2. package/accordion/index.d.ts +2 -2
  3. package/accordion/index.mjs.map +1 -1
  4. package/accordion/style/index.mjs +1 -1
  5. package/accordion/style/index.mjs.map +1 -1
  6. package/accordioncontent/index.d.ts +2 -2
  7. package/accordioncontent/index.mjs.map +1 -1
  8. package/accordioncontent/style/index.mjs.map +1 -1
  9. package/accordionheader/index.d.ts +2 -2
  10. package/accordionheader/index.mjs.map +1 -1
  11. package/accordionheader/style/index.mjs.map +1 -1
  12. package/accordionpanel/index.d.ts +2 -2
  13. package/accordionpanel/index.mjs.map +1 -1
  14. package/accordionpanel/style/index.mjs.map +1 -1
  15. package/accordiontab/index.d.ts +2 -2
  16. package/accordiontab/index.mjs.map +1 -1
  17. package/accordiontab/style/index.mjs.map +1 -1
  18. package/animateonscroll/index.mjs.map +1 -1
  19. package/animateonscroll/style/index.mjs.map +1 -1
  20. package/autocomplete/AutoComplete.vue +36 -32
  21. package/autocomplete/BaseAutoComplete.vue +2 -19
  22. package/autocomplete/index.d.ts +23 -2
  23. package/autocomplete/index.mjs +40 -53
  24. package/autocomplete/index.mjs.map +1 -1
  25. package/autocomplete/style/index.mjs +7 -7
  26. package/autocomplete/style/index.mjs.map +1 -1
  27. package/avatar/index.d.ts +2 -2
  28. package/avatar/index.mjs.map +1 -1
  29. package/avatar/style/index.mjs +1 -1
  30. package/avatar/style/index.mjs.map +1 -1
  31. package/avatargroup/index.d.ts +2 -2
  32. package/avatargroup/index.mjs.map +1 -1
  33. package/avatargroup/style/index.mjs.map +1 -1
  34. package/badge/index.d.ts +2 -2
  35. package/badge/index.mjs.map +1 -1
  36. package/badge/style/index.mjs.map +1 -1
  37. package/badgedirective/index.d.ts +2 -2
  38. package/badgedirective/index.mjs.map +1 -1
  39. package/badgedirective/style/index.mjs.map +1 -1
  40. package/blockui/index.d.ts +2 -2
  41. package/blockui/index.mjs.map +1 -1
  42. package/blockui/style/index.mjs.map +1 -1
  43. package/breadcrumb/Breadcrumb.vue +1 -1
  44. package/breadcrumb/index.d.ts +2 -2
  45. package/breadcrumb/index.mjs +2 -1
  46. package/breadcrumb/index.mjs.map +1 -1
  47. package/breadcrumb/style/index.d.ts +4 -0
  48. package/breadcrumb/style/index.mjs +2 -1
  49. package/breadcrumb/style/index.mjs.map +1 -1
  50. package/button/BaseButton.vue +4 -0
  51. package/button/index.d.ts +8 -2
  52. package/button/index.mjs +4 -0
  53. package/button/index.mjs.map +1 -1
  54. package/button/style/index.mjs +3 -3
  55. package/button/style/index.mjs.map +1 -1
  56. package/buttongroup/index.d.ts +2 -2
  57. package/buttongroup/index.mjs.map +1 -1
  58. package/buttongroup/style/index.mjs +1 -1
  59. package/buttongroup/style/index.mjs.map +1 -1
  60. package/calendar/index.d.ts +2 -2
  61. package/calendar/index.mjs.map +1 -1
  62. package/calendar/style/index.mjs.map +1 -1
  63. package/card/index.d.ts +2 -2
  64. package/card/index.mjs.map +1 -1
  65. package/card/style/index.mjs.map +1 -1
  66. package/carousel/index.d.ts +2 -2
  67. package/carousel/index.mjs.map +1 -1
  68. package/carousel/style/index.mjs +1 -1
  69. package/carousel/style/index.mjs.map +1 -1
  70. package/cascadeselect/BaseCascadeSelect.vue +8 -14
  71. package/cascadeselect/CascadeSelect.vue +86 -55
  72. package/cascadeselect/CascadeSelectSub.vue +8 -17
  73. package/cascadeselect/index.d.ts +47 -2
  74. package/cascadeselect/index.mjs +148 -99
  75. package/cascadeselect/index.mjs.map +1 -1
  76. package/cascadeselect/style/index.d.ts +4 -0
  77. package/cascadeselect/style/index.mjs +9 -6
  78. package/cascadeselect/style/index.mjs.map +1 -1
  79. package/chart/index.d.ts +2 -2
  80. package/chart/index.mjs.map +1 -1
  81. package/chart/style/index.mjs.map +1 -1
  82. package/checkbox/BaseCheckbox.vue +2 -19
  83. package/checkbox/Checkbox.vue +18 -6
  84. package/checkbox/index.d.ts +19 -2
  85. package/checkbox/index.mjs +20 -25
  86. package/checkbox/index.mjs.map +1 -1
  87. package/checkbox/style/index.mjs +5 -3
  88. package/checkbox/style/index.mjs.map +1 -1
  89. package/checkboxgroup/BaseCheckboxGroup.vue +16 -0
  90. package/checkboxgroup/CheckboxGroup.vue +29 -0
  91. package/checkboxgroup/index.d.ts +160 -0
  92. package/checkboxgroup/index.mjs +46 -0
  93. package/checkboxgroup/index.mjs.map +1 -0
  94. package/checkboxgroup/package.json +11 -0
  95. package/checkboxgroup/style/index.d.ts +19 -0
  96. package/checkboxgroup/style/index.mjs +17 -0
  97. package/checkboxgroup/style/index.mjs.map +1 -0
  98. package/checkboxgroup/style/package.json +6 -0
  99. package/chip/index.d.ts +2 -2
  100. package/chip/index.mjs.map +1 -1
  101. package/chip/style/index.mjs +1 -1
  102. package/chip/style/index.mjs.map +1 -1
  103. package/chips/index.d.ts +2 -2
  104. package/chips/index.mjs.map +1 -1
  105. package/chips/style/index.mjs.map +1 -1
  106. package/colorpicker/BaseColorPicker.vue +2 -10
  107. package/colorpicker/ColorPicker.vue +7 -4
  108. package/colorpicker/index.d.ts +24 -2
  109. package/colorpicker/index.mjs +21 -23
  110. package/colorpicker/index.mjs.map +1 -1
  111. package/colorpicker/style/index.mjs +5 -3
  112. package/colorpicker/style/index.mjs.map +1 -1
  113. package/column/index.d.ts +2 -2
  114. package/column/index.mjs.map +1 -1
  115. package/column/style/index.mjs.map +1 -1
  116. package/columngroup/index.d.ts +2 -2
  117. package/columngroup/index.mjs.map +1 -1
  118. package/columngroup/style/index.mjs.map +1 -1
  119. package/config/index.d.ts +4 -0
  120. package/confirmationservice/index.mjs.map +1 -1
  121. package/confirmdialog/index.d.ts +2 -2
  122. package/confirmdialog/index.mjs.map +1 -1
  123. package/confirmdialog/style/index.mjs.map +1 -1
  124. package/confirmpopup/index.d.ts +2 -2
  125. package/confirmpopup/index.mjs.map +1 -1
  126. package/confirmpopup/style/index.mjs +1 -1
  127. package/confirmpopup/style/index.mjs.map +1 -1
  128. package/contextmenu/ContextMenu.vue +8 -3
  129. package/contextmenu/index.d.ts +2 -2
  130. package/contextmenu/index.mjs +6 -3
  131. package/contextmenu/index.mjs.map +1 -1
  132. package/contextmenu/style/index.mjs +1 -1
  133. package/contextmenu/style/index.mjs.map +1 -1
  134. package/datatable/BodyCell.vue +15 -6
  135. package/datatable/DataTable.vue +58 -4
  136. package/datatable/FooterCell.vue +15 -6
  137. package/datatable/HeaderCell.vue +15 -6
  138. package/datatable/index.d.ts +14 -10
  139. package/datatable/index.mjs +167 -82
  140. package/datatable/index.mjs.map +1 -1
  141. package/datatable/style/index.mjs +1 -1
  142. package/datatable/style/index.mjs.map +1 -1
  143. package/dataview/DataView.vue +33 -1
  144. package/dataview/index.d.ts +6 -2
  145. package/dataview/index.mjs +42 -6
  146. package/dataview/index.mjs.map +1 -1
  147. package/dataview/style/index.mjs.map +1 -1
  148. package/datepicker/BaseDatePicker.vue +2 -23
  149. package/datepicker/DatePicker.vue +39 -40
  150. package/datepicker/index.d.ts +23 -6
  151. package/datepicker/index.mjs +45 -65
  152. package/datepicker/index.mjs.map +1 -1
  153. package/datepicker/style/index.mjs +4 -5
  154. package/datepicker/style/index.mjs.map +1 -1
  155. package/deferredcontent/index.d.ts +2 -2
  156. package/deferredcontent/index.mjs.map +1 -1
  157. package/deferredcontent/style/index.mjs.map +1 -1
  158. package/dialog/index.d.ts +2 -2
  159. package/dialog/index.mjs.map +1 -1
  160. package/dialog/style/index.mjs +1 -1
  161. package/dialog/style/index.mjs.map +1 -1
  162. package/dialogservice/index.mjs.map +1 -1
  163. package/divider/index.d.ts +2 -2
  164. package/divider/index.mjs.map +1 -1
  165. package/divider/style/index.mjs +1 -1
  166. package/divider/style/index.mjs.map +1 -1
  167. package/dock/index.d.ts +2 -2
  168. package/dock/index.mjs.map +1 -1
  169. package/dock/style/index.mjs +1 -1
  170. package/dock/style/index.mjs.map +1 -1
  171. package/drawer/index.d.ts +2 -2
  172. package/drawer/index.mjs.map +1 -1
  173. package/drawer/style/index.mjs +1 -1
  174. package/drawer/style/index.mjs.map +1 -1
  175. package/dropdown/index.d.ts +2 -2
  176. package/dropdown/index.mjs.map +1 -1
  177. package/dropdown/style/index.mjs.map +1 -1
  178. package/dynamicdialog/index.d.ts +2 -2
  179. package/dynamicdialog/index.mjs.map +1 -1
  180. package/dynamicdialog/style/index.mjs.map +1 -1
  181. package/editor/BaseEditor.vue +2 -3
  182. package/editor/Editor.vue +3 -3
  183. package/editor/index.d.ts +24 -2
  184. package/editor/index.mjs +5 -6
  185. package/editor/index.mjs.map +1 -1
  186. package/editor/style/index.mjs +7 -2
  187. package/editor/style/index.mjs.map +1 -1
  188. package/fieldset/index.d.ts +2 -2
  189. package/fieldset/index.mjs.map +1 -1
  190. package/fieldset/style/index.mjs +1 -1
  191. package/fieldset/style/index.mjs.map +1 -1
  192. package/fileupload/index.d.ts +2 -2
  193. package/fileupload/index.mjs.map +1 -1
  194. package/fileupload/style/index.mjs +1 -1
  195. package/fileupload/style/index.mjs.map +1 -1
  196. package/floatlabel/index.d.ts +2 -2
  197. package/floatlabel/index.mjs.map +1 -1
  198. package/floatlabel/style/index.mjs +1 -1
  199. package/floatlabel/style/index.mjs.map +1 -1
  200. package/fluid/index.d.ts +2 -2
  201. package/fluid/index.mjs.map +1 -1
  202. package/fluid/style/index.mjs.map +1 -1
  203. package/focustrap/index.mjs.map +1 -1
  204. package/focustrap/style/index.mjs.map +1 -1
  205. package/galleria/index.d.ts +2 -2
  206. package/galleria/index.mjs.map +1 -1
  207. package/galleria/style/index.mjs +1 -1
  208. package/galleria/style/index.mjs.map +1 -1
  209. package/iconfield/index.d.ts +2 -2
  210. package/iconfield/index.mjs.map +1 -1
  211. package/iconfield/style/index.mjs +1 -1
  212. package/iconfield/style/index.mjs.map +1 -1
  213. package/iftalabel/index.d.ts +2 -2
  214. package/iftalabel/index.mjs.map +1 -1
  215. package/iftalabel/style/index.mjs +1 -1
  216. package/iftalabel/style/index.mjs.map +1 -1
  217. package/image/index.d.ts +2 -2
  218. package/image/index.mjs.map +1 -1
  219. package/image/style/index.mjs +1 -1
  220. package/image/style/index.mjs.map +1 -1
  221. package/imagecompare/ImageCompare.vue +33 -1
  222. package/imagecompare/index.d.ts +2 -2
  223. package/imagecompare/index.mjs +35 -1
  224. package/imagecompare/index.mjs.map +1 -1
  225. package/imagecompare/style/index.mjs +1 -1
  226. package/imagecompare/style/index.mjs.map +1 -1
  227. package/index.d.ts +811 -0
  228. package/index.mjs +531 -0
  229. package/index.mjs.map +1 -0
  230. package/inlinemessage/index.d.ts +2 -2
  231. package/inlinemessage/index.mjs.map +1 -1
  232. package/inlinemessage/style/index.mjs.map +1 -1
  233. package/inplace/index.d.ts +2 -6
  234. package/inplace/index.mjs.map +1 -1
  235. package/inplace/style/index.mjs.map +1 -1
  236. package/inputchips/index.d.ts +2 -2
  237. package/inputchips/index.mjs.map +1 -1
  238. package/inputchips/style/index.mjs.map +1 -1
  239. package/inputgroup/index.d.ts +2 -2
  240. package/inputgroup/index.mjs.map +1 -1
  241. package/inputgroup/style/index.mjs +1 -1
  242. package/inputgroup/style/index.mjs.map +1 -1
  243. package/inputgroupaddon/index.d.ts +2 -2
  244. package/inputgroupaddon/index.mjs.map +1 -1
  245. package/inputgroupaddon/style/index.mjs.map +1 -1
  246. package/inputicon/index.d.ts +2 -2
  247. package/inputicon/index.mjs.map +1 -1
  248. package/inputicon/style/index.mjs.map +1 -1
  249. package/inputmask/BaseInputMask.vue +2 -23
  250. package/inputmask/InputMask.vue +9 -14
  251. package/inputmask/index.d.ts +15 -2
  252. package/inputmask/index.mjs +13 -38
  253. package/inputmask/index.mjs.map +1 -1
  254. package/inputmask/style/index.mjs +1 -1
  255. package/inputmask/style/index.mjs.map +1 -1
  256. package/inputnumber/BaseInputNumber.vue +2 -22
  257. package/inputnumber/InputNumber.vue +14 -16
  258. package/inputnumber/index.d.ts +28 -2
  259. package/inputnumber/index.mjs +22 -39
  260. package/inputnumber/index.mjs.map +1 -1
  261. package/inputnumber/style/index.mjs +3 -3
  262. package/inputnumber/style/index.mjs.map +1 -1
  263. package/inputotp/BaseInputOtp.vue +2 -18
  264. package/inputotp/InputOtp.vue +4 -2
  265. package/inputotp/index.d.ts +23 -2
  266. package/inputotp/index.mjs +7 -21
  267. package/inputotp/index.mjs.map +1 -1
  268. package/inputotp/style/index.mjs +2 -2
  269. package/inputotp/style/index.mjs.map +1 -1
  270. package/inputswitch/index.d.ts +2 -2
  271. package/inputswitch/index.mjs.map +1 -1
  272. package/inputswitch/style/index.mjs.map +1 -1
  273. package/inputtext/BaseInputText.vue +2 -21
  274. package/inputtext/InputText.vue +13 -22
  275. package/inputtext/index.d.ts +19 -2
  276. package/inputtext/index.mjs +16 -48
  277. package/inputtext/index.mjs.map +1 -1
  278. package/inputtext/style/index.mjs +7 -7
  279. package/inputtext/style/index.mjs.map +1 -1
  280. package/keyfilter/index.mjs.map +1 -1
  281. package/keyfilter/style/index.mjs.map +1 -1
  282. package/knob/BaseKnob.vue +2 -10
  283. package/knob/Knob.vue +23 -19
  284. package/knob/index.d.ts +26 -4
  285. package/knob/index.mjs +31 -32
  286. package/knob/index.mjs.map +1 -1
  287. package/knob/style/index.mjs +4 -2
  288. package/knob/style/index.mjs.map +1 -1
  289. package/listbox/BaseListbox.vue +2 -11
  290. package/listbox/Listbox.vue +21 -20
  291. package/listbox/index.d.ts +19 -2
  292. package/listbox/index.mjs +23 -31
  293. package/listbox/index.mjs.map +1 -1
  294. package/listbox/style/index.mjs +4 -3
  295. package/listbox/style/index.mjs.map +1 -1
  296. package/megamenu/BaseMegaMenu.vue +4 -0
  297. package/megamenu/MegaMenu.vue +15 -5
  298. package/megamenu/index.d.ts +7 -2
  299. package/megamenu/index.mjs +23 -6
  300. package/megamenu/index.mjs.map +1 -1
  301. package/megamenu/style/index.mjs +5 -5
  302. package/megamenu/style/index.mjs.map +1 -1
  303. package/menu/index.d.ts +2 -2
  304. package/menu/index.mjs.map +1 -1
  305. package/menu/style/index.mjs +1 -1
  306. package/menu/style/index.mjs.map +1 -1
  307. package/menubar/Menubar.vue +8 -3
  308. package/menubar/index.d.ts +2 -2
  309. package/menubar/index.mjs +6 -3
  310. package/menubar/index.mjs.map +1 -1
  311. package/menubar/style/index.mjs +1 -1
  312. package/menubar/style/index.mjs.map +1 -1
  313. package/message/BaseMessage.vue +8 -0
  314. package/message/index.d.ts +11 -2
  315. package/message/index.mjs +8 -0
  316. package/message/index.mjs.map +1 -1
  317. package/message/style/index.mjs +7 -2
  318. package/message/style/index.mjs.map +1 -1
  319. package/metergroup/index.d.ts +2 -2
  320. package/metergroup/index.mjs.map +1 -1
  321. package/metergroup/style/index.mjs +1 -1
  322. package/metergroup/style/index.mjs.map +1 -1
  323. package/multiselect/BaseMultiSelect.vue +14 -19
  324. package/multiselect/MultiSelect.vue +45 -31
  325. package/multiselect/index.d.ts +52 -2
  326. package/multiselect/index.mjs +71 -52
  327. package/multiselect/index.mjs.map +1 -1
  328. package/multiselect/style/index.d.ts +4 -0
  329. package/multiselect/style/index.mjs +8 -5
  330. package/multiselect/style/index.mjs.map +1 -1
  331. package/orderlist/index.d.ts +2 -2
  332. package/orderlist/index.mjs.map +1 -1
  333. package/orderlist/style/index.mjs.map +1 -1
  334. package/organizationchart/index.d.ts +2 -2
  335. package/organizationchart/index.mjs.map +1 -1
  336. package/organizationchart/style/index.mjs +1 -1
  337. package/organizationchart/style/index.mjs.map +1 -1
  338. package/overlaybadge/index.d.ts +2 -2
  339. package/overlaybadge/index.mjs.map +1 -1
  340. package/overlaybadge/style/index.mjs +1 -1
  341. package/overlaybadge/style/index.mjs.map +1 -1
  342. package/overlaypanel/index.d.ts +2 -2
  343. package/overlaypanel/index.mjs.map +1 -1
  344. package/overlaypanel/style/index.mjs.map +1 -1
  345. package/package.json +15 -6
  346. package/paginator/Paginator.vue +104 -84
  347. package/paginator/index.d.ts +56 -2
  348. package/paginator/index.mjs +21 -3
  349. package/paginator/index.mjs.map +1 -1
  350. package/paginator/style/index.mjs +1 -1
  351. package/paginator/style/index.mjs.map +1 -1
  352. package/panel/index.d.ts +2 -2
  353. package/panel/index.mjs.map +1 -1
  354. package/panel/style/index.mjs.map +1 -1
  355. package/panelmenu/index.d.ts +2 -2
  356. package/panelmenu/index.mjs.map +1 -1
  357. package/panelmenu/style/index.mjs +1 -1
  358. package/panelmenu/style/index.mjs.map +1 -1
  359. package/passthrough/index.mjs.map +1 -1
  360. package/password/BasePassword.vue +2 -15
  361. package/password/Password.vue +13 -18
  362. package/password/index.d.ts +23 -2
  363. package/password/index.mjs +14 -32
  364. package/password/index.mjs.map +1 -1
  365. package/password/style/index.mjs +3 -3
  366. package/password/style/index.mjs.map +1 -1
  367. package/picklist/index.d.ts +2 -2
  368. package/picklist/index.mjs.map +1 -1
  369. package/picklist/style/index.mjs.map +1 -1
  370. package/popover/index.d.ts +2 -2
  371. package/popover/index.mjs.map +1 -1
  372. package/popover/style/index.mjs +1 -1
  373. package/popover/style/index.mjs.map +1 -1
  374. package/portal/index.d.ts +2 -2
  375. package/portal/index.mjs.map +1 -1
  376. package/portal/style/index.mjs.map +1 -1
  377. package/progressbar/index.d.ts +2 -2
  378. package/progressbar/index.mjs.map +1 -1
  379. package/progressbar/style/index.mjs +1 -1
  380. package/progressbar/style/index.mjs.map +1 -1
  381. package/progressspinner/index.d.ts +2 -2
  382. package/progressspinner/index.mjs.map +1 -1
  383. package/progressspinner/style/index.mjs.map +1 -1
  384. package/radiobutton/BaseRadioButton.vue +2 -19
  385. package/radiobutton/RadioButton.vue +15 -4
  386. package/radiobutton/index.d.ts +19 -2
  387. package/radiobutton/index.mjs +17 -23
  388. package/radiobutton/index.mjs.map +1 -1
  389. package/radiobutton/style/index.mjs +5 -3
  390. package/radiobutton/style/index.mjs.map +1 -1
  391. package/radiobuttongroup/BaseRadioButtonGroup.vue +16 -0
  392. package/radiobuttongroup/RadioButtonGroup.vue +29 -0
  393. package/radiobuttongroup/index.d.ts +160 -0
  394. package/radiobuttongroup/index.mjs +46 -0
  395. package/radiobuttongroup/index.mjs.map +1 -0
  396. package/radiobuttongroup/package.json +11 -0
  397. package/radiobuttongroup/style/index.d.ts +19 -0
  398. package/radiobuttongroup/style/index.mjs +17 -0
  399. package/radiobuttongroup/style/index.mjs.map +1 -0
  400. package/radiobuttongroup/style/package.json +6 -0
  401. package/rating/BaseRating.vue +2 -10
  402. package/rating/Rating.vue +17 -16
  403. package/rating/index.d.ts +20 -2
  404. package/rating/index.mjs +17 -23
  405. package/rating/index.mjs.map +1 -1
  406. package/rating/style/index.mjs +14 -5
  407. package/rating/style/index.mjs.map +1 -1
  408. package/ripple/index.mjs.map +1 -1
  409. package/ripple/style/index.mjs.map +1 -1
  410. package/row/index.d.ts +2 -2
  411. package/row/index.mjs.map +1 -1
  412. package/row/style/index.mjs.map +1 -1
  413. package/scrollpanel/ScrollPanel.vue +38 -5
  414. package/scrollpanel/index.d.ts +2 -2
  415. package/scrollpanel/index.mjs +58 -28
  416. package/scrollpanel/index.mjs.map +1 -1
  417. package/scrollpanel/style/index.mjs +1 -1
  418. package/scrollpanel/style/index.mjs.map +1 -1
  419. package/scrolltop/index.d.ts +2 -2
  420. package/scrolltop/index.mjs.map +1 -1
  421. package/scrolltop/style/index.mjs +1 -1
  422. package/scrolltop/style/index.mjs.map +1 -1
  423. package/select/BaseSelect.vue +2 -19
  424. package/select/Select.vue +15 -19
  425. package/select/index.d.ts +23 -2
  426. package/select/index.mjs +18 -40
  427. package/select/index.mjs.map +1 -1
  428. package/select/style/index.mjs +7 -5
  429. package/select/style/index.mjs.map +1 -1
  430. package/selectbutton/BaseSelectButton.vue +6 -8
  431. package/selectbutton/SelectButton.vue +9 -8
  432. package/selectbutton/index.d.ts +23 -2
  433. package/selectbutton/index.mjs +15 -16
  434. package/selectbutton/index.mjs.map +1 -1
  435. package/selectbutton/style/index.mjs +3 -3
  436. package/selectbutton/style/index.mjs.map +1 -1
  437. package/sidebar/index.d.ts +2 -2
  438. package/sidebar/index.mjs.map +1 -1
  439. package/sidebar/style/index.mjs.map +1 -1
  440. package/skeleton/index.d.ts +2 -2
  441. package/skeleton/index.mjs.map +1 -1
  442. package/skeleton/style/index.mjs +1 -1
  443. package/skeleton/style/index.mjs.map +1 -1
  444. package/slider/BaseSlider.vue +2 -7
  445. package/slider/Slider.vue +94 -38
  446. package/slider/index.d.ts +24 -2
  447. package/slider/index.mjs +145 -72
  448. package/slider/index.mjs.map +1 -1
  449. package/slider/style/index.mjs +4 -2
  450. package/slider/style/index.mjs.map +1 -1
  451. package/speeddial/index.d.ts +2 -2
  452. package/speeddial/index.mjs.map +1 -1
  453. package/speeddial/style/index.mjs +1 -1
  454. package/speeddial/style/index.mjs.map +1 -1
  455. package/splitbutton/index.d.ts +2 -2
  456. package/splitbutton/index.mjs.map +1 -1
  457. package/splitbutton/style/index.mjs +1 -1
  458. package/splitbutton/style/index.mjs.map +1 -1
  459. package/splitter/Splitter.vue +31 -3
  460. package/splitter/index.d.ts +2 -2
  461. package/splitter/index.mjs +50 -20
  462. package/splitter/index.mjs.map +1 -1
  463. package/splitter/style/index.mjs.map +1 -1
  464. package/splitterpanel/index.d.ts +2 -2
  465. package/splitterpanel/index.mjs.map +1 -1
  466. package/splitterpanel/style/index.mjs.map +1 -1
  467. package/step/index.d.ts +2 -2
  468. package/step/index.mjs.map +1 -1
  469. package/step/style/index.mjs.map +1 -1
  470. package/stepitem/index.d.ts +2 -2
  471. package/stepitem/index.mjs.map +1 -1
  472. package/stepitem/style/index.mjs.map +1 -1
  473. package/steplist/index.d.ts +2 -2
  474. package/steplist/index.mjs.map +1 -1
  475. package/steplist/style/index.mjs.map +1 -1
  476. package/steppanel/index.d.ts +2 -2
  477. package/steppanel/index.mjs.map +1 -1
  478. package/steppanel/style/index.mjs.map +1 -1
  479. package/steppanels/index.d.ts +2 -2
  480. package/steppanels/index.mjs.map +1 -1
  481. package/steppanels/style/index.mjs.map +1 -1
  482. package/stepper/index.d.ts +2 -2
  483. package/stepper/index.mjs.map +1 -1
  484. package/stepper/style/index.mjs +1 -1
  485. package/stepper/style/index.mjs.map +1 -1
  486. package/steps/index.d.ts +2 -2
  487. package/steps/index.mjs.map +1 -1
  488. package/steps/style/index.mjs +1 -1
  489. package/steps/style/index.mjs.map +1 -1
  490. package/styleclass/index.mjs.map +1 -1
  491. package/styleclass/style/index.mjs.map +1 -1
  492. package/tab/index.d.ts +2 -2
  493. package/tab/index.mjs.map +1 -1
  494. package/tab/style/index.mjs.map +1 -1
  495. package/tablist/TabList.vue +40 -5
  496. package/tablist/index.d.ts +2 -2
  497. package/tablist/index.mjs +38 -5
  498. package/tablist/index.mjs.map +1 -1
  499. package/tablist/style/index.mjs.map +1 -1
  500. package/tabmenu/index.d.ts +2 -2
  501. package/tabmenu/index.mjs.map +1 -1
  502. package/tabmenu/style/index.mjs.map +1 -1
  503. package/tabpanel/index.d.ts +2 -2
  504. package/tabpanel/index.mjs.map +1 -1
  505. package/tabpanel/style/index.mjs.map +1 -1
  506. package/tabpanels/index.d.ts +2 -2
  507. package/tabpanels/index.mjs.map +1 -1
  508. package/tabpanels/style/index.mjs.map +1 -1
  509. package/tabs/index.d.ts +2 -2
  510. package/tabs/index.mjs.map +1 -1
  511. package/tabs/style/index.mjs +1 -1
  512. package/tabs/style/index.mjs.map +1 -1
  513. package/tabview/index.d.ts +2 -2
  514. package/tabview/index.mjs.map +1 -1
  515. package/tabview/style/index.mjs.map +1 -1
  516. package/tag/index.d.ts +2 -2
  517. package/tag/index.mjs.map +1 -1
  518. package/tag/style/index.mjs.map +1 -1
  519. package/terminal/index.d.ts +2 -2
  520. package/terminal/index.mjs.map +1 -1
  521. package/terminal/style/index.mjs +1 -1
  522. package/terminal/style/index.mjs.map +1 -1
  523. package/textarea/BaseTextarea.vue +3 -16
  524. package/textarea/Textarea.vue +13 -19
  525. package/textarea/index.d.ts +23 -2
  526. package/textarea/index.mjs +14 -38
  527. package/textarea/index.mjs.map +1 -1
  528. package/textarea/style/index.mjs +7 -5
  529. package/textarea/style/index.mjs.map +1 -1
  530. package/tieredmenu/TieredMenu.vue +8 -3
  531. package/tieredmenu/index.d.ts +2 -2
  532. package/tieredmenu/index.mjs +6 -3
  533. package/tieredmenu/index.mjs.map +1 -1
  534. package/tieredmenu/style/index.mjs +1 -1
  535. package/tieredmenu/style/index.mjs.map +1 -1
  536. package/timeline/index.d.ts +2 -2
  537. package/timeline/index.mjs.map +1 -1
  538. package/timeline/style/index.mjs.map +1 -1
  539. package/toast/Toast.vue +0 -1
  540. package/toast/index.d.ts +2 -2
  541. package/toast/index.mjs.map +1 -1
  542. package/toast/style/index.mjs +1 -1
  543. package/toast/style/index.mjs.map +1 -1
  544. package/toastservice/index.mjs.map +1 -1
  545. package/togglebutton/BaseToggleButton.vue +6 -11
  546. package/togglebutton/ToggleButton.vue +11 -7
  547. package/togglebutton/index.d.ts +23 -2
  548. package/togglebutton/index.mjs +20 -18
  549. package/togglebutton/index.mjs.map +1 -1
  550. package/togglebutton/style/index.mjs +4 -2
  551. package/togglebutton/style/index.mjs.map +1 -1
  552. package/toggleswitch/BaseToggleSwitch.vue +2 -14
  553. package/toggleswitch/ToggleSwitch.vue +4 -3
  554. package/toggleswitch/index.d.ts +19 -2
  555. package/toggleswitch/index.mjs +7 -17
  556. package/toggleswitch/index.mjs.map +1 -1
  557. package/toggleswitch/style/index.mjs +2 -2
  558. package/toggleswitch/style/index.mjs.map +1 -1
  559. package/toolbar/index.d.ts +2 -2
  560. package/toolbar/index.mjs.map +1 -1
  561. package/toolbar/style/index.mjs.map +1 -1
  562. package/tooltip/index.mjs.map +1 -1
  563. package/tooltip/style/index.mjs +1 -1
  564. package/tooltip/style/index.mjs.map +1 -1
  565. package/tree/Tree.vue +1 -1
  566. package/tree/TreeNode.vue +1 -1
  567. package/tree/index.d.ts +2 -2
  568. package/tree/index.mjs +5 -4
  569. package/tree/index.mjs.map +1 -1
  570. package/tree/style/index.mjs +2 -1
  571. package/tree/style/index.mjs.map +1 -1
  572. package/treeselect/BaseTreeSelect.vue +18 -19
  573. package/treeselect/TreeSelect.vue +61 -18
  574. package/treeselect/index.d.ts +82 -28
  575. package/treeselect/index.mjs +87 -38
  576. package/treeselect/index.mjs.map +1 -1
  577. package/treeselect/style/index.d.ts +4 -0
  578. package/treeselect/style/index.mjs +8 -5
  579. package/treeselect/style/index.mjs.map +1 -1
  580. package/treetable/BodyCell.vue +21 -12
  581. package/treetable/FooterCell.vue +15 -6
  582. package/treetable/HeaderCell.vue +15 -6
  583. package/treetable/TreeTable.vue +57 -2
  584. package/treetable/index.d.ts +14 -10
  585. package/treetable/index.mjs +146 -59
  586. package/treetable/index.mjs.map +1 -1
  587. package/treetable/style/index.mjs +1 -1
  588. package/treetable/style/index.mjs.map +1 -1
  589. package/umd/primevue.min.js +1 -1
  590. package/useconfirm/index.mjs.map +1 -1
  591. package/usedialog/index.mjs.map +1 -1
  592. package/usetoast/index.mjs.map +1 -1
  593. package/virtualscroller/index.d.ts +2 -2
  594. package/virtualscroller/index.mjs.map +1 -1
  595. package/virtualscroller/style/index.mjs.map +1 -1
  596. package/web-types.json +2 -2
@@ -1,12 +1,11 @@
1
1
  <script>
2
- import BaseComponent from '@primevue/core/basecomponent';
2
+ import BaseInput from '@primevue/core/baseinput';
3
3
  import MultiSelectStyle from 'primevue/multiselect/style';
4
4
 
5
5
  export default {
6
6
  name: 'BaseMultiSelect',
7
- extends: BaseComponent,
7
+ extends: BaseInput,
8
8
  props: {
9
- modelValue: null,
10
9
  options: Array,
11
10
  optionLabel: null,
12
11
  optionValue: null,
@@ -18,22 +17,6 @@ export default {
18
17
  default: '14rem'
19
18
  },
20
19
  placeholder: String,
21
- variant: {
22
- type: String,
23
- default: null
24
- },
25
- invalid: {
26
- type: Boolean,
27
- default: false
28
- },
29
- disabled: {
30
- type: Boolean,
31
- default: false
32
- },
33
- fluid: {
34
- type: Boolean,
35
- default: null
36
- },
37
20
  inputId: {
38
21
  type: String,
39
22
  default: null
@@ -55,6 +38,18 @@ export default {
55
38
  default: null
56
39
  },
57
40
  dataKey: null,
41
+ showClear: {
42
+ type: Boolean,
43
+ default: false
44
+ },
45
+ clearIcon: {
46
+ type: String,
47
+ default: undefined
48
+ },
49
+ resetFilterOnClear: {
50
+ type: Boolean,
51
+ default: false
52
+ },
58
53
  filter: Boolean,
59
54
  filterPlaceholder: String,
60
55
  filterLocale: String,
@@ -25,7 +25,7 @@
25
25
  </div>
26
26
  <div :class="cx('labelContainer')" v-bind="ptm('labelContainer')">
27
27
  <div :class="cx('label')" v-bind="ptm('label')">
28
- <slot name="value" :value="modelValue" :placeholder="placeholder">
28
+ <slot name="value" :value="d_value" :placeholder="placeholder">
29
29
  <template v-if="display === 'comma'">
30
30
  {{ label || 'empty' }}
31
31
  </template>
@@ -34,7 +34,7 @@
34
34
  <span>{{ label }}</span>
35
35
  </template>
36
36
  <template v-else>
37
- <span v-for="item of modelValue" :key="getLabelByValue(item)" :class="cx('chipItem')" v-bind="ptm('chipItem')">
37
+ <span v-for="item of d_value" :key="getLabelByValue(item)" :class="cx('chipItem')" v-bind="ptm('chipItem')">
38
38
  <slot name="chip" :value="item" :removeCallback="(event) => removeOption(event, item)">
39
39
  <!-- TODO: removetokenicon and removeTokenIcon deprecated since v4.0. Use chipicon slot and chipIcon prop-->
40
40
  <Chip :class="cx('pcChip')" :label="getLabelByValue(item)" :removeIcon="chipIcon || removeTokenIcon" removable :unstyled="unstyled" @remove="removeOption($event, item)" :pt="ptm('pcChip')">
@@ -45,11 +45,14 @@
45
45
  </slot>
46
46
  </span>
47
47
  </template>
48
- <template v-if="!modelValue || modelValue.length === 0">{{ placeholder || 'empty' }}</template>
48
+ <template v-if="!d_value || d_value.length === 0">{{ placeholder || 'empty' }}</template>
49
49
  </template>
50
50
  </slot>
51
51
  </div>
52
52
  </div>
53
+ <slot v-if="isClearIconVisible" name="clearicon" :class="cx('clearIcon')" :clearCallback="onClearClick">
54
+ <component :is="clearIcon ? 'i' : 'TimesIcon'" ref="clearIcon" :class="[cx('clearIcon'), clearIcon]" @click="onClearClick" v-bind="ptm('clearIcon')" data-pc-section="clearicon" />
55
+ </slot>
53
56
  <div :class="cx('dropdown')" v-bind="ptm('dropdown')">
54
57
  <slot v-if="loading" name="loadingicon" :class="cx('loadingIcon')">
55
58
  <span v-if="loadingIcon" :class="[cx('loadingIcon'), 'pi-spin', loadingIcon]" aria-hidden="true" v-bind="ptm('loadingIcon')" />
@@ -73,7 +76,7 @@
73
76
  :data-p-hidden-accessible="true"
74
77
  :data-p-hidden-focusable="true"
75
78
  ></span>
76
- <slot name="header" :value="modelValue" :options="visibleOptions"></slot>
79
+ <slot name="header" :value="d_value" :options="visibleOptions"></slot>
77
80
  <div v-if="(showToggleAll && selectionLimit == null) || filter" :class="cx('header')" v-bind="ptm('header')">
78
81
  <Checkbox
79
82
  v-if="showToggleAll && selectionLimit == null"
@@ -156,7 +159,7 @@
156
159
  :data-p-focused="focusedOptionIndex === getOptionIndex(i, getItemOptions)"
157
160
  :data-p-disabled="isOptionDisabled(option)"
158
161
  >
159
- <Checkbox :modelValue="isSelected(option)" :binary="true" :tabindex="-1" :variant="variant" :unstyled="unstyled" :pt="getCheckboxPTOptions(option, getItemOptions, i, 'pcOptionCheckbox')">
162
+ <Checkbox :defaultValue="isSelected(option)" :binary="true" :tabindex="-1" :variant="variant" :unstyled="unstyled" :pt="getCheckboxPTOptions(option, getItemOptions, i, 'pcOptionCheckbox')">
160
163
  <template #icon="slotProps">
161
164
  <component v-if="$slots.optioncheckboxicon || $slots.itemcheckboxicon" :is="$slots.optioncheckboxicon || $slots.itemcheckboxicon" :checked="slotProps.checked" :class="slotProps.class" />
162
165
  <component
@@ -185,7 +188,7 @@
185
188
  </template>
186
189
  </VirtualScroller>
187
190
  </div>
188
- <slot name="footer" :value="modelValue" :options="visibleOptions"></slot>
191
+ <slot name="footer" :value="d_value" :options="visibleOptions"></slot>
189
192
  <span v-if="!options || (options && options.length === 0)" role="status" aria-live="polite" class="p-hidden-accessible" v-bind="ptm('hiddenEmptyMessage')" :data-p-hidden-accessible="true">
190
193
  {{ emptyMessageText }}
191
194
  </span>
@@ -235,7 +238,7 @@ export default {
235
238
  name: 'MultiSelect',
236
239
  extends: BaseMultiSelect,
237
240
  inheritAttrs: false,
238
- emits: ['update:modelValue', 'change', 'focus', 'blur', 'before-show', 'before-hide', 'show', 'hide', 'filter', 'selectall-change'],
241
+ emits: ['change', 'focus', 'blur', 'before-show', 'before-hide', 'show', 'hide', 'filter', 'selectall-change'],
239
242
  inject: {
240
243
  $pcFluid: { default: null }
241
244
  },
@@ -377,6 +380,7 @@ export default {
377
380
  this.focusedOptionIndex = -1;
378
381
  this.searchValue = '';
379
382
  this.$emit('blur', event);
383
+ this.formField.onBlur?.();
380
384
  },
381
385
  onKeyDown(event) {
382
386
  if (this.disabled) {
@@ -457,12 +461,18 @@ export default {
457
461
  return;
458
462
  }
459
463
 
460
- if (!this.overlay || !this.overlay.contains(event.target)) {
464
+ if (event.target.tagName === 'INPUT' || event.target.getAttribute('data-pc-section') === 'clearicon' || event.target.closest('[data-pc-section="clearicon"]')) {
465
+ return;
466
+ } else if (!this.overlay || !this.overlay.contains(event.target)) {
461
467
  this.overlayVisible ? this.hide(true) : this.show(true);
462
468
  }
463
469
 
464
470
  this.clicked = true;
465
471
  },
472
+ onClearClick(event) {
473
+ this.updateModel(event, null);
474
+ this.resetFilterOnClear && (this.filterValue = null);
475
+ },
466
476
  onFirstHiddenFocus(event) {
467
477
  const focusableEl = event.relatedTarget === this.$refs.focusInput ? getFirstFocusableElement(this.overlay, ':not([data-p-hidden-focusable="true"])') : this.$refs.focusInput;
468
478
 
@@ -481,8 +491,8 @@ export default {
481
491
  let selected = this.isSelected(option);
482
492
  let value = null;
483
493
 
484
- if (selected) value = this.modelValue.filter((val) => !equals(val, this.getOptionValue(option), this.equalityKey));
485
- else value = [...(this.modelValue || []), this.getOptionValue(option)];
494
+ if (selected) value = this.d_value.filter((val) => !equals(val, this.getOptionValue(option), this.equalityKey));
495
+ else value = [...(this.d_value || []), this.getOptionValue(option)];
486
496
 
487
497
  this.updateModel(event, value);
488
498
  index !== -1 && (this.focusedOptionIndex = index);
@@ -814,7 +824,7 @@ export default {
814
824
  const selectedItemsLabel = this.selectedItemsLabel || this.$primevue.config.locale.selectionMessage;
815
825
 
816
826
  if (pattern.test(selectedItemsLabel)) {
817
- return selectedItemsLabel.replace(selectedItemsLabel.match(pattern)[0], this.modelValue.length + '');
827
+ return selectedItemsLabel.replace(selectedItemsLabel.match(pattern)[0], this.d_value.length + '');
818
828
  }
819
829
 
820
830
  return selectedItemsLabel;
@@ -830,7 +840,7 @@ export default {
830
840
  },
831
841
  removeOption(event, optionValue) {
832
842
  event.stopPropagation();
833
- let value = this.modelValue.filter((val) => !equals(val, optionValue, this.equalityKey));
843
+ let value = this.d_value.filter((val) => !equals(val, optionValue, this.equalityKey));
834
844
 
835
845
  this.updateModel(event, value);
836
846
  },
@@ -855,7 +865,7 @@ export default {
855
865
  isSelected(option) {
856
866
  const optionValue = this.getOptionValue(option);
857
867
 
858
- return (this.modelValue || []).some((value) => this.isEquals(value, optionValue));
868
+ return (this.d_value || []).some((value) => this.isEquals(value, optionValue));
859
869
  },
860
870
  findFirstOptionIndex() {
861
871
  return this.visibleOptions.findIndex((option) => this.isValidOption(option));
@@ -874,9 +884,9 @@ export default {
874
884
  return matchedOptionIndex > -1 ? matchedOptionIndex : index;
875
885
  },
876
886
  findSelectedOptionIndex() {
877
- if (this.hasSelectedOption) {
878
- for (let index = this.modelValue.length - 1; index >= 0; index--) {
879
- const value = this.modelValue[index];
887
+ if (this.$filled) {
888
+ for (let index = this.d_value.length - 1; index >= 0; index--) {
889
+ const value = this.d_value[index];
880
890
  const matchedOptionIndex = this.visibleOptions.findIndex((option) => this.isValidSelectedOption(option) && this.isEquals(value, this.getOptionValue(option)));
881
891
 
882
892
  if (matchedOptionIndex > -1) return matchedOptionIndex;
@@ -886,25 +896,25 @@ export default {
886
896
  return -1;
887
897
  },
888
898
  findFirstSelectedOptionIndex() {
889
- return this.hasSelectedOption ? this.visibleOptions.findIndex((option) => this.isValidSelectedOption(option)) : -1;
899
+ return this.$filled ? this.visibleOptions.findIndex((option) => this.isValidSelectedOption(option)) : -1;
890
900
  },
891
901
  findLastSelectedOptionIndex() {
892
- return this.hasSelectedOption ? findLastIndex(this.visibleOptions, (option) => this.isValidSelectedOption(option)) : -1;
902
+ return this.$filled ? findLastIndex(this.visibleOptions, (option) => this.isValidSelectedOption(option)) : -1;
893
903
  },
894
904
  findNextSelectedOptionIndex(index) {
895
- const matchedOptionIndex = this.hasSelectedOption && index < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index + 1).findIndex((option) => this.isValidSelectedOption(option)) : -1;
905
+ const matchedOptionIndex = this.$filled && index < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index + 1).findIndex((option) => this.isValidSelectedOption(option)) : -1;
896
906
 
897
907
  return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : -1;
898
908
  },
899
909
  findPrevSelectedOptionIndex(index) {
900
- const matchedOptionIndex = this.hasSelectedOption && index > 0 ? findLastIndex(this.visibleOptions.slice(0, index), (option) => this.isValidSelectedOption(option)) : -1;
910
+ const matchedOptionIndex = this.$filled && index > 0 ? findLastIndex(this.visibleOptions.slice(0, index), (option) => this.isValidSelectedOption(option)) : -1;
901
911
 
902
912
  return matchedOptionIndex > -1 ? matchedOptionIndex : -1;
903
913
  },
904
914
  findNearestSelectedOptionIndex(index, firstCheckUp = false) {
905
915
  let matchedOptionIndex = -1;
906
916
 
907
- if (this.hasSelectedOption) {
917
+ if (this.$filled) {
908
918
  if (firstCheckUp) {
909
919
  matchedOptionIndex = this.findPrevSelectedOptionIndex(index);
910
920
  matchedOptionIndex = matchedOptionIndex === -1 ? this.findNextSelectedOptionIndex(index) : matchedOptionIndex;
@@ -980,7 +990,7 @@ export default {
980
990
  });
981
991
  },
982
992
  autoUpdateModel() {
983
- if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption) {
993
+ if (this.selectOnFocus && this.autoOptionFocus && !this.$filled) {
984
994
  this.focusedOptionIndex = this.findFirstFocusedOptionIndex();
985
995
  const value = this.getOptionValue(this.visibleOptions[this.focusedOptionIndex]);
986
996
 
@@ -988,7 +998,7 @@ export default {
988
998
  }
989
999
  },
990
1000
  updateModel(event, value) {
991
- this.$emit('update:modelValue', value);
1001
+ this.writeValue(value, event);
992
1002
  this.$emit('change', { originalEvent: event, value });
993
1003
  },
994
1004
  flatOptions(options) {
@@ -1043,18 +1053,18 @@ export default {
1043
1053
  // TODO: Refactor
1044
1054
  let label;
1045
1055
 
1046
- if (this.modelValue && this.modelValue.length) {
1047
- if (isNotEmpty(this.maxSelectedLabels) && this.modelValue.length > this.maxSelectedLabels) {
1056
+ if (this.d_value && this.d_value.length) {
1057
+ if (isNotEmpty(this.maxSelectedLabels) && this.d_value.length > this.maxSelectedLabels) {
1048
1058
  return this.getSelectedItemsLabel();
1049
1059
  } else {
1050
1060
  label = '';
1051
1061
 
1052
- for (let i = 0; i < this.modelValue.length; i++) {
1062
+ for (let i = 0; i < this.d_value.length; i++) {
1053
1063
  if (i !== 0) {
1054
1064
  label += ', ';
1055
1065
  }
1056
1066
 
1057
- label += this.getLabelByValue(this.modelValue[i]);
1067
+ label += this.getLabelByValue(this.d_value[i]);
1058
1068
  }
1059
1069
  }
1060
1070
  } else {
@@ -1064,13 +1074,14 @@ export default {
1064
1074
  return label;
1065
1075
  },
1066
1076
  chipSelectedItems() {
1067
- return isNotEmpty(this.maxSelectedLabels) && this.modelValue && this.modelValue.length > this.maxSelectedLabels;
1077
+ return isNotEmpty(this.maxSelectedLabels) && this.d_value && this.d_value.length > this.maxSelectedLabels;
1068
1078
  },
1069
1079
  allSelected() {
1070
1080
  return this.selectAll !== null ? this.selectAll : isNotEmpty(this.visibleOptions) && this.visibleOptions.every((option) => this.isOptionGroup(option) || this.isOptionDisabled(option) || this.isSelected(option));
1071
1081
  },
1082
+ // @deprecated use $filled instead.
1072
1083
  hasSelectedOption() {
1073
- return isNotEmpty(this.modelValue);
1084
+ return this.$filled;
1074
1085
  },
1075
1086
  equalityKey() {
1076
1087
  return this.optionValue ? null : this.dataKey;
@@ -1079,7 +1090,7 @@ export default {
1079
1090
  return this.filterFields || [this.optionLabel];
1080
1091
  },
1081
1092
  maxSelectionLimitReached() {
1082
- return this.selectionLimit && this.modelValue && this.modelValue.length === this.selectionLimit;
1093
+ return this.selectionLimit && this.d_value && this.d_value.length === this.selectionLimit;
1083
1094
  },
1084
1095
  filterResultMessageText() {
1085
1096
  return isNotEmpty(this.visibleOptions) ? this.filterMessageText.replaceAll('{0}', this.visibleOptions.length) : this.emptyFilterMessageText;
@@ -1100,7 +1111,7 @@ export default {
1100
1111
  return this.emptySelectionMessage || this.$primevue.config.locale.emptySelectionMessage || '';
1101
1112
  },
1102
1113
  selectedMessageText() {
1103
- return this.hasSelectedOption ? this.selectionMessageText.replaceAll('{0}', this.modelValue.length) : this.emptySelectionMessageText;
1114
+ return this.$filled ? this.selectionMessageText.replaceAll('{0}', this.d_value.length) : this.emptySelectionMessageText;
1104
1115
  },
1105
1116
  focusedOptionId() {
1106
1117
  return this.focusedOptionIndex !== -1 ? `${this.id}_${this.focusedOptionIndex}` : null;
@@ -1119,6 +1130,9 @@ export default {
1119
1130
  },
1120
1131
  hasFluid() {
1121
1132
  return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid;
1133
+ },
1134
+ isClearIconVisible() {
1135
+ return this.showClear && this.d_value != null && isNotEmpty(this.options);
1122
1136
  }
1123
1137
  },
1124
1138
  directives: {
@@ -7,7 +7,7 @@
7
7
  * @module multiselect
8
8
  *
9
9
  */
10
- import type { DefineComponent, DesignToken, EmitFn, GlobalComponentConstructor, HintedString, PassThrough } from '@primevue/core';
10
+ import type { DefineComponent, DesignToken, EmitFn, HintedString, PassThrough } from '@primevue/core';
11
11
  import type { ComponentHooks } from '@primevue/core/basecomponent';
12
12
  import type { ChipPassThroughOptions } from 'primevue/chip';
13
13
  import type { IconFieldPassThroughOptions } from 'primevue/iconfield';
@@ -131,6 +131,10 @@ export interface MultiSelectPassThroughOptions {
131
131
  * Used to pass attributes to the label's DOM element.
132
132
  */
133
133
  label?: MultiSelectPassThroughOptionType;
134
+ /**
135
+ * Used to pass attributes to the label's DOM element.
136
+ */
137
+ clearIcon?: MultiSelectPassThroughOptionType;
134
138
  /**
135
139
  * Used to pass attributes to the chip's DOM element.
136
140
  */
@@ -316,6 +320,14 @@ export interface MultiSelectProps {
316
320
  * Value of the component.
317
321
  */
318
322
  modelValue?: any;
323
+ /**
324
+ * The default value for the input when not controlled by `modelValue`.
325
+ */
326
+ defaultValue?: any;
327
+ /**
328
+ * The name attribute for the element, typically used in form submissions.
329
+ */
330
+ name?: string | undefined;
319
331
  /**
320
332
  * An array of select items to display as the available options.
321
333
  */
@@ -349,6 +361,10 @@ export interface MultiSelectProps {
349
361
  * Label to display when there are no selections.
350
362
  */
351
363
  placeholder?: string | undefined;
364
+ /**
365
+ * Defines the size of the component.
366
+ */
367
+ size?: 'small' | 'large' | undefined;
352
368
  /**
353
369
  * When present, it specifies that the component should have invalid state style.
354
370
  * @defaultValue false
@@ -395,6 +411,20 @@ export interface MultiSelectProps {
395
411
  * A property to uniquely identify an option.
396
412
  */
397
413
  dataKey?: string | undefined;
414
+ /**
415
+ * When enabled, a clear icon is displayed to clear the value.
416
+ * @defaultValue false
417
+ */
418
+ showClear?: boolean | undefined;
419
+ /**
420
+ * Icon to display in clear button.
421
+ */
422
+ clearIcon?: string | undefined;
423
+ /**
424
+ * Clears the filter value when clicking on the clear icon.
425
+ * @defaultValue false
426
+ */
427
+ resetFilterOnClear?: boolean;
398
428
  /**
399
429
  * When specified, displays a filter input at header.
400
430
  * @defaultValue false
@@ -546,6 +576,10 @@ export interface MultiSelectProps {
546
576
  * Identifier of the underlying input element.
547
577
  */
548
578
  ariaLabelledby?: string | undefined;
579
+ /**
580
+ * Form control object, typically used for handling validation and form state.
581
+ */
582
+ formControl?: Record<string, any> | undefined;
549
583
  /**
550
584
  * It generates scoped CSS variables using design tokens for the component.
551
585
  */
@@ -787,6 +821,17 @@ export interface MultiSelectSlots {
787
821
  */
788
822
  class: string;
789
823
  }): VNode[];
824
+ /**
825
+ * Custom clear icon template.
826
+ * @param {Object} scope - clear icon slot's params.
827
+ */
828
+ clearicon(scope: {
829
+ /**
830
+ * Clear icon click function.
831
+ * @param {Event} event - Browser event
832
+ */
833
+ clearCallback: (event: Event) => void;
834
+ }): VNode[];
790
835
  /**
791
836
  * Custom dropdown icon template.
792
837
  * @param {Object} scope - dropdownicon slot's params.
@@ -808,6 +853,11 @@ export interface MultiSelectEmitsOptions {
808
853
  * @param {*} value - New value.
809
854
  */
810
855
  'update:modelValue'(value: any): void;
856
+ /**
857
+ * Emitted when the value changes in uncontrolled mode.
858
+ * @param {*} value - New value.
859
+ */
860
+ 'value-change'(value: any): void;
811
861
  /**
812
862
  * Callback to invoke on value change.
813
863
  * @param {MultiSelectChangeEvent} event - Custom change event.
@@ -886,7 +936,7 @@ declare const MultiSelect: DefineComponent<MultiSelectProps, MultiSelectSlots, M
886
936
 
887
937
  declare module 'vue' {
888
938
  export interface GlobalComponents {
889
- MultiSelect: GlobalComponentConstructor<MultiSelectProps, MultiSelectSlots, MultiSelectEmits>;
939
+ MultiSelect: DefineComponent<MultiSelectProps, MultiSelectSlots, MultiSelectEmits>;
890
940
  }
891
941
  }
892
942