primereact 10.4.0 → 10.5.1

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 (517) hide show
  1. package/api/api.d.ts +2 -2
  2. package/autocomplete/autocomplete.cjs.js +2 -3
  3. package/autocomplete/autocomplete.cjs.min.js +1 -1
  4. package/autocomplete/autocomplete.esm.js +2 -3
  5. package/autocomplete/autocomplete.esm.min.js +1 -1
  6. package/autocomplete/autocomplete.js +2 -3
  7. package/autocomplete/autocomplete.min.js +1 -1
  8. package/breadcrumb/breadcrumb.cjs.js +4 -3
  9. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  10. package/breadcrumb/breadcrumb.esm.js +4 -3
  11. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  12. package/breadcrumb/breadcrumb.js +4 -3
  13. package/breadcrumb/breadcrumb.min.js +1 -1
  14. package/button/button.cjs.js +2 -3
  15. package/button/button.cjs.min.js +1 -1
  16. package/button/button.esm.js +2 -3
  17. package/button/button.esm.min.js +1 -1
  18. package/button/button.js +2 -3
  19. package/button/button.min.js +1 -1
  20. package/calendar/calendar.cjs.js +12 -4
  21. package/calendar/calendar.cjs.min.js +1 -1
  22. package/calendar/calendar.esm.js +12 -4
  23. package/calendar/calendar.esm.min.js +1 -1
  24. package/calendar/calendar.js +12 -4
  25. package/calendar/calendar.min.js +1 -1
  26. package/checkbox/checkbox.cjs.js +4 -3
  27. package/checkbox/checkbox.cjs.min.js +1 -1
  28. package/checkbox/checkbox.esm.js +4 -3
  29. package/checkbox/checkbox.esm.min.js +1 -1
  30. package/checkbox/checkbox.js +4 -3
  31. package/checkbox/checkbox.min.js +1 -1
  32. package/chips/chips.cjs.js +111 -23
  33. package/chips/chips.cjs.min.js +1 -1
  34. package/chips/chips.esm.js +111 -23
  35. package/chips/chips.esm.min.js +1 -1
  36. package/chips/chips.js +111 -23
  37. package/chips/chips.min.js +1 -1
  38. package/colorpicker/colorpicker.cjs.js +2 -3
  39. package/colorpicker/colorpicker.cjs.min.js +1 -1
  40. package/colorpicker/colorpicker.esm.js +2 -3
  41. package/colorpicker/colorpicker.esm.min.js +1 -1
  42. package/colorpicker/colorpicker.js +2 -3
  43. package/colorpicker/colorpicker.min.js +1 -1
  44. package/confirmdialog/confirmdialog.cjs.js +6 -2
  45. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  46. package/confirmdialog/confirmdialog.esm.js +6 -2
  47. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  48. package/confirmdialog/confirmdialog.js +7 -3
  49. package/confirmdialog/confirmdialog.min.js +1 -1
  50. package/contextmenu/contextmenu.cjs.js +4 -3
  51. package/contextmenu/contextmenu.cjs.min.js +1 -1
  52. package/contextmenu/contextmenu.esm.js +4 -3
  53. package/contextmenu/contextmenu.esm.min.js +1 -1
  54. package/contextmenu/contextmenu.js +4 -3
  55. package/contextmenu/contextmenu.min.js +1 -1
  56. package/core/core.js +2459 -19563
  57. package/core/core.min.js +34 -34
  58. package/datatable/datatable.cjs.js +6 -5
  59. package/datatable/datatable.cjs.min.js +1 -1
  60. package/datatable/datatable.d.ts +10 -2
  61. package/datatable/datatable.esm.js +6 -5
  62. package/datatable/datatable.esm.min.js +1 -1
  63. package/datatable/datatable.js +6 -5
  64. package/datatable/datatable.min.js +1 -1
  65. package/dropdown/dropdown.cjs.js +329 -156
  66. package/dropdown/dropdown.cjs.min.js +1 -1
  67. package/dropdown/dropdown.esm.js +329 -156
  68. package/dropdown/dropdown.esm.min.js +1 -1
  69. package/dropdown/dropdown.js +329 -156
  70. package/dropdown/dropdown.min.js +1 -1
  71. package/icons/arrowdown/index.cjs.js +2 -642
  72. package/icons/arrowdown/index.cjs.min.js +1 -1
  73. package/icons/arrowdown/index.esm.js +2 -642
  74. package/icons/arrowdown/index.esm.min.js +1 -1
  75. package/icons/arrowdown/index.js +2 -642
  76. package/icons/arrowdown/index.min.js +1 -1
  77. package/icons/arrowup/index.cjs.js +2 -642
  78. package/icons/arrowup/index.cjs.min.js +1 -1
  79. package/icons/arrowup/index.esm.js +2 -642
  80. package/icons/arrowup/index.esm.min.js +1 -1
  81. package/icons/arrowup/index.js +2 -642
  82. package/icons/arrowup/index.min.js +1 -1
  83. package/icons/ban/index.cjs.js +2 -642
  84. package/icons/ban/index.cjs.min.js +1 -1
  85. package/icons/ban/index.esm.js +2 -642
  86. package/icons/ban/index.esm.min.js +1 -1
  87. package/icons/ban/index.js +2 -642
  88. package/icons/ban/index.min.js +1 -1
  89. package/icons/blank/index.cjs.js +62 -0
  90. package/icons/blank/index.cjs.min.js +1 -0
  91. package/icons/blank/index.d.ts +19 -0
  92. package/icons/blank/index.esm.js +38 -0
  93. package/icons/blank/index.esm.min.js +1 -0
  94. package/icons/blank/index.js +65 -0
  95. package/icons/blank/index.min.js +1 -0
  96. package/icons/blank/package.json +7 -0
  97. package/icons/download/index.cjs.js +2 -642
  98. package/icons/download/index.cjs.min.js +1 -1
  99. package/icons/download/index.esm.js +2 -642
  100. package/icons/download/index.esm.min.js +1 -1
  101. package/icons/download/index.js +2 -642
  102. package/icons/download/index.min.js +1 -1
  103. package/icons/exclamationtriangle/index.cjs.js +2 -642
  104. package/icons/exclamationtriangle/index.cjs.min.js +1 -1
  105. package/icons/exclamationtriangle/index.esm.js +2 -642
  106. package/icons/exclamationtriangle/index.esm.min.js +1 -1
  107. package/icons/exclamationtriangle/index.js +2 -642
  108. package/icons/exclamationtriangle/index.min.js +1 -1
  109. package/icons/eyeslash/index.cjs.js +2 -642
  110. package/icons/eyeslash/index.cjs.min.js +1 -1
  111. package/icons/eyeslash/index.esm.js +2 -642
  112. package/icons/eyeslash/index.esm.min.js +1 -1
  113. package/icons/eyeslash/index.js +2 -642
  114. package/icons/eyeslash/index.min.js +1 -1
  115. package/icons/filter/index.cjs.js +2 -642
  116. package/icons/filter/index.cjs.min.js +1 -1
  117. package/icons/filter/index.esm.js +2 -642
  118. package/icons/filter/index.esm.min.js +1 -1
  119. package/icons/filter/index.js +2 -642
  120. package/icons/filter/index.min.js +1 -1
  121. package/icons/filterslash/index.cjs.js +2 -642
  122. package/icons/filterslash/index.cjs.min.js +1 -1
  123. package/icons/filterslash/index.esm.js +2 -642
  124. package/icons/filterslash/index.esm.min.js +1 -1
  125. package/icons/filterslash/index.js +2 -642
  126. package/icons/filterslash/index.min.js +1 -1
  127. package/icons/infocircle/index.cjs.js +2 -642
  128. package/icons/infocircle/index.cjs.min.js +1 -1
  129. package/icons/infocircle/index.esm.js +2 -642
  130. package/icons/infocircle/index.esm.min.js +1 -1
  131. package/icons/infocircle/index.js +2 -642
  132. package/icons/infocircle/index.min.js +1 -1
  133. package/icons/pencil/index.cjs.js +2 -642
  134. package/icons/pencil/index.cjs.min.js +1 -1
  135. package/icons/pencil/index.esm.js +2 -642
  136. package/icons/pencil/index.esm.min.js +1 -1
  137. package/icons/pencil/index.js +2 -642
  138. package/icons/pencil/index.min.js +1 -1
  139. package/icons/plus/index.cjs.js +2 -642
  140. package/icons/plus/index.cjs.min.js +1 -1
  141. package/icons/plus/index.esm.js +2 -642
  142. package/icons/plus/index.esm.min.js +1 -1
  143. package/icons/plus/index.js +2 -642
  144. package/icons/plus/index.min.js +1 -1
  145. package/icons/refresh/index.cjs.js +2 -642
  146. package/icons/refresh/index.cjs.min.js +1 -1
  147. package/icons/refresh/index.esm.js +2 -642
  148. package/icons/refresh/index.esm.min.js +1 -1
  149. package/icons/refresh/index.js +2 -642
  150. package/icons/refresh/index.min.js +1 -1
  151. package/icons/search/index.cjs.js +2 -642
  152. package/icons/search/index.cjs.min.js +1 -1
  153. package/icons/search/index.esm.js +2 -642
  154. package/icons/search/index.esm.min.js +1 -1
  155. package/icons/search/index.js +2 -642
  156. package/icons/search/index.min.js +1 -1
  157. package/icons/searchminus/index.cjs.js +2 -642
  158. package/icons/searchminus/index.cjs.min.js +1 -1
  159. package/icons/searchminus/index.esm.js +2 -642
  160. package/icons/searchminus/index.esm.min.js +1 -1
  161. package/icons/searchminus/index.js +2 -642
  162. package/icons/searchminus/index.min.js +1 -1
  163. package/icons/searchplus/index.cjs.js +2 -642
  164. package/icons/searchplus/index.cjs.min.js +1 -1
  165. package/icons/searchplus/index.esm.js +2 -642
  166. package/icons/searchplus/index.esm.min.js +1 -1
  167. package/icons/searchplus/index.js +2 -642
  168. package/icons/searchplus/index.min.js +1 -1
  169. package/icons/sortalt/index.cjs.js +2 -642
  170. package/icons/sortalt/index.cjs.min.js +1 -1
  171. package/icons/sortalt/index.esm.js +2 -642
  172. package/icons/sortalt/index.esm.min.js +1 -1
  173. package/icons/sortalt/index.js +2 -642
  174. package/icons/sortalt/index.min.js +1 -1
  175. package/icons/sortamountdown/index.cjs.js +2 -642
  176. package/icons/sortamountdown/index.cjs.min.js +1 -1
  177. package/icons/sortamountdown/index.esm.js +2 -642
  178. package/icons/sortamountdown/index.esm.min.js +1 -1
  179. package/icons/sortamountdown/index.js +2 -642
  180. package/icons/sortamountdown/index.min.js +1 -1
  181. package/icons/sortamountupalt/index.cjs.js +2 -642
  182. package/icons/sortamountupalt/index.cjs.min.js +1 -1
  183. package/icons/sortamountupalt/index.esm.js +2 -642
  184. package/icons/sortamountupalt/index.esm.min.js +1 -1
  185. package/icons/sortamountupalt/index.js +2 -642
  186. package/icons/sortamountupalt/index.min.js +1 -1
  187. package/icons/spinner/index.cjs.js +2 -642
  188. package/icons/spinner/index.cjs.min.js +1 -1
  189. package/icons/spinner/index.esm.js +2 -642
  190. package/icons/spinner/index.esm.min.js +1 -1
  191. package/icons/spinner/index.js +2 -642
  192. package/icons/spinner/index.min.js +1 -1
  193. package/icons/star/index.cjs.js +2 -642
  194. package/icons/star/index.cjs.min.js +1 -1
  195. package/icons/star/index.esm.js +2 -642
  196. package/icons/star/index.esm.min.js +1 -1
  197. package/icons/star/index.js +2 -642
  198. package/icons/star/index.min.js +1 -1
  199. package/icons/starfill/index.cjs.js +2 -642
  200. package/icons/starfill/index.cjs.min.js +1 -1
  201. package/icons/starfill/index.esm.js +2 -642
  202. package/icons/starfill/index.esm.min.js +1 -1
  203. package/icons/starfill/index.js +2 -642
  204. package/icons/starfill/index.min.js +1 -1
  205. package/icons/thlarge/index.cjs.js +2 -642
  206. package/icons/thlarge/index.cjs.min.js +1 -1
  207. package/icons/thlarge/index.esm.js +2 -642
  208. package/icons/thlarge/index.esm.min.js +1 -1
  209. package/icons/thlarge/index.js +2 -642
  210. package/icons/thlarge/index.min.js +1 -1
  211. package/icons/timescircle/index.cjs.js +2 -642
  212. package/icons/timescircle/index.cjs.min.js +1 -1
  213. package/icons/timescircle/index.esm.js +2 -642
  214. package/icons/timescircle/index.esm.min.js +1 -1
  215. package/icons/timescircle/index.js +2 -642
  216. package/icons/timescircle/index.min.js +1 -1
  217. package/icons/trash/index.cjs.js +2 -642
  218. package/icons/trash/index.cjs.min.js +1 -1
  219. package/icons/trash/index.esm.js +2 -642
  220. package/icons/trash/index.esm.min.js +1 -1
  221. package/icons/trash/index.js +2 -642
  222. package/icons/trash/index.min.js +1 -1
  223. package/icons/undo/index.cjs.js +2 -642
  224. package/icons/undo/index.cjs.min.js +1 -1
  225. package/icons/undo/index.esm.js +2 -642
  226. package/icons/undo/index.esm.min.js +1 -1
  227. package/icons/undo/index.js +2 -642
  228. package/icons/undo/index.min.js +1 -1
  229. package/icons/upload/index.cjs.js +2 -642
  230. package/icons/upload/index.cjs.min.js +1 -1
  231. package/icons/upload/index.esm.js +2 -642
  232. package/icons/upload/index.esm.min.js +1 -1
  233. package/icons/upload/index.js +2 -642
  234. package/icons/upload/index.min.js +1 -1
  235. package/icons/windowmaximize/index.cjs.js +2 -642
  236. package/icons/windowmaximize/index.cjs.min.js +1 -1
  237. package/icons/windowmaximize/index.esm.js +2 -642
  238. package/icons/windowmaximize/index.esm.min.js +1 -1
  239. package/icons/windowmaximize/index.js +2 -642
  240. package/icons/windowmaximize/index.min.js +1 -1
  241. package/icons/windowminimize/index.cjs.js +2 -642
  242. package/icons/windowminimize/index.cjs.min.js +1 -1
  243. package/icons/windowminimize/index.esm.js +2 -642
  244. package/icons/windowminimize/index.esm.min.js +1 -1
  245. package/icons/windowminimize/index.js +2 -642
  246. package/icons/windowminimize/index.min.js +1 -1
  247. package/image/image.cjs.js +7 -566
  248. package/image/image.cjs.min.js +1 -1
  249. package/image/image.esm.js +9 -568
  250. package/image/image.esm.min.js +1 -1
  251. package/image/image.js +7 -566
  252. package/image/image.min.js +1 -1
  253. package/inputnumber/inputnumber.cjs.js +23 -20
  254. package/inputnumber/inputnumber.cjs.min.js +1 -1
  255. package/inputnumber/inputnumber.esm.js +23 -20
  256. package/inputnumber/inputnumber.esm.min.js +1 -1
  257. package/inputnumber/inputnumber.js +23 -20
  258. package/inputnumber/inputnumber.min.js +1 -1
  259. package/inputswitch/inputswitch.cjs.js +5 -4
  260. package/inputswitch/inputswitch.cjs.min.js +1 -1
  261. package/inputswitch/inputswitch.esm.js +5 -4
  262. package/inputswitch/inputswitch.esm.min.js +1 -1
  263. package/inputswitch/inputswitch.js +5 -4
  264. package/inputswitch/inputswitch.min.js +1 -1
  265. package/inputtext/inputtext.cjs.js +2 -3
  266. package/inputtext/inputtext.cjs.min.js +1 -1
  267. package/inputtext/inputtext.esm.js +2 -3
  268. package/inputtext/inputtext.esm.min.js +1 -1
  269. package/inputtext/inputtext.js +2 -3
  270. package/inputtext/inputtext.min.js +1 -1
  271. package/inputtextarea/inputtextarea.cjs.js +2 -3
  272. package/inputtextarea/inputtextarea.cjs.min.js +1 -1
  273. package/inputtextarea/inputtextarea.esm.js +2 -3
  274. package/inputtextarea/inputtextarea.esm.min.js +1 -1
  275. package/inputtextarea/inputtextarea.js +2 -3
  276. package/inputtextarea/inputtextarea.min.js +1 -1
  277. package/knob/knob.cjs.js +62 -0
  278. package/knob/knob.cjs.min.js +1 -1
  279. package/knob/knob.esm.js +62 -0
  280. package/knob/knob.esm.min.js +1 -1
  281. package/knob/knob.js +62 -0
  282. package/knob/knob.min.js +1 -1
  283. package/listbox/listbox.cjs.js +364 -95
  284. package/listbox/listbox.cjs.min.js +1 -1
  285. package/listbox/listbox.esm.js +365 -96
  286. package/listbox/listbox.esm.min.js +1 -1
  287. package/listbox/listbox.js +364 -95
  288. package/listbox/listbox.min.js +1 -1
  289. package/megamenu/megamenu.cjs.js +3 -3
  290. package/megamenu/megamenu.cjs.min.js +1 -1
  291. package/megamenu/megamenu.esm.js +3 -3
  292. package/megamenu/megamenu.esm.min.js +1 -1
  293. package/megamenu/megamenu.js +3 -3
  294. package/megamenu/megamenu.min.js +1 -1
  295. package/mention/mention.cjs.js +2 -3
  296. package/mention/mention.cjs.min.js +1 -1
  297. package/mention/mention.esm.js +2 -3
  298. package/mention/mention.esm.min.js +1 -1
  299. package/mention/mention.js +2 -3
  300. package/mention/mention.min.js +1 -1
  301. package/menu/menu.cjs.js +4 -2
  302. package/menu/menu.cjs.min.js +1 -1
  303. package/menu/menu.esm.js +4 -2
  304. package/menu/menu.esm.min.js +1 -1
  305. package/menu/menu.js +5 -4
  306. package/menu/menu.min.js +1 -1
  307. package/menubar/menubar.cjs.js +18 -14
  308. package/menubar/menubar.cjs.min.js +1 -1
  309. package/menubar/menubar.esm.js +18 -14
  310. package/menubar/menubar.esm.min.js +1 -1
  311. package/menubar/menubar.js +18 -14
  312. package/menubar/menubar.min.js +1 -1
  313. package/multiselect/multiselect.cjs.js +412 -116
  314. package/multiselect/multiselect.cjs.min.js +1 -1
  315. package/multiselect/multiselect.esm.js +412 -116
  316. package/multiselect/multiselect.esm.min.js +1 -1
  317. package/multiselect/multiselect.js +412 -116
  318. package/multiselect/multiselect.min.js +1 -1
  319. package/multistatecheckbox/multistatecheckbox.cjs.js +2 -3
  320. package/multistatecheckbox/multistatecheckbox.cjs.min.js +1 -1
  321. package/multistatecheckbox/multistatecheckbox.esm.js +2 -3
  322. package/multistatecheckbox/multistatecheckbox.esm.min.js +1 -1
  323. package/multistatecheckbox/multistatecheckbox.js +2 -3
  324. package/multistatecheckbox/multistatecheckbox.min.js +1 -1
  325. package/package.json +1 -1
  326. package/paginator/paginator.cjs.js +251 -251
  327. package/paginator/paginator.cjs.min.js +1 -1
  328. package/paginator/paginator.esm.js +258 -258
  329. package/paginator/paginator.esm.min.js +1 -1
  330. package/paginator/paginator.js +251 -251
  331. package/paginator/paginator.min.js +1 -1
  332. package/panelmenu/panelmenu.cjs.js +8 -10
  333. package/panelmenu/panelmenu.cjs.min.js +1 -1
  334. package/panelmenu/panelmenu.d.ts +18 -0
  335. package/panelmenu/panelmenu.esm.js +8 -10
  336. package/panelmenu/panelmenu.esm.min.js +1 -1
  337. package/panelmenu/panelmenu.js +9 -12
  338. package/panelmenu/panelmenu.min.js +1 -1
  339. package/passthrough/tailwind/index.cjs.js +14 -3
  340. package/passthrough/tailwind/index.cjs.min.js +1 -1
  341. package/passthrough/tailwind/index.esm.js +14 -3
  342. package/passthrough/tailwind/index.esm.min.js +1 -1
  343. package/passthrough/tailwind/index.js +14 -3
  344. package/passthrough/tailwind/index.min.js +1 -1
  345. package/password/password.cjs.js +18 -6
  346. package/password/password.cjs.min.js +1 -1
  347. package/password/password.esm.js +18 -6
  348. package/password/password.esm.min.js +1 -1
  349. package/password/password.js +18 -6
  350. package/password/password.min.js +1 -1
  351. package/picklist/picklist.cjs.js +1 -1
  352. package/picklist/picklist.cjs.min.js +1 -1
  353. package/picklist/picklist.esm.js +1 -1
  354. package/picklist/picklist.esm.min.js +1 -1
  355. package/picklist/picklist.js +1 -1
  356. package/picklist/picklist.min.js +1 -1
  357. package/primereact.all.cjs.js +1734 -1194
  358. package/primereact.all.cjs.min.js +1 -1
  359. package/primereact.all.esm.js +1734 -1194
  360. package/primereact.all.esm.min.js +1 -1
  361. package/primereact.all.js +1734 -1194
  362. package/primereact.all.min.js +1 -1
  363. package/radiobutton/radiobutton.cjs.js +2 -3
  364. package/radiobutton/radiobutton.cjs.min.js +1 -1
  365. package/radiobutton/radiobutton.esm.js +2 -3
  366. package/radiobutton/radiobutton.esm.min.js +1 -1
  367. package/radiobutton/radiobutton.js +2 -3
  368. package/radiobutton/radiobutton.min.js +1 -1
  369. package/rating/rating.cjs.js +105 -7
  370. package/rating/rating.cjs.min.js +1 -1
  371. package/rating/rating.esm.js +105 -7
  372. package/rating/rating.esm.min.js +1 -1
  373. package/rating/rating.js +105 -7
  374. package/rating/rating.min.js +1 -1
  375. package/resources/themes/arya-blue/theme.css +328 -67
  376. package/resources/themes/arya-green/theme.css +328 -67
  377. package/resources/themes/arya-orange/theme.css +328 -67
  378. package/resources/themes/arya-purple/theme.css +26 -6
  379. package/resources/themes/bootstrap4-dark-blue/theme.css +328 -67
  380. package/resources/themes/bootstrap4-dark-purple/theme.css +26 -6
  381. package/resources/themes/bootstrap4-light-blue/theme.css +328 -67
  382. package/resources/themes/bootstrap4-light-purple/theme.css +26 -6
  383. package/resources/themes/fluent-light/theme.css +327 -66
  384. package/resources/themes/lara-dark-amber/theme.css +328 -67
  385. package/resources/themes/lara-dark-blue/theme.css +328 -67
  386. package/resources/themes/lara-dark-cyan/theme.css +328 -67
  387. package/resources/themes/lara-dark-green/theme.css +328 -67
  388. package/resources/themes/lara-dark-indigo/theme.css +328 -67
  389. package/resources/themes/lara-dark-pink/theme.css +328 -67
  390. package/resources/themes/lara-dark-purple/theme.css +26 -6
  391. package/resources/themes/lara-dark-teal/theme.css +328 -67
  392. package/resources/themes/lara-light-amber/theme.css +328 -67
  393. package/resources/themes/lara-light-blue/theme.css +328 -67
  394. package/resources/themes/lara-light-cyan/theme.css +328 -67
  395. package/resources/themes/lara-light-green/theme.css +328 -67
  396. package/resources/themes/lara-light-indigo/theme.css +328 -67
  397. package/resources/themes/lara-light-pink/theme.css +328 -67
  398. package/resources/themes/lara-light-purple/theme.css +26 -6
  399. package/resources/themes/lara-light-teal/theme.css +328 -67
  400. package/resources/themes/luna-amber/theme.css +328 -67
  401. package/resources/themes/luna-blue/theme.css +328 -67
  402. package/resources/themes/luna-green/theme.css +328 -67
  403. package/resources/themes/luna-pink/theme.css +328 -67
  404. package/resources/themes/md-dark-deeppurple/theme.css +158 -138
  405. package/resources/themes/md-dark-indigo/theme.css +454 -193
  406. package/resources/themes/md-light-deeppurple/theme.css +26 -6
  407. package/resources/themes/md-light-indigo/theme.css +328 -67
  408. package/resources/themes/mdc-dark-deeppurple/theme.css +158 -138
  409. package/resources/themes/mdc-dark-indigo/theme.css +454 -193
  410. package/resources/themes/mdc-light-deeppurple/theme.css +26 -6
  411. package/resources/themes/mdc-light-indigo/theme.css +328 -67
  412. package/resources/themes/mira/theme.css +328 -67
  413. package/resources/themes/nano/theme.css +328 -67
  414. package/resources/themes/nova/theme.css +328 -67
  415. package/resources/themes/nova-accent/theme.css +328 -67
  416. package/resources/themes/nova-alt/theme.css +328 -67
  417. package/resources/themes/rhea/theme.css +328 -67
  418. package/resources/themes/saga-blue/theme.css +328 -67
  419. package/resources/themes/saga-green/theme.css +328 -67
  420. package/resources/themes/saga-orange/theme.css +328 -67
  421. package/resources/themes/saga-purple/theme.css +26 -6
  422. package/resources/themes/soho-dark/theme.css +353 -92
  423. package/resources/themes/soho-light/theme.css +328 -67
  424. package/resources/themes/tailwind-light/theme.css +329 -71
  425. package/resources/themes/vela-blue/theme.css +328 -67
  426. package/resources/themes/vela-green/theme.css +328 -67
  427. package/resources/themes/vela-orange/theme.css +328 -67
  428. package/resources/themes/vela-purple/theme.css +26 -6
  429. package/resources/themes/viva-dark/theme.css +328 -67
  430. package/resources/themes/viva-light/theme.css +328 -67
  431. package/selectbutton/selectbutton.cjs.js +98 -53
  432. package/selectbutton/selectbutton.cjs.min.js +1 -1
  433. package/selectbutton/selectbutton.esm.js +98 -53
  434. package/selectbutton/selectbutton.esm.min.js +1 -1
  435. package/selectbutton/selectbutton.js +98 -53
  436. package/selectbutton/selectbutton.min.js +1 -1
  437. package/slidemenu/slidemenu.cjs.js +4 -3
  438. package/slidemenu/slidemenu.cjs.min.js +1 -1
  439. package/slidemenu/slidemenu.esm.js +4 -3
  440. package/slidemenu/slidemenu.esm.min.js +1 -1
  441. package/slidemenu/slidemenu.js +4 -3
  442. package/slidemenu/slidemenu.min.js +1 -1
  443. package/slider/slider.cjs.js +25 -4
  444. package/slider/slider.cjs.min.js +1 -1
  445. package/slider/slider.esm.js +25 -4
  446. package/slider/slider.esm.min.js +1 -1
  447. package/slider/slider.js +25 -4
  448. package/slider/slider.min.js +1 -1
  449. package/splitbutton/splitbutton.cjs.js +9 -12
  450. package/splitbutton/splitbutton.cjs.min.js +1 -1
  451. package/splitbutton/splitbutton.esm.js +9 -12
  452. package/splitbutton/splitbutton.esm.min.js +1 -1
  453. package/splitbutton/splitbutton.js +9 -12
  454. package/splitbutton/splitbutton.min.js +1 -1
  455. package/splitter/splitter.cjs.js +25 -29
  456. package/splitter/splitter.cjs.min.js +1 -1
  457. package/splitter/splitter.esm.js +25 -29
  458. package/splitter/splitter.esm.min.js +1 -1
  459. package/splitter/splitter.js +25 -29
  460. package/splitter/splitter.min.js +1 -1
  461. package/steps/steps.cjs.js +4 -3
  462. package/steps/steps.cjs.min.js +1 -1
  463. package/steps/steps.esm.js +4 -3
  464. package/steps/steps.esm.min.js +1 -1
  465. package/steps/steps.js +4 -3
  466. package/steps/steps.min.js +1 -1
  467. package/tabmenu/tabmenu.cjs.js +4 -3
  468. package/tabmenu/tabmenu.cjs.min.js +1 -1
  469. package/tabmenu/tabmenu.esm.js +4 -3
  470. package/tabmenu/tabmenu.esm.min.js +1 -1
  471. package/tabmenu/tabmenu.js +4 -3
  472. package/tabmenu/tabmenu.min.js +1 -1
  473. package/tabview/tabview.cjs.js +6 -5
  474. package/tabview/tabview.cjs.min.js +1 -1
  475. package/tabview/tabview.d.ts +39 -34
  476. package/tabview/tabview.esm.js +6 -5
  477. package/tabview/tabview.esm.min.js +1 -1
  478. package/tabview/tabview.js +6 -5
  479. package/tabview/tabview.min.js +1 -1
  480. package/tieredmenu/tieredmenu.cjs.js +6 -8
  481. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  482. package/tieredmenu/tieredmenu.esm.js +6 -8
  483. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  484. package/tieredmenu/tieredmenu.js +6 -8
  485. package/tieredmenu/tieredmenu.min.js +1 -1
  486. package/togglebutton/togglebutton.cjs.js +17 -17
  487. package/togglebutton/togglebutton.cjs.min.js +1 -1
  488. package/togglebutton/togglebutton.esm.js +16 -16
  489. package/togglebutton/togglebutton.esm.min.js +1 -1
  490. package/togglebutton/togglebutton.js +17 -17
  491. package/togglebutton/togglebutton.min.js +1 -1
  492. package/tree/tree.cjs.js +32 -31
  493. package/tree/tree.cjs.min.js +1 -1
  494. package/tree/tree.d.ts +5 -0
  495. package/tree/tree.esm.js +32 -31
  496. package/tree/tree.esm.min.js +1 -1
  497. package/tree/tree.js +32 -31
  498. package/tree/tree.min.js +1 -1
  499. package/treeselect/treeselect.cjs.js +3 -4
  500. package/treeselect/treeselect.cjs.min.js +1 -1
  501. package/treeselect/treeselect.esm.js +3 -4
  502. package/treeselect/treeselect.esm.min.js +1 -1
  503. package/treeselect/treeselect.js +3 -4
  504. package/treeselect/treeselect.min.js +1 -1
  505. package/treetable/treetable.cjs.js +1 -1
  506. package/treetable/treetable.cjs.min.js +1 -1
  507. package/treetable/treetable.esm.js +1 -1
  508. package/treetable/treetable.esm.min.js +1 -1
  509. package/treetable/treetable.js +1 -1
  510. package/treetable/treetable.min.js +1 -1
  511. package/tristatecheckbox/tristatecheckbox.cjs.js +6 -6
  512. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  513. package/tristatecheckbox/tristatecheckbox.esm.js +6 -6
  514. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  515. package/tristatecheckbox/tristatecheckbox.js +6 -6
  516. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  517. package/web-types.json +65 -1
@@ -208,10 +208,13 @@ var classes = {
208
208
  item: function item(_ref7) {
209
209
  var selected = _ref7.selected,
210
210
  disabled = _ref7.disabled,
211
- label = _ref7.label;
211
+ label = _ref7.label,
212
+ index = _ref7.index,
213
+ focusedOptionIndex = _ref7.focusedOptionIndex;
212
214
  return utils.classNames('p-dropdown-item', {
213
215
  'p-highlight': selected,
214
216
  'p-disabled': disabled,
217
+ 'p-focus': index === focusedOptionIndex,
215
218
  'p-dropdown-item-empty': !label || label.length === 0
216
219
  });
217
220
  },
@@ -278,6 +281,8 @@ var DropdownBase = componentbase.ComponentBase.extend({
278
281
  onShow: null,
279
282
  optionDisabled: null,
280
283
  optionGroupChildren: 'items',
284
+ selectOnFocus: false,
285
+ autoOptionFocus: false,
281
286
  optionGroupLabel: null,
282
287
  optionGroupTemplate: null,
283
288
  optionLabel: null,
@@ -316,7 +321,9 @@ var DropdownItem = /*#__PURE__*/React__namespace.memo(function (props) {
316
321
  selected = props.selected,
317
322
  disabled = props.disabled,
318
323
  option = props.option,
319
- label = props.label;
324
+ label = props.label,
325
+ index = props.index,
326
+ focusedOptionIndex = props.focusedOptionIndex;
320
327
  var getPTOptions = function getPTOptions(key) {
321
328
  return ptm(key, {
322
329
  context: {
@@ -325,7 +332,7 @@ var DropdownItem = /*#__PURE__*/React__namespace.memo(function (props) {
325
332
  }
326
333
  });
327
334
  };
328
- var _onClick = function onClick(event) {
335
+ var _onClick = function onClick(event, i) {
329
336
  if (props.onClick) {
330
337
  props.onClick({
331
338
  originalEvent: event,
@@ -340,7 +347,9 @@ var DropdownItem = /*#__PURE__*/React__namespace.memo(function (props) {
340
347
  className: utils.classNames(option.className, cx('item', {
341
348
  selected: selected,
342
349
  disabled: disabled,
343
- label: label
350
+ label: label,
351
+ index: index,
352
+ focusedOptionIndex: focusedOptionIndex
344
353
  })),
345
354
  style: props.style,
346
355
  onClick: function onClick(e) {
@@ -349,6 +358,7 @@ var DropdownItem = /*#__PURE__*/React__namespace.memo(function (props) {
349
358
  'aria-label': label,
350
359
  'aria-selected': selected,
351
360
  'data-p-highlight': selected,
361
+ 'data-p-focused': focusedOptionIndex === index,
352
362
  'data-p-disabled': disabled
353
363
  }, getPTOptions('item'));
354
364
  return /*#__PURE__*/React__namespace.createElement("li", itemProps, content, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null));
@@ -420,6 +430,8 @@ var DropdownPanel = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__name
420
430
  var disabled = props.isOptionDisabled(option);
421
431
  return /*#__PURE__*/React__namespace.createElement(DropdownItem, {
422
432
  key: optionKey,
433
+ index: j,
434
+ focusedOptionIndex: props.focusedOptionIndex,
423
435
  label: optionLabel,
424
436
  option: option,
425
437
  style: style,
@@ -467,6 +479,8 @@ var DropdownPanel = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__name
467
479
  return /*#__PURE__*/React__namespace.createElement(DropdownItem, {
468
480
  key: optionKey,
469
481
  label: optionLabel,
482
+ index: index,
483
+ focusedOptionIndex: props.focusedOptionIndex,
470
484
  option: option,
471
485
  style: style,
472
486
  template: props.itemTemplate,
@@ -634,7 +648,7 @@ var DropdownPanel = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__name
634
648
  nodeRef: ref
635
649
  }, transitionProps), /*#__PURE__*/React__namespace.createElement("div", _extends({
636
650
  ref: ref
637
- }, panelProps), filter, content, footer));
651
+ }, panelProps), props.firstFocusableElement, filter, content, footer, props.lastFocusableElement));
638
652
  };
639
653
  var element = createElement();
640
654
  return /*#__PURE__*/React__namespace.createElement(portal.Portal, {
@@ -659,20 +673,30 @@ var Dropdown = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
659
673
  setFilterState = _React$useState2[1];
660
674
  var _React$useState3 = React__namespace.useState(false),
661
675
  _React$useState4 = _slicedToArray(_React$useState3, 2),
662
- focusedState = _React$useState4[0],
663
- setFocusedState = _React$useState4[1];
676
+ clicked = _React$useState4[0],
677
+ setClicked = _React$useState4[1];
664
678
  var _React$useState5 = React__namespace.useState(false),
665
679
  _React$useState6 = _slicedToArray(_React$useState5, 2),
666
- overlayVisibleState = _React$useState6[0],
667
- setOverlayVisibleState = _React$useState6[1];
680
+ focusedState = _React$useState6[0],
681
+ setFocusedState = _React$useState6[1];
682
+ var _React$useState7 = React__namespace.useState(-1),
683
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
684
+ focusedOptionIndex = _React$useState8[0],
685
+ setFocusedOptionIndex = _React$useState8[1];
686
+ var _React$useState9 = React__namespace.useState(false),
687
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
688
+ overlayVisibleState = _React$useState10[0],
689
+ setOverlayVisibleState = _React$useState10[1];
668
690
  var elementRef = React__namespace.useRef(null);
669
691
  var overlayRef = React__namespace.useRef(null);
692
+ var firstHiddenFocusableElementOnOverlay = React__namespace.useRef(null);
693
+ var lastHiddenFocusableElementOnOverlay = React__namespace.useRef(null);
670
694
  var inputRef = React__namespace.useRef(props.inputRef);
671
695
  var focusInputRef = React__namespace.useRef(props.focusInputRef);
672
696
  var virtualScrollerRef = React__namespace.useRef(null);
673
697
  var searchTimeout = React__namespace.useRef(null);
674
698
  var searchValue = React__namespace.useRef(null);
675
- var currentSearchChar = React__namespace.useRef(null);
699
+ React__namespace.useRef(null);
676
700
  var isLazy = props.virtualScrollerOptions && props.virtualScrollerOptions.lazy;
677
701
  var hasFilter = utils.ObjectUtils.isNotEmpty(filterState);
678
702
  var appendTo = props.appendTo || context && context.appendTo || PrimeReact__default["default"].appendTo;
@@ -736,6 +760,14 @@ var Dropdown = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
736
760
  return props.options;
737
761
  }
738
762
  };
763
+ var onFirstHiddenFocus = function onFirstHiddenFocus(event) {
764
+ var focusableEl = event.relatedTarget === focusInputRef.current ? utils.DomHandler.getFirstFocusableElement(overlayRef.current, ':not([data-p-hidden-focusable="true"])') : focusInputRef.current;
765
+ utils.DomHandler.focus(focusableEl);
766
+ };
767
+ var onLastHiddenFocus = function onLastHiddenFocus(event) {
768
+ var focusableEl = event.relatedTarget === focusInputRef.current ? utils.DomHandler.getLastFocusableElement(overlayRef.current, ':not([data-p-hidden-focusable="true"])') : focusInputRef.current;
769
+ utils.DomHandler.focus(focusableEl);
770
+ };
739
771
  var isClearClicked = function isClearClicked(event) {
740
772
  return utils.DomHandler.isAttributeEquals(event.target, 'data-pc-section', 'clearicon') || utils.DomHandler.isAttributeEquals(event.target.parentElement || event.target, 'data-pc-section', 'filterclearicon');
741
773
  };
@@ -755,6 +787,7 @@ var Dropdown = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
755
787
  utils.DomHandler.focus(focusInputRef.current);
756
788
  overlayVisibleState ? hide() : show();
757
789
  }
790
+ setClicked(true);
758
791
  };
759
792
  var onInputFocus = function onInputFocus(event) {
760
793
  if (props.showOnFocus && !overlayVisibleState) {
@@ -786,6 +819,15 @@ var Dropdown = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
786
819
  }, 200);
787
820
  }
788
821
  };
822
+ var onOptionSelect = function onOptionSelect(event, option) {
823
+ var isHide = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
824
+ var value = getOptionValue(option);
825
+ selectItem({
826
+ originalEvent: event,
827
+ option: value
828
+ });
829
+ isHide && hide();
830
+ };
789
831
  var onPanelClick = function onPanelClick(event) {
790
832
  overlayservice.OverlayService.emit('overlay-click', {
791
833
  originalEvent: event,
@@ -793,189 +835,285 @@ var Dropdown = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
793
835
  });
794
836
  };
795
837
  var onInputKeyDown = function onInputKeyDown(event) {
838
+ if (props.disabled || utils.DomHandler.isAndroid()) {
839
+ event.preventDefault();
840
+ return;
841
+ }
842
+ var metaKey = event.metaKey || event.ctrlKey;
796
843
  switch (event.code) {
797
844
  case 'ArrowDown':
798
- onDownKey(event);
845
+ onArrowDownKey(event);
799
846
  break;
800
847
  case 'ArrowUp':
801
- onUpKey(event);
848
+ onArrowUpKey(event);
849
+ break;
850
+ case 'ArrowLeft':
851
+ case 'ArrowRight':
852
+ onArrowLeftKey(event, props.editable);
853
+ break;
854
+ case 'Home':
855
+ onHomeKey(event);
856
+ break;
857
+ case 'End':
858
+ onEndKey(event);
859
+ break;
860
+ case 'PageDown':
861
+ onPageDownKey(event);
862
+ break;
863
+ case 'PageUp':
864
+ onPageUpKey(event);
802
865
  break;
803
866
  case 'Space':
867
+ onSpaceKey(event, props.editable);
868
+ break;
869
+ case 'NumpadEnter':
804
870
  case 'Enter':
805
- overlayVisibleState ? hide() : show();
806
- event.preventDefault();
871
+ onEnterKey(event);
807
872
  break;
808
873
  case 'Escape':
874
+ onEscapeKey(event);
875
+ break;
809
876
  case 'Tab':
810
- hide();
877
+ onTabKey(event);
878
+ break;
879
+ case 'Backspace':
880
+ onBackspaceKey(event, props.editable);
881
+ break;
882
+ case 'ShiftLeft':
883
+ case 'ShiftRight':
884
+ //NOOP
811
885
  break;
812
886
  default:
813
- search(event);
887
+ if (!metaKey && utils.ObjectUtils.isPrintableCharacter(event.key)) {
888
+ !overlayVisibleState && show();
889
+ !props.editable && searchOptions(event, event.key);
890
+ }
814
891
  break;
815
892
  }
893
+ setClicked(false);
816
894
  };
817
895
  var onFilterInputKeyDown = function onFilterInputKeyDown(event) {
818
896
  switch (event.code) {
819
897
  case 'ArrowDown':
820
- onDownKey(event);
898
+ onArrowDownKey(event);
821
899
  break;
822
900
  case 'ArrowUp':
823
- onUpKey(event);
901
+ onArrowUpKey(event);
902
+ break;
903
+ case 'ArrowLeft':
904
+ case 'ArrowRight':
905
+ onArrowLeftKey(event, true);
824
906
  break;
825
907
  case 'Escape':
826
908
  case 'Enter':
827
- hide();
909
+ onEnterKey(event);
828
910
  event.preventDefault();
829
911
  break;
830
912
  }
831
913
  };
832
- var onUpKey = function onUpKey(event) {
833
- if (visibleOptions) {
834
- var prevOption = findPrevOption(getSelectedOptionIndex());
835
- if (prevOption) {
836
- selectItem({
837
- originalEvent: event,
838
- option: prevOption
839
- });
840
- }
841
- }
842
- event.preventDefault();
914
+ var hasFocusableElements = function hasFocusableElements() {
915
+ return utils.DomHandler.getFocusableElements(overlayRef.current, ':not([data-p-hidden-focusable="true"])').length > 0;
843
916
  };
844
- var onDownKey = function onDownKey(event) {
845
- if (visibleOptions) {
846
- if (!overlayVisibleState && event.altKey) {
847
- show();
848
- } else {
849
- var nextOption = findNextOption(getSelectedOptionIndex());
850
- if (nextOption) {
851
- selectItem({
852
- originalEvent: event,
853
- option: nextOption
854
- });
855
- }
856
- }
857
- }
858
- event.preventDefault();
917
+ var isOptionMatched = function isOptionMatched(option) {
918
+ var _getOptionLabel;
919
+ return isValidOption(option) && ((_getOptionLabel = getOptionLabel(option)) === null || _getOptionLabel === void 0 ? void 0 : _getOptionLabel.toLocaleLowerCase(props.filterLocale).startsWith(searchValue.current.toLocaleLowerCase(props.filterLocale)));
859
920
  };
860
- var findNextOption = function findNextOption(index) {
861
- if (props.optionGroupLabel) {
862
- var groupIndex = index === -1 ? 0 : index.group;
863
- var optionIndex = index === -1 ? -1 : index.option;
864
- var option = findNextOptionInList(getOptionGroupChildren(visibleOptions[groupIndex]), optionIndex);
865
- if (option) return option;else if (groupIndex + 1 !== visibleOptions.length) return findNextOption({
866
- group: groupIndex + 1,
867
- option: -1
868
- });else return null;
869
- }
870
- return findNextOptionInList(visibleOptions, index);
921
+ var isValidOption = function isValidOption(option) {
922
+ return utils.ObjectUtils.isNotEmpty(option) && !(isOptionDisabled(option) || isOptionGroup(option));
871
923
  };
872
- var findNextOptionInList = function findNextOptionInList(list, index) {
873
- var i = index + 1;
874
- if (i === list.length) {
875
- return null;
876
- }
877
- var option = list[i];
878
- return isOptionDisabled(option) ? findNextOptionInList(i) : option;
924
+ var hasSelectedOption = function hasSelectedOption() {
925
+ return utils.ObjectUtils.isNotEmpty(props.value);
879
926
  };
880
- var findPrevOption = function findPrevOption(index) {
881
- if (index === -1) {
882
- return null;
883
- }
884
- if (props.optionGroupLabel) {
885
- var groupIndex = index.group;
886
- var optionIndex = index.option;
887
- var option = findPrevOptionInList(getOptionGroupChildren(visibleOptions[groupIndex]), optionIndex);
888
- if (option) return option;else if (groupIndex > 0) return findPrevOption({
889
- group: groupIndex - 1,
890
- option: getOptionGroupChildren(visibleOptions[groupIndex - 1]).length
891
- });else return null;
892
- }
893
- return findPrevOptionInList(visibleOptions, index);
927
+ var isValidSelectedOption = function isValidSelectedOption(option) {
928
+ return isValidOption(option) && isSelected(option);
894
929
  };
895
- var findPrevOptionInList = function findPrevOptionInList(list, index) {
896
- var i = index - 1;
897
- if (i < 0) {
898
- return null;
899
- }
900
- var option = list[i];
901
- return isOptionDisabled(option) ? findPrevOption(i) : option;
930
+ var findSelectedOptionIndex = function findSelectedOptionIndex() {
931
+ return hasSelectedOption ? visibleOptions.findIndex(function (option) {
932
+ return isValidSelectedOption(option);
933
+ }) : -1;
934
+ };
935
+ var findFirstFocusedOptionIndex = function findFirstFocusedOptionIndex() {
936
+ var selectedIndex = findSelectedOptionIndex();
937
+ return selectedIndex < 0 ? findFirstOptionIndex() : selectedIndex;
902
938
  };
903
- var search = function search(event) {
939
+ var searchOptions = function searchOptions(event, _char) {
940
+ searchValue.current = (searchValue.current || '') + _char;
941
+ var optionIndex = -1;
942
+ var matched = false;
943
+ if (utils.ObjectUtils.isNotEmpty(searchValue.current)) {
944
+ if (focusedOptionIndex !== -1) {
945
+ optionIndex = visibleOptions.slice(focusedOptionIndex).findIndex(function (option) {
946
+ return isOptionMatched(option);
947
+ });
948
+ optionIndex = optionIndex === -1 ? visibleOptions.slice(0, focusedOptionIndex).findIndex(function (option) {
949
+ return isOptionMatched(option);
950
+ }) : optionIndex + focusedOptionIndex;
951
+ } else {
952
+ optionIndex = visibleOptions.findIndex(function (option) {
953
+ return isOptionMatched(option);
954
+ });
955
+ }
956
+ if (optionIndex !== -1) {
957
+ matched = true;
958
+ }
959
+ if (optionIndex === -1 && focusedOptionIndex === -1) {
960
+ optionIndex = findFirstFocusedOptionIndex();
961
+ }
962
+ if (optionIndex !== -1) {
963
+ changeFocusedOptionIndex(event, optionIndex);
964
+ }
965
+ }
904
966
  if (searchTimeout.current) {
905
967
  clearTimeout(searchTimeout.current);
906
968
  }
907
- if (event.ctrlKey || event.metaKey || event.altKey) {
908
- // ignore meta combinations like CTRL+F for browser search
909
- return;
969
+ searchTimeout.current = setTimeout(function () {
970
+ searchValue.current = '';
971
+ searchTimeout.current = null;
972
+ }, 500);
973
+ return matched;
974
+ };
975
+ var findLastFocusedOptionIndex = function findLastFocusedOptionIndex() {
976
+ var selectedIndex = findSelectedOptionIndex();
977
+ return selectedIndex < 0 ? findLastOptionIndex() : selectedIndex;
978
+ };
979
+ var findFirstOptionIndex = function findFirstOptionIndex() {
980
+ return visibleOptions.findIndex(function (option) {
981
+ return isValidOption(option);
982
+ });
983
+ };
984
+ var findLastOptionIndex = function findLastOptionIndex() {
985
+ return utils.ObjectUtils.findLastIndex(visibleOptions, function (option) {
986
+ return isValidOption(option);
987
+ });
988
+ };
989
+ var findNextOptionIndex = function findNextOptionIndex(index) {
990
+ var matchedOptionIndex = index < visibleOptions.length - 1 ? visibleOptions.slice(index + 1).findIndex(function (option) {
991
+ return isValidOption(option);
992
+ }) : -1;
993
+ return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;
994
+ };
995
+ var findPrevOptionIndex = function findPrevOptionIndex(index) {
996
+ var matchedOptionIndex = index > 0 ? utils.ObjectUtils.findLastIndex(visibleOptions.slice(0, index), function (option) {
997
+ return isValidOption(option);
998
+ }) : -1;
999
+ return matchedOptionIndex > -1 ? matchedOptionIndex : index;
1000
+ };
1001
+ var changeFocusedOptionIndex = function changeFocusedOptionIndex(event, index) {
1002
+ if (focusedOptionIndex !== index) {
1003
+ setFocusedOptionIndex(index);
1004
+ if (props.selectOnFocus) {
1005
+ onOptionSelect(event, visibleOptions[index], false);
1006
+ }
910
1007
  }
911
- var _char = event.key;
912
- if (_char.length !== 1) {
913
- // only single character keys matter for searching
914
- return;
1008
+ };
1009
+ var onArrowDownKey = function onArrowDownKey(event) {
1010
+ if (!overlayVisibleState) {
1011
+ show();
1012
+ props.editable && changeFocusedOptionIndex(event, findSelectedOptionIndex());
1013
+ } else {
1014
+ var optionIndex = focusedOptionIndex !== -1 ? findNextOptionIndex(focusedOptionIndex) : clicked ? findFirstOptionIndex() : findFirstFocusedOptionIndex();
1015
+ changeFocusedOptionIndex(event, optionIndex);
915
1016
  }
916
- if (currentSearchChar.current === _char) searchValue.current = _char;else searchValue.current = searchValue.current ? searchValue.current + _char : _char;
917
- currentSearchChar.current = _char;
918
- if (searchValue.current) {
919
- var searchIndex = getSelectedOptionIndex();
920
- var newOption = props.optionGroupLabel ? searchOptionInGroup(searchIndex) : searchOption(searchIndex + 1);
921
- if (newOption) {
922
- selectItem({
923
- originalEvent: event,
924
- option: newOption
925
- });
1017
+ event.preventDefault();
1018
+ };
1019
+ var onArrowUpKey = function onArrowUpKey(event) {
1020
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1021
+ if (event.altKey && !pressedInInputText) {
1022
+ if (focusedOptionIndex !== -1) {
1023
+ onOptionSelect(event, visibleOptions[focusedOptionIndex]);
926
1024
  }
1025
+ state.overlayVisible && hide();
1026
+ event.preventDefault();
1027
+ } else {
1028
+ var optionIndex = focusedOptionIndex !== -1 ? findPrevOptionIndex(focusedOptionIndex) : clicked ? findLastOptionIndex() : findLastFocusedOptionIndex();
1029
+ changeFocusedOptionIndex(event, optionIndex);
1030
+ !overlayVisibleState && show();
1031
+ event.preventDefault();
927
1032
  }
928
- searchTimeout.current = setTimeout(function () {
929
- searchValue.current = null;
930
- }, 250);
931
1033
  };
932
- var searchOption = function searchOption(index) {
933
- if (searchValue.current) {
934
- return searchOptionInRange(index, visibleOptions.length) || searchOptionInRange(0, index);
1034
+ var onArrowLeftKey = function onArrowLeftKey(event) {
1035
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1036
+ pressedInInputText && setFocusedOptionIndex(-1);
1037
+ };
1038
+ var onHomeKey = function onHomeKey(event) {
1039
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1040
+ if (pressedInInputText) {
1041
+ event.currentTarget.setSelectionRange(0, 0);
1042
+ setFocusedOptionIndex(-1);
1043
+ } else {
1044
+ changeFocusedOptionIndex(event, findFirstOptionIndex());
1045
+ !overlayVisibleState && show();
935
1046
  }
936
- return null;
1047
+ event.preventDefault();
937
1048
  };
938
- var searchOptionInRange = function searchOptionInRange(start, end) {
939
- for (var i = start; i < end; i++) {
940
- var opt = visibleOptions[i];
941
- if (matchesSearchValue(opt)) {
942
- return opt;
943
- }
1049
+ var onEndKey = function onEndKey(event) {
1050
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1051
+ if (pressedInInputText) {
1052
+ var target = event.currentTarget;
1053
+ var len = target.value.length;
1054
+ target.setSelectionRange(len, len);
1055
+ setFocusedOptionIndex(-1);
1056
+ } else {
1057
+ changeFocusedOptionIndex(event, findLastOptionIndex());
1058
+ !overlayVisibleState && show();
944
1059
  }
945
- return null;
1060
+ event.preventDefault();
946
1061
  };
947
- var searchOptionInGroup = function searchOptionInGroup(index) {
948
- var searchIndex = index === -1 ? {
949
- group: 0,
950
- option: -1
951
- } : index;
952
- for (var i = searchIndex.group; i < visibleOptions.length; i++) {
953
- var groupOptions = getOptionGroupChildren(visibleOptions[i]);
954
- for (var j = searchIndex.group === i ? searchIndex.option + 1 : 0; j < groupOptions.length; j++) {
955
- if (matchesSearchValue(groupOptions[j])) {
956
- return groupOptions[j];
957
- }
1062
+ var onPageUpKey = function onPageUpKey(event) {
1063
+ event.preventDefault();
1064
+ };
1065
+ var onPageDownKey = function onPageDownKey(event) {
1066
+ event.preventDefault();
1067
+ };
1068
+ var onSpaceKey = function onSpaceKey(event) {
1069
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1070
+ !pressedInInputText && onEnterKey(event);
1071
+ };
1072
+ var onEnterKey = function onEnterKey(event) {
1073
+ if (!overlayVisibleState) {
1074
+ setFocusedOptionIndex(-1);
1075
+ onArrowDownKey(event);
1076
+ } else {
1077
+ if (focusedOptionIndex !== -1) {
1078
+ onOptionSelect(event, visibleOptions[focusedOptionIndex]);
958
1079
  }
1080
+ hide();
959
1081
  }
960
- for (var _i = 0; _i <= searchIndex.group; _i++) {
961
- var _groupOptions = getOptionGroupChildren(visibleOptions[_i]);
962
- for (var _j = 0; _j < (searchIndex.group === _i ? searchIndex.option : _groupOptions.length); _j++) {
963
- if (matchesSearchValue(_groupOptions[_j])) {
964
- return _groupOptions[_j];
1082
+ event.preventDefault();
1083
+ };
1084
+ var onEscapeKey = function onEscapeKey(event) {
1085
+ overlayVisibleState && hide();
1086
+ event.preventDefault();
1087
+ };
1088
+ var onTabKey = function onTabKey(event) {
1089
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1090
+ if (!pressedInInputText) {
1091
+ if (overlayVisibleState && !hasFocusableElements()) {
1092
+ utils.DomHandler.focus(firstHiddenFocusableElementOnOverlay.current);
1093
+ event.preventDefault();
1094
+ } else {
1095
+ if (focusedOptionIndex !== -1) {
1096
+ onOptionSelect(event, visibleOptions[focusedOptionIndex]);
965
1097
  }
1098
+ overlayVisibleState && hide();
966
1099
  }
967
1100
  }
968
- return null;
969
1101
  };
970
- var matchesSearchValue = function matchesSearchValue(option) {
971
- var label = getOptionLabel(option);
972
- if (!label) {
973
- return false;
1102
+ var onBackspaceKey = function onBackspaceKey(event) {
1103
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1104
+ if (pressedInInputText) {
1105
+ !overlayVisibleState && show();
974
1106
  }
975
- label = label.toLocaleLowerCase(props.filterLocale);
976
- return label.startsWith(searchValue.current.toLocaleLowerCase(props.filterLocale));
977
1107
  };
978
1108
  var onEditableInputChange = function onEditableInputChange(event) {
1109
+ !overlayVisibleState && show();
1110
+ var searchIndex = null;
1111
+ if (event.target.value) {
1112
+ searchIndex = visibleOptions.findIndex(function (item) {
1113
+ return item.name.toLocaleLowerCase().startsWith(event.target.value.toLocaleLowerCase());
1114
+ });
1115
+ }
1116
+ setFocusedOptionIndex(searchIndex);
979
1117
  if (props.onChange) {
980
1118
  props.onChange({
981
1119
  originalEvent: event.originalEvent,
@@ -1105,10 +1243,17 @@ var Dropdown = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
1105
1243
  return utils.ObjectUtils.equals(props.value, getOptionValue(option), equalityKey());
1106
1244
  };
1107
1245
  var show = function show() {
1246
+ setFocusedOptionIndex(focusedOptionIndex !== -1 ? focusedOptionIndex : props.autoOptionFocus ? findFirstFocusedOptionIndex() : props.editable ? -1 : findSelectedOptionIndex());
1108
1247
  setOverlayVisibleState(true);
1109
1248
  };
1110
1249
  var hide = function hide() {
1111
1250
  setOverlayVisibleState(false);
1251
+ setClicked(false);
1252
+ };
1253
+ var onFocus = function onFocus() {
1254
+ if (props.editable) {
1255
+ utils.DomHandler.focus(inputRef.current);
1256
+ }
1112
1257
  };
1113
1258
  var onOverlayEnter = function onOverlayEnter(callback) {
1114
1259
  utils.ZIndexUtils.set('overlay', overlayRef.current, context && context.autoZIndex || PrimeReact__default["default"].autoZIndex, context && context.zIndex['overlay'] || PrimeReact__default["default"].zIndex['overlay']);
@@ -1161,6 +1306,9 @@ var Dropdown = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
1161
1306
  var getOptionRenderKey = function getOptionRenderKey(option) {
1162
1307
  return props.dataKey ? utils.ObjectUtils.resolveFieldData(option, props.dataKey) : getOptionLabel(option);
1163
1308
  };
1309
+ var isOptionGroup = function isOptionGroup(option) {
1310
+ return props.optionGroupLabel && option.optionGroup && option.group;
1311
+ };
1164
1312
  var isOptionDisabled = function isOptionDisabled(option) {
1165
1313
  if (props.optionDisabled) {
1166
1314
  return utils.ObjectUtils.isFunction(props.optionDisabled) ? props.optionDisabled(option) : utils.ObjectUtils.resolveFieldData(option, props.optionDisabled);
@@ -1289,7 +1437,7 @@ var Dropdown = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
1289
1437
  onBlur: onInputBlur,
1290
1438
  onKeyDown: onInputKeyDown,
1291
1439
  disabled: props.disabled,
1292
- tabIndex: props.tabIndex || 0
1440
+ tabIndex: !props.disabled ? props.tabIndex || 0 : -1
1293
1441
  }, ariaProps), ptm('input'));
1294
1442
  return /*#__PURE__*/React__namespace.createElement("div", hiddenSelectedMessageProps, /*#__PURE__*/React__namespace.createElement("input", inputProps));
1295
1443
  };
@@ -1309,8 +1457,9 @@ var Dropdown = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
1309
1457
  maxLength: props.maxLength,
1310
1458
  onInput: onEditableInputChange,
1311
1459
  onFocus: onEditableInputFocus,
1460
+ onKeyDown: onInputKeyDown,
1312
1461
  onBlur: onInputBlur,
1313
- tabIndex: props.tabIndex || 0,
1462
+ tabIndex: !props.disabled ? props.tabIndex || 0 : -1,
1314
1463
  'aria-haspopup': 'listbox'
1315
1464
  }, ariaProps), ptm('input'));
1316
1465
  return /*#__PURE__*/React__namespace.createElement("input", inputProps);
@@ -1402,9 +1551,30 @@ var Dropdown = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
1402
1551
  },
1403
1552
  onMouseDown: props.onMouseDown,
1404
1553
  onContextMenu: props.onContextMenu,
1554
+ onFocus: onFocus,
1405
1555
  'data-p-disabled': props.disabled,
1406
1556
  'data-p-focus': focusedState
1407
1557
  }, otherProps, ptm('root'));
1558
+ var firstHiddenFocusableElementProps = mergeProps({
1559
+ ref: firstHiddenFocusableElementOnOverlay,
1560
+ role: 'presentation',
1561
+ 'aria-hidden': 'true',
1562
+ className: 'p-hidden-accessible p-hidden-focusable',
1563
+ tabIndex: '0',
1564
+ onFocus: onFirstHiddenFocus,
1565
+ 'data-p-hidden-accessible': true,
1566
+ 'data-p-hidden-focusable': true
1567
+ }, ptm('hiddenFirstFocusableEl'));
1568
+ var lastHiddenFocusableElementProps = mergeProps({
1569
+ ref: lastHiddenFocusableElementOnOverlay,
1570
+ role: 'presentation',
1571
+ 'aria-hidden': 'true',
1572
+ className: 'p-hidden-accessible p-hidden-focusable',
1573
+ tabIndex: '0',
1574
+ onFocus: onLastHiddenFocus,
1575
+ 'data-p-hidden-accessible': true,
1576
+ 'data-p-hidden-focusable': true
1577
+ }, ptm('hiddenLastFocusableEl'));
1408
1578
  return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement("div", rootProps, keyboardHelper, hiddenSelect, labelElement, clearIcon, dropdownIcon, /*#__PURE__*/React__namespace.createElement(DropdownPanel, _extends({
1409
1579
  hostName: "Dropdown",
1410
1580
  ref: overlayRef,
@@ -1412,36 +1582,39 @@ var Dropdown = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
1412
1582
  virtualScrollerRef: virtualScrollerRef
1413
1583
  }, props, {
1414
1584
  appendTo: appendTo,
1415
- onClick: onPanelClick,
1416
- onOptionClick: onOptionClick,
1585
+ cx: cx,
1417
1586
  filterValue: filterState,
1418
- hasFilter: hasFilter,
1419
- onFilterClearIconClick: onFilterClearIconClick,
1420
- resetFilter: resetFilter,
1421
- onFilterInputKeyDown: onFilterInputKeyDown,
1422
- onFilterInputChange: onFilterInputChange,
1423
- getOptionLabel: getOptionLabel,
1424
- getOptionRenderKey: getOptionRenderKey,
1425
- isOptionDisabled: isOptionDisabled,
1587
+ focusedOptionIndex: focusedOptionIndex,
1426
1588
  getOptionGroupChildren: getOptionGroupChildren,
1427
1589
  getOptionGroupLabel: getOptionGroupLabel,
1428
1590
  getOptionGroupRenderKey: getOptionGroupRenderKey,
1429
- isSelected: isSelected,
1591
+ getOptionLabel: getOptionLabel,
1592
+ getOptionRenderKey: getOptionRenderKey,
1430
1593
  getSelectedOptionIndex: getSelectedOptionIndex,
1594
+ hasFilter: hasFilter,
1431
1595
  "in": overlayVisibleState,
1596
+ isOptionDisabled: isOptionDisabled,
1597
+ isSelected: isSelected,
1598
+ onClick: onPanelClick,
1432
1599
  onEnter: onOverlayEnter,
1433
1600
  onEntered: onOverlayEntered,
1434
1601
  onExit: onOverlayExit,
1435
1602
  onExited: onOverlayExited,
1603
+ onFilterClearIconClick: onFilterClearIconClick,
1604
+ onFilterInputChange: onFilterInputChange,
1605
+ onFilterInputKeyDown: onFilterInputKeyDown,
1606
+ onOptionClick: onOptionClick,
1436
1607
  ptm: ptm,
1437
- cx: cx,
1608
+ resetFilter: resetFilter,
1609
+ setFocusedOptionIndex: setFocusedOptionIndex,
1610
+ firstFocusableElement: /*#__PURE__*/React__namespace.createElement("span", firstHiddenFocusableElementProps),
1611
+ lastFocusableElement: /*#__PURE__*/React__namespace.createElement("span", lastHiddenFocusableElementProps),
1438
1612
  sx: sx
1439
1613
  }))), hasTooltip && /*#__PURE__*/React__namespace.createElement(tooltip.Tooltip, _extends({
1440
1614
  target: elementRef,
1441
- content: props.tooltip
1442
- }, props.tooltipOptions, {
1615
+ content: props.tooltip,
1443
1616
  pt: ptm('tooltip')
1444
- })));
1617
+ }, props.tooltipOptions)));
1445
1618
  }));
1446
1619
  Dropdown.displayName = 'Dropdown';
1447
1620