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
@@ -26,10 +26,13 @@
26
26
  />
27
27
  </div>
28
28
  <span :class="cx('label')" v-bind="ptm('label')">
29
- <slot name="value" :value="modelValue" :placeholder="placeholder">
29
+ <slot name="value" :value="d_value" :placeholder="placeholder">
30
30
  {{ label }}
31
31
  </slot>
32
32
  </span>
33
+ <slot v-if="isClearIconVisible" name="clearicon" :class="cx('clearIcon')" :clearCallback="onClearClick">
34
+ <component :is="clearIcon ? 'i' : 'TimesIcon'" ref="clearIcon" :class="[cx('clearIcon'), clearIcon]" @click="onClearClick" v-bind="ptm('clearIcon')" data-pc-section="clearicon" />
35
+ </slot>
33
36
  <div :class="cx('dropdown')" role="button" tabindex="-1" v-bind="ptm('dropdown')">
34
37
  <slot v-if="loading" name="loadingicon" :class="cx('loadingIcon')">
35
38
  <span v-if="loadingIcon" :class="[cx('loadingIcon'), 'pi-spin', loadingIcon]" aria-hidden="true" v-bind="ptm('loadingIcon')" />
@@ -53,7 +56,7 @@
53
56
  @keydown="onOverlayKeyDown"
54
57
  v-bind="{ ...panelProps, ...overlayProps, ...ptm('overlay') }"
55
58
  >
56
- <slot name="header" :value="modelValue" :options="options" />
59
+ <slot name="header" :value="d_value" :options="options" />
57
60
  <div :class="cx('listContainer')" v-bind="ptm('listContainer')">
58
61
  <CascadeSelectSub
59
62
  :id="id + '_tree'"
@@ -71,9 +74,10 @@
71
74
  :optionGroupIcon="optionGroupIcon"
72
75
  :optionGroupLabel="optionGroupLabel"
73
76
  :optionGroupChildren="optionGroupChildren"
74
- @option-change="onOptionChange"
75
- @option-focus-move-change="onOptionFocusMoveChange"
76
- @option-focus-enter-change="onOptionFocusChangeEnter"
77
+ :value="d_value"
78
+ @option-change="onOptionClick"
79
+ @option-focus-change="onOptionMouseMove"
80
+ @option-focus-enter-change="onOptionMouseEnter"
77
81
  :pt="pt"
78
82
  :unstyled="unstyled"
79
83
  />
@@ -81,7 +85,7 @@
81
85
  <span role="status" aria-live="polite" class="p-hidden-accessible" v-bind="ptm('hiddenSelectedMessage')" :data-p-hidden-accessible="true">
82
86
  {{ selectedMessageText }}
83
87
  </span>
84
- <slot name="footer" :value="modelValue" :options="options" />
88
+ <slot name="footer" :value="d_value" :options="options" />
85
89
  </div>
86
90
  </transition>
87
91
  </Portal>
@@ -100,15 +104,13 @@ import OverlayEventBus from 'primevue/overlayeventbus';
100
104
  import Portal from 'primevue/portal';
101
105
  import BaseCascadeSelect from './BaseCascadeSelect.vue';
102
106
  import CascadeSelectSub from './CascadeSelectSub.vue';
107
+ import TimesIcon from '@primevue/icons/times';
103
108
 
104
109
  export default {
105
110
  name: 'CascadeSelect',
106
111
  extends: BaseCascadeSelect,
107
112
  inheritAttrs: false,
108
- emits: ['update:modelValue', 'change', 'focus', 'blur', 'click', 'group-change', 'before-show', 'before-hide', 'hide', 'show'],
109
- inject: {
110
- $pcFluid: { default: null }
111
- },
113
+ emits: ['change', 'focus', 'blur', 'click', 'group-change', 'before-show', 'before-hide', 'hide', 'show'],
112
114
  outsideClickListener: null,
113
115
  matchMediaListener: null,
114
116
  scrollHandler: null,
@@ -192,9 +194,9 @@ export default {
192
194
  show(isFocus) {
193
195
  this.$emit('before-show');
194
196
  this.overlayVisible = true;
195
- this.activeOptionPath = this.hasSelectedOption ? this.findOptionPathByValue(this.modelValue) : this.activeOptionPath;
197
+ this.activeOptionPath = this.$filled ? this.findOptionPathByValue(this.d_value) : this.activeOptionPath;
196
198
 
197
- if (this.hasSelectedOption && isNotEmpty(this.activeOptionPath)) {
199
+ if (this.$filled && isNotEmpty(this.activeOptionPath)) {
198
200
  const processedOption = this.activeOptionPath[this.activeOptionPath.length - 1];
199
201
 
200
202
  this.focusedOptionInfo = { index: processedOption.index, level: processedOption.level, parentKey: processedOption.parentKey };
@@ -233,6 +235,7 @@ export default {
233
235
  this.focusedOptionInfo = { index: -1, level: 0, parentKey: '' };
234
236
  this.searchValue = '';
235
237
  this.$emit('blur', event);
238
+ this.formField.onBlur?.();
236
239
  },
237
240
  onKeyDown(event) {
238
241
  if (this.disabled || this.loading) {
@@ -304,51 +307,68 @@ export default {
304
307
 
305
308
  this.clicked = false;
306
309
  },
307
- onOptionChange(event, isSelectable = true) {
308
- const { originalEvent, processedOption, isFocus, isHide } = event;
310
+ onOptionChange(event) {
311
+ const { processedOption, type } = event;
309
312
 
310
313
  if (isEmpty(processedOption)) return;
311
314
 
312
315
  const { index, key, level, parentKey, children } = processedOption;
313
316
  const grouped = isNotEmpty(children);
314
- const root = isEmpty(processedOption.parent);
317
+ const activeOptionPath = this.activeOptionPath.filter((p) => p.parentKey !== parentKey && p.parentKey !== key);
318
+
319
+ this.focusedOptionInfo = { index, level, parentKey };
320
+
321
+ if (type == 'hover' && this.queryMatches) {
322
+ return;
323
+ }
324
+
325
+ if (grouped) {
326
+ activeOptionPath.push(processedOption);
327
+ }
328
+
329
+ this.activeOptionPath = activeOptionPath;
330
+ },
331
+ onOptionClick(event) {
332
+ const { originalEvent, processedOption, isFocus, isHide, preventSelection } = event;
333
+ const { index, key, level, parentKey } = processedOption;
334
+ const grouped = this.isProccessedOptionGroup(processedOption);
315
335
  const selected = this.isSelected(processedOption);
316
336
 
317
337
  if (selected) {
318
- this.focusedOptionInfo = { index, level, parentKey };
319
338
  this.activeOptionPath = this.activeOptionPath.filter((p) => key !== p.key && key.startsWith(p.key));
320
-
321
- this.dirty = !root;
339
+ this.focusedOptionInfo = { index, level, parentKey };
322
340
  } else {
323
- const activeOptionPath = this.activeOptionPath.filter((p) => p.parentKey !== parentKey && p.parentKey !== key);
341
+ if (grouped) {
342
+ this.onOptionChange(event);
343
+ this.onOptionGroupSelect(originalEvent, processedOption);
344
+ } else {
345
+ const activeOptionPath = this.activeOptionPath.filter((p) => p.parentKey !== parentKey);
324
346
 
325
- activeOptionPath.push(processedOption);
347
+ activeOptionPath.push(processedOption);
326
348
 
327
- this.focusedOptionInfo = { index, level, parentKey };
328
- this.activeOptionPath = activeOptionPath;
329
- }
349
+ this.focusedOptionInfo = { index, level, parentKey };
330
350
 
331
- if (grouped) {
332
- this.dirty = true;
333
- this.onOptionGroupSelect(originalEvent, processedOption);
334
- } else {
335
- isSelectable && this.onOptionSelect(originalEvent, processedOption, isHide);
351
+ if (!preventSelection || processedOption?.children.length !== 0) {
352
+ this.activeOptionPath = activeOptionPath;
353
+ this.onOptionSelect(originalEvent, processedOption, isHide);
354
+ }
355
+ }
336
356
  }
337
357
 
338
358
  isFocus && focus(this.$refs.focusInput);
339
359
  },
340
- onOptionFocusMoveChange(event) {
360
+ onOptionMouseEnter(event) {
341
361
  if (this.focusOnHover) {
342
- const { originalEvent, processedOption } = event;
343
- const { index, level, parentKey } = processedOption;
344
-
345
- this.focusedOptionInfo = { index, level, parentKey };
346
- this.changeFocusedOptionIndex(originalEvent, index);
362
+ if (this.dirty || (!this.dirty && isNotEmpty(this.d_value))) {
363
+ this.onOptionChange({ ...event, type: 'hover' });
364
+ } else if (!this.dirty && event.processedOption.level === 0) {
365
+ this.onOptionClick({ ...event, type: 'hover' });
366
+ }
347
367
  }
348
368
  },
349
- onOptionFocusChangeEnter(event) {
350
- if (this.dirty) {
351
- this.onOptionChange(event, false);
369
+ onOptionMouseMove(event) {
370
+ if (this.focused && this.focusOnHover) {
371
+ this.changeFocusedOptionIndex(event, event.processedOption.index);
352
372
  }
353
373
  },
354
374
  onOptionSelect(event, processedOption, isHide = true) {
@@ -367,7 +387,9 @@ export default {
367
387
  return;
368
388
  }
369
389
 
370
- if (!this.overlay || !this.overlay.contains(event.target)) {
390
+ if (event.target.getAttribute('data-pc-section') === 'clearicon' || event.target.closest('[data-pc-section="clearicon"]')) {
391
+ return;
392
+ } else if (!this.overlay || !this.overlay.contains(event.target)) {
371
393
  this.overlayVisible ? this.hide() : this.show();
372
394
  focus(this.$refs.focusInput);
373
395
  }
@@ -375,6 +397,9 @@ export default {
375
397
  this.clicked = true;
376
398
  this.$emit('click', event);
377
399
  },
400
+ onClearClick(event) {
401
+ this.updateModel(event, null);
402
+ },
378
403
  onOverlayClick(event) {
379
404
  OverlayEventBus.emit('overlay-click', {
380
405
  originalEvent: event,
@@ -397,7 +422,7 @@ export default {
397
422
  } else {
398
423
  const optionIndex = this.focusedOptionInfo.index !== -1 ? this.findNextOptionIndex(this.focusedOptionInfo.index) : this.clicked ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex();
399
424
 
400
- this.changeFocusedOptionIndex(event, optionIndex);
425
+ this.changeFocusedOptionIndex(event, optionIndex, true);
401
426
  }
402
427
 
403
428
  event.preventDefault();
@@ -416,7 +441,7 @@ export default {
416
441
  } else {
417
442
  const optionIndex = this.focusedOptionInfo.index !== -1 ? this.findPrevOptionIndex(this.focusedOptionInfo.index) : this.clicked ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex();
418
443
 
419
- this.changeFocusedOptionIndex(event, optionIndex);
444
+ this.changeFocusedOptionIndex(event, optionIndex, true);
420
445
 
421
446
  !this.overlayVisible && this.show();
422
447
  event.preventDefault();
@@ -483,7 +508,7 @@ export default {
483
508
  const processedOption = this.visibleOptions[this.focusedOptionInfo.index];
484
509
  const grouped = this.isProccessedOptionGroup(processedOption);
485
510
 
486
- this.onOptionChange({ originalEvent: event, processedOption });
511
+ this.onOptionClick({ originalEvent: event, processedOption, preventSelection: false });
487
512
  !grouped && this.hide();
488
513
  }
489
514
  }
@@ -713,11 +738,15 @@ export default {
713
738
 
714
739
  return matched;
715
740
  },
716
- changeFocusedOptionIndex(event, index) {
741
+ changeFocusedOptionIndex(event, index, preventSelection) {
717
742
  if (this.focusedOptionInfo.index !== index) {
718
743
  this.focusedOptionInfo.index = index;
719
744
  this.scrollInView();
720
745
 
746
+ if (this.focusOnHover) {
747
+ this.onOptionClick({ originalEvent: event, processedOption: this.visibleOptions[index], isHide: false, preventSelection });
748
+ }
749
+
721
750
  if (this.selectOnFocus) {
722
751
  this.onOptionChange({ originalEvent: event, processedOption: this.visibleOptions[index], isHide: false });
723
752
  }
@@ -734,7 +763,7 @@ export default {
734
763
  });
735
764
  },
736
765
  autoUpdateModel() {
737
- if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption) {
766
+ if (this.selectOnFocus && this.autoOptionFocus && !this.$filled) {
738
767
  this.focusedOptionInfo.index = this.findFirstFocusedOptionIndex();
739
768
  this.onOptionChange({ processedOption: this.visibleOptions[this.focusedOptionInfo.index], isHide: false });
740
769
 
@@ -742,7 +771,7 @@ export default {
742
771
  }
743
772
  },
744
773
  updateModel(event, value) {
745
- this.$emit('update:modelValue', value);
774
+ this.writeValue(value, event);
746
775
  this.$emit('change', { originalEvent: event, value });
747
776
  },
748
777
  createProcessedOptions(options, level = 0, parent = {}, parentKey = '') {
@@ -771,14 +800,15 @@ export default {
771
800
  }
772
801
  },
773
802
  computed: {
803
+ // @deprecated use $filled instead.
774
804
  hasSelectedOption() {
775
- return isNotEmpty(this.modelValue);
805
+ return this.$filled;
776
806
  },
777
807
  label() {
778
808
  const label = this.placeholder || 'p-emptylabel';
779
809
 
780
- if (this.hasSelectedOption) {
781
- const activeOptionPath = this.findOptionPathByValue(this.modelValue);
810
+ if (this.$filled) {
811
+ const activeOptionPath = this.findOptionPathByValue(this.d_value);
782
812
  const processedOption = isNotEmpty(activeOptionPath) ? activeOptionPath[activeOptionPath.length - 1] : null;
783
813
 
784
814
  return processedOption ? this.getOptionLabel(processedOption.option) : label;
@@ -816,21 +846,22 @@ export default {
816
846
  return this.emptySelectionMessage || this.$primevue.config.locale.emptySelectionMessage || '';
817
847
  },
818
848
  selectedMessageText() {
819
- return this.hasSelectedOption ? this.selectionMessageText.replaceAll('{0}', '1') : this.emptySelectionMessageText;
849
+ return this.$filled ? this.selectionMessageText.replaceAll('{0}', '1') : this.emptySelectionMessageText;
820
850
  },
821
851
  focusedOptionId() {
822
852
  return this.focusedOptionInfo.index !== -1 ? `${this.id}${isNotEmpty(this.focusedOptionInfo.parentKey) ? '_' + this.focusedOptionInfo.parentKey : ''}_${this.focusedOptionInfo.index}` : null;
823
853
  },
824
- hasFluid() {
825
- return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid;
854
+ isClearIconVisible() {
855
+ return this.showClear && this.d_value != null && isNotEmpty(this.options);
826
856
  }
827
857
  },
828
858
  components: {
829
- CascadeSelectSub: CascadeSelectSub,
830
- Portal: Portal,
831
- ChevronDownIcon: ChevronDownIcon,
832
- SpinnerIcon: SpinnerIcon,
833
- AngleRightIcon: AngleRightIcon
859
+ CascadeSelectSub,
860
+ Portal,
861
+ ChevronDownIcon,
862
+ SpinnerIcon,
863
+ AngleRightIcon,
864
+ TimesIcon
834
865
  }
835
866
  };
836
867
  </script>
@@ -51,9 +51,10 @@
51
51
  :optionGroupIcon="optionGroupIcon"
52
52
  :optionGroupLabel="optionGroupLabel"
53
53
  :optionGroupChildren="optionGroupChildren"
54
- @option-change="onOptionChange"
55
- @option-focus-change="onOptionFocusChange"
56
- @option-focus-enter-change="onOptionFocusEnterChange"
54
+ :value="value"
55
+ @option-change="$emit('option-change', $event)"
56
+ @option-focus-change="$emit('option-focus-change', $event)"
57
+ @option-focus-enter-change="$emit('option-focus-enter-change', $event)"
57
58
  :pt="pt"
58
59
  :unstyled="unstyled"
59
60
  />
@@ -63,11 +64,10 @@
63
64
  </template>
64
65
 
65
66
  <script>
66
- import { isNotEmpty, resolveFieldData } from '@primeuix/utils/object';
67
+ import { equals, isNotEmpty, resolveFieldData } from '@primeuix/utils/object';
67
68
  import BaseComponent from '@primevue/core/basecomponent';
68
69
  import AngleRightIcon from '@primevue/icons/angleright';
69
70
  import Ripple from 'primevue/ripple';
70
-
71
71
  export default {
72
72
  name: 'CascadeSelectSub',
73
73
  hostName: 'CascadeSelect',
@@ -89,9 +89,9 @@ export default {
89
89
  },
90
90
  activeOptionPath: Array,
91
91
  level: Number,
92
- templates: null
92
+ templates: null,
93
+ value: null
93
94
  },
94
-
95
95
  methods: {
96
96
  getOptionId(processedOption) {
97
97
  return `${this.selectId}_${processedOption.key}`;
@@ -128,7 +128,7 @@ export default {
128
128
  return isNotEmpty(processedOption.children);
129
129
  },
130
130
  isOptionSelected(processedOption) {
131
- return !this.isOptionGroup(processedOption) && this.isOptionActive(processedOption);
131
+ return equals(this.value, processedOption?.option);
132
132
  },
133
133
  isOptionActive(processedOption) {
134
134
  return this.activeOptionPath.some((path) => path.key === processedOption.key);
@@ -148,15 +148,6 @@ export default {
148
148
  onOptionMouseMove(event, processedOption) {
149
149
  this.$emit('option-focus-change', { originalEvent: event, processedOption });
150
150
  },
151
- onOptionChange(event) {
152
- this.$emit('option-change', event);
153
- },
154
- onOptionFocusChange(event) {
155
- this.$emit('option-focus-change', event);
156
- },
157
- onOptionFocusEnterChange(event) {
158
- this.$emit('option-focus-enter-change', event);
159
- },
160
151
  containerRef(el) {
161
152
  this.container = el;
162
153
  },
@@ -7,7 +7,7 @@
7
7
  * @module cascadeselect
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 { PassThroughOptions } from 'primevue/passthrough';
13
13
  import { HTMLAttributes, InputHTMLAttributes, TransitionProps, VNode } from 'vue';
@@ -88,6 +88,10 @@ export interface CascadeSelectPassThroughOptions {
88
88
  * Used to pass attributes to the label's DOM element.
89
89
  */
90
90
  label?: CascadeSelectPassThroughOptionType;
91
+ /**
92
+ * Used to pass attributes to the label's DOM element.
93
+ */
94
+ clearIcon?: CascadeSelectPassThroughOptionType;
91
95
  /**
92
96
  * Used to pass attributes to the dropdown button's DOM element.
93
97
  */
@@ -263,6 +267,14 @@ export interface CascadeSelectProps {
263
267
  * Value of the component.
264
268
  */
265
269
  modelValue?: any | undefined;
270
+ /**
271
+ * The default value for the input when not controlled by `modelValue`.
272
+ */
273
+ defaultValue?: any | undefined;
274
+ /**
275
+ * The name attribute for the element, typically used in form submissions.
276
+ */
277
+ name?: string | undefined;
266
278
  /**
267
279
  * An array of selectitems to display as the available options.
268
280
  */
@@ -296,6 +308,10 @@ export interface CascadeSelectProps {
296
308
  * @defaultValue 960px
297
309
  */
298
310
  breakpoint?: string | undefined;
311
+ /**
312
+ * Defines the size of the component.
313
+ */
314
+ size?: 'small' | 'large' | undefined;
299
315
  /**
300
316
  * When present, it specifies that the component should have invalid state style.
301
317
  * @defaultValue false
@@ -315,6 +331,15 @@ export interface CascadeSelectProps {
315
331
  * A property to uniquely identify an option.
316
332
  */
317
333
  dataKey?: string | undefined;
334
+ /**
335
+ * When enabled, a clear icon is displayed to clear the value.
336
+ * @defaultValue false
337
+ */
338
+ showClear?: boolean | undefined;
339
+ /**
340
+ * Icon to display in clear button.
341
+ */
342
+ clearIcon?: string | undefined;
318
343
  /**
319
344
  * Identifier of the underlying input element.
320
345
  */
@@ -441,6 +466,10 @@ export interface CascadeSelectProps {
441
466
  * Establishes a string value that labels the component.
442
467
  */
443
468
  ariaLabel?: string | undefined;
469
+ /**
470
+ * Form control object, typically used for handling validation and form state.
471
+ */
472
+ formControl?: Record<string, any> | undefined;
444
473
  /**
445
474
  * It generates scoped CSS variables using design tokens for the component.
446
475
  */
@@ -537,6 +566,17 @@ export interface CascadeSelectSlots {
537
566
  */
538
567
  options: any[];
539
568
  }): VNode[];
569
+ /**
570
+ * Custom clear icon template.
571
+ * @param {Object} scope - clear icon slot's params.
572
+ */
573
+ clearicon(scope: {
574
+ /**
575
+ * Clear icon click function.
576
+ * @param {Event} event - Browser event
577
+ */
578
+ clearCallback: (event: Event) => void;
579
+ }): VNode[];
540
580
  }
541
581
 
542
582
  /**
@@ -548,6 +588,11 @@ export interface CascadeSelectEmitsOptions {
548
588
  * @param {*} value - New value.
549
589
  */
550
590
  'update:modelValue'(value: any): void;
591
+ /**
592
+ * Emitted when the value changes in uncontrolled mode.
593
+ * @param {*} value - New value.
594
+ */
595
+ 'value-change'(value: any): void;
551
596
  /**
552
597
  * Callback to invoke on value change.
553
598
  * @param { CascadeSelectChangeEvent } event - Custom change event.
@@ -609,7 +654,7 @@ declare const CascadeSelect: DefineComponent<CascadeSelectProps, CascadeSelectSl
609
654
 
610
655
  declare module 'vue' {
611
656
  export interface GlobalComponents {
612
- CascadeSelect: GlobalComponentConstructor<CascadeSelectProps, CascadeSelectSlots, CascadeSelectEmits>;
657
+ CascadeSelect: DefineComponent<CascadeSelectProps, CascadeSelectSlots, CascadeSelectEmits>;
613
658
  }
614
659
  }
615
660