primevue 3.46.0 → 3.47.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 (738) hide show
  1. package/README.md +2 -2
  2. package/api/api.cjs.js +6 -6
  3. package/api/api.cjs.min.js +1 -1
  4. package/api/api.esm.js +6 -6
  5. package/api/api.esm.min.js +1 -1
  6. package/api/api.js +6 -6
  7. package/api/api.min.js +1 -1
  8. package/autocomplete/AutoComplete.d.ts +6 -1
  9. package/autocomplete/AutoComplete.vue +24 -15
  10. package/autocomplete/BaseAutoComplete.vue +5 -1
  11. package/autocomplete/autocomplete.cjs.js +29 -18
  12. package/autocomplete/autocomplete.cjs.min.js +1 -1
  13. package/autocomplete/autocomplete.esm.js +29 -18
  14. package/autocomplete/autocomplete.esm.min.js +1 -1
  15. package/autocomplete/autocomplete.js +29 -18
  16. package/autocomplete/autocomplete.min.js +1 -1
  17. package/basecomponent/basecomponent.cjs.js +1 -3
  18. package/basecomponent/basecomponent.cjs.min.js +1 -1
  19. package/basecomponent/basecomponent.esm.js +1 -3
  20. package/basecomponent/basecomponent.esm.min.js +1 -1
  21. package/basecomponent/basecomponent.js +1 -3
  22. package/basecomponent/basecomponent.min.js +1 -1
  23. package/basecomponent/style/basecomponentstyle.cjs.js +1 -3
  24. package/basecomponent/style/basecomponentstyle.cjs.min.js +1 -1
  25. package/basecomponent/style/basecomponentstyle.esm.js +1 -3
  26. package/basecomponent/style/basecomponentstyle.esm.min.js +1 -1
  27. package/basecomponent/style/basecomponentstyle.js +1 -3
  28. package/basecomponent/style/basecomponentstyle.min.js +1 -1
  29. package/basedirective/basedirective.cjs.js +11 -2
  30. package/basedirective/basedirective.cjs.min.js +1 -1
  31. package/basedirective/basedirective.esm.js +11 -2
  32. package/basedirective/basedirective.esm.min.js +1 -1
  33. package/basedirective/basedirective.js +11 -2
  34. package/basedirective/basedirective.min.js +1 -1
  35. package/baseicon/BaseIcon.vue +6 -1
  36. package/baseicon/baseicon.cjs.js +5 -0
  37. package/baseicon/baseicon.cjs.min.js +1 -1
  38. package/baseicon/baseicon.esm.js +6 -1
  39. package/baseicon/baseicon.esm.min.js +1 -1
  40. package/baseicon/baseicon.js +5 -0
  41. package/baseicon/baseicon.min.js +1 -1
  42. package/calendar/Calendar.d.ts +53 -2
  43. package/calendar/Calendar.vue +12 -0
  44. package/calendar/calendar.cjs.js +12 -0
  45. package/calendar/calendar.cjs.min.js +1 -1
  46. package/calendar/calendar.esm.js +12 -0
  47. package/calendar/calendar.esm.min.js +1 -1
  48. package/calendar/calendar.js +12 -0
  49. package/calendar/calendar.min.js +1 -1
  50. package/cascadeselect/BaseCascadeSelect.vue +5 -1
  51. package/cascadeselect/CascadeSelect.d.ts +6 -1
  52. package/cascadeselect/CascadeSelect.vue +56 -35
  53. package/cascadeselect/CascadeSelectSub.vue +9 -2
  54. package/cascadeselect/cascadeselect.cjs.js +99 -52
  55. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  56. package/cascadeselect/cascadeselect.esm.js +99 -52
  57. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  58. package/cascadeselect/cascadeselect.js +99 -52
  59. package/cascadeselect/cascadeselect.min.js +1 -1
  60. package/checkbox/BaseCheckbox.vue +0 -4
  61. package/checkbox/Checkbox.d.ts +17 -34
  62. package/checkbox/Checkbox.vue +24 -35
  63. package/checkbox/checkbox.cjs.js +21 -49
  64. package/checkbox/checkbox.cjs.min.js +1 -1
  65. package/checkbox/checkbox.esm.js +21 -49
  66. package/checkbox/checkbox.esm.min.js +1 -1
  67. package/checkbox/checkbox.js +21 -49
  68. package/checkbox/checkbox.min.js +1 -1
  69. package/checkbox/style/checkboxstyle.cjs.js +5 -11
  70. package/checkbox/style/checkboxstyle.cjs.min.js +1 -1
  71. package/checkbox/style/checkboxstyle.esm.js +5 -11
  72. package/checkbox/style/checkboxstyle.esm.min.js +1 -1
  73. package/checkbox/style/checkboxstyle.js +5 -11
  74. package/checkbox/style/checkboxstyle.min.js +1 -1
  75. package/chips/Chips.vue +2 -1
  76. package/chips/chips.cjs.js +2 -1
  77. package/chips/chips.cjs.min.js +1 -1
  78. package/chips/chips.esm.js +2 -1
  79. package/chips/chips.esm.min.js +1 -1
  80. package/chips/chips.js +2 -1
  81. package/chips/chips.min.js +1 -1
  82. package/column/Column.d.ts +11 -44
  83. package/confirmpopup/ConfirmPopup.vue +1 -1
  84. package/confirmpopup/confirmpopup.cjs.js +1 -1
  85. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  86. package/confirmpopup/confirmpopup.esm.js +1 -1
  87. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  88. package/confirmpopup/confirmpopup.js +1 -1
  89. package/confirmpopup/confirmpopup.min.js +1 -1
  90. package/contextmenu/ContextMenu.vue +8 -8
  91. package/contextmenu/contextmenu.cjs.js +7 -6
  92. package/contextmenu/contextmenu.cjs.min.js +1 -1
  93. package/contextmenu/contextmenu.esm.js +7 -6
  94. package/contextmenu/contextmenu.esm.min.js +1 -1
  95. package/contextmenu/contextmenu.js +7 -6
  96. package/contextmenu/contextmenu.min.js +1 -1
  97. package/core/core.js +918 -628
  98. package/core/core.min.js +63 -55
  99. package/datatable/BaseDataTable.vue +4 -0
  100. package/datatable/BodyCell.vue +11 -1
  101. package/datatable/BodyRow.vue +5 -2
  102. package/datatable/ColumnFilter.vue +5 -2
  103. package/datatable/DataTable.d.ts +5 -0
  104. package/datatable/DataTable.vue +2 -2
  105. package/datatable/HeaderCell.vue +2 -1
  106. package/datatable/HeaderCheckbox.vue +14 -42
  107. package/datatable/RowCheckbox.vue +10 -52
  108. package/datatable/RowRadioButton.vue +11 -32
  109. package/datatable/TableHeader.vue +3 -1
  110. package/datatable/datatable.cjs.js +110 -193
  111. package/datatable/datatable.cjs.min.js +1 -1
  112. package/datatable/datatable.esm.js +109 -194
  113. package/datatable/datatable.esm.min.js +1 -1
  114. package/datatable/datatable.js +110 -195
  115. package/datatable/datatable.min.js +1 -1
  116. package/datatable/style/datatablestyle.cjs.js +23 -72
  117. package/datatable/style/datatablestyle.cjs.min.js +1 -1
  118. package/datatable/style/datatablestyle.esm.js +23 -72
  119. package/datatable/style/datatablestyle.esm.min.js +1 -1
  120. package/datatable/style/datatablestyle.js +23 -72
  121. package/datatable/style/datatablestyle.min.js +1 -1
  122. package/dialog/style/dialogstyle.cjs.js +1 -1
  123. package/dialog/style/dialogstyle.cjs.min.js +1 -1
  124. package/dialog/style/dialogstyle.esm.js +1 -1
  125. package/dialog/style/dialogstyle.esm.min.js +1 -1
  126. package/dialog/style/dialogstyle.js +1 -1
  127. package/dialog/style/dialogstyle.min.js +1 -1
  128. package/dropdown/BaseDropdown.vue +17 -1
  129. package/dropdown/Dropdown.d.ts +37 -1
  130. package/dropdown/Dropdown.vue +68 -40
  131. package/dropdown/dropdown.cjs.js +95 -45
  132. package/dropdown/dropdown.cjs.min.js +1 -1
  133. package/dropdown/dropdown.esm.js +93 -45
  134. package/dropdown/dropdown.esm.min.js +1 -1
  135. package/dropdown/dropdown.js +95 -47
  136. package/dropdown/dropdown.min.js +1 -1
  137. package/dropdown/style/dropdownstyle.cjs.js +7 -2
  138. package/dropdown/style/dropdownstyle.cjs.min.js +1 -1
  139. package/dropdown/style/dropdownstyle.esm.js +7 -2
  140. package/dropdown/style/dropdownstyle.esm.min.js +1 -1
  141. package/dropdown/style/dropdownstyle.js +7 -2
  142. package/dropdown/style/dropdownstyle.min.js +1 -1
  143. package/focustrap/focustrap.cjs.js +15 -2
  144. package/focustrap/focustrap.cjs.min.js +1 -1
  145. package/focustrap/focustrap.esm.js +15 -2
  146. package/focustrap/focustrap.esm.min.js +1 -1
  147. package/focustrap/focustrap.js +15 -2
  148. package/focustrap/focustrap.min.js +1 -1
  149. package/icons/arrowdown/index.cjs.js +3 -9
  150. package/icons/arrowdown/index.cjs.min.js +1 -1
  151. package/icons/arrowdown/index.esm.js +3 -9
  152. package/icons/arrowdown/index.esm.min.js +1 -1
  153. package/icons/arrowdown/index.js +5 -10
  154. package/icons/arrowdown/index.min.js +1 -1
  155. package/icons/arrowdown/index.vue +1 -7
  156. package/icons/arrowup/index.cjs.js +3 -9
  157. package/icons/arrowup/index.cjs.min.js +1 -1
  158. package/icons/arrowup/index.esm.js +3 -9
  159. package/icons/arrowup/index.esm.min.js +1 -1
  160. package/icons/arrowup/index.js +5 -10
  161. package/icons/arrowup/index.min.js +1 -1
  162. package/icons/arrowup/index.vue +1 -7
  163. package/icons/ban/index.cjs.js +3 -9
  164. package/icons/ban/index.cjs.min.js +1 -1
  165. package/icons/ban/index.esm.js +3 -9
  166. package/icons/ban/index.esm.min.js +1 -1
  167. package/icons/ban/index.js +5 -10
  168. package/icons/ban/index.min.js +1 -1
  169. package/icons/ban/index.vue +1 -7
  170. package/icons/blank/index.cjs.js +34 -0
  171. package/icons/blank/index.cjs.min.js +1 -0
  172. package/icons/blank/index.d.ts +12 -0
  173. package/icons/blank/index.esm.js +28 -0
  174. package/icons/blank/index.esm.min.js +1 -0
  175. package/icons/blank/index.js +36 -0
  176. package/icons/blank/index.min.js +1 -0
  177. package/icons/blank/index.vue +13 -0
  178. package/icons/blank/package.json +9 -0
  179. package/icons/exclamationtriangle/index.cjs.js +3 -9
  180. package/icons/exclamationtriangle/index.cjs.min.js +1 -1
  181. package/icons/exclamationtriangle/index.esm.js +3 -9
  182. package/icons/exclamationtriangle/index.esm.min.js +1 -1
  183. package/icons/exclamationtriangle/index.js +5 -10
  184. package/icons/exclamationtriangle/index.min.js +1 -1
  185. package/icons/exclamationtriangle/index.vue +1 -7
  186. package/icons/eyeslash/index.cjs.js +3 -9
  187. package/icons/eyeslash/index.cjs.min.js +1 -1
  188. package/icons/eyeslash/index.esm.js +3 -9
  189. package/icons/eyeslash/index.esm.min.js +1 -1
  190. package/icons/eyeslash/index.js +5 -10
  191. package/icons/eyeslash/index.min.js +1 -1
  192. package/icons/eyeslash/index.vue +1 -7
  193. package/icons/filter/index.cjs.js +3 -9
  194. package/icons/filter/index.cjs.min.js +1 -1
  195. package/icons/filter/index.esm.js +3 -9
  196. package/icons/filter/index.esm.min.js +1 -1
  197. package/icons/filter/index.js +5 -10
  198. package/icons/filter/index.min.js +1 -1
  199. package/icons/filter/index.vue +1 -7
  200. package/icons/filterslash/index.cjs.js +3 -9
  201. package/icons/filterslash/index.cjs.min.js +1 -1
  202. package/icons/filterslash/index.esm.js +3 -9
  203. package/icons/filterslash/index.esm.min.js +1 -1
  204. package/icons/filterslash/index.js +5 -10
  205. package/icons/filterslash/index.min.js +1 -1
  206. package/icons/filterslash/index.vue +1 -7
  207. package/icons/infocircle/index.cjs.js +3 -9
  208. package/icons/infocircle/index.cjs.min.js +1 -1
  209. package/icons/infocircle/index.esm.js +3 -9
  210. package/icons/infocircle/index.esm.min.js +1 -1
  211. package/icons/infocircle/index.js +5 -10
  212. package/icons/infocircle/index.min.js +1 -1
  213. package/icons/infocircle/index.vue +1 -7
  214. package/icons/pencil/index.cjs.js +3 -9
  215. package/icons/pencil/index.cjs.min.js +1 -1
  216. package/icons/pencil/index.esm.js +3 -9
  217. package/icons/pencil/index.esm.min.js +1 -1
  218. package/icons/pencil/index.js +5 -10
  219. package/icons/pencil/index.min.js +1 -1
  220. package/icons/pencil/index.vue +1 -7
  221. package/icons/plus/index.cjs.js +3 -9
  222. package/icons/plus/index.cjs.min.js +1 -1
  223. package/icons/plus/index.esm.js +3 -9
  224. package/icons/plus/index.esm.min.js +1 -1
  225. package/icons/plus/index.js +5 -10
  226. package/icons/plus/index.min.js +1 -1
  227. package/icons/plus/index.vue +1 -7
  228. package/icons/refresh/index.cjs.js +3 -9
  229. package/icons/refresh/index.cjs.min.js +1 -1
  230. package/icons/refresh/index.esm.js +3 -9
  231. package/icons/refresh/index.esm.min.js +1 -1
  232. package/icons/refresh/index.js +5 -10
  233. package/icons/refresh/index.min.js +1 -1
  234. package/icons/refresh/index.vue +1 -7
  235. package/icons/search/index.cjs.js +3 -9
  236. package/icons/search/index.cjs.min.js +1 -1
  237. package/icons/search/index.esm.js +3 -9
  238. package/icons/search/index.esm.min.js +1 -1
  239. package/icons/search/index.js +5 -10
  240. package/icons/search/index.min.js +1 -1
  241. package/icons/search/index.vue +1 -7
  242. package/icons/searchminus/index.cjs.js +3 -9
  243. package/icons/searchminus/index.cjs.min.js +1 -1
  244. package/icons/searchminus/index.esm.js +3 -9
  245. package/icons/searchminus/index.esm.min.js +1 -1
  246. package/icons/searchminus/index.js +5 -10
  247. package/icons/searchminus/index.min.js +1 -1
  248. package/icons/searchminus/index.vue +1 -7
  249. package/icons/searchplus/index.cjs.js +3 -9
  250. package/icons/searchplus/index.cjs.min.js +1 -1
  251. package/icons/searchplus/index.esm.js +3 -9
  252. package/icons/searchplus/index.esm.min.js +1 -1
  253. package/icons/searchplus/index.js +5 -10
  254. package/icons/searchplus/index.min.js +1 -1
  255. package/icons/searchplus/index.vue +1 -7
  256. package/icons/sortalt/index.cjs.js +3 -9
  257. package/icons/sortalt/index.cjs.min.js +1 -1
  258. package/icons/sortalt/index.esm.js +3 -9
  259. package/icons/sortalt/index.esm.min.js +1 -1
  260. package/icons/sortalt/index.js +5 -10
  261. package/icons/sortalt/index.min.js +1 -1
  262. package/icons/sortalt/index.vue +1 -7
  263. package/icons/sortamountdown/index.cjs.js +3 -9
  264. package/icons/sortamountdown/index.cjs.min.js +1 -1
  265. package/icons/sortamountdown/index.esm.js +3 -9
  266. package/icons/sortamountdown/index.esm.min.js +1 -1
  267. package/icons/sortamountdown/index.js +5 -10
  268. package/icons/sortamountdown/index.min.js +1 -1
  269. package/icons/sortamountdown/index.vue +1 -7
  270. package/icons/sortamountupalt/index.cjs.js +3 -9
  271. package/icons/sortamountupalt/index.cjs.min.js +1 -1
  272. package/icons/sortamountupalt/index.esm.js +3 -9
  273. package/icons/sortamountupalt/index.esm.min.js +1 -1
  274. package/icons/sortamountupalt/index.js +5 -10
  275. package/icons/sortamountupalt/index.min.js +1 -1
  276. package/icons/sortamountupalt/index.vue +1 -7
  277. package/icons/spinner/index.cjs.js +3 -9
  278. package/icons/spinner/index.cjs.min.js +1 -1
  279. package/icons/spinner/index.esm.js +3 -9
  280. package/icons/spinner/index.esm.min.js +1 -1
  281. package/icons/spinner/index.js +5 -10
  282. package/icons/spinner/index.min.js +1 -1
  283. package/icons/spinner/index.vue +1 -7
  284. package/icons/star/index.cjs.js +3 -9
  285. package/icons/star/index.cjs.min.js +1 -1
  286. package/icons/star/index.esm.js +3 -9
  287. package/icons/star/index.esm.min.js +1 -1
  288. package/icons/star/index.js +5 -10
  289. package/icons/star/index.min.js +1 -1
  290. package/icons/star/index.vue +1 -7
  291. package/icons/starfill/index.cjs.js +3 -9
  292. package/icons/starfill/index.cjs.min.js +1 -1
  293. package/icons/starfill/index.esm.js +3 -9
  294. package/icons/starfill/index.esm.min.js +1 -1
  295. package/icons/starfill/index.js +5 -10
  296. package/icons/starfill/index.min.js +1 -1
  297. package/icons/starfill/index.vue +1 -7
  298. package/icons/thlarge/index.cjs.js +3 -9
  299. package/icons/thlarge/index.cjs.min.js +1 -1
  300. package/icons/thlarge/index.esm.js +3 -9
  301. package/icons/thlarge/index.esm.min.js +1 -1
  302. package/icons/thlarge/index.js +5 -10
  303. package/icons/thlarge/index.min.js +1 -1
  304. package/icons/thlarge/index.vue +1 -7
  305. package/icons/timescircle/index.cjs.js +3 -9
  306. package/icons/timescircle/index.cjs.min.js +1 -1
  307. package/icons/timescircle/index.esm.js +3 -9
  308. package/icons/timescircle/index.esm.min.js +1 -1
  309. package/icons/timescircle/index.js +5 -10
  310. package/icons/timescircle/index.min.js +1 -1
  311. package/icons/timescircle/index.vue +1 -7
  312. package/icons/trash/index.cjs.js +3 -9
  313. package/icons/trash/index.cjs.min.js +1 -1
  314. package/icons/trash/index.esm.js +3 -9
  315. package/icons/trash/index.esm.min.js +1 -1
  316. package/icons/trash/index.js +5 -10
  317. package/icons/trash/index.min.js +1 -1
  318. package/icons/trash/index.vue +1 -7
  319. package/icons/undo/index.cjs.js +3 -9
  320. package/icons/undo/index.cjs.min.js +1 -1
  321. package/icons/undo/index.esm.js +3 -9
  322. package/icons/undo/index.esm.min.js +1 -1
  323. package/icons/undo/index.js +5 -10
  324. package/icons/undo/index.min.js +1 -1
  325. package/icons/undo/index.vue +1 -7
  326. package/icons/upload/index.cjs.js +3 -9
  327. package/icons/upload/index.cjs.min.js +1 -1
  328. package/icons/upload/index.esm.js +3 -9
  329. package/icons/upload/index.esm.min.js +1 -1
  330. package/icons/upload/index.js +5 -10
  331. package/icons/upload/index.min.js +1 -1
  332. package/icons/upload/index.vue +1 -7
  333. package/icons/windowmaximize/index.cjs.js +3 -9
  334. package/icons/windowmaximize/index.cjs.min.js +1 -1
  335. package/icons/windowmaximize/index.esm.js +3 -9
  336. package/icons/windowmaximize/index.esm.min.js +1 -1
  337. package/icons/windowmaximize/index.js +5 -10
  338. package/icons/windowmaximize/index.min.js +1 -1
  339. package/icons/windowmaximize/index.vue +1 -7
  340. package/icons/windowminimize/index.cjs.js +3 -9
  341. package/icons/windowminimize/index.cjs.min.js +1 -1
  342. package/icons/windowminimize/index.esm.js +3 -9
  343. package/icons/windowminimize/index.esm.min.js +1 -1
  344. package/icons/windowminimize/index.js +5 -10
  345. package/icons/windowminimize/index.min.js +1 -1
  346. package/icons/windowminimize/index.vue +1 -7
  347. package/inputnumber/InputNumber.vue +18 -9
  348. package/inputnumber/inputnumber.cjs.js +14 -6
  349. package/inputnumber/inputnumber.cjs.min.js +1 -1
  350. package/inputnumber/inputnumber.esm.js +15 -7
  351. package/inputnumber/inputnumber.esm.min.js +1 -1
  352. package/inputnumber/inputnumber.js +14 -6
  353. package/inputnumber/inputnumber.min.js +1 -1
  354. package/inputswitch/BaseInputSwitch.vue +8 -4
  355. package/inputswitch/InputSwitch.d.ts +41 -20
  356. package/inputswitch/InputSwitch.vue +31 -33
  357. package/inputswitch/inputswitch.cjs.js +38 -42
  358. package/inputswitch/inputswitch.cjs.min.js +1 -1
  359. package/inputswitch/inputswitch.esm.js +38 -42
  360. package/inputswitch/inputswitch.esm.min.js +1 -1
  361. package/inputswitch/inputswitch.js +38 -42
  362. package/inputswitch/inputswitch.min.js +1 -1
  363. package/inputswitch/style/inputswitchstyle.cjs.js +4 -4
  364. package/inputswitch/style/inputswitchstyle.cjs.min.js +1 -1
  365. package/inputswitch/style/inputswitchstyle.esm.js +4 -4
  366. package/inputswitch/style/inputswitchstyle.esm.min.js +1 -1
  367. package/inputswitch/style/inputswitchstyle.js +4 -4
  368. package/inputswitch/style/inputswitchstyle.min.js +1 -1
  369. package/listbox/BaseListbox.vue +4 -0
  370. package/listbox/Listbox.d.ts +6 -1
  371. package/listbox/Listbox.vue +47 -26
  372. package/listbox/listbox.cjs.js +88 -50
  373. package/listbox/listbox.cjs.min.js +1 -1
  374. package/listbox/listbox.esm.js +88 -50
  375. package/listbox/listbox.esm.min.js +1 -1
  376. package/listbox/listbox.js +88 -50
  377. package/listbox/listbox.min.js +1 -1
  378. package/listbox/style/listboxstyle.cjs.js +2 -3
  379. package/listbox/style/listboxstyle.cjs.min.js +1 -1
  380. package/listbox/style/listboxstyle.esm.js +2 -3
  381. package/listbox/style/listboxstyle.esm.min.js +1 -1
  382. package/listbox/style/listboxstyle.js +2 -3
  383. package/listbox/style/listboxstyle.min.js +1 -1
  384. package/megamenu/MegaMenu.vue +1 -1
  385. package/megamenu/megamenu.cjs.js +2 -1
  386. package/megamenu/megamenu.cjs.min.js +1 -1
  387. package/megamenu/megamenu.esm.js +2 -1
  388. package/megamenu/megamenu.esm.min.js +1 -1
  389. package/megamenu/megamenu.js +2 -1
  390. package/megamenu/megamenu.min.js +1 -1
  391. package/menubar/Menubar.vue +1 -1
  392. package/menubar/menubar.cjs.js +2 -1
  393. package/menubar/menubar.cjs.min.js +1 -1
  394. package/menubar/menubar.esm.js +2 -1
  395. package/menubar/menubar.esm.min.js +1 -1
  396. package/menubar/menubar.js +2 -1
  397. package/menubar/menubar.min.js +1 -1
  398. package/message/Message.d.ts +4 -0
  399. package/message/Message.vue +2 -1
  400. package/message/message.cjs.js +2 -1
  401. package/message/message.cjs.min.js +1 -1
  402. package/message/message.esm.js +2 -1
  403. package/message/message.esm.min.js +1 -1
  404. package/message/message.js +2 -1
  405. package/message/message.min.js +1 -1
  406. package/metergroup/BaseMeterGroup.vue +41 -0
  407. package/metergroup/MeterGroup.d.ts +302 -0
  408. package/metergroup/MeterGroup.vue +73 -0
  409. package/metergroup/MeterGroupLabel.vue +36 -0
  410. package/metergroup/metergroup.cjs.js +218 -0
  411. package/metergroup/metergroup.cjs.min.js +1 -0
  412. package/metergroup/metergroup.esm.js +211 -0
  413. package/metergroup/metergroup.esm.min.js +1 -0
  414. package/metergroup/metergroup.js +218 -0
  415. package/metergroup/metergroup.min.js +1 -0
  416. package/metergroup/package.json +9 -0
  417. package/metergroup/style/MeterGroupStyle.d.ts +3 -0
  418. package/metergroup/style/metergroupstyle.cjs.js +40 -0
  419. package/metergroup/style/metergroupstyle.cjs.min.js +1 -0
  420. package/metergroup/style/metergroupstyle.esm.js +34 -0
  421. package/metergroup/style/metergroupstyle.esm.min.js +1 -0
  422. package/metergroup/style/metergroupstyle.js +43 -0
  423. package/metergroup/style/metergroupstyle.min.js +1 -0
  424. package/metergroup/style/package.json +6 -0
  425. package/multiselect/BaseMultiSelect.vue +9 -1
  426. package/multiselect/MultiSelect.d.ts +13 -19
  427. package/multiselect/MultiSelect.vue +108 -76
  428. package/multiselect/multiselect.cjs.js +173 -133
  429. package/multiselect/multiselect.cjs.min.js +1 -1
  430. package/multiselect/multiselect.esm.js +173 -134
  431. package/multiselect/multiselect.esm.min.js +1 -1
  432. package/multiselect/multiselect.js +174 -135
  433. package/multiselect/multiselect.min.js +1 -1
  434. package/multiselect/style/multiselectstyle.cjs.js +7 -30
  435. package/multiselect/style/multiselectstyle.cjs.min.js +1 -1
  436. package/multiselect/style/multiselectstyle.esm.js +7 -30
  437. package/multiselect/style/multiselectstyle.esm.min.js +1 -1
  438. package/multiselect/style/multiselectstyle.js +7 -30
  439. package/multiselect/style/multiselectstyle.min.js +1 -1
  440. package/orderlist/BaseOrderList.vue +8 -0
  441. package/orderlist/OrderList.d.ts +10 -0
  442. package/orderlist/OrderList.vue +72 -52
  443. package/orderlist/orderlist.cjs.js +79 -56
  444. package/orderlist/orderlist.cjs.min.js +1 -1
  445. package/orderlist/orderlist.esm.js +79 -56
  446. package/orderlist/orderlist.esm.min.js +1 -1
  447. package/orderlist/orderlist.js +79 -56
  448. package/orderlist/orderlist.min.js +1 -1
  449. package/orderlist/style/orderliststyle.cjs.js +1 -1
  450. package/orderlist/style/orderliststyle.cjs.min.js +1 -1
  451. package/orderlist/style/orderliststyle.esm.js +1 -1
  452. package/orderlist/style/orderliststyle.esm.min.js +1 -1
  453. package/orderlist/style/orderliststyle.js +1 -1
  454. package/orderlist/style/orderliststyle.min.js +1 -1
  455. package/overlaypanel/OverlayPanel.d.ts +4 -0
  456. package/overlaypanel/OverlayPanel.vue +1 -1
  457. package/overlaypanel/overlaypanel.cjs.js +1 -1
  458. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  459. package/overlaypanel/overlaypanel.esm.js +1 -1
  460. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  461. package/overlaypanel/overlaypanel.js +1 -1
  462. package/overlaypanel/overlaypanel.min.js +1 -1
  463. package/package.json +1 -1
  464. package/panelmenu/PanelMenuList.vue +1 -1
  465. package/panelmenu/panelmenu.cjs.js +2 -1
  466. package/panelmenu/panelmenu.cjs.min.js +1 -1
  467. package/panelmenu/panelmenu.esm.js +2 -1
  468. package/panelmenu/panelmenu.esm.min.js +1 -1
  469. package/panelmenu/panelmenu.js +2 -1
  470. package/panelmenu/panelmenu.min.js +1 -1
  471. package/picklist/BasePickList.vue +8 -0
  472. package/picklist/PickList.d.ts +10 -0
  473. package/picklist/PickList.vue +72 -37
  474. package/picklist/picklist.cjs.js +81 -46
  475. package/picklist/picklist.cjs.min.js +1 -1
  476. package/picklist/picklist.esm.js +81 -46
  477. package/picklist/picklist.esm.min.js +1 -1
  478. package/picklist/picklist.js +81 -46
  479. package/picklist/picklist.min.js +1 -1
  480. package/progressbar/ProgressBar.vue +1 -1
  481. package/progressbar/progressbar.cjs.js +3 -1
  482. package/progressbar/progressbar.cjs.min.js +1 -1
  483. package/progressbar/progressbar.esm.js +3 -1
  484. package/progressbar/progressbar.esm.min.js +1 -1
  485. package/progressbar/progressbar.js +3 -1
  486. package/progressbar/progressbar.min.js +1 -1
  487. package/radiobutton/BaseRadioButton.vue +9 -4
  488. package/radiobutton/RadioButton.d.ts +48 -22
  489. package/radiobutton/RadioButton.vue +36 -23
  490. package/radiobutton/radiobutton.cjs.js +42 -50
  491. package/radiobutton/radiobutton.cjs.min.js +1 -1
  492. package/radiobutton/radiobutton.esm.js +42 -50
  493. package/radiobutton/radiobutton.esm.min.js +1 -1
  494. package/radiobutton/radiobutton.js +42 -50
  495. package/radiobutton/radiobutton.min.js +1 -1
  496. package/radiobutton/style/radiobuttonstyle.cjs.js +5 -11
  497. package/radiobutton/style/radiobuttonstyle.cjs.min.js +1 -1
  498. package/radiobutton/style/radiobuttonstyle.esm.js +5 -11
  499. package/radiobutton/style/radiobuttonstyle.esm.min.js +1 -1
  500. package/radiobutton/style/radiobuttonstyle.js +5 -11
  501. package/radiobutton/style/radiobuttonstyle.min.js +1 -1
  502. package/resources/themes/arya-blue/theme.css +432 -351
  503. package/resources/themes/arya-green/theme.css +432 -351
  504. package/resources/themes/arya-orange/theme.css +432 -351
  505. package/resources/themes/arya-purple/theme.css +432 -351
  506. package/resources/themes/aura-dark-amber/fonts/Inter-italic.var.woff2 +0 -0
  507. package/resources/themes/aura-dark-amber/fonts/Inter-roman.var.woff2 +0 -0
  508. package/resources/themes/aura-dark-amber/theme.css +7012 -0
  509. package/resources/themes/aura-dark-blue/fonts/Inter-italic.var.woff2 +0 -0
  510. package/resources/themes/aura-dark-blue/fonts/Inter-roman.var.woff2 +0 -0
  511. package/resources/themes/aura-dark-blue/theme.css +7012 -0
  512. package/resources/themes/aura-dark-cyan/fonts/Inter-italic.var.woff2 +0 -0
  513. package/resources/themes/aura-dark-cyan/fonts/Inter-roman.var.woff2 +0 -0
  514. package/resources/themes/aura-dark-cyan/theme.css +7012 -0
  515. package/resources/themes/aura-dark-green/fonts/Inter-italic.var.woff2 +0 -0
  516. package/resources/themes/aura-dark-green/fonts/Inter-roman.var.woff2 +0 -0
  517. package/resources/themes/aura-dark-green/theme.css +7012 -0
  518. package/resources/themes/aura-dark-indigo/fonts/Inter-italic.var.woff2 +0 -0
  519. package/resources/themes/aura-dark-indigo/fonts/Inter-roman.var.woff2 +0 -0
  520. package/resources/themes/aura-dark-indigo/theme.css +7012 -0
  521. package/resources/themes/aura-dark-lime/fonts/Inter-italic.var.woff2 +0 -0
  522. package/resources/themes/aura-dark-lime/fonts/Inter-roman.var.woff2 +0 -0
  523. package/resources/themes/aura-dark-lime/theme.css +7012 -0
  524. package/resources/themes/aura-dark-noir/fonts/Inter-italic.var.woff2 +0 -0
  525. package/resources/themes/aura-dark-noir/fonts/Inter-roman.var.woff2 +0 -0
  526. package/resources/themes/aura-dark-noir/theme.css +7012 -0
  527. package/resources/themes/aura-dark-pink/fonts/Inter-italic.var.woff2 +0 -0
  528. package/resources/themes/aura-dark-pink/fonts/Inter-roman.var.woff2 +0 -0
  529. package/resources/themes/aura-dark-pink/theme.css +7012 -0
  530. package/resources/themes/aura-dark-purple/fonts/Inter-italic.var.woff2 +0 -0
  531. package/resources/themes/aura-dark-purple/fonts/Inter-roman.var.woff2 +0 -0
  532. package/resources/themes/aura-dark-purple/theme.css +7012 -0
  533. package/resources/themes/aura-dark-teal/fonts/Inter-italic.var.woff2 +0 -0
  534. package/resources/themes/aura-dark-teal/fonts/Inter-roman.var.woff2 +0 -0
  535. package/resources/themes/aura-dark-teal/theme.css +7012 -0
  536. package/resources/themes/aura-light-amber/fonts/Inter-italic.var.woff2 +0 -0
  537. package/resources/themes/aura-light-amber/fonts/Inter-roman.var.woff2 +0 -0
  538. package/resources/themes/aura-light-amber/theme.css +7014 -0
  539. package/resources/themes/aura-light-blue/fonts/Inter-italic.var.woff2 +0 -0
  540. package/resources/themes/aura-light-blue/fonts/Inter-roman.var.woff2 +0 -0
  541. package/resources/themes/aura-light-blue/theme.css +7014 -0
  542. package/resources/themes/aura-light-cyan/fonts/Inter-italic.var.woff2 +0 -0
  543. package/resources/themes/aura-light-cyan/fonts/Inter-roman.var.woff2 +0 -0
  544. package/resources/themes/aura-light-cyan/theme.css +7014 -0
  545. package/resources/themes/aura-light-green/fonts/Inter-italic.var.woff2 +0 -0
  546. package/resources/themes/aura-light-green/fonts/Inter-roman.var.woff2 +0 -0
  547. package/resources/themes/aura-light-green/theme.css +7014 -0
  548. package/resources/themes/aura-light-indigo/fonts/Inter-italic.var.woff2 +0 -0
  549. package/resources/themes/aura-light-indigo/fonts/Inter-roman.var.woff2 +0 -0
  550. package/resources/themes/aura-light-indigo/theme.css +7014 -0
  551. package/resources/themes/aura-light-lime/fonts/Inter-italic.var.woff2 +0 -0
  552. package/resources/themes/aura-light-lime/fonts/Inter-roman.var.woff2 +0 -0
  553. package/resources/themes/aura-light-lime/theme.css +7014 -0
  554. package/resources/themes/aura-light-noir/fonts/Inter-italic.var.woff2 +0 -0
  555. package/resources/themes/aura-light-noir/fonts/Inter-roman.var.woff2 +0 -0
  556. package/resources/themes/aura-light-noir/theme.css +7022 -0
  557. package/resources/themes/aura-light-pink/fonts/Inter-italic.var.woff2 +0 -0
  558. package/resources/themes/aura-light-pink/fonts/Inter-roman.var.woff2 +0 -0
  559. package/resources/themes/aura-light-pink/theme.css +7014 -0
  560. package/resources/themes/aura-light-purple/fonts/Inter-italic.var.woff2 +0 -0
  561. package/resources/themes/aura-light-purple/fonts/Inter-roman.var.woff2 +0 -0
  562. package/resources/themes/aura-light-purple/theme.css +7014 -0
  563. package/resources/themes/aura-light-teal/fonts/Inter-italic.var.woff2 +0 -0
  564. package/resources/themes/aura-light-teal/fonts/Inter-roman.var.woff2 +0 -0
  565. package/resources/themes/aura-light-teal/theme.css +7014 -0
  566. package/resources/themes/bootstrap4-dark-blue/theme.css +533 -403
  567. package/resources/themes/bootstrap4-dark-purple/theme.css +533 -403
  568. package/resources/themes/bootstrap4-light-blue/theme.css +533 -403
  569. package/resources/themes/bootstrap4-light-purple/theme.css +533 -403
  570. package/resources/themes/fluent-light/theme.css +431 -350
  571. package/resources/themes/lara-dark-amber/theme.css +534 -404
  572. package/resources/themes/lara-dark-blue/theme.css +534 -404
  573. package/resources/themes/lara-dark-cyan/theme.css +534 -404
  574. package/resources/themes/lara-dark-green/theme.css +534 -404
  575. package/resources/themes/lara-dark-indigo/theme.css +534 -404
  576. package/resources/themes/lara-dark-pink/theme.css +534 -404
  577. package/resources/themes/lara-dark-purple/theme.css +534 -404
  578. package/resources/themes/lara-dark-teal/theme.css +534 -404
  579. package/resources/themes/lara-light-amber/theme.css +535 -405
  580. package/resources/themes/lara-light-blue/theme.css +535 -405
  581. package/resources/themes/lara-light-cyan/theme.css +535 -405
  582. package/resources/themes/lara-light-green/theme.css +535 -405
  583. package/resources/themes/lara-light-indigo/theme.css +535 -405
  584. package/resources/themes/lara-light-pink/theme.css +535 -405
  585. package/resources/themes/lara-light-purple/theme.css +535 -405
  586. package/resources/themes/lara-light-teal/theme.css +535 -405
  587. package/resources/themes/luna-amber/theme.css +432 -351
  588. package/resources/themes/luna-blue/theme.css +432 -351
  589. package/resources/themes/luna-green/theme.css +432 -351
  590. package/resources/themes/luna-pink/theme.css +432 -351
  591. package/resources/themes/md-dark-deeppurple/theme.css +696 -431
  592. package/resources/themes/md-dark-indigo/theme.css +696 -431
  593. package/resources/themes/md-light-deeppurple/theme.css +700 -435
  594. package/resources/themes/md-light-indigo/theme.css +700 -435
  595. package/resources/themes/mdc-dark-deeppurple/theme.css +696 -431
  596. package/resources/themes/mdc-dark-indigo/theme.css +696 -431
  597. package/resources/themes/mdc-light-deeppurple/theme.css +700 -435
  598. package/resources/themes/mdc-light-indigo/theme.css +700 -435
  599. package/resources/themes/mira/theme.css +486 -405
  600. package/resources/themes/nano/theme.css +432 -351
  601. package/resources/themes/nova/theme.css +432 -351
  602. package/resources/themes/nova-accent/theme.css +432 -351
  603. package/resources/themes/nova-alt/theme.css +432 -351
  604. package/resources/themes/nova-vue/theme.css +432 -351
  605. package/resources/themes/rhea/theme.css +432 -351
  606. package/resources/themes/saga-blue/theme.css +432 -351
  607. package/resources/themes/saga-green/theme.css +432 -351
  608. package/resources/themes/saga-orange/theme.css +432 -351
  609. package/resources/themes/saga-purple/theme.css +432 -351
  610. package/resources/themes/soho-dark/theme.css +534 -404
  611. package/resources/themes/soho-light/theme.css +534 -404
  612. package/resources/themes/tailwind-light/theme.css +432 -351
  613. package/resources/themes/vela-blue/theme.css +432 -351
  614. package/resources/themes/vela-green/theme.css +432 -351
  615. package/resources/themes/vela-orange/theme.css +432 -351
  616. package/resources/themes/vela-purple/theme.css +432 -351
  617. package/resources/themes/viva-dark/theme.css +535 -405
  618. package/resources/themes/viva-light/theme.css +535 -405
  619. package/slider/Slider.vue +0 -1
  620. package/slider/slider.cjs.js +0 -1
  621. package/slider/slider.cjs.min.js +1 -1
  622. package/slider/slider.esm.js +0 -1
  623. package/slider/slider.esm.min.js +1 -1
  624. package/slider/slider.js +0 -1
  625. package/slider/slider.min.js +1 -1
  626. package/speeddial/SpeedDial.vue +2 -2
  627. package/speeddial/speeddial.cjs.js +2 -2
  628. package/speeddial/speeddial.cjs.min.js +1 -1
  629. package/speeddial/speeddial.esm.js +2 -2
  630. package/speeddial/speeddial.esm.min.js +1 -1
  631. package/speeddial/speeddial.js +2 -2
  632. package/speeddial/speeddial.min.js +1 -1
  633. package/splitbutton/style/splitbuttonstyle.cjs.js +8 -5
  634. package/splitbutton/style/splitbuttonstyle.cjs.min.js +1 -1
  635. package/splitbutton/style/splitbuttonstyle.esm.js +8 -5
  636. package/splitbutton/style/splitbuttonstyle.esm.min.js +1 -1
  637. package/splitbutton/style/splitbuttonstyle.js +8 -5
  638. package/splitbutton/style/splitbuttonstyle.min.js +1 -1
  639. package/tabview/TabView.vue +2 -3
  640. package/tabview/tabview.cjs.js +3 -3
  641. package/tabview/tabview.cjs.min.js +1 -1
  642. package/tabview/tabview.esm.js +3 -3
  643. package/tabview/tabview.esm.min.js +1 -1
  644. package/tabview/tabview.js +3 -3
  645. package/tabview/tabview.min.js +1 -1
  646. package/tag/Tag.vue +1 -1
  647. package/tag/tag.cjs.js +4 -2
  648. package/tag/tag.cjs.min.js +1 -1
  649. package/tag/tag.esm.js +4 -2
  650. package/tag/tag.esm.min.js +1 -1
  651. package/tag/tag.js +4 -2
  652. package/tag/tag.min.js +1 -1
  653. package/textarea/Textarea.d.ts +2 -2
  654. package/tieredmenu/TieredMenu.vue +1 -1
  655. package/tieredmenu/tieredmenu.cjs.js +2 -1
  656. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  657. package/tieredmenu/tieredmenu.esm.js +2 -1
  658. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  659. package/tieredmenu/tieredmenu.js +2 -1
  660. package/tieredmenu/tieredmenu.min.js +1 -1
  661. package/togglebutton/BaseToggleButton.vue +4 -4
  662. package/togglebutton/ToggleButton.d.ts +17 -24
  663. package/togglebutton/ToggleButton.vue +41 -67
  664. package/togglebutton/style/togglebuttonstyle.cjs.js +15 -8
  665. package/togglebutton/style/togglebuttonstyle.cjs.min.js +1 -1
  666. package/togglebutton/style/togglebuttonstyle.esm.js +15 -8
  667. package/togglebutton/style/togglebuttonstyle.esm.min.js +1 -1
  668. package/togglebutton/style/togglebuttonstyle.js +15 -8
  669. package/togglebutton/style/togglebuttonstyle.min.js +1 -1
  670. package/togglebutton/togglebutton.cjs.js +45 -80
  671. package/togglebutton/togglebutton.cjs.min.js +1 -1
  672. package/togglebutton/togglebutton.esm.js +46 -81
  673. package/togglebutton/togglebutton.esm.min.js +1 -1
  674. package/togglebutton/togglebutton.js +46 -82
  675. package/togglebutton/togglebutton.min.js +1 -1
  676. package/tree/BaseTree.vue +4 -0
  677. package/tree/Tree.d.ts +6 -9
  678. package/tree/Tree.vue +1 -1
  679. package/tree/TreeNode.vue +14 -11
  680. package/tree/style/treestyle.cjs.js +3 -6
  681. package/tree/style/treestyle.cjs.min.js +1 -1
  682. package/tree/style/treestyle.esm.js +3 -6
  683. package/tree/style/treestyle.esm.min.js +1 -1
  684. package/tree/style/treestyle.js +3 -6
  685. package/tree/style/treestyle.min.js +1 -1
  686. package/tree/tree.cjs.js +34 -21
  687. package/tree/tree.cjs.min.js +1 -1
  688. package/tree/tree.esm.js +34 -22
  689. package/tree/tree.esm.min.js +1 -1
  690. package/tree/tree.js +35 -23
  691. package/tree/tree.min.js +1 -1
  692. package/treetable/BodyCell.vue +26 -24
  693. package/treetable/TreeTable.vue +3 -1
  694. package/treetable/TreeTableRow.vue +2 -0
  695. package/treetable/style/treetablestyle.cjs.js +4 -13
  696. package/treetable/style/treetablestyle.cjs.min.js +1 -1
  697. package/treetable/style/treetablestyle.esm.js +4 -13
  698. package/treetable/style/treetablestyle.esm.min.js +1 -1
  699. package/treetable/style/treetablestyle.js +4 -13
  700. package/treetable/style/treetablestyle.min.js +1 -1
  701. package/treetable/treetable.cjs.js +39 -44
  702. package/treetable/treetable.cjs.min.js +1 -1
  703. package/treetable/treetable.esm.js +39 -45
  704. package/treetable/treetable.esm.min.js +1 -1
  705. package/treetable/treetable.js +40 -46
  706. package/treetable/treetable.min.js +1 -1
  707. package/tristatecheckbox/BaseTriStateCheckbox.vue +17 -9
  708. package/tristatecheckbox/TriStateCheckbox.d.ts +34 -23
  709. package/tristatecheckbox/TriStateCheckbox.vue +49 -61
  710. package/tristatecheckbox/style/tristatecheckboxstyle.cjs.js +7 -13
  711. package/tristatecheckbox/style/tristatecheckboxstyle.cjs.min.js +1 -1
  712. package/tristatecheckbox/style/tristatecheckboxstyle.esm.js +7 -13
  713. package/tristatecheckbox/style/tristatecheckboxstyle.esm.min.js +1 -1
  714. package/tristatecheckbox/style/tristatecheckboxstyle.js +7 -13
  715. package/tristatecheckbox/style/tristatecheckboxstyle.min.js +1 -1
  716. package/tristatecheckbox/tristatecheckbox.cjs.js +69 -87
  717. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  718. package/tristatecheckbox/tristatecheckbox.esm.js +70 -88
  719. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  720. package/tristatecheckbox/tristatecheckbox.js +69 -87
  721. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  722. package/utils/utils.cjs.js +14 -6
  723. package/utils/utils.cjs.min.js +1 -1
  724. package/utils/utils.esm.js +14 -6
  725. package/utils/utils.esm.min.js +1 -1
  726. package/utils/utils.js +14 -6
  727. package/utils/utils.min.js +1 -1
  728. package/vetur-attributes.json +24 -0
  729. package/vetur-tags.json +6 -0
  730. package/virtualscroller/BaseVirtualScroller.vue +1 -1
  731. package/virtualscroller/VirtualScroller.vue +58 -50
  732. package/virtualscroller/virtualscroller.cjs.js +90 -77
  733. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  734. package/virtualscroller/virtualscroller.esm.js +90 -77
  735. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  736. package/virtualscroller/virtualscroller.js +90 -77
  737. package/virtualscroller/virtualscroller.min.js +1 -1
  738. package/web-types.json +71 -6
@@ -62,6 +62,7 @@
62
62
  :optionGroupLabel="optionGroupLabel"
63
63
  :optionGroupChildren="optionGroupChildren"
64
64
  @option-change="onOptionChange"
65
+ @option-focus-change="onOptionFocusChange"
65
66
  :pt="pt"
66
67
  :unstyled="unstyled"
67
68
  />
@@ -95,10 +96,10 @@ export default {
95
96
  overlay: null,
96
97
  searchTimeout: null,
97
98
  searchValue: null,
98
- focusOnHover: false,
99
99
  data() {
100
100
  return {
101
101
  id: this.$attrs.id,
102
+ clicked: false,
102
103
  focused: false,
103
104
  focusedOptionInfo: { index: -1, level: 0, parentKey: '' },
104
105
  activeOptionPath: [],
@@ -116,7 +117,6 @@ export default {
116
117
  },
117
118
  mounted() {
118
119
  this.id = this.id || UniqueComponentId();
119
-
120
120
  this.autoUpdateModel();
121
121
  },
122
122
  beforeUnmount() {
@@ -152,13 +152,13 @@ export default {
152
152
  isOptionGroup(option, level) {
153
153
  return Object.prototype.hasOwnProperty.call(option, this.optionGroupChildren[level]);
154
154
  },
155
- getProccessedOptionLabel(processedOption) {
155
+ getProccessedOptionLabel(processedOption = {}) {
156
156
  const grouped = this.isProccessedOptionGroup(processedOption);
157
157
 
158
158
  return grouped ? this.getOptionGroupLabel(processedOption.option, processedOption.level) : this.getOptionLabel(processedOption.option);
159
159
  },
160
160
  isProccessedOptionGroup(processedOption) {
161
- return ObjectUtils.isNotEmpty(processedOption.children);
161
+ return ObjectUtils.isNotEmpty(processedOption?.children);
162
162
  },
163
163
  show(isFocus) {
164
164
  this.$emit('before-show');
@@ -168,9 +168,9 @@ export default {
168
168
  if (this.hasSelectedOption && ObjectUtils.isNotEmpty(this.activeOptionPath)) {
169
169
  const processedOption = this.activeOptionPath[this.activeOptionPath.length - 1];
170
170
 
171
- this.focusedOptionInfo = { index: this.autoOptionFocus ? processedOption.index : -1, level: processedOption.level, parentKey: processedOption.parentKey };
171
+ this.focusedOptionInfo = { index: processedOption.index, level: processedOption.level, parentKey: processedOption.parentKey };
172
172
  } else {
173
- this.focusedOptionInfo = { index: this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1, level: 0, parentKey: '' };
173
+ this.focusedOptionInfo = { index: this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.findSelectedOptionIndex(), level: 0, parentKey: '' };
174
174
  }
175
175
 
176
176
  isFocus && DomHandler.focus(this.$refs.focusInput);
@@ -179,6 +179,7 @@ export default {
179
179
  const _hide = () => {
180
180
  this.$emit('before-hide');
181
181
  this.overlayVisible = false;
182
+ this.clicked = false;
182
183
  this.activeOptionPath = [];
183
184
  this.focusedOptionInfo = { index: -1, level: 0, parentKey: '' };
184
185
 
@@ -271,6 +272,8 @@ export default {
271
272
 
272
273
  break;
273
274
  }
275
+
276
+ this.clicked = false;
274
277
  },
275
278
  onOptionChange(event) {
276
279
  const { originalEvent, processedOption, isFocus, isHide } = event;
@@ -290,8 +293,17 @@ export default {
290
293
  grouped ? this.onOptionGroupSelect(originalEvent, processedOption) : this.onOptionSelect(originalEvent, processedOption, isHide);
291
294
  isFocus && DomHandler.focus(this.$refs.focusInput);
292
295
  },
296
+ onOptionFocusChange(event) {
297
+ if (this.focusOnHover) {
298
+ const { originalEvent, processedOption } = event;
299
+ const { index, level, parentKey } = processedOption;
300
+
301
+ this.focusedOptionInfo = { index, level, parentKey };
302
+ this.changeFocusedOptionIndex(originalEvent, index);
303
+ }
304
+ },
293
305
  onOptionSelect(event, processedOption, isHide = true) {
294
- const value = this.getOptionValue(processedOption.option);
306
+ const value = this.getOptionValue(processedOption?.option);
295
307
 
296
308
  this.activeOptionPath.forEach((p) => (p.selected = true));
297
309
  this.updateModel(event, value);
@@ -311,6 +323,7 @@ export default {
311
323
  DomHandler.focus(this.$refs.focusInput);
312
324
  }
313
325
 
326
+ this.clicked = true;
314
327
  this.$emit('click', event);
315
328
  },
316
329
  onOverlayClick(event) {
@@ -330,11 +343,14 @@ export default {
330
343
  }
331
344
  },
332
345
  onArrowDownKey(event) {
333
- const optionIndex = this.focusedOptionInfo.index !== -1 ? this.findNextOptionIndex(this.focusedOptionInfo.index) : this.findFirstFocusedOptionIndex();
346
+ if (!this.overlayVisible) {
347
+ this.show();
348
+ } else {
349
+ const optionIndex = this.focusedOptionInfo.index !== -1 ? this.findNextOptionIndex(this.focusedOptionInfo.index) : this.clicked ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex();
334
350
 
335
- this.changeFocusedOptionIndex(event, optionIndex);
351
+ this.changeFocusedOptionIndex(event, optionIndex);
352
+ }
336
353
 
337
- !this.overlayVisible && this.show();
338
354
  event.preventDefault();
339
355
  },
340
356
  onArrowUpKey(event) {
@@ -349,7 +365,7 @@ export default {
349
365
  this.overlayVisible && this.hide();
350
366
  event.preventDefault();
351
367
  } else {
352
- const optionIndex = this.focusedOptionInfo.index !== -1 ? this.findPrevOptionIndex(this.focusedOptionInfo.index) : this.findLastFocusedOptionIndex();
368
+ const optionIndex = this.focusedOptionInfo.index !== -1 ? this.findPrevOptionIndex(this.focusedOptionInfo.index) : this.clicked ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex();
353
369
 
354
370
  this.changeFocusedOptionIndex(event, optionIndex);
355
371
 
@@ -360,9 +376,9 @@ export default {
360
376
  onArrowLeftKey(event) {
361
377
  if (this.overlayVisible) {
362
378
  const processedOption = this.visibleOptions[this.focusedOptionInfo.index];
363
- const parentOption = this.activeOptionPath.find((p) => p.key === processedOption.parentKey);
379
+ const parentOption = this.activeOptionPath.find((p) => p.key === processedOption?.parentKey);
364
380
  const matched = this.focusedOptionInfo.parentKey === '' || (parentOption && parentOption.key === this.focusedOptionInfo.parentKey);
365
- const root = ObjectUtils.isEmpty(processedOption.parent);
381
+ const root = ObjectUtils.isEmpty(processedOption?.parent);
366
382
 
367
383
  if (matched) {
368
384
  this.activeOptionPath = this.activeOptionPath.filter((p) => p.parentKey !== this.focusedOptionInfo.parentKey);
@@ -383,10 +399,10 @@ export default {
383
399
  const grouped = this.isProccessedOptionGroup(processedOption);
384
400
 
385
401
  if (grouped) {
386
- const matched = this.activeOptionPath.some((p) => processedOption.key === p.key);
402
+ const matched = this.activeOptionPath.some((p) => processedOption?.key === p.key);
387
403
 
388
404
  if (matched) {
389
- this.focusedOptionInfo = { index: -1, parentKey: processedOption.key };
405
+ this.focusedOptionInfo = { index: -1, parentKey: processedOption?.key };
390
406
  this.searchValue = '';
391
407
  this.onArrowDownKey(event);
392
408
  } else {
@@ -411,6 +427,7 @@ export default {
411
427
  },
412
428
  onEnterKey(event) {
413
429
  if (!this.overlayVisible) {
430
+ this.focusedOptionInfo.index !== -1; // reset
414
431
  this.onArrowDownKey(event);
415
432
  } else {
416
433
  if (this.focusedOptionInfo.index !== -1) {
@@ -526,7 +543,7 @@ export default {
526
543
  }
527
544
  },
528
545
  isOptionMatched(processedOption) {
529
- return this.isValidOption(processedOption) && this.getProccessedOptionLabel(processedOption).toLocaleLowerCase(this.searchLocale).startsWith(this.searchValue.toLocaleLowerCase(this.searchLocale));
546
+ return this.isValidOption(processedOption) && this.getProccessedOptionLabel(processedOption)?.toLocaleLowerCase(this.searchLocale).startsWith(this.searchValue.toLocaleLowerCase(this.searchLocale));
530
547
  },
531
548
  isValidOption(processedOption) {
532
549
  return ObjectUtils.isNotEmpty(processedOption) && !this.isOptionDisabled(processedOption.option);
@@ -594,23 +611,25 @@ export default {
594
611
  let optionIndex = -1;
595
612
  let matched = false;
596
613
 
597
- if (this.focusedOptionInfo.index !== -1) {
598
- optionIndex = this.visibleOptions.slice(this.focusedOptionInfo.index).findIndex((processedOption) => this.isOptionMatched(processedOption));
599
- optionIndex = optionIndex === -1 ? this.visibleOptions.slice(0, this.focusedOptionInfo.index).findIndex((processedOption) => this.isOptionMatched(processedOption)) : optionIndex + this.focusedOptionInfo.index;
600
- } else {
601
- optionIndex = this.visibleOptions.findIndex((processedOption) => this.isOptionMatched(processedOption));
602
- }
614
+ if (ObjectUtils.isNotEmpty(this.searchValue)) {
615
+ if (this.focusedOptionInfo.index !== -1) {
616
+ optionIndex = this.visibleOptions.slice(this.focusedOptionInfo.index).findIndex((processedOption) => this.isOptionMatched(processedOption));
617
+ optionIndex = optionIndex === -1 ? this.visibleOptions.slice(0, this.focusedOptionInfo.index).findIndex((processedOption) => this.isOptionMatched(processedOption)) : optionIndex + this.focusedOptionInfo.index;
618
+ } else {
619
+ optionIndex = this.visibleOptions.findIndex((processedOption) => this.isOptionMatched(processedOption));
620
+ }
603
621
 
604
- if (optionIndex !== -1) {
605
- matched = true;
606
- }
622
+ if (optionIndex !== -1) {
623
+ matched = true;
624
+ }
607
625
 
608
- if (optionIndex === -1 && this.focusedOptionInfo.index === -1) {
609
- optionIndex = this.findFirstFocusedOptionIndex();
610
- }
626
+ if (optionIndex === -1 && this.focusedOptionInfo.index === -1) {
627
+ optionIndex = this.findFirstFocusedOptionIndex();
628
+ }
611
629
 
612
- if (optionIndex !== -1) {
613
- this.changeFocusedOptionIndex(event, optionIndex);
630
+ if (optionIndex !== -1) {
631
+ this.changeFocusedOptionIndex(event, optionIndex);
632
+ }
614
633
  }
615
634
 
616
635
  if (this.searchTimeout) {
@@ -635,12 +654,14 @@ export default {
635
654
  }
636
655
  },
637
656
  scrollInView(index = -1) {
638
- const id = index !== -1 ? `${this.id}_${index}` : this.focusedOptionId;
639
- const element = DomHandler.findSingle(this.list, `li[id="${id}"]`);
657
+ this.$nextTick(() => {
658
+ const id = index !== -1 ? `${this.id}_${index}` : this.focusedOptionId;
659
+ const element = DomHandler.findSingle(this.list, `li[id="${id}"]`);
640
660
 
641
- if (element) {
642
- element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'start' });
643
- }
661
+ if (element) {
662
+ element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'start' });
663
+ }
664
+ });
644
665
  },
645
666
  autoUpdateModel() {
646
667
  if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption) {
@@ -17,7 +17,7 @@
17
17
  :data-p-focus="isOptionFocused(processedOption)"
18
18
  :data-p-disabled="isOptionDisabled(processedOption)"
19
19
  >
20
- <div v-ripple :class="cx('content')" @click="onOptionClick($event, processedOption)" v-bind="getPTOptions(processedOption, index, 'content')">
20
+ <div v-ripple :class="cx('content')" @click="onOptionClick($event, processedOption)" @mousemove="onOptionMouseMove($event, processedOption)" v-bind="getPTOptions(processedOption, index, 'content')">
21
21
  <component v-if="templates['option']" :is="templates['option']" :option="processedOption.option" />
22
22
  <span v-else :class="cx('text')" v-bind="getPTOptions(processedOption, index, 'text')">{{ getOptionLabelToRender(processedOption) }}</span>
23
23
  <template v-if="isOptionGroup(processedOption)">
@@ -43,6 +43,7 @@
43
43
  :optionGroupLabel="optionGroupLabel"
44
44
  :optionGroupChildren="optionGroupChildren"
45
45
  @option-change="onOptionChange"
46
+ @option-focus-change="onOptionFocusChange"
46
47
  :pt="pt"
47
48
  :unstyled="unstyled"
48
49
  :isParentMount="mounted"
@@ -62,7 +63,7 @@ export default {
62
63
  name: 'CascadeSelectSub',
63
64
  hostName: 'CascadeSelect',
64
65
  extends: BaseComponent,
65
- emits: ['option-change'],
66
+ emits: ['option-change', 'option-focus-change'],
66
67
  container: null,
67
68
  props: {
68
69
  selectId: String,
@@ -149,9 +150,15 @@ export default {
149
150
  onOptionClick(event, processedOption) {
150
151
  this.$emit('option-change', { originalEvent: event, processedOption, isFocus: true });
151
152
  },
153
+ onOptionMouseMove(event, processedOption) {
154
+ this.$emit('option-focus-change', { originalEvent: event, processedOption });
155
+ },
152
156
  onOptionChange(event) {
153
157
  this.$emit('option-change', event);
154
158
  },
159
+ onOptionFocusChange(event) {
160
+ this.$emit('option-focus-change', event);
161
+ },
155
162
  containerRef(el) {
156
163
  this.container = el;
157
164
  }
@@ -86,12 +86,16 @@ var script$2 = {
86
86
  },
87
87
  autoOptionFocus: {
88
88
  type: Boolean,
89
- "default": true
89
+ "default": false
90
90
  },
91
91
  selectOnFocus: {
92
92
  type: Boolean,
93
93
  "default": false
94
94
  },
95
+ focusOnHover: {
96
+ type: Boolean,
97
+ "default": true
98
+ },
95
99
  searchLocale: {
96
100
  type: String,
97
101
  "default": undefined
@@ -141,7 +145,7 @@ var script$1 = {
141
145
  name: 'CascadeSelectSub',
142
146
  hostName: 'CascadeSelect',
143
147
  "extends": BaseComponent__default["default"],
144
- emits: ['option-change'],
148
+ emits: ['option-change', 'option-focus-change'],
145
149
  container: null,
146
150
  props: {
147
151
  selectId: String,
@@ -234,9 +238,18 @@ var script$1 = {
234
238
  isFocus: true
235
239
  });
236
240
  },
241
+ onOptionMouseMove: function onOptionMouseMove(event, processedOption) {
242
+ this.$emit('option-focus-change', {
243
+ originalEvent: event,
244
+ processedOption: processedOption
245
+ });
246
+ },
237
247
  onOptionChange: function onOptionChange(event) {
238
248
  this.$emit('option-change', event);
239
249
  },
250
+ onOptionFocusChange: function onOptionFocusChange(event) {
251
+ this.$emit('option-focus-change', event);
252
+ },
240
253
  containerRef: function containerRef(el) {
241
254
  this.container = el;
242
255
  }
@@ -250,7 +263,7 @@ var script$1 = {
250
263
  };
251
264
 
252
265
  var _hoisted_1$1 = ["id", "aria-label", "aria-selected", "aria-expanded", "aria-level", "aria-setsize", "aria-posinset", "data-p-item-group", "data-p-highlight", "data-p-focus", "data-p-disabled"];
253
- var _hoisted_2 = ["onClick"];
266
+ var _hoisted_2 = ["onClick", "onMousemove"];
254
267
  function render$1(_ctx, _cache, $props, $setup, $data, $options) {
255
268
  var _component_AngleRightIcon = vue.resolveComponent("AngleRightIcon");
256
269
  var _component_CascadeSelectSub = vue.resolveComponent("CascadeSelectSub", true);
@@ -281,6 +294,9 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
281
294
  "class": _ctx.cx('content'),
282
295
  onClick: function onClick($event) {
283
296
  return $options.onOptionClick($event, processedOption);
297
+ },
298
+ onMousemove: function onMousemove($event) {
299
+ return $options.onOptionMouseMove($event, processedOption);
284
300
  }
285
301
  }, $options.getPTOptions(processedOption, index, 'content')), [$props.templates['option'] ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.templates['option']), {
286
302
  key: 0,
@@ -318,10 +334,11 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
318
334
  optionGroupLabel: $props.optionGroupLabel,
319
335
  optionGroupChildren: $props.optionGroupChildren,
320
336
  onOptionChange: $options.onOptionChange,
337
+ onOptionFocusChange: $options.onOptionFocusChange,
321
338
  pt: _ctx.pt,
322
339
  unstyled: _ctx.unstyled,
323
340
  isParentMount: $data.mounted
324
- }, null, 8, ["class", "selectId", "focusedOptionId", "options", "activeOptionPath", "level", "templates", "optionLabel", "optionValue", "optionDisabled", "optionGroupIcon", "optionGroupLabel", "optionGroupChildren", "onOptionChange", "pt", "unstyled", "isParentMount"])) : vue.createCommentVNode("", true)], 16, _hoisted_1$1);
341
+ }, null, 8, ["class", "selectId", "focusedOptionId", "options", "activeOptionPath", "level", "templates", "optionLabel", "optionValue", "optionDisabled", "optionGroupIcon", "optionGroupLabel", "optionGroupChildren", "onOptionChange", "onOptionFocusChange", "pt", "unstyled", "isParentMount"])) : vue.createCommentVNode("", true)], 16, _hoisted_1$1);
325
342
  }), 128))], 16);
326
343
  }
327
344
 
@@ -337,10 +354,10 @@ var script = {
337
354
  overlay: null,
338
355
  searchTimeout: null,
339
356
  searchValue: null,
340
- focusOnHover: false,
341
357
  data: function data() {
342
358
  return {
343
359
  id: this.$attrs.id,
360
+ clicked: false,
344
361
  focused: false,
345
362
  focusedOptionInfo: {
346
363
  index: -1,
@@ -395,12 +412,13 @@ var script = {
395
412
  isOptionGroup: function isOptionGroup(option, level) {
396
413
  return Object.prototype.hasOwnProperty.call(option, this.optionGroupChildren[level]);
397
414
  },
398
- getProccessedOptionLabel: function getProccessedOptionLabel(processedOption) {
415
+ getProccessedOptionLabel: function getProccessedOptionLabel() {
416
+ var processedOption = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
399
417
  var grouped = this.isProccessedOptionGroup(processedOption);
400
418
  return grouped ? this.getOptionGroupLabel(processedOption.option, processedOption.level) : this.getOptionLabel(processedOption.option);
401
419
  },
402
420
  isProccessedOptionGroup: function isProccessedOptionGroup(processedOption) {
403
- return utils.ObjectUtils.isNotEmpty(processedOption.children);
421
+ return utils.ObjectUtils.isNotEmpty(processedOption === null || processedOption === void 0 ? void 0 : processedOption.children);
404
422
  },
405
423
  show: function show(isFocus) {
406
424
  this.$emit('before-show');
@@ -409,13 +427,13 @@ var script = {
409
427
  if (this.hasSelectedOption && utils.ObjectUtils.isNotEmpty(this.activeOptionPath)) {
410
428
  var processedOption = this.activeOptionPath[this.activeOptionPath.length - 1];
411
429
  this.focusedOptionInfo = {
412
- index: this.autoOptionFocus ? processedOption.index : -1,
430
+ index: processedOption.index,
413
431
  level: processedOption.level,
414
432
  parentKey: processedOption.parentKey
415
433
  };
416
434
  } else {
417
435
  this.focusedOptionInfo = {
418
- index: this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1,
436
+ index: this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.findSelectedOptionIndex(),
419
437
  level: 0,
420
438
  parentKey: ''
421
439
  };
@@ -427,6 +445,7 @@ var script = {
427
445
  var _hide = function _hide() {
428
446
  _this.$emit('before-hide');
429
447
  _this.overlayVisible = false;
448
+ _this.clicked = false;
430
449
  _this.activeOptionPath = [];
431
450
  _this.focusedOptionInfo = {
432
451
  index: -1,
@@ -509,6 +528,7 @@ var script = {
509
528
  }
510
529
  break;
511
530
  }
531
+ this.clicked = false;
512
532
  },
513
533
  onOptionChange: function onOptionChange(event) {
514
534
  var originalEvent = event.originalEvent,
@@ -534,9 +554,24 @@ var script = {
534
554
  grouped ? this.onOptionGroupSelect(originalEvent, processedOption) : this.onOptionSelect(originalEvent, processedOption, isHide);
535
555
  isFocus && utils.DomHandler.focus(this.$refs.focusInput);
536
556
  },
557
+ onOptionFocusChange: function onOptionFocusChange(event) {
558
+ if (this.focusOnHover) {
559
+ var originalEvent = event.originalEvent,
560
+ processedOption = event.processedOption;
561
+ var index = processedOption.index,
562
+ level = processedOption.level,
563
+ parentKey = processedOption.parentKey;
564
+ this.focusedOptionInfo = {
565
+ index: index,
566
+ level: level,
567
+ parentKey: parentKey
568
+ };
569
+ this.changeFocusedOptionIndex(originalEvent, index);
570
+ }
571
+ },
537
572
  onOptionSelect: function onOptionSelect(event, processedOption) {
538
573
  var isHide = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
539
- var value = this.getOptionValue(processedOption.option);
574
+ var value = this.getOptionValue(processedOption === null || processedOption === void 0 ? void 0 : processedOption.option);
540
575
  this.activeOptionPath.forEach(function (p) {
541
576
  return p.selected = true;
542
577
  });
@@ -558,6 +593,7 @@ var script = {
558
593
  this.overlayVisible ? this.hide() : this.show();
559
594
  utils.DomHandler.focus(this.$refs.focusInput);
560
595
  }
596
+ this.clicked = true;
561
597
  this.$emit('click', event);
562
598
  },
563
599
  onOverlayClick: function onOverlayClick(event) {
@@ -574,9 +610,12 @@ var script = {
574
610
  }
575
611
  },
576
612
  onArrowDownKey: function onArrowDownKey(event) {
577
- var optionIndex = this.focusedOptionInfo.index !== -1 ? this.findNextOptionIndex(this.focusedOptionInfo.index) : this.findFirstFocusedOptionIndex();
578
- this.changeFocusedOptionIndex(event, optionIndex);
579
- !this.overlayVisible && this.show();
613
+ if (!this.overlayVisible) {
614
+ this.show();
615
+ } else {
616
+ var optionIndex = this.focusedOptionInfo.index !== -1 ? this.findNextOptionIndex(this.focusedOptionInfo.index) : this.clicked ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex();
617
+ this.changeFocusedOptionIndex(event, optionIndex);
618
+ }
580
619
  event.preventDefault();
581
620
  },
582
621
  onArrowUpKey: function onArrowUpKey(event) {
@@ -592,7 +631,7 @@ var script = {
592
631
  this.overlayVisible && this.hide();
593
632
  event.preventDefault();
594
633
  } else {
595
- var optionIndex = this.focusedOptionInfo.index !== -1 ? this.findPrevOptionIndex(this.focusedOptionInfo.index) : this.findLastFocusedOptionIndex();
634
+ var optionIndex = this.focusedOptionInfo.index !== -1 ? this.findPrevOptionIndex(this.focusedOptionInfo.index) : this.clicked ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex();
596
635
  this.changeFocusedOptionIndex(event, optionIndex);
597
636
  !this.overlayVisible && this.show();
598
637
  event.preventDefault();
@@ -603,10 +642,10 @@ var script = {
603
642
  if (this.overlayVisible) {
604
643
  var processedOption = this.visibleOptions[this.focusedOptionInfo.index];
605
644
  var parentOption = this.activeOptionPath.find(function (p) {
606
- return p.key === processedOption.parentKey;
645
+ return p.key === (processedOption === null || processedOption === void 0 ? void 0 : processedOption.parentKey);
607
646
  });
608
647
  var matched = this.focusedOptionInfo.parentKey === '' || parentOption && parentOption.key === this.focusedOptionInfo.parentKey;
609
- var root = utils.ObjectUtils.isEmpty(processedOption.parent);
648
+ var root = utils.ObjectUtils.isEmpty(processedOption === null || processedOption === void 0 ? void 0 : processedOption.parent);
610
649
  if (matched) {
611
650
  this.activeOptionPath = this.activeOptionPath.filter(function (p) {
612
651
  return p.parentKey !== _this2.focusedOptionInfo.parentKey;
@@ -629,12 +668,12 @@ var script = {
629
668
  var grouped = this.isProccessedOptionGroup(processedOption);
630
669
  if (grouped) {
631
670
  var matched = this.activeOptionPath.some(function (p) {
632
- return processedOption.key === p.key;
671
+ return (processedOption === null || processedOption === void 0 ? void 0 : processedOption.key) === p.key;
633
672
  });
634
673
  if (matched) {
635
674
  this.focusedOptionInfo = {
636
675
  index: -1,
637
- parentKey: processedOption.key
676
+ parentKey: processedOption === null || processedOption === void 0 ? void 0 : processedOption.key
638
677
  };
639
678
  this.searchValue = '';
640
679
  this.onArrowDownKey(event);
@@ -660,6 +699,7 @@ var script = {
660
699
  },
661
700
  onEnterKey: function onEnterKey(event) {
662
701
  if (!this.overlayVisible) {
702
+ this.focusedOptionInfo.index !== -1; // reset
663
703
  this.onArrowDownKey(event);
664
704
  } else {
665
705
  if (this.focusedOptionInfo.index !== -1) {
@@ -778,7 +818,8 @@ var script = {
778
818
  }
779
819
  },
780
820
  isOptionMatched: function isOptionMatched(processedOption) {
781
- return this.isValidOption(processedOption) && this.getProccessedOptionLabel(processedOption).toLocaleLowerCase(this.searchLocale).startsWith(this.searchValue.toLocaleLowerCase(this.searchLocale));
821
+ var _this$getProccessedOp;
822
+ return this.isValidOption(processedOption) && ((_this$getProccessedOp = this.getProccessedOptionLabel(processedOption)) === null || _this$getProccessedOp === void 0 ? void 0 : _this$getProccessedOp.toLocaleLowerCase(this.searchLocale).startsWith(this.searchValue.toLocaleLowerCase(this.searchLocale)));
782
823
  },
783
824
  isValidOption: function isValidOption(processedOption) {
784
825
  return utils.ObjectUtils.isNotEmpty(processedOption) && !this.isOptionDisabled(processedOption.option);
@@ -853,26 +894,28 @@ var script = {
853
894
  this.searchValue = (this.searchValue || '') + _char;
854
895
  var optionIndex = -1;
855
896
  var matched = false;
856
- if (this.focusedOptionInfo.index !== -1) {
857
- optionIndex = this.visibleOptions.slice(this.focusedOptionInfo.index).findIndex(function (processedOption) {
858
- return _this11.isOptionMatched(processedOption);
859
- });
860
- optionIndex = optionIndex === -1 ? this.visibleOptions.slice(0, this.focusedOptionInfo.index).findIndex(function (processedOption) {
861
- return _this11.isOptionMatched(processedOption);
862
- }) : optionIndex + this.focusedOptionInfo.index;
863
- } else {
864
- optionIndex = this.visibleOptions.findIndex(function (processedOption) {
865
- return _this11.isOptionMatched(processedOption);
866
- });
867
- }
868
- if (optionIndex !== -1) {
869
- matched = true;
870
- }
871
- if (optionIndex === -1 && this.focusedOptionInfo.index === -1) {
872
- optionIndex = this.findFirstFocusedOptionIndex();
873
- }
874
- if (optionIndex !== -1) {
875
- this.changeFocusedOptionIndex(event, optionIndex);
897
+ if (utils.ObjectUtils.isNotEmpty(this.searchValue)) {
898
+ if (this.focusedOptionInfo.index !== -1) {
899
+ optionIndex = this.visibleOptions.slice(this.focusedOptionInfo.index).findIndex(function (processedOption) {
900
+ return _this11.isOptionMatched(processedOption);
901
+ });
902
+ optionIndex = optionIndex === -1 ? this.visibleOptions.slice(0, this.focusedOptionInfo.index).findIndex(function (processedOption) {
903
+ return _this11.isOptionMatched(processedOption);
904
+ }) : optionIndex + this.focusedOptionInfo.index;
905
+ } else {
906
+ optionIndex = this.visibleOptions.findIndex(function (processedOption) {
907
+ return _this11.isOptionMatched(processedOption);
908
+ });
909
+ }
910
+ if (optionIndex !== -1) {
911
+ matched = true;
912
+ }
913
+ if (optionIndex === -1 && this.focusedOptionInfo.index === -1) {
914
+ optionIndex = this.findFirstFocusedOptionIndex();
915
+ }
916
+ if (optionIndex !== -1) {
917
+ this.changeFocusedOptionIndex(event, optionIndex);
918
+ }
876
919
  }
877
920
  if (this.searchTimeout) {
878
921
  clearTimeout(this.searchTimeout);
@@ -897,15 +940,18 @@ var script = {
897
940
  }
898
941
  },
899
942
  scrollInView: function scrollInView() {
943
+ var _this12 = this;
900
944
  var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
901
- var id = index !== -1 ? "".concat(this.id, "_").concat(index) : this.focusedOptionId;
902
- var element = utils.DomHandler.findSingle(this.list, "li[id=\"".concat(id, "\"]"));
903
- if (element) {
904
- element.scrollIntoView && element.scrollIntoView({
905
- block: 'nearest',
906
- inline: 'start'
907
- });
908
- }
945
+ this.$nextTick(function () {
946
+ var id = index !== -1 ? "".concat(_this12.id, "_").concat(index) : _this12.focusedOptionId;
947
+ var element = utils.DomHandler.findSingle(_this12.list, "li[id=\"".concat(id, "\"]"));
948
+ if (element) {
949
+ element.scrollIntoView && element.scrollIntoView({
950
+ block: 'nearest',
951
+ inline: 'start'
952
+ });
953
+ }
954
+ });
909
955
  },
910
956
  autoUpdateModel: function autoUpdateModel() {
911
957
  if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption) {
@@ -929,7 +975,7 @@ var script = {
929
975
  });
930
976
  },
931
977
  createProcessedOptions: function createProcessedOptions(options) {
932
- var _this12 = this;
978
+ var _this13 = this;
933
979
  var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
934
980
  var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
935
981
  var parentKey = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
@@ -944,7 +990,7 @@ var script = {
944
990
  parent: parent,
945
991
  parentKey: parentKey
946
992
  };
947
- newOption['children'] = _this12.createProcessedOptions(_this12.getOptionGroupChildren(option, level), level + 1, newOption, key);
993
+ newOption['children'] = _this13.createProcessedOptions(_this13.getOptionGroupChildren(option, level), level + 1, newOption, key);
948
994
  processedOptions.push(newOption);
949
995
  });
950
996
  return processedOptions;
@@ -970,9 +1016,9 @@ var script = {
970
1016
  return this.createProcessedOptions(this.options || []);
971
1017
  },
972
1018
  visibleOptions: function visibleOptions() {
973
- var _this13 = this;
1019
+ var _this14 = this;
974
1020
  var processedOption = this.activeOptionPath.find(function (p) {
975
- return p.key === _this13.focusedOptionInfo.parentKey;
1021
+ return p.key === _this14.focusedOptionInfo.parentKey;
976
1022
  });
977
1023
  return processedOption ? processedOption.children : this.processedOptions;
978
1024
  },
@@ -1145,9 +1191,10 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
1145
1191
  optionGroupLabel: _ctx.optionGroupLabel,
1146
1192
  optionGroupChildren: _ctx.optionGroupChildren,
1147
1193
  onOptionChange: $options.onOptionChange,
1194
+ onOptionFocusChange: $options.onOptionFocusChange,
1148
1195
  pt: _ctx.pt,
1149
1196
  unstyled: _ctx.unstyled
1150
- }, null, 8, ["id", "selectId", "focusedOptionId", "options", "activeOptionPath", "templates", "optionLabel", "optionValue", "optionDisabled", "optionGroupIcon", "optionGroupLabel", "optionGroupChildren", "onOptionChange", "pt", "unstyled"])], 16), vue.createElementVNode("span", vue.mergeProps({
1197
+ }, null, 8, ["id", "selectId", "focusedOptionId", "options", "activeOptionPath", "templates", "optionLabel", "optionValue", "optionDisabled", "optionGroupIcon", "optionGroupLabel", "optionGroupChildren", "onOptionChange", "onOptionFocusChange", "pt", "unstyled"])], 16), vue.createElementVNode("span", vue.mergeProps({
1151
1198
  role: "status",
1152
1199
  "aria-live": "polite",
1153
1200
  "class": "p-hidden-accessible"