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
@@ -191,10 +191,13 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
191
191
  item: function item(_ref7) {
192
192
  var selected = _ref7.selected,
193
193
  disabled = _ref7.disabled,
194
- label = _ref7.label;
194
+ label = _ref7.label,
195
+ index = _ref7.index,
196
+ focusedOptionIndex = _ref7.focusedOptionIndex;
195
197
  return utils.classNames('p-dropdown-item', {
196
198
  'p-highlight': selected,
197
199
  'p-disabled': disabled,
200
+ 'p-focus': index === focusedOptionIndex,
198
201
  'p-dropdown-item-empty': !label || label.length === 0
199
202
  });
200
203
  },
@@ -261,6 +264,8 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
261
264
  onShow: null,
262
265
  optionDisabled: null,
263
266
  optionGroupChildren: 'items',
267
+ selectOnFocus: false,
268
+ autoOptionFocus: false,
264
269
  optionGroupLabel: null,
265
270
  optionGroupTemplate: null,
266
271
  optionLabel: null,
@@ -299,7 +304,9 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
299
304
  selected = props.selected,
300
305
  disabled = props.disabled,
301
306
  option = props.option,
302
- label = props.label;
307
+ label = props.label,
308
+ index = props.index,
309
+ focusedOptionIndex = props.focusedOptionIndex;
303
310
  var getPTOptions = function getPTOptions(key) {
304
311
  return ptm(key, {
305
312
  context: {
@@ -308,7 +315,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
308
315
  }
309
316
  });
310
317
  };
311
- var _onClick = function onClick(event) {
318
+ var _onClick = function onClick(event, i) {
312
319
  if (props.onClick) {
313
320
  props.onClick({
314
321
  originalEvent: event,
@@ -323,7 +330,9 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
323
330
  className: utils.classNames(option.className, cx('item', {
324
331
  selected: selected,
325
332
  disabled: disabled,
326
- label: label
333
+ label: label,
334
+ index: index,
335
+ focusedOptionIndex: focusedOptionIndex
327
336
  })),
328
337
  style: props.style,
329
338
  onClick: function onClick(e) {
@@ -332,6 +341,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
332
341
  'aria-label': label,
333
342
  'aria-selected': selected,
334
343
  'data-p-highlight': selected,
344
+ 'data-p-focused': focusedOptionIndex === index,
335
345
  'data-p-disabled': disabled
336
346
  }, getPTOptions('item'));
337
347
  return /*#__PURE__*/React__namespace.createElement("li", itemProps, content, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null));
@@ -403,6 +413,8 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
403
413
  var disabled = props.isOptionDisabled(option);
404
414
  return /*#__PURE__*/React__namespace.createElement(DropdownItem, {
405
415
  key: optionKey,
416
+ index: j,
417
+ focusedOptionIndex: props.focusedOptionIndex,
406
418
  label: optionLabel,
407
419
  option: option,
408
420
  style: style,
@@ -450,6 +462,8 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
450
462
  return /*#__PURE__*/React__namespace.createElement(DropdownItem, {
451
463
  key: optionKey,
452
464
  label: optionLabel,
465
+ index: index,
466
+ focusedOptionIndex: props.focusedOptionIndex,
453
467
  option: option,
454
468
  style: style,
455
469
  template: props.itemTemplate,
@@ -617,7 +631,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
617
631
  nodeRef: ref
618
632
  }, transitionProps), /*#__PURE__*/React__namespace.createElement("div", _extends({
619
633
  ref: ref
620
- }, panelProps), filter, content, footer));
634
+ }, panelProps), props.firstFocusableElement, filter, content, footer, props.lastFocusableElement));
621
635
  };
622
636
  var element = createElement();
623
637
  return /*#__PURE__*/React__namespace.createElement(portal.Portal, {
@@ -642,20 +656,30 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
642
656
  setFilterState = _React$useState2[1];
643
657
  var _React$useState3 = React__namespace.useState(false),
644
658
  _React$useState4 = _slicedToArray(_React$useState3, 2),
645
- focusedState = _React$useState4[0],
646
- setFocusedState = _React$useState4[1];
659
+ clicked = _React$useState4[0],
660
+ setClicked = _React$useState4[1];
647
661
  var _React$useState5 = React__namespace.useState(false),
648
662
  _React$useState6 = _slicedToArray(_React$useState5, 2),
649
- overlayVisibleState = _React$useState6[0],
650
- setOverlayVisibleState = _React$useState6[1];
663
+ focusedState = _React$useState6[0],
664
+ setFocusedState = _React$useState6[1];
665
+ var _React$useState7 = React__namespace.useState(-1),
666
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
667
+ focusedOptionIndex = _React$useState8[0],
668
+ setFocusedOptionIndex = _React$useState8[1];
669
+ var _React$useState9 = React__namespace.useState(false),
670
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
671
+ overlayVisibleState = _React$useState10[0],
672
+ setOverlayVisibleState = _React$useState10[1];
651
673
  var elementRef = React__namespace.useRef(null);
652
674
  var overlayRef = React__namespace.useRef(null);
675
+ var firstHiddenFocusableElementOnOverlay = React__namespace.useRef(null);
676
+ var lastHiddenFocusableElementOnOverlay = React__namespace.useRef(null);
653
677
  var inputRef = React__namespace.useRef(props.inputRef);
654
678
  var focusInputRef = React__namespace.useRef(props.focusInputRef);
655
679
  var virtualScrollerRef = React__namespace.useRef(null);
656
680
  var searchTimeout = React__namespace.useRef(null);
657
681
  var searchValue = React__namespace.useRef(null);
658
- var currentSearchChar = React__namespace.useRef(null);
682
+ React__namespace.useRef(null);
659
683
  var isLazy = props.virtualScrollerOptions && props.virtualScrollerOptions.lazy;
660
684
  var hasFilter = utils.ObjectUtils.isNotEmpty(filterState);
661
685
  var appendTo = props.appendTo || context && context.appendTo || PrimeReact__default["default"].appendTo;
@@ -719,6 +743,14 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
719
743
  return props.options;
720
744
  }
721
745
  };
746
+ var onFirstHiddenFocus = function onFirstHiddenFocus(event) {
747
+ var focusableEl = event.relatedTarget === focusInputRef.current ? utils.DomHandler.getFirstFocusableElement(overlayRef.current, ':not([data-p-hidden-focusable="true"])') : focusInputRef.current;
748
+ utils.DomHandler.focus(focusableEl);
749
+ };
750
+ var onLastHiddenFocus = function onLastHiddenFocus(event) {
751
+ var focusableEl = event.relatedTarget === focusInputRef.current ? utils.DomHandler.getLastFocusableElement(overlayRef.current, ':not([data-p-hidden-focusable="true"])') : focusInputRef.current;
752
+ utils.DomHandler.focus(focusableEl);
753
+ };
722
754
  var isClearClicked = function isClearClicked(event) {
723
755
  return utils.DomHandler.isAttributeEquals(event.target, 'data-pc-section', 'clearicon') || utils.DomHandler.isAttributeEquals(event.target.parentElement || event.target, 'data-pc-section', 'filterclearicon');
724
756
  };
@@ -738,6 +770,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
738
770
  utils.DomHandler.focus(focusInputRef.current);
739
771
  overlayVisibleState ? hide() : show();
740
772
  }
773
+ setClicked(true);
741
774
  };
742
775
  var onInputFocus = function onInputFocus(event) {
743
776
  if (props.showOnFocus && !overlayVisibleState) {
@@ -769,6 +802,15 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
769
802
  }, 200);
770
803
  }
771
804
  };
805
+ var onOptionSelect = function onOptionSelect(event, option) {
806
+ var isHide = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
807
+ var value = getOptionValue(option);
808
+ selectItem({
809
+ originalEvent: event,
810
+ option: value
811
+ });
812
+ isHide && hide();
813
+ };
772
814
  var onPanelClick = function onPanelClick(event) {
773
815
  overlayservice.OverlayService.emit('overlay-click', {
774
816
  originalEvent: event,
@@ -776,189 +818,285 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
776
818
  });
777
819
  };
778
820
  var onInputKeyDown = function onInputKeyDown(event) {
821
+ if (props.disabled || utils.DomHandler.isAndroid()) {
822
+ event.preventDefault();
823
+ return;
824
+ }
825
+ var metaKey = event.metaKey || event.ctrlKey;
779
826
  switch (event.code) {
780
827
  case 'ArrowDown':
781
- onDownKey(event);
828
+ onArrowDownKey(event);
782
829
  break;
783
830
  case 'ArrowUp':
784
- onUpKey(event);
831
+ onArrowUpKey(event);
832
+ break;
833
+ case 'ArrowLeft':
834
+ case 'ArrowRight':
835
+ onArrowLeftKey(event, props.editable);
836
+ break;
837
+ case 'Home':
838
+ onHomeKey(event);
839
+ break;
840
+ case 'End':
841
+ onEndKey(event);
842
+ break;
843
+ case 'PageDown':
844
+ onPageDownKey(event);
845
+ break;
846
+ case 'PageUp':
847
+ onPageUpKey(event);
785
848
  break;
786
849
  case 'Space':
850
+ onSpaceKey(event, props.editable);
851
+ break;
852
+ case 'NumpadEnter':
787
853
  case 'Enter':
788
- overlayVisibleState ? hide() : show();
789
- event.preventDefault();
854
+ onEnterKey(event);
790
855
  break;
791
856
  case 'Escape':
857
+ onEscapeKey(event);
858
+ break;
792
859
  case 'Tab':
793
- hide();
860
+ onTabKey(event);
861
+ break;
862
+ case 'Backspace':
863
+ onBackspaceKey(event, props.editable);
864
+ break;
865
+ case 'ShiftLeft':
866
+ case 'ShiftRight':
867
+ //NOOP
794
868
  break;
795
869
  default:
796
- search(event);
870
+ if (!metaKey && utils.ObjectUtils.isPrintableCharacter(event.key)) {
871
+ !overlayVisibleState && show();
872
+ !props.editable && searchOptions(event, event.key);
873
+ }
797
874
  break;
798
875
  }
876
+ setClicked(false);
799
877
  };
800
878
  var onFilterInputKeyDown = function onFilterInputKeyDown(event) {
801
879
  switch (event.code) {
802
880
  case 'ArrowDown':
803
- onDownKey(event);
881
+ onArrowDownKey(event);
804
882
  break;
805
883
  case 'ArrowUp':
806
- onUpKey(event);
884
+ onArrowUpKey(event);
885
+ break;
886
+ case 'ArrowLeft':
887
+ case 'ArrowRight':
888
+ onArrowLeftKey(event, true);
807
889
  break;
808
890
  case 'Escape':
809
891
  case 'Enter':
810
- hide();
892
+ onEnterKey(event);
811
893
  event.preventDefault();
812
894
  break;
813
895
  }
814
896
  };
815
- var onUpKey = function onUpKey(event) {
816
- if (visibleOptions) {
817
- var prevOption = findPrevOption(getSelectedOptionIndex());
818
- if (prevOption) {
819
- selectItem({
820
- originalEvent: event,
821
- option: prevOption
822
- });
823
- }
824
- }
825
- event.preventDefault();
897
+ var hasFocusableElements = function hasFocusableElements() {
898
+ return utils.DomHandler.getFocusableElements(overlayRef.current, ':not([data-p-hidden-focusable="true"])').length > 0;
826
899
  };
827
- var onDownKey = function onDownKey(event) {
828
- if (visibleOptions) {
829
- if (!overlayVisibleState && event.altKey) {
830
- show();
831
- } else {
832
- var nextOption = findNextOption(getSelectedOptionIndex());
833
- if (nextOption) {
834
- selectItem({
835
- originalEvent: event,
836
- option: nextOption
837
- });
838
- }
839
- }
840
- }
841
- event.preventDefault();
900
+ var isOptionMatched = function isOptionMatched(option) {
901
+ var _getOptionLabel;
902
+ return isValidOption(option) && ((_getOptionLabel = getOptionLabel(option)) === null || _getOptionLabel === void 0 ? void 0 : _getOptionLabel.toLocaleLowerCase(props.filterLocale).startsWith(searchValue.current.toLocaleLowerCase(props.filterLocale)));
842
903
  };
843
- var findNextOption = function findNextOption(index) {
844
- if (props.optionGroupLabel) {
845
- var groupIndex = index === -1 ? 0 : index.group;
846
- var optionIndex = index === -1 ? -1 : index.option;
847
- var option = findNextOptionInList(getOptionGroupChildren(visibleOptions[groupIndex]), optionIndex);
848
- if (option) return option;else if (groupIndex + 1 !== visibleOptions.length) return findNextOption({
849
- group: groupIndex + 1,
850
- option: -1
851
- });else return null;
852
- }
853
- return findNextOptionInList(visibleOptions, index);
904
+ var isValidOption = function isValidOption(option) {
905
+ return utils.ObjectUtils.isNotEmpty(option) && !(isOptionDisabled(option) || isOptionGroup(option));
854
906
  };
855
- var findNextOptionInList = function findNextOptionInList(list, index) {
856
- var i = index + 1;
857
- if (i === list.length) {
858
- return null;
859
- }
860
- var option = list[i];
861
- return isOptionDisabled(option) ? findNextOptionInList(i) : option;
907
+ var hasSelectedOption = function hasSelectedOption() {
908
+ return utils.ObjectUtils.isNotEmpty(props.value);
862
909
  };
863
- var findPrevOption = function findPrevOption(index) {
864
- if (index === -1) {
865
- return null;
866
- }
867
- if (props.optionGroupLabel) {
868
- var groupIndex = index.group;
869
- var optionIndex = index.option;
870
- var option = findPrevOptionInList(getOptionGroupChildren(visibleOptions[groupIndex]), optionIndex);
871
- if (option) return option;else if (groupIndex > 0) return findPrevOption({
872
- group: groupIndex - 1,
873
- option: getOptionGroupChildren(visibleOptions[groupIndex - 1]).length
874
- });else return null;
875
- }
876
- return findPrevOptionInList(visibleOptions, index);
910
+ var isValidSelectedOption = function isValidSelectedOption(option) {
911
+ return isValidOption(option) && isSelected(option);
877
912
  };
878
- var findPrevOptionInList = function findPrevOptionInList(list, index) {
879
- var i = index - 1;
880
- if (i < 0) {
881
- return null;
882
- }
883
- var option = list[i];
884
- return isOptionDisabled(option) ? findPrevOption(i) : option;
913
+ var findSelectedOptionIndex = function findSelectedOptionIndex() {
914
+ return hasSelectedOption ? visibleOptions.findIndex(function (option) {
915
+ return isValidSelectedOption(option);
916
+ }) : -1;
917
+ };
918
+ var findFirstFocusedOptionIndex = function findFirstFocusedOptionIndex() {
919
+ var selectedIndex = findSelectedOptionIndex();
920
+ return selectedIndex < 0 ? findFirstOptionIndex() : selectedIndex;
885
921
  };
886
- var search = function search(event) {
922
+ var searchOptions = function searchOptions(event, _char) {
923
+ searchValue.current = (searchValue.current || '') + _char;
924
+ var optionIndex = -1;
925
+ var matched = false;
926
+ if (utils.ObjectUtils.isNotEmpty(searchValue.current)) {
927
+ if (focusedOptionIndex !== -1) {
928
+ optionIndex = visibleOptions.slice(focusedOptionIndex).findIndex(function (option) {
929
+ return isOptionMatched(option);
930
+ });
931
+ optionIndex = optionIndex === -1 ? visibleOptions.slice(0, focusedOptionIndex).findIndex(function (option) {
932
+ return isOptionMatched(option);
933
+ }) : optionIndex + focusedOptionIndex;
934
+ } else {
935
+ optionIndex = visibleOptions.findIndex(function (option) {
936
+ return isOptionMatched(option);
937
+ });
938
+ }
939
+ if (optionIndex !== -1) {
940
+ matched = true;
941
+ }
942
+ if (optionIndex === -1 && focusedOptionIndex === -1) {
943
+ optionIndex = findFirstFocusedOptionIndex();
944
+ }
945
+ if (optionIndex !== -1) {
946
+ changeFocusedOptionIndex(event, optionIndex);
947
+ }
948
+ }
887
949
  if (searchTimeout.current) {
888
950
  clearTimeout(searchTimeout.current);
889
951
  }
890
- if (event.ctrlKey || event.metaKey || event.altKey) {
891
- // ignore meta combinations like CTRL+F for browser search
892
- return;
952
+ searchTimeout.current = setTimeout(function () {
953
+ searchValue.current = '';
954
+ searchTimeout.current = null;
955
+ }, 500);
956
+ return matched;
957
+ };
958
+ var findLastFocusedOptionIndex = function findLastFocusedOptionIndex() {
959
+ var selectedIndex = findSelectedOptionIndex();
960
+ return selectedIndex < 0 ? findLastOptionIndex() : selectedIndex;
961
+ };
962
+ var findFirstOptionIndex = function findFirstOptionIndex() {
963
+ return visibleOptions.findIndex(function (option) {
964
+ return isValidOption(option);
965
+ });
966
+ };
967
+ var findLastOptionIndex = function findLastOptionIndex() {
968
+ return utils.ObjectUtils.findLastIndex(visibleOptions, function (option) {
969
+ return isValidOption(option);
970
+ });
971
+ };
972
+ var findNextOptionIndex = function findNextOptionIndex(index) {
973
+ var matchedOptionIndex = index < visibleOptions.length - 1 ? visibleOptions.slice(index + 1).findIndex(function (option) {
974
+ return isValidOption(option);
975
+ }) : -1;
976
+ return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;
977
+ };
978
+ var findPrevOptionIndex = function findPrevOptionIndex(index) {
979
+ var matchedOptionIndex = index > 0 ? utils.ObjectUtils.findLastIndex(visibleOptions.slice(0, index), function (option) {
980
+ return isValidOption(option);
981
+ }) : -1;
982
+ return matchedOptionIndex > -1 ? matchedOptionIndex : index;
983
+ };
984
+ var changeFocusedOptionIndex = function changeFocusedOptionIndex(event, index) {
985
+ if (focusedOptionIndex !== index) {
986
+ setFocusedOptionIndex(index);
987
+ if (props.selectOnFocus) {
988
+ onOptionSelect(event, visibleOptions[index], false);
989
+ }
893
990
  }
894
- var _char = event.key;
895
- if (_char.length !== 1) {
896
- // only single character keys matter for searching
897
- return;
991
+ };
992
+ var onArrowDownKey = function onArrowDownKey(event) {
993
+ if (!overlayVisibleState) {
994
+ show();
995
+ props.editable && changeFocusedOptionIndex(event, findSelectedOptionIndex());
996
+ } else {
997
+ var optionIndex = focusedOptionIndex !== -1 ? findNextOptionIndex(focusedOptionIndex) : clicked ? findFirstOptionIndex() : findFirstFocusedOptionIndex();
998
+ changeFocusedOptionIndex(event, optionIndex);
898
999
  }
899
- if (currentSearchChar.current === _char) searchValue.current = _char;else searchValue.current = searchValue.current ? searchValue.current + _char : _char;
900
- currentSearchChar.current = _char;
901
- if (searchValue.current) {
902
- var searchIndex = getSelectedOptionIndex();
903
- var newOption = props.optionGroupLabel ? searchOptionInGroup(searchIndex) : searchOption(searchIndex + 1);
904
- if (newOption) {
905
- selectItem({
906
- originalEvent: event,
907
- option: newOption
908
- });
1000
+ event.preventDefault();
1001
+ };
1002
+ var onArrowUpKey = function onArrowUpKey(event) {
1003
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1004
+ if (event.altKey && !pressedInInputText) {
1005
+ if (focusedOptionIndex !== -1) {
1006
+ onOptionSelect(event, visibleOptions[focusedOptionIndex]);
909
1007
  }
1008
+ state.overlayVisible && hide();
1009
+ event.preventDefault();
1010
+ } else {
1011
+ var optionIndex = focusedOptionIndex !== -1 ? findPrevOptionIndex(focusedOptionIndex) : clicked ? findLastOptionIndex() : findLastFocusedOptionIndex();
1012
+ changeFocusedOptionIndex(event, optionIndex);
1013
+ !overlayVisibleState && show();
1014
+ event.preventDefault();
910
1015
  }
911
- searchTimeout.current = setTimeout(function () {
912
- searchValue.current = null;
913
- }, 250);
914
1016
  };
915
- var searchOption = function searchOption(index) {
916
- if (searchValue.current) {
917
- return searchOptionInRange(index, visibleOptions.length) || searchOptionInRange(0, index);
1017
+ var onArrowLeftKey = function onArrowLeftKey(event) {
1018
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1019
+ pressedInInputText && setFocusedOptionIndex(-1);
1020
+ };
1021
+ var onHomeKey = function onHomeKey(event) {
1022
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1023
+ if (pressedInInputText) {
1024
+ event.currentTarget.setSelectionRange(0, 0);
1025
+ setFocusedOptionIndex(-1);
1026
+ } else {
1027
+ changeFocusedOptionIndex(event, findFirstOptionIndex());
1028
+ !overlayVisibleState && show();
918
1029
  }
919
- return null;
1030
+ event.preventDefault();
920
1031
  };
921
- var searchOptionInRange = function searchOptionInRange(start, end) {
922
- for (var i = start; i < end; i++) {
923
- var opt = visibleOptions[i];
924
- if (matchesSearchValue(opt)) {
925
- return opt;
926
- }
1032
+ var onEndKey = function onEndKey(event) {
1033
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1034
+ if (pressedInInputText) {
1035
+ var target = event.currentTarget;
1036
+ var len = target.value.length;
1037
+ target.setSelectionRange(len, len);
1038
+ setFocusedOptionIndex(-1);
1039
+ } else {
1040
+ changeFocusedOptionIndex(event, findLastOptionIndex());
1041
+ !overlayVisibleState && show();
927
1042
  }
928
- return null;
1043
+ event.preventDefault();
929
1044
  };
930
- var searchOptionInGroup = function searchOptionInGroup(index) {
931
- var searchIndex = index === -1 ? {
932
- group: 0,
933
- option: -1
934
- } : index;
935
- for (var i = searchIndex.group; i < visibleOptions.length; i++) {
936
- var groupOptions = getOptionGroupChildren(visibleOptions[i]);
937
- for (var j = searchIndex.group === i ? searchIndex.option + 1 : 0; j < groupOptions.length; j++) {
938
- if (matchesSearchValue(groupOptions[j])) {
939
- return groupOptions[j];
940
- }
1045
+ var onPageUpKey = function onPageUpKey(event) {
1046
+ event.preventDefault();
1047
+ };
1048
+ var onPageDownKey = function onPageDownKey(event) {
1049
+ event.preventDefault();
1050
+ };
1051
+ var onSpaceKey = function onSpaceKey(event) {
1052
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1053
+ !pressedInInputText && onEnterKey(event);
1054
+ };
1055
+ var onEnterKey = function onEnterKey(event) {
1056
+ if (!overlayVisibleState) {
1057
+ setFocusedOptionIndex(-1);
1058
+ onArrowDownKey(event);
1059
+ } else {
1060
+ if (focusedOptionIndex !== -1) {
1061
+ onOptionSelect(event, visibleOptions[focusedOptionIndex]);
941
1062
  }
1063
+ hide();
942
1064
  }
943
- for (var _i = 0; _i <= searchIndex.group; _i++) {
944
- var _groupOptions = getOptionGroupChildren(visibleOptions[_i]);
945
- for (var _j = 0; _j < (searchIndex.group === _i ? searchIndex.option : _groupOptions.length); _j++) {
946
- if (matchesSearchValue(_groupOptions[_j])) {
947
- return _groupOptions[_j];
1065
+ event.preventDefault();
1066
+ };
1067
+ var onEscapeKey = function onEscapeKey(event) {
1068
+ overlayVisibleState && hide();
1069
+ event.preventDefault();
1070
+ };
1071
+ var onTabKey = function onTabKey(event) {
1072
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1073
+ if (!pressedInInputText) {
1074
+ if (overlayVisibleState && !hasFocusableElements()) {
1075
+ utils.DomHandler.focus(firstHiddenFocusableElementOnOverlay.current);
1076
+ event.preventDefault();
1077
+ } else {
1078
+ if (focusedOptionIndex !== -1) {
1079
+ onOptionSelect(event, visibleOptions[focusedOptionIndex]);
948
1080
  }
1081
+ overlayVisibleState && hide();
949
1082
  }
950
1083
  }
951
- return null;
952
1084
  };
953
- var matchesSearchValue = function matchesSearchValue(option) {
954
- var label = getOptionLabel(option);
955
- if (!label) {
956
- return false;
1085
+ var onBackspaceKey = function onBackspaceKey(event) {
1086
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1087
+ if (pressedInInputText) {
1088
+ !overlayVisibleState && show();
957
1089
  }
958
- label = label.toLocaleLowerCase(props.filterLocale);
959
- return label.startsWith(searchValue.current.toLocaleLowerCase(props.filterLocale));
960
1090
  };
961
1091
  var onEditableInputChange = function onEditableInputChange(event) {
1092
+ !overlayVisibleState && show();
1093
+ var searchIndex = null;
1094
+ if (event.target.value) {
1095
+ searchIndex = visibleOptions.findIndex(function (item) {
1096
+ return item.name.toLocaleLowerCase().startsWith(event.target.value.toLocaleLowerCase());
1097
+ });
1098
+ }
1099
+ setFocusedOptionIndex(searchIndex);
962
1100
  if (props.onChange) {
963
1101
  props.onChange({
964
1102
  originalEvent: event.originalEvent,
@@ -1088,10 +1226,17 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
1088
1226
  return utils.ObjectUtils.equals(props.value, getOptionValue(option), equalityKey());
1089
1227
  };
1090
1228
  var show = function show() {
1229
+ setFocusedOptionIndex(focusedOptionIndex !== -1 ? focusedOptionIndex : props.autoOptionFocus ? findFirstFocusedOptionIndex() : props.editable ? -1 : findSelectedOptionIndex());
1091
1230
  setOverlayVisibleState(true);
1092
1231
  };
1093
1232
  var hide = function hide() {
1094
1233
  setOverlayVisibleState(false);
1234
+ setClicked(false);
1235
+ };
1236
+ var onFocus = function onFocus() {
1237
+ if (props.editable) {
1238
+ utils.DomHandler.focus(inputRef.current);
1239
+ }
1095
1240
  };
1096
1241
  var onOverlayEnter = function onOverlayEnter(callback) {
1097
1242
  utils.ZIndexUtils.set('overlay', overlayRef.current, context && context.autoZIndex || PrimeReact__default["default"].autoZIndex, context && context.zIndex['overlay'] || PrimeReact__default["default"].zIndex['overlay']);
@@ -1144,6 +1289,9 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
1144
1289
  var getOptionRenderKey = function getOptionRenderKey(option) {
1145
1290
  return props.dataKey ? utils.ObjectUtils.resolveFieldData(option, props.dataKey) : getOptionLabel(option);
1146
1291
  };
1292
+ var isOptionGroup = function isOptionGroup(option) {
1293
+ return props.optionGroupLabel && option.optionGroup && option.group;
1294
+ };
1147
1295
  var isOptionDisabled = function isOptionDisabled(option) {
1148
1296
  if (props.optionDisabled) {
1149
1297
  return utils.ObjectUtils.isFunction(props.optionDisabled) ? props.optionDisabled(option) : utils.ObjectUtils.resolveFieldData(option, props.optionDisabled);
@@ -1272,7 +1420,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
1272
1420
  onBlur: onInputBlur,
1273
1421
  onKeyDown: onInputKeyDown,
1274
1422
  disabled: props.disabled,
1275
- tabIndex: props.tabIndex || 0
1423
+ tabIndex: !props.disabled ? props.tabIndex || 0 : -1
1276
1424
  }, ariaProps), ptm('input'));
1277
1425
  return /*#__PURE__*/React__namespace.createElement("div", hiddenSelectedMessageProps, /*#__PURE__*/React__namespace.createElement("input", inputProps));
1278
1426
  };
@@ -1292,8 +1440,9 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
1292
1440
  maxLength: props.maxLength,
1293
1441
  onInput: onEditableInputChange,
1294
1442
  onFocus: onEditableInputFocus,
1443
+ onKeyDown: onInputKeyDown,
1295
1444
  onBlur: onInputBlur,
1296
- tabIndex: props.tabIndex || 0,
1445
+ tabIndex: !props.disabled ? props.tabIndex || 0 : -1,
1297
1446
  'aria-haspopup': 'listbox'
1298
1447
  }, ariaProps), ptm('input'));
1299
1448
  return /*#__PURE__*/React__namespace.createElement("input", inputProps);
@@ -1385,9 +1534,30 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
1385
1534
  },
1386
1535
  onMouseDown: props.onMouseDown,
1387
1536
  onContextMenu: props.onContextMenu,
1537
+ onFocus: onFocus,
1388
1538
  'data-p-disabled': props.disabled,
1389
1539
  'data-p-focus': focusedState
1390
1540
  }, otherProps, ptm('root'));
1541
+ var firstHiddenFocusableElementProps = mergeProps({
1542
+ ref: firstHiddenFocusableElementOnOverlay,
1543
+ role: 'presentation',
1544
+ 'aria-hidden': 'true',
1545
+ className: 'p-hidden-accessible p-hidden-focusable',
1546
+ tabIndex: '0',
1547
+ onFocus: onFirstHiddenFocus,
1548
+ 'data-p-hidden-accessible': true,
1549
+ 'data-p-hidden-focusable': true
1550
+ }, ptm('hiddenFirstFocusableEl'));
1551
+ var lastHiddenFocusableElementProps = mergeProps({
1552
+ ref: lastHiddenFocusableElementOnOverlay,
1553
+ role: 'presentation',
1554
+ 'aria-hidden': 'true',
1555
+ className: 'p-hidden-accessible p-hidden-focusable',
1556
+ tabIndex: '0',
1557
+ onFocus: onLastHiddenFocus,
1558
+ 'data-p-hidden-accessible': true,
1559
+ 'data-p-hidden-focusable': true
1560
+ }, ptm('hiddenLastFocusableEl'));
1391
1561
  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({
1392
1562
  hostName: "Dropdown",
1393
1563
  ref: overlayRef,
@@ -1395,36 +1565,39 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
1395
1565
  virtualScrollerRef: virtualScrollerRef
1396
1566
  }, props, {
1397
1567
  appendTo: appendTo,
1398
- onClick: onPanelClick,
1399
- onOptionClick: onOptionClick,
1568
+ cx: cx,
1400
1569
  filterValue: filterState,
1401
- hasFilter: hasFilter,
1402
- onFilterClearIconClick: onFilterClearIconClick,
1403
- resetFilter: resetFilter,
1404
- onFilterInputKeyDown: onFilterInputKeyDown,
1405
- onFilterInputChange: onFilterInputChange,
1406
- getOptionLabel: getOptionLabel,
1407
- getOptionRenderKey: getOptionRenderKey,
1408
- isOptionDisabled: isOptionDisabled,
1570
+ focusedOptionIndex: focusedOptionIndex,
1409
1571
  getOptionGroupChildren: getOptionGroupChildren,
1410
1572
  getOptionGroupLabel: getOptionGroupLabel,
1411
1573
  getOptionGroupRenderKey: getOptionGroupRenderKey,
1412
- isSelected: isSelected,
1574
+ getOptionLabel: getOptionLabel,
1575
+ getOptionRenderKey: getOptionRenderKey,
1413
1576
  getSelectedOptionIndex: getSelectedOptionIndex,
1577
+ hasFilter: hasFilter,
1414
1578
  "in": overlayVisibleState,
1579
+ isOptionDisabled: isOptionDisabled,
1580
+ isSelected: isSelected,
1581
+ onClick: onPanelClick,
1415
1582
  onEnter: onOverlayEnter,
1416
1583
  onEntered: onOverlayEntered,
1417
1584
  onExit: onOverlayExit,
1418
1585
  onExited: onOverlayExited,
1586
+ onFilterClearIconClick: onFilterClearIconClick,
1587
+ onFilterInputChange: onFilterInputChange,
1588
+ onFilterInputKeyDown: onFilterInputKeyDown,
1589
+ onOptionClick: onOptionClick,
1419
1590
  ptm: ptm,
1420
- cx: cx,
1591
+ resetFilter: resetFilter,
1592
+ setFocusedOptionIndex: setFocusedOptionIndex,
1593
+ firstFocusableElement: /*#__PURE__*/React__namespace.createElement("span", firstHiddenFocusableElementProps),
1594
+ lastFocusableElement: /*#__PURE__*/React__namespace.createElement("span", lastHiddenFocusableElementProps),
1421
1595
  sx: sx
1422
1596
  }))), hasTooltip && /*#__PURE__*/React__namespace.createElement(tooltip.Tooltip, _extends({
1423
1597
  target: elementRef,
1424
- content: props.tooltip
1425
- }, props.tooltipOptions, {
1598
+ content: props.tooltip,
1426
1599
  pt: ptm('tooltip')
1427
- })));
1600
+ }, props.tooltipOptions)));
1428
1601
  }));
1429
1602
  Dropdown.displayName = 'Dropdown';
1430
1603