primereact 10.5.3 → 10.6.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 (502) hide show
  1. package/accordion/accordion.cjs.js +1 -0
  2. package/accordion/accordion.cjs.min.js +1 -1
  3. package/accordion/accordion.esm.js +1 -0
  4. package/accordion/accordion.esm.min.js +1 -1
  5. package/accordion/accordion.js +1 -0
  6. package/accordion/accordion.min.js +1 -1
  7. package/api/api.cjs.js +41 -9
  8. package/api/api.cjs.min.js +1 -1
  9. package/api/api.d.ts +1 -0
  10. package/api/api.esm.js +41 -9
  11. package/api/api.esm.min.js +1 -1
  12. package/api/api.js +41 -9
  13. package/api/api.min.js +1 -1
  14. package/autocomplete/autocomplete.cjs.js +51 -54
  15. package/autocomplete/autocomplete.cjs.min.js +1 -1
  16. package/autocomplete/autocomplete.esm.js +51 -54
  17. package/autocomplete/autocomplete.esm.min.js +1 -1
  18. package/autocomplete/autocomplete.js +51 -54
  19. package/autocomplete/autocomplete.min.js +1 -1
  20. package/buttongroup/buttongroup.cjs.js +66 -0
  21. package/buttongroup/buttongroup.cjs.min.js +1 -0
  22. package/buttongroup/buttongroup.d.ts +86 -0
  23. package/buttongroup/buttongroup.esm.js +42 -0
  24. package/buttongroup/buttongroup.esm.min.js +1 -0
  25. package/buttongroup/buttongroup.js +65 -0
  26. package/buttongroup/buttongroup.min.js +1 -0
  27. package/buttongroup/package.json +7 -0
  28. package/calendar/calendar.cjs.js +217 -162
  29. package/calendar/calendar.cjs.min.js +1 -1
  30. package/calendar/calendar.esm.js +217 -162
  31. package/calendar/calendar.esm.min.js +1 -1
  32. package/calendar/calendar.js +217 -162
  33. package/calendar/calendar.min.js +1 -1
  34. package/carousel/carousel.cjs.js +8 -8
  35. package/carousel/carousel.esm.js +8 -8
  36. package/carousel/carousel.js +8 -8
  37. package/cascadeselect/cascadeselect.cjs.js +6 -8
  38. package/cascadeselect/cascadeselect.esm.js +6 -8
  39. package/cascadeselect/cascadeselect.js +6 -8
  40. package/checkbox/checkbox.cjs.js +5 -6
  41. package/checkbox/checkbox.cjs.min.js +1 -1
  42. package/checkbox/checkbox.d.ts +1 -1
  43. package/checkbox/checkbox.esm.js +5 -6
  44. package/checkbox/checkbox.esm.min.js +1 -1
  45. package/checkbox/checkbox.js +5 -6
  46. package/checkbox/checkbox.min.js +1 -1
  47. package/chip/chip.cjs.js +1 -1
  48. package/chip/chip.cjs.min.js +1 -1
  49. package/chip/chip.esm.js +1 -1
  50. package/chip/chip.esm.min.js +1 -1
  51. package/chip/chip.js +1 -1
  52. package/chip/chip.min.js +1 -1
  53. package/chips/chips.cjs.js +8 -6
  54. package/chips/chips.cjs.min.js +1 -1
  55. package/chips/chips.esm.js +8 -6
  56. package/chips/chips.esm.min.js +1 -1
  57. package/chips/chips.js +8 -6
  58. package/chips/chips.min.js +1 -1
  59. package/colorpicker/colorpicker.cjs.js +8 -6
  60. package/colorpicker/colorpicker.cjs.min.js +1 -1
  61. package/colorpicker/colorpicker.esm.js +8 -6
  62. package/colorpicker/colorpicker.esm.min.js +1 -1
  63. package/colorpicker/colorpicker.js +8 -6
  64. package/colorpicker/colorpicker.min.js +1 -1
  65. package/column/column.d.ts +8 -52
  66. package/componentbase/componentbase.cjs.js +23 -11
  67. package/componentbase/componentbase.cjs.min.js +1 -1
  68. package/componentbase/componentbase.esm.js +23 -11
  69. package/componentbase/componentbase.esm.min.js +1 -1
  70. package/componentbase/componentbase.js +23 -11
  71. package/componentbase/componentbase.min.js +1 -1
  72. package/confirmpopup/confirmpopup.cjs.js +1 -1
  73. package/confirmpopup/confirmpopup.esm.js +1 -1
  74. package/confirmpopup/confirmpopup.js +1 -1
  75. package/contextmenu/contextmenu.cjs.js +8 -5
  76. package/contextmenu/contextmenu.cjs.min.js +1 -1
  77. package/contextmenu/contextmenu.esm.js +8 -5
  78. package/contextmenu/contextmenu.esm.min.js +1 -1
  79. package/contextmenu/contextmenu.js +8 -5
  80. package/contextmenu/contextmenu.min.js +1 -1
  81. package/core/core.js +969 -522
  82. package/core/core.min.js +10 -10
  83. package/csstransition/csstransition.cjs.js +17 -18
  84. package/csstransition/csstransition.esm.js +17 -18
  85. package/csstransition/csstransition.js +17 -18
  86. package/datascroller/datascroller.cjs.js +18 -20
  87. package/datascroller/datascroller.cjs.min.js +1 -1
  88. package/datascroller/datascroller.esm.js +18 -20
  89. package/datascroller/datascroller.esm.min.js +1 -1
  90. package/datascroller/datascroller.js +18 -20
  91. package/datascroller/datascroller.min.js +1 -1
  92. package/datatable/datatable.cjs.js +645 -376
  93. package/datatable/datatable.cjs.min.js +1 -1
  94. package/datatable/datatable.d.ts +5 -5
  95. package/datatable/datatable.esm.js +648 -379
  96. package/datatable/datatable.esm.min.js +1 -1
  97. package/datatable/datatable.js +646 -377
  98. package/datatable/datatable.min.js +1 -1
  99. package/dataview/dataview.cjs.js +1 -1
  100. package/dataview/dataview.cjs.min.js +1 -1
  101. package/dataview/dataview.esm.js +1 -1
  102. package/dataview/dataview.esm.min.js +1 -1
  103. package/dataview/dataview.js +1 -1
  104. package/dataview/dataview.min.js +1 -1
  105. package/deferredcontent/deferredcontent.cjs.js +3 -4
  106. package/deferredcontent/deferredcontent.esm.js +3 -4
  107. package/deferredcontent/deferredcontent.js +3 -4
  108. package/dialog/dialog.cjs.js +22 -17
  109. package/dialog/dialog.esm.js +22 -17
  110. package/dialog/dialog.js +22 -17
  111. package/dock/dock.cjs.js +13 -4
  112. package/dock/dock.cjs.min.js +1 -1
  113. package/dock/dock.esm.js +13 -4
  114. package/dock/dock.esm.min.js +1 -1
  115. package/dock/dock.js +13 -4
  116. package/dock/dock.min.js +1 -1
  117. package/dropdown/dropdown.cjs.js +66 -60
  118. package/dropdown/dropdown.cjs.min.js +1 -1
  119. package/dropdown/dropdown.d.ts +6 -1
  120. package/dropdown/dropdown.esm.js +66 -60
  121. package/dropdown/dropdown.esm.min.js +1 -1
  122. package/dropdown/dropdown.js +66 -60
  123. package/dropdown/dropdown.min.js +1 -1
  124. package/editor/editor.cjs.js +74 -75
  125. package/editor/editor.esm.js +74 -75
  126. package/editor/editor.js +74 -75
  127. package/fieldset/fieldset.cjs.js +1 -1
  128. package/fieldset/fieldset.cjs.min.js +1 -1
  129. package/fieldset/fieldset.esm.js +1 -1
  130. package/fieldset/fieldset.esm.min.js +1 -1
  131. package/fieldset/fieldset.js +1 -1
  132. package/fieldset/fieldset.min.js +1 -1
  133. package/fileupload/fileupload.cjs.js +21 -11
  134. package/fileupload/fileupload.cjs.min.js +1 -1
  135. package/fileupload/fileupload.esm.js +21 -11
  136. package/fileupload/fileupload.esm.min.js +1 -1
  137. package/fileupload/fileupload.js +21 -11
  138. package/fileupload/fileupload.min.js +1 -1
  139. package/floatlabel/floatlabel.cjs.js +67 -0
  140. package/floatlabel/floatlabel.cjs.min.js +1 -0
  141. package/floatlabel/floatlabel.d.ts +81 -0
  142. package/floatlabel/floatlabel.esm.js +43 -0
  143. package/floatlabel/floatlabel.esm.min.js +1 -0
  144. package/floatlabel/floatlabel.js +66 -0
  145. package/floatlabel/floatlabel.min.js +1 -0
  146. package/floatlabel/package.json +7 -0
  147. package/focustrap/focustrap.cjs.js +1 -1
  148. package/focustrap/focustrap.esm.js +1 -1
  149. package/focustrap/focustrap.js +1 -1
  150. package/galleria/galleria.cjs.js +4 -3
  151. package/galleria/galleria.cjs.min.js +1 -1
  152. package/galleria/galleria.esm.js +4 -3
  153. package/galleria/galleria.esm.min.js +1 -1
  154. package/galleria/galleria.js +4 -3
  155. package/galleria/galleria.min.js +1 -1
  156. package/hooks/hooks.cjs.js +32 -11
  157. package/hooks/hooks.esm.js +32 -11
  158. package/hooks/hooks.js +32 -11
  159. package/iconfield/iconfield.cjs.js +121 -0
  160. package/iconfield/iconfield.cjs.min.js +1 -0
  161. package/iconfield/iconfield.d.ts +95 -0
  162. package/iconfield/iconfield.esm.js +113 -0
  163. package/iconfield/iconfield.esm.min.js +1 -0
  164. package/iconfield/iconfield.js +120 -0
  165. package/iconfield/iconfield.min.js +1 -0
  166. package/image/image.cjs.js +7 -3
  167. package/image/image.esm.js +7 -3
  168. package/image/image.js +7 -3
  169. package/inplace/inplace.cjs.js +1 -1
  170. package/inplace/inplace.cjs.min.js +1 -1
  171. package/inplace/inplace.esm.js +1 -1
  172. package/inplace/inplace.esm.min.js +1 -1
  173. package/inplace/inplace.js +1 -1
  174. package/inplace/inplace.min.js +1 -1
  175. package/inputicon/inputicon.cjs.js +107 -0
  176. package/inputicon/inputicon.cjs.min.js +1 -0
  177. package/inputicon/inputicon.d.ts +78 -0
  178. package/inputicon/inputicon.esm.js +99 -0
  179. package/inputicon/inputicon.esm.min.js +1 -0
  180. package/inputicon/inputicon.js +106 -0
  181. package/inputicon/inputicon.min.js +1 -0
  182. package/inputmask/inputmask.cjs.js +56 -36
  183. package/inputmask/inputmask.esm.js +56 -36
  184. package/inputmask/inputmask.js +56 -36
  185. package/inputnumber/inputnumber.cjs.js +27 -17
  186. package/inputnumber/inputnumber.cjs.min.js +1 -1
  187. package/inputnumber/inputnumber.esm.js +27 -17
  188. package/inputnumber/inputnumber.esm.min.js +1 -1
  189. package/inputnumber/inputnumber.js +27 -17
  190. package/inputnumber/inputnumber.min.js +1 -1
  191. package/inputswitch/inputswitch.cjs.js +2 -2
  192. package/inputswitch/inputswitch.cjs.min.js +1 -1
  193. package/inputswitch/inputswitch.esm.js +2 -2
  194. package/inputswitch/inputswitch.esm.min.js +1 -1
  195. package/inputswitch/inputswitch.js +2 -2
  196. package/inputswitch/inputswitch.min.js +1 -1
  197. package/keyfilter/keyfilter.cjs.js +2 -2
  198. package/keyfilter/keyfilter.esm.js +2 -2
  199. package/keyfilter/keyfilter.js +2 -2
  200. package/knob/knob.cjs.js +14 -2
  201. package/knob/knob.esm.js +14 -2
  202. package/knob/knob.js +14 -2
  203. package/listbox/listbox.cjs.js +189 -67
  204. package/listbox/listbox.cjs.min.js +1 -1
  205. package/listbox/listbox.d.ts +17 -12
  206. package/listbox/listbox.esm.js +189 -67
  207. package/listbox/listbox.esm.min.js +1 -1
  208. package/listbox/listbox.js +189 -67
  209. package/listbox/listbox.min.js +1 -1
  210. package/megamenu/megamenu.cjs.js +94 -96
  211. package/megamenu/megamenu.cjs.min.js +1 -1
  212. package/megamenu/megamenu.esm.js +94 -96
  213. package/megamenu/megamenu.esm.min.js +1 -1
  214. package/megamenu/megamenu.js +94 -96
  215. package/megamenu/megamenu.min.js +1 -1
  216. package/mention/mention.cjs.js +4 -6
  217. package/mention/mention.esm.js +4 -6
  218. package/mention/mention.js +4 -6
  219. package/menu/menu.cjs.js +5 -2
  220. package/menu/menu.cjs.min.js +1 -1
  221. package/menu/menu.esm.js +5 -2
  222. package/menu/menu.esm.min.js +1 -1
  223. package/menu/menu.js +5 -2
  224. package/menu/menu.min.js +1 -1
  225. package/menubar/menubar.cjs.js +24 -23
  226. package/menubar/menubar.cjs.min.js +1 -1
  227. package/menubar/menubar.esm.js +24 -23
  228. package/menubar/menubar.esm.min.js +1 -1
  229. package/menubar/menubar.js +24 -23
  230. package/menubar/menubar.min.js +1 -1
  231. package/metergroup/metergroup.cjs.js +4 -5
  232. package/metergroup/metergroup.esm.js +4 -5
  233. package/metergroup/metergroup.js +4 -5
  234. package/multiselect/multiselect.cjs.js +203 -169
  235. package/multiselect/multiselect.cjs.min.js +1 -1
  236. package/multiselect/multiselect.d.ts +6 -1
  237. package/multiselect/multiselect.esm.js +203 -169
  238. package/multiselect/multiselect.esm.min.js +1 -1
  239. package/multiselect/multiselect.js +203 -169
  240. package/multiselect/multiselect.min.js +1 -1
  241. package/multistatecheckbox/multistatecheckbox.cjs.js +227 -28
  242. package/multistatecheckbox/multistatecheckbox.cjs.min.js +1 -1
  243. package/multistatecheckbox/multistatecheckbox.esm.js +228 -29
  244. package/multistatecheckbox/multistatecheckbox.esm.min.js +1 -1
  245. package/multistatecheckbox/multistatecheckbox.js +228 -30
  246. package/multistatecheckbox/multistatecheckbox.min.js +1 -1
  247. package/orderlist/orderlist.cjs.js +75 -50
  248. package/orderlist/orderlist.cjs.min.js +1 -1
  249. package/orderlist/orderlist.d.ts +7 -2
  250. package/orderlist/orderlist.esm.js +75 -50
  251. package/orderlist/orderlist.esm.min.js +1 -1
  252. package/orderlist/orderlist.js +75 -50
  253. package/orderlist/orderlist.min.js +1 -1
  254. package/organizationchart/organizationchart.cjs.js +7 -3
  255. package/organizationchart/organizationchart.esm.js +7 -3
  256. package/organizationchart/organizationchart.js +7 -3
  257. package/overlaypanel/overlaypanel.cjs.js +2 -2
  258. package/overlaypanel/overlaypanel.esm.js +2 -2
  259. package/overlaypanel/overlaypanel.js +2 -2
  260. package/package.json +1 -1
  261. package/paginator/paginator.cjs.js +19 -20
  262. package/paginator/paginator.cjs.min.js +1 -1
  263. package/paginator/paginator.esm.js +19 -20
  264. package/paginator/paginator.esm.min.js +1 -1
  265. package/paginator/paginator.js +19 -20
  266. package/paginator/paginator.min.js +1 -1
  267. package/panelmenu/panelmenu.cjs.js +18 -9
  268. package/panelmenu/panelmenu.esm.js +18 -9
  269. package/panelmenu/panelmenu.js +18 -9
  270. package/passthrough/tailwind/index.cjs.js +4 -2
  271. package/passthrough/tailwind/index.esm.js +4 -2
  272. package/passthrough/tailwind/index.js +4 -2
  273. package/password/password.cjs.js +3 -5
  274. package/password/password.esm.js +3 -5
  275. package/password/password.js +3 -5
  276. package/picklist/picklist.cjs.js +40 -11
  277. package/picklist/picklist.cjs.min.js +1 -1
  278. package/picklist/picklist.d.ts +7 -2
  279. package/picklist/picklist.esm.js +40 -11
  280. package/picklist/picklist.esm.min.js +1 -1
  281. package/picklist/picklist.js +40 -11
  282. package/picklist/picklist.min.js +1 -1
  283. package/primereact.all.cjs.js +3576 -2762
  284. package/primereact.all.cjs.min.js +1 -1
  285. package/primereact.all.esm.js +3576 -2762
  286. package/primereact.all.esm.min.js +1 -1
  287. package/primereact.all.js +3576 -2762
  288. package/primereact.all.min.js +1 -1
  289. package/progressbar/progressbar.cjs.js +6 -1
  290. package/progressbar/progressbar.esm.js +6 -1
  291. package/progressbar/progressbar.js +6 -1
  292. package/radiobutton/radiobutton.cjs.js +10 -12
  293. package/radiobutton/radiobutton.cjs.min.js +1 -1
  294. package/radiobutton/radiobutton.esm.js +10 -12
  295. package/radiobutton/radiobutton.esm.min.js +1 -1
  296. package/radiobutton/radiobutton.js +10 -12
  297. package/radiobutton/radiobutton.min.js +1 -1
  298. package/rating/rating.cjs.js +4 -4
  299. package/rating/rating.cjs.min.js +1 -1
  300. package/rating/rating.esm.js +4 -4
  301. package/rating/rating.esm.min.js +1 -1
  302. package/rating/rating.js +4 -4
  303. package/rating/rating.min.js +1 -1
  304. package/resources/themes/arya-blue/theme.css +378 -63
  305. package/resources/themes/arya-green/theme.css +378 -63
  306. package/resources/themes/arya-orange/theme.css +378 -63
  307. package/resources/themes/bootstrap4-dark-blue/theme.css +388 -73
  308. package/resources/themes/bootstrap4-dark-purple/theme.css +966 -188
  309. package/resources/themes/bootstrap4-light-blue/theme.css +388 -73
  310. package/resources/themes/bootstrap4-light-purple/theme.css +966 -188
  311. package/resources/themes/fluent-light/theme.css +372 -63
  312. package/resources/themes/lara-dark-amber/theme.css +396 -151
  313. package/resources/themes/lara-dark-blue/theme.css +396 -151
  314. package/resources/themes/lara-dark-cyan/theme.css +396 -151
  315. package/resources/themes/lara-dark-green/theme.css +396 -151
  316. package/resources/themes/lara-dark-indigo/theme.css +396 -151
  317. package/resources/themes/lara-dark-pink/theme.css +396 -151
  318. package/resources/themes/lara-dark-teal/theme.css +396 -151
  319. package/resources/themes/lara-light-amber/theme.css +392 -151
  320. package/resources/themes/lara-light-blue/theme.css +392 -151
  321. package/resources/themes/lara-light-cyan/theme.css +392 -151
  322. package/resources/themes/lara-light-green/theme.css +392 -151
  323. package/resources/themes/lara-light-indigo/theme.css +392 -151
  324. package/resources/themes/lara-light-pink/theme.css +392 -151
  325. package/resources/themes/lara-light-teal/theme.css +392 -151
  326. package/resources/themes/luna-amber/theme.css +378 -63
  327. package/resources/themes/luna-blue/theme.css +378 -63
  328. package/resources/themes/luna-green/theme.css +378 -63
  329. package/resources/themes/luna-pink/theme.css +378 -63
  330. package/resources/themes/md-dark-deeppurple/theme.css +323 -202
  331. package/resources/themes/md-dark-indigo/theme.css +444 -189
  332. package/resources/themes/md-light-deeppurple/theme.css +323 -202
  333. package/resources/themes/md-light-indigo/theme.css +444 -202
  334. package/resources/themes/mdc-dark-deeppurple/theme.css +323 -202
  335. package/resources/themes/mdc-dark-indigo/theme.css +444 -202
  336. package/resources/themes/mdc-light-deeppurple/theme.css +323 -202
  337. package/resources/themes/mdc-light-indigo/theme.css +444 -202
  338. package/resources/themes/mira/theme.css +378 -63
  339. package/resources/themes/nano/theme.css +378 -63
  340. package/resources/themes/nova/theme.css +378 -63
  341. package/resources/themes/nova-accent/theme.css +378 -63
  342. package/resources/themes/nova-alt/theme.css +378 -63
  343. package/resources/themes/rhea/theme.css +378 -63
  344. package/resources/themes/saga-blue/theme.css +378 -63
  345. package/resources/themes/saga-green/theme.css +378 -63
  346. package/resources/themes/saga-orange/theme.css +378 -63
  347. package/resources/themes/soho-dark/theme.css +388 -73
  348. package/resources/themes/soho-light/theme.css +388 -73
  349. package/resources/themes/tailwind-light/theme.css +378 -63
  350. package/resources/themes/vela-blue/theme.css +378 -63
  351. package/resources/themes/vela-green/theme.css +378 -63
  352. package/resources/themes/vela-orange/theme.css +378 -63
  353. package/resources/themes/viva-dark/theme.css +389 -74
  354. package/resources/themes/viva-light/theme.css +389 -74
  355. package/ripple/ripple.cjs.js +3 -1
  356. package/ripple/ripple.esm.js +3 -1
  357. package/ripple/ripple.js +3 -1
  358. package/scrollpanel/scrollpanel.cjs.js +2 -2
  359. package/scrollpanel/scrollpanel.esm.js +2 -2
  360. package/scrollpanel/scrollpanel.js +2 -2
  361. package/scrolltop/scrolltop.cjs.js +6 -2
  362. package/scrolltop/scrolltop.esm.js +6 -2
  363. package/scrolltop/scrolltop.js +6 -2
  364. package/selectbutton/selectbutton.cjs.js +20 -11
  365. package/selectbutton/selectbutton.cjs.min.js +1 -1
  366. package/selectbutton/selectbutton.esm.js +20 -11
  367. package/selectbutton/selectbutton.esm.min.js +1 -1
  368. package/selectbutton/selectbutton.js +20 -11
  369. package/selectbutton/selectbutton.min.js +1 -1
  370. package/sidebar/sidebar.cjs.js +1 -1
  371. package/sidebar/sidebar.esm.js +1 -1
  372. package/sidebar/sidebar.js +1 -1
  373. package/slidemenu/slidemenu.cjs.js +1 -1
  374. package/slidemenu/slidemenu.esm.js +1 -1
  375. package/slidemenu/slidemenu.js +1 -1
  376. package/slider/slider.cjs.js +37 -10
  377. package/slider/slider.cjs.min.js +1 -1
  378. package/slider/slider.esm.js +37 -10
  379. package/slider/slider.esm.min.js +1 -1
  380. package/slider/slider.js +37 -10
  381. package/slider/slider.min.js +1 -1
  382. package/speeddial/speeddial.cjs.js +1 -0
  383. package/speeddial/speeddial.cjs.min.js +1 -1
  384. package/speeddial/speeddial.esm.js +1 -0
  385. package/speeddial/speeddial.esm.min.js +1 -1
  386. package/speeddial/speeddial.js +1 -0
  387. package/speeddial/speeddial.min.js +1 -1
  388. package/splitbutton/splitbutton.cjs.js +18 -17
  389. package/splitbutton/splitbutton.cjs.min.js +1 -1
  390. package/splitbutton/splitbutton.esm.js +18 -17
  391. package/splitbutton/splitbutton.esm.min.js +1 -1
  392. package/splitbutton/splitbutton.js +18 -17
  393. package/splitbutton/splitbutton.min.js +1 -1
  394. package/splitter/splitter.cjs.js +24 -7
  395. package/splitter/splitter.cjs.min.js +1 -1
  396. package/splitter/splitter.esm.js +24 -7
  397. package/splitter/splitter.esm.min.js +1 -1
  398. package/splitter/splitter.js +24 -7
  399. package/splitter/splitter.min.js +1 -1
  400. package/stepper/package.json +7 -0
  401. package/stepper/stepper.cjs.js +567 -0
  402. package/stepper/stepper.cjs.min.js +1 -0
  403. package/stepper/stepper.d.ts +137 -0
  404. package/stepper/stepper.esm.js +541 -0
  405. package/stepper/stepper.esm.min.js +1 -0
  406. package/stepper/stepper.js +565 -0
  407. package/stepper/stepper.min.js +1 -0
  408. package/stepperpanel/package.json +7 -0
  409. package/stepperpanel/stepperpanel.cjs.js +56 -0
  410. package/stepperpanel/stepperpanel.cjs.min.js +1 -0
  411. package/stepperpanel/stepperpanel.d.ts +158 -0
  412. package/stepperpanel/stepperpanel.esm.js +32 -0
  413. package/stepperpanel/stepperpanel.esm.min.js +1 -0
  414. package/stepperpanel/stepperpanel.js +57 -0
  415. package/stepperpanel/stepperpanel.min.js +1 -0
  416. package/steps/steps.cjs.js +1 -0
  417. package/steps/steps.cjs.min.js +1 -1
  418. package/steps/steps.esm.js +1 -0
  419. package/steps/steps.esm.min.js +1 -1
  420. package/steps/steps.js +1 -0
  421. package/steps/steps.min.js +1 -1
  422. package/styleclass/styleclass.cjs.js +5 -1
  423. package/styleclass/styleclass.esm.js +5 -1
  424. package/styleclass/styleclass.js +5 -1
  425. package/tabmenu/tabmenu.cjs.js +1 -0
  426. package/tabmenu/tabmenu.cjs.min.js +1 -1
  427. package/tabmenu/tabmenu.esm.js +1 -0
  428. package/tabmenu/tabmenu.esm.min.js +1 -1
  429. package/tabmenu/tabmenu.js +1 -0
  430. package/tabmenu/tabmenu.min.js +1 -1
  431. package/tabview/tabview.cjs.js +23 -18
  432. package/tabview/tabview.cjs.min.js +1 -1
  433. package/tabview/tabview.esm.js +23 -18
  434. package/tabview/tabview.esm.min.js +1 -1
  435. package/tabview/tabview.js +23 -18
  436. package/tabview/tabview.min.js +1 -1
  437. package/terminal/terminal.cjs.js +2 -1
  438. package/terminal/terminal.cjs.min.js +1 -1
  439. package/terminal/terminal.esm.js +2 -1
  440. package/terminal/terminal.esm.min.js +1 -1
  441. package/terminal/terminal.js +2 -1
  442. package/terminal/terminal.min.js +1 -1
  443. package/tieredmenu/tieredmenu.cjs.js +18 -17
  444. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  445. package/tieredmenu/tieredmenu.esm.js +18 -17
  446. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  447. package/tieredmenu/tieredmenu.js +18 -17
  448. package/tieredmenu/tieredmenu.min.js +1 -1
  449. package/toast/toast.cjs.js +1 -1
  450. package/toast/toast.esm.js +1 -1
  451. package/toast/toast.js +1 -1
  452. package/togglebutton/togglebutton.cjs.js +1 -1
  453. package/togglebutton/togglebutton.cjs.min.js +1 -1
  454. package/togglebutton/togglebutton.esm.js +1 -1
  455. package/togglebutton/togglebutton.esm.min.js +1 -1
  456. package/togglebutton/togglebutton.js +1 -1
  457. package/togglebutton/togglebutton.min.js +1 -1
  458. package/tooltip/tooltip.cjs.js +20 -17
  459. package/tooltip/tooltip.cjs.min.js +1 -1
  460. package/tooltip/tooltip.esm.js +20 -17
  461. package/tooltip/tooltip.esm.min.js +1 -1
  462. package/tooltip/tooltip.js +20 -17
  463. package/tooltip/tooltip.min.js +1 -1
  464. package/tree/tree.cjs.js +377 -148
  465. package/tree/tree.cjs.min.js +1 -1
  466. package/tree/tree.esm.js +378 -149
  467. package/tree/tree.esm.min.js +1 -1
  468. package/tree/tree.js +378 -150
  469. package/tree/tree.min.js +1 -1
  470. package/treeselect/treeselect.cjs.js +24 -17
  471. package/treeselect/treeselect.cjs.min.js +1 -1
  472. package/treeselect/treeselect.d.ts +2 -1
  473. package/treeselect/treeselect.esm.js +24 -17
  474. package/treeselect/treeselect.esm.min.js +1 -1
  475. package/treeselect/treeselect.js +24 -17
  476. package/treeselect/treeselect.min.js +1 -1
  477. package/treetable/treetable.cjs.js +492 -295
  478. package/treetable/treetable.cjs.min.js +1 -1
  479. package/treetable/treetable.d.ts +4 -4
  480. package/treetable/treetable.esm.js +494 -297
  481. package/treetable/treetable.esm.min.js +1 -1
  482. package/treetable/treetable.js +493 -296
  483. package/treetable/treetable.min.js +1 -1
  484. package/tristatecheckbox/tristatecheckbox.cjs.js +11 -5
  485. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  486. package/tristatecheckbox/tristatecheckbox.esm.js +11 -5
  487. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  488. package/tristatecheckbox/tristatecheckbox.js +11 -5
  489. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  490. package/utils/utils.cjs.js +262 -139
  491. package/utils/utils.cjs.min.js +1 -1
  492. package/utils/utils.esm.js +262 -139
  493. package/utils/utils.esm.min.js +1 -1
  494. package/utils/utils.js +262 -139
  495. package/utils/utils.min.js +1 -1
  496. package/virtualscroller/virtualscroller.cjs.js +46 -43
  497. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  498. package/virtualscroller/virtualscroller.esm.js +46 -43
  499. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  500. package/virtualscroller/virtualscroller.js +46 -43
  501. package/virtualscroller/virtualscroller.min.js +1 -1
  502. package/web-types.json +502 -33
@@ -141,7 +141,6 @@ function _slicedToArray(arr, i) {
141
141
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray$1(arr, i) || _nonIterableRest();
142
142
  }
143
143
 
144
- var _defaultProps;
145
144
  var classes = {
146
145
  itemGroup: 'p-listbox-item-group',
147
146
  emptyMessage: 'p-listbox-empty-message',
@@ -185,7 +184,7 @@ var inlineStyles = {
185
184
  }
186
185
  };
187
186
  var ListBoxBase = ComponentBase.extend({
188
- defaultProps: (_defaultProps = {
187
+ defaultProps: {
189
188
  __TYPE: 'ListBox',
190
189
  className: null,
191
190
  dataKey: null,
@@ -201,14 +200,33 @@ var ListBoxBase = ComponentBase.extend({
201
200
  filterPlaceholder: null,
202
201
  filterTemplate: null,
203
202
  filterValue: null,
204
- selectOnFocus: false,
203
+ focusOnHover: true,
205
204
  id: null,
206
205
  itemTemplate: null,
207
206
  invalid: false,
208
207
  listClassName: null,
209
208
  listStyle: null,
210
- metaKeySelection: false
211
- }, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defaultProps, "selectOnFocus", false), "autoOptionFocus", false), "multiple", false), "onChange", null), "onFilterValueChange", null), "optionDisabled", null), "optionGroupChildren", null), "optionGroupLabel", null), "optionGroupTemplate", null), "optionLabel", null), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defaultProps, "optionValue", null), "options", null), "style", null), "tabIndex", 0), "tooltip", null), "tooltipOptions", null), "value", null), "virtualScrollerOptions", null), "children", undefined)),
209
+ metaKeySelection: false,
210
+ selectOnFocus: false,
211
+ autoOptionFocus: false,
212
+ multiple: false,
213
+ onChange: null,
214
+ onFilterValueChange: null,
215
+ optionDisabled: null,
216
+ optionGroupChildren: null,
217
+ optionGroupLabel: null,
218
+ optionGroupTemplate: null,
219
+ optionLabel: null,
220
+ optionValue: null,
221
+ options: null,
222
+ style: null,
223
+ tabIndex: 0,
224
+ tooltip: null,
225
+ tooltipOptions: null,
226
+ value: null,
227
+ virtualScrollerOptions: null,
228
+ children: undefined
229
+ },
212
230
  css: {
213
231
  classes: classes,
214
232
  styles: styles,
@@ -338,6 +356,12 @@ var ListBoxItem = /*#__PURE__*/React.memo(function (props) {
338
356
  onFocus: onFocus,
339
357
  onBlur: onBlur,
340
358
  tabIndex: '-1',
359
+ onMouseDown: function onMouseDown(event) {
360
+ return props.onOptionMouseDown(event, props.index);
361
+ },
362
+ onMouseMove: function onMouseMove(event) {
363
+ return props.onOptionMouseMove(event, props.index);
364
+ },
341
365
  'aria-label': props.label,
342
366
  key: props.optionKey,
343
367
  role: 'option',
@@ -369,10 +393,18 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
369
393
  _React$useState4 = _slicedToArray(_React$useState3, 2),
370
394
  startRangeIndex = _React$useState4[0],
371
395
  setStartRangeIndex = _React$useState4[1];
372
- var _React$useState5 = React.useState(''),
396
+ var _React$useState5 = React.useState(false),
373
397
  _React$useState6 = _slicedToArray(_React$useState5, 2),
374
- filterValueState = _React$useState6[0],
375
- setFilterValueState = _React$useState6[1];
398
+ focused = _React$useState6[0],
399
+ setFocused = _React$useState6[1];
400
+ var _React$useState7 = React.useState(''),
401
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
402
+ filterValueState = _React$useState8[0],
403
+ setFilterValueState = _React$useState8[1];
404
+ var _React$useState9 = React.useState(''),
405
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
406
+ searchValue = _React$useState10[0],
407
+ setSearchValue = _React$useState10[1];
376
408
  var elementRef = React.useRef(null);
377
409
  var virtualScrollerRef = React.useRef(null);
378
410
  var id = React.useRef(null);
@@ -399,6 +431,14 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
399
431
  optionTouched.current = false;
400
432
  index !== -1 && setFocusedOptionIndex(index);
401
433
  };
434
+ var onOptionMouseDown = function onOptionMouseDown(event, index) {
435
+ changeFocusedOptionIndex(event, index);
436
+ };
437
+ var onOptionMouseMove = function onOptionMouseMove(event, index) {
438
+ if (props.focusOnHover && focused) {
439
+ changeFocusedOptionIndex(event, index);
440
+ }
441
+ };
402
442
  var onOptionTouchEnd = function onOptionTouchEnd() {
403
443
  if (props.disabled) {
404
444
  return;
@@ -437,7 +477,11 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
437
477
  if (metaSelection) {
438
478
  var metaKey = event.metaKey || event.ctrlKey;
439
479
  if (selected) {
440
- if (metaKey) value = removeOption(option);else value = [getOptionValue(option)];
480
+ if (metaKey) {
481
+ value = removeOption(option);
482
+ } else {
483
+ value = [getOptionValue(option)];
484
+ }
441
485
  valueChanged = true;
442
486
  } else {
443
487
  value = metaKey ? props.value || [] : [];
@@ -445,7 +489,11 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
445
489
  valueChanged = true;
446
490
  }
447
491
  } else {
448
- if (selected) value = removeOption(option);else value = [].concat(_toConsumableArray(props.value || []), [getOptionValue(option)]);
492
+ if (selected) {
493
+ value = removeOption(option);
494
+ } else {
495
+ value = [].concat(_toConsumableArray(props.value || []), [getOptionValue(option)]);
496
+ }
449
497
  valueChanged = true;
450
498
  }
451
499
  if (valueChanged) {
@@ -453,10 +501,10 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
453
501
  originalEvent: event,
454
502
  value: value,
455
503
  stopPropagation: function stopPropagation() {
456
- event.stopPropagation();
504
+ event === null || event === void 0 || event.stopPropagation();
457
505
  },
458
506
  preventDefault: function preventDefault() {
459
- event.preventDefault();
507
+ event === null || event === void 0 || event.preventDefault();
460
508
  },
461
509
  target: {
462
510
  name: props.name,
@@ -483,6 +531,43 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
483
531
  return isValidOption(option);
484
532
  });
485
533
  };
534
+ var findLastSelectedOptionIndex = function findLastSelectedOptionIndex() {
535
+ return hasSelectedOption() ? ObjectUtils.findLastIndex(visibleOptions, function (option) {
536
+ return isValidSelectedOption(option);
537
+ }) : -1;
538
+ };
539
+ var findSelectedOptionIndex = function findSelectedOptionIndex() {
540
+ if (hasSelectedOption()) {
541
+ if (props.multiple) {
542
+ var _loop = function _loop() {
543
+ var value = props.value[index];
544
+ var matchedOptionIndex = visibleOptions.findIndex(function (option) {
545
+ return isValidSelectedOption(option) && isEquals(value, getOptionValue(option));
546
+ });
547
+ if (matchedOptionIndex > -1) {
548
+ return {
549
+ v: matchedOptionIndex
550
+ };
551
+ }
552
+ },
553
+ _ret;
554
+ for (var index = props.value.length - 1; index >= 0; index--) {
555
+ _ret = _loop();
556
+ if (_ret) return _ret.v;
557
+ }
558
+ } else {
559
+ return visibleOptions.findIndex(function (option) {
560
+ return isValidSelectedOption(option);
561
+ });
562
+ }
563
+ }
564
+ return -1;
565
+ };
566
+ var findFirstSelectedOptionIndex = function findFirstSelectedOptionIndex() {
567
+ return hasSelectedOption() ? visibleOptions.findIndex(function (option) {
568
+ return isValidSelectedOption(option);
569
+ }) : -1;
570
+ };
486
571
  var findLastOptionIndex = function findLastOptionIndex() {
487
572
  return ObjectUtils.findLastIndex(visibleOptions, function (option) {
488
573
  return isValidOption(option);
@@ -506,7 +591,7 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
506
591
  var findNearestSelectedOptionIndex = function findNearestSelectedOptionIndex(index) {
507
592
  var firstCheckUp = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
508
593
  var matchedOptionIndex = -1;
509
- if (hasSelectedOption) {
594
+ if (hasSelectedOption()) {
510
595
  if (firstCheckUp) {
511
596
  matchedOptionIndex = findPrevSelectedOptionIndex(index);
512
597
  matchedOptionIndex = matchedOptionIndex === -1 ? findNextSelectedOptionIndex(index) : matchedOptionIndex;
@@ -522,7 +607,7 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
522
607
  return isValidOption(option) && ((_getOptionLabel = getOptionLabel(option)) === null || _getOptionLabel === void 0 ? void 0 : _getOptionLabel.toLocaleLowerCase(props.filterLocale).startsWith(searchValue.toLocaleLowerCase(props.filterLocale)));
523
608
  };
524
609
  var searchOptions = function searchOptions(event, _char) {
525
- searchValue = (searchValue || '') + _char;
610
+ setSearchValue((searchValue || '') + _char);
526
611
  var optionIndex = -1;
527
612
  if (ObjectUtils.isNotEmpty(searchValue)) {
528
613
  if (focusedOptionIndex !== -1) {
@@ -548,18 +633,18 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
548
633
  clearTimeout(searchTimeout.current);
549
634
  }
550
635
  searchTimeout.current = setTimeout(function () {
551
- searchValue = '';
636
+ setSearchValue('');
552
637
  searchTimeout.current = null;
553
638
  }, 500);
554
639
  };
555
640
  var findNextSelectedOptionIndex = function findNextSelectedOptionIndex(index) {
556
- var matchedOptionIndex = hasSelectedOption && index < visibleOptions.length - 1 ? visibleOptions.slice(index + 1).findIndex(function (option) {
641
+ var matchedOptionIndex = hasSelectedOption() && index < visibleOptions.length - 1 ? visibleOptions.slice(index + 1).findIndex(function (option) {
557
642
  return isValidSelectedOption(option);
558
643
  }) : -1;
559
644
  return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : -1;
560
645
  };
561
646
  var findPrevSelectedOptionIndex = function findPrevSelectedOptionIndex(index) {
562
- var matchedOptionIndex = hasSelectedOption && index > 0 ? ObjectUtils.findLastIndex(visibleOptions.slice(0, index), function (option) {
647
+ var matchedOptionIndex = hasSelectedOption() && index > 0 ? ObjectUtils.findLastIndex(visibleOptions.slice(0, index), function (option) {
563
648
  return isValidSelectedOption(option);
564
649
  }) : -1;
565
650
  return matchedOptionIndex > -1 ? matchedOptionIndex : -1;
@@ -584,6 +669,10 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
584
669
  var selectedIndex = findFirstSelectedOptionIndex();
585
670
  return selectedIndex < 0 ? findFirstOptionIndex() : selectedIndex;
586
671
  };
672
+ var findLastFocusedOptionIndex = function findLastFocusedOptionIndex() {
673
+ var selectedIndex = findLastSelectedOptionIndex();
674
+ return selectedIndex < 0 ? findLastOptionIndex() : selectedIndex;
675
+ };
587
676
  var changeFocusedOptionIndex = function changeFocusedOptionIndex(event, index) {
588
677
  if (focusedOptionIndex !== index) {
589
678
  setFocusedOptionIndex(index);
@@ -611,7 +700,11 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
611
700
  };
612
701
  var onEnterKey = function onEnterKey(event) {
613
702
  if (focusedOptionIndex !== -1) {
614
- if (props.multiple && event.shiftKey) onOptionSelectRange(event, focusedOptionIndex);else onOptionSelect(event, visibleOptions[focusedOptionIndex]);
703
+ if (props.multiple && event.shiftKey) {
704
+ onOptionSelectRange(event, focusedOptionIndex);
705
+ } else {
706
+ onOptionSelect(event, visibleOptions[focusedOptionIndex]);
707
+ }
615
708
  }
616
709
  event.preventDefault();
617
710
  };
@@ -661,7 +754,7 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
661
754
  scrollInView(visibleOptions.length - 1);
662
755
  event.preventDefault();
663
756
  };
664
- var onKeyDown = function onKeyDown(event) {
757
+ var onListKeyDown = function onListKeyDown(event) {
665
758
  var metaKey = event.metaKey || event.ctrlKey;
666
759
  switch (event.code) {
667
760
  case 'ArrowDown':
@@ -725,7 +818,7 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
725
818
  behavior: 'smooth'
726
819
  });
727
820
  } else if (props.virtualScrollerOptions) {
728
- virtualScrollerRef.current && virtualScrollerRef.current.scrollToIndex(index !== -1 ? index : props.focusedOptionIndex);
821
+ virtualScrollerRef.current && virtualScrollerRef.current.scrollToIndex(index !== -1 ? index : focusedOptionIndex);
729
822
  }
730
823
  }, 0);
731
824
  };
@@ -748,16 +841,24 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
748
841
  filter: ''
749
842
  });
750
843
  };
844
+ var autoUpdateModel = function autoUpdateModel() {
845
+ var isFocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : focused;
846
+ if (props.selectOnFocus && props.autoOptionFocus && !hasSelectedOption() && !props.multiple && isFocus) {
847
+ var currentFocusOptionIndex = findFirstFocusedOptionIndex();
848
+ onOptionSelect(null, visibleOptions[currentFocusOptionIndex]);
849
+ setFocusedOptionIndex(currentFocusOptionIndex);
850
+ }
851
+ };
751
852
  var updateModel = function updateModel(event, value) {
752
853
  if (props.onChange) {
753
854
  props.onChange({
754
855
  originalEvent: event,
755
856
  value: value,
756
857
  stopPropagation: function stopPropagation() {
757
- event.stopPropagation();
858
+ event === null || event === void 0 || event.stopPropagation();
758
859
  },
759
860
  preventDefault: function preventDefault() {
760
- event.preventDefault();
861
+ event === null || event === void 0 || event.preventDefault();
761
862
  },
762
863
  target: {
763
864
  name: props.name,
@@ -799,18 +900,23 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
799
900
  return ObjectUtils.equals(value, getOptionValue(item), key);
800
901
  });
801
902
  };
903
+ var isEquals = function isEquals(value1, value2) {
904
+ return ObjectUtils.equals(value1, value2, equalityKey());
905
+ };
802
906
  var isSelected = function isSelected(option) {
803
907
  var optionValue = getOptionValue(option);
804
- var key = equalityKey();
805
- return props.multiple && props.value ? props.value.some(function (val) {
806
- return ObjectUtils.equals(val, optionValue, key);
807
- }) : ObjectUtils.equals(props.value, optionValue, key);
908
+ if (props.multiple) {
909
+ return (props.value || []).some(function (value) {
910
+ return isEquals(value, optionValue);
911
+ });
912
+ }
913
+ return isEquals(props.value, optionValue);
808
914
  };
809
915
  var getOptionLabel = function getOptionLabel(option) {
810
- return props.optionLabel ? ObjectUtils.resolveFieldData(option, props.optionLabel) : option && option['label'] !== undefined ? option['label'] : option;
916
+ return props.optionLabel ? ObjectUtils.resolveFieldData(option, props.optionLabel) : option && option.label !== undefined ? option.label : option;
811
917
  };
812
918
  var getOptionValue = function getOptionValue(option) {
813
- return props.optionValue ? ObjectUtils.resolveFieldData(option, props.optionValue) : option && option['value'] !== undefined ? option['value'] : option;
919
+ return props.optionValue ? ObjectUtils.resolveFieldData(option, props.optionValue) : option && option.value !== undefined ? option.value : option;
814
920
  };
815
921
  var getOptionRenderKey = function getOptionRenderKey(option) {
816
922
  return props.dataKey ? ObjectUtils.resolveFieldData(option, props.dataKey) : getOptionLabel(option);
@@ -819,7 +925,7 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
819
925
  if (props.optionDisabled) {
820
926
  return ObjectUtils.isFunction(props.optionDisabled) ? props.optionDisabled(option) : ObjectUtils.resolveFieldData(option, props.optionDisabled);
821
927
  }
822
- return option && option['disabled'] !== undefined ? option['disabled'] : false;
928
+ return option && option.disabled !== undefined ? option.disabled : false;
823
929
  };
824
930
  var onFirstHiddenFocus = function onFirstHiddenFocus() {
825
931
  DomHandler.focus(listRef.current);
@@ -839,6 +945,17 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
839
945
  }
840
946
  lastHiddenFocusableElement.current.tabIndex = -1;
841
947
  };
948
+ var onListFocus = function onListFocus() {
949
+ setFocused(true);
950
+ setFocusedOptionIndex(focusedOptionIndex !== -1 ? focusedOptionIndex : props.autoOptionFocus ? findFirstFocusedOptionIndex() : findSelectedOptionIndex());
951
+ autoUpdateModel(true);
952
+ };
953
+ var onListBlur = function onListBlur(event) {
954
+ setFocused(false);
955
+ setFocusedOptionIndex(-1);
956
+ setStartRangeIndex(-1);
957
+ setSearchValue('');
958
+ };
842
959
  var getOptionGroupRenderKey = function getOptionGroupRenderKey(optionGroup) {
843
960
  return ObjectUtils.resolveFieldData(optionGroup, props.optionGroupLabel);
844
961
  };
@@ -872,12 +989,10 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
872
989
  _iterator.f();
873
990
  }
874
991
  return filteredGroups;
875
- } else {
876
- return FilterService.filter(props.options, searchFields, filterValue, props.filterMatchMode, props.filterLocale);
877
992
  }
878
- } else {
879
- return props.options;
993
+ return FilterService.filter(props.options, searchFields, filterValue, props.filterMatchMode, props.filterLocale);
880
994
  }
995
+ return props.options;
881
996
  };
882
997
  var scrollToSelectedIndex = function scrollToSelectedIndex() {
883
998
  if (virtualScrollerRef.current) {
@@ -938,6 +1053,8 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
938
1053
  style: style,
939
1054
  template: props.itemTemplate,
940
1055
  selected: isSelected(option),
1056
+ onOptionMouseDown: onOptionMouseDown,
1057
+ onOptionMouseMove: onOptionMouseMove,
941
1058
  onClick: onOptionSelect,
942
1059
  index: j,
943
1060
  focusedOptionIndex: focusedOptionIndex,
@@ -967,29 +1084,30 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
967
1084
  return /*#__PURE__*/React.createElement(React.Fragment, {
968
1085
  key: key
969
1086
  }, /*#__PURE__*/React.createElement("li", itemGroupProps, groupContent), groupChildrenContent);
970
- } else {
971
- var optionLabel = getOptionLabel(option);
972
- var optionKey = index + '_' + getOptionRenderKey(option);
973
- var disabled = isOptionDisabled(option);
974
- return /*#__PURE__*/React.createElement(ListBoxItem, {
975
- id: id.current + '_' + index,
976
- hostName: "ListBox",
977
- optionKey: optionKey,
978
- key: optionKey,
979
- label: optionLabel,
980
- index: index,
981
- focusedOptionIndex: focusedOptionIndex,
982
- option: option,
983
- style: style,
984
- template: props.itemTemplate,
985
- selected: isSelected(option),
986
- onClick: onOptionSelect,
987
- onTouchEnd: onOptionTouchEnd,
988
- disabled: disabled,
989
- ptCallbacks: ptCallbacks,
990
- metaData: metaData
991
- });
992
1087
  }
1088
+ var optionLabel = getOptionLabel(option);
1089
+ var optionKey = index + '_' + getOptionRenderKey(option);
1090
+ var disabled = isOptionDisabled(option);
1091
+ return /*#__PURE__*/React.createElement(ListBoxItem, {
1092
+ id: id.current + '_' + index,
1093
+ hostName: "ListBox",
1094
+ optionKey: optionKey,
1095
+ key: optionKey,
1096
+ label: optionLabel,
1097
+ index: index,
1098
+ onOptionMouseDown: onOptionMouseDown,
1099
+ onOptionMouseMove: onOptionMouseMove,
1100
+ focusedOptionIndex: focusedOptionIndex,
1101
+ option: option,
1102
+ style: style,
1103
+ template: props.itemTemplate,
1104
+ selected: isSelected(option),
1105
+ onClick: onOptionSelect,
1106
+ onTouchEnd: onOptionTouchEnd,
1107
+ disabled: disabled,
1108
+ ptCallbacks: ptCallbacks,
1109
+ metaData: metaData
1110
+ });
993
1111
  };
994
1112
  var createItems = function createItems() {
995
1113
  if (ObjectUtils.isNotEmpty(visibleOptions)) {
@@ -1029,7 +1147,10 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
1029
1147
  }),
1030
1148
  role: 'listbox',
1031
1149
  tabIndex: '-1',
1032
- 'aria-multiselectable': props.multiple
1150
+ 'aria-multiselectable': props.multiple,
1151
+ onFocus: onListFocus,
1152
+ onBlur: onListBlur,
1153
+ onKeyDown: onListKeyDown
1033
1154
  }, ariaProps), ptCallbacks.ptm('list'));
1034
1155
  return /*#__PURE__*/React.createElement("ul", listProps, options.children);
1035
1156
  }
@@ -1039,18 +1160,19 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
1039
1160
  }, virtualScrollerProps, {
1040
1161
  pt: ptCallbacks.ptm('virtualScroller')
1041
1162
  }));
1042
- } else {
1043
- var items = createItems();
1044
- var listProps = mergeProps(_objectSpread({
1045
- ref: listRef,
1046
- className: ptCallbacks.cx('list'),
1047
- role: 'listbox',
1048
- 'aria-multiselectable': props.multiple,
1049
- tabIndex: '-1',
1050
- onKeyDown: onKeyDown
1051
- }, ariaProps), ptCallbacks.ptm('list'));
1052
- return /*#__PURE__*/React.createElement("ul", listProps, items);
1053
1163
  }
1164
+ var items = createItems();
1165
+ var listProps = mergeProps(_objectSpread({
1166
+ ref: listRef,
1167
+ className: ptCallbacks.cx('list'),
1168
+ role: 'listbox',
1169
+ 'aria-multiselectable': props.multiple,
1170
+ tabIndex: '-1',
1171
+ onFocus: onListFocus,
1172
+ onBlur: onListBlur,
1173
+ onKeyDown: onListKeyDown
1174
+ }, ariaProps), ptCallbacks.ptm('list'));
1175
+ return /*#__PURE__*/React.createElement("ul", listProps, items);
1054
1176
  };
1055
1177
  var visibleOptions = getVisibleOptions();
1056
1178
  var hasTooltip = ObjectUtils.isNotEmpty(props.tooltip);
@@ -1 +1 @@
1
- import*as e from"react";import{PrimeReactContext as t,FilterService as n,localeOption as r}from"primereact/api";import{ComponentBase as o,useHandleStyle as l}from"primereact/componentbase";import{useMergeProps as i,useMountEffect as a}from"primereact/hooks";import{Tooltip as u}from"primereact/tooltip";import{classNames as c,IconUtils as s,ObjectUtils as p,DomHandler as f,UniqueComponentId as d}from"primereact/utils";import{VirtualScroller as m}from"primereact/virtualscroller";import{SearchIcon as b}from"primereact/icons/search";import{InputText as v}from"primereact/inputtext";import{Ripple as y}from"primereact/ripple";function h(){return h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},h.apply(this,arguments)}function g(e){return g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},g(e)}function x(e,t){if("object"!==g(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==g(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function O(e){var t=x(e,"string");return"symbol"===g(t)?t:String(t)}function E(e,t,n){return(t=O(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function I(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function S(e){if(Array.isArray(e))return I(e)}function w(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function D(e,t){if(e){if("string"==typeof e)return I(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?I(e,t):void 0}}function F(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function P(e){return S(e)||w(e)||D(e)||F()}function L(e){throw new TypeError('"'+e+'" is read-only')}function j(e){if(Array.isArray(e))return e}function N(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,l,i,a=[],u=!0,c=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=l.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw o}}return a}}function T(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function C(e,t){return j(e)||N(e,t)||D(e,t)||T()}var k,K={itemGroup:"p-listbox-item-group",emptyMessage:"p-listbox-empty-message",list:"p-listbox-list",wrapper:function(e){return c("p-listbox-list-wrapper",e.props.listClassName)},root:function(e){var t=e.props;return c("p-listbox p-component",{"p-disabled":t.disabled,"p-invalid":t.invalid},t.className)},item:function(e){var t=e.props;return c("p-listbox-item",{"p-highlight":t.selected,"p-focus":t.focusedOptionIndex===t.index,"p-disabled":t.disabled},t.option.className)},filterContainer:"p-listbox-filter-container",filterIcon:"p-listbox-filter-icon",filterInput:"p-listbox-filter",header:"p-listbox-header"},M={itemGroup:function(e){var t=e.scrollerOptions;return{height:t.props?t.props.itemSize:void 0}},list:function(e){return e.props.virtualScrollerOptions?e.options.style:void 0}},A=o.extend({defaultProps:(k={__TYPE:"ListBox",className:null,dataKey:null,disabled:null,emptyFilterMessage:null,emptyMessage:null,filter:!1,filterIcon:null,filterBy:null,filterInputProps:null,filterLocale:void 0,filterMatchMode:"contains",filterPlaceholder:null,filterTemplate:null,filterValue:null,selectOnFocus:!1,id:null,itemTemplate:null,invalid:!1,listClassName:null,listStyle:null,metaKeySelection:!1},E(E(E(E(E(E(E(E(E(E(k,"selectOnFocus",!1),"autoOptionFocus",!1),"multiple",!1),"onChange",null),"onFilterValueChange",null),"optionDisabled",null),"optionGroupChildren",null),"optionGroupLabel",null),"optionGroupTemplate",null),"optionLabel",null),E(E(E(E(E(E(E(E(E(k,"optionValue",null),"options",null),"style",null),"tabIndex",0),"tooltip",null),"tooltipOptions",null),"value",null),"virtualScrollerOptions",null),"children",void 0)),css:{classes:K,styles:"\n@layer primereact {\n .p-listbox-list-wrapper {\n overflow: auto;\n }\n \n .p-listbox-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n }\n \n .p-listbox-item {\n cursor: pointer;\n position: relative;\n overflow: hidden;\n outline: none;\n }\n \n .p-listbox-filter-container {\n position: relative;\n }\n \n .p-listbox-filter-icon {\n position: absolute;\n top: 50%;\n margin-top: -.5rem;\n }\n \n .p-listbox-filter {\n width: 100%;\n }\n}\n",inlineStyles:M}});function G(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function V(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?G(Object(n),!0).forEach((function(t){E(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):G(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var R=e.memo((function(t){var n=i(),r=t.ptCallbacks,o=r.ptm,l=r.cx,a=function(e,n){return o(e,V({hostName:t.hostName},n))},u={filter:function(e){return c(e)},reset:function(){return t.resetFilter()}},c=function(e){t.onFilter&&t.onFilter({originalEvent:e,value:e.target.value})},f=function(){var r=n({className:l("filterIcon")},a("filterIcon")),i=s.getJSXIcon(t.filterIcon||e.createElement(b,r),V({},r),{props:t}),f=n({className:l("header")},a("header")),d=n({className:l("filterContainer")},a("filterContainer")),m=e.createElement("div",d,e.createElement(v,h({type:"text",value:t.filter,onChange:c,className:l("filterInput"),disabled:t.disabled,placeholder:t.filterPlaceholder},t.filterInputProps,{pt:o("filterInput"),unstyled:t.unstyled,__parentMetadata:{parent:t.metaData}})),i);t.filterTemplate&&(m=p.getJSXElement(t.filterTemplate,{className:"p-listbox-filter-container",element:m,filterOptions:u,filterInputChange:c,filterIconClassName:"p-dropdown-filter-icon",props:t}));return e.createElement("div",f,m)}();return e.createElement(e.Fragment,null,f)}));R.displayName="ListBoxHeader";var _=e.memo((function(t){var n=C(e.useState(!1),2),r=n[0],o=n[1],l=i(),a=t.ptCallbacks,u=a.ptm,c=a.cx,s=t.template?p.getJSXElement(t.template,t.option):t.label,f=l({id:t.id,className:c("item",{props:t}),style:t.style,onClick:function(e){return t.onClick(e,t.option,t.index)},onTouchEnd:function(e){t.onTouchEnd&&t.onTouchEnd({originalEvent:e,option:t.option})},onFocus:function(e){o(!0)},onBlur:function(e){o(!1)},tabIndex:"-1","aria-label":t.label,key:t.optionKey,role:"option","aria-selected":t.selected,"aria-disabled":t.disabled,"data-p-disabled":t.disabled},u("item",{hostName:t.hostName,context:{selected:t.selected,disabled:t.disabled,focused:r,focusedOptionIndex:t.focusedOptionIndex}}));return e.createElement("li",f,s,e.createElement(y,null))}));function B(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function q(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?B(Object(n),!0).forEach((function(t){E(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):B(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function J(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=U(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,i=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){a=!0,l=e},f:function(){try{i||null==n.return||n.return()}finally{if(a)throw l}}}}function U(e,t){if(e){if("string"==typeof e)return X(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?X(e,t):void 0}}function X(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}_.displayName="ListBoxItem";var z=e.memo(e.forwardRef((function(o,c){var s=i(),b=e.useContext(t),v=A.getProps(o,b),y=C(e.useState(null),2),g=y[0],x=y[1],O=e.useRef(null),E=e.useRef(null),I=e.useRef(null),S=C(e.useState(-1),2),w=S[0],D=S[1],F=C(e.useState(""),2),j=F[0],N=F[1],T=e.useRef(null),k=e.useRef(null),K=e.useRef(null),M=e.useRef(null),G=e.useRef(!1),V=(v.onFilterValueChange?v.filterValue:j)||"",B=V&&V.trim().length>0,U={props:v,state:{filterValue:V}},X=A.setMetaData(U);l(A.css.styles,X.isUnstyled,{name:"listbox"});var z=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1;v.disabled||Ne(t)||(v.multiple?W(e.originalEvent,t):$(e.originalEvent,t),G.current=!1,-1!==n&&x(n))},H=function(){v.disabled||(G.current=!0)},$=function(e,t){var n=Fe(t),r=!1,o=null;!G.current&&v.metaKeySelection?n?(e.metaKey||e.ctrlKey)&&(o=null,r=!0):(o=Le(t),r=!0):(o=n?null:Le(t),r=!0);r&&Ee(e,o)},W=function(e,t){var n=Fe(t),r=!1,o=null;if(!G&&v.metaKeySelection){var l=e.metaKey||e.ctrlKey;n?(o=l?Ie(t):[Le(t)],r=!0):(o=[].concat(P(o=l&&v.value||[]),[Le(t)]),r=!0)}else o=n?Ie(t):[].concat(P(v.value||[]),[Le(t)]),r=!0;r&&v.onChange({originalEvent:e,value:o,stopPropagation:function(){e.stopPropagation()},preventDefault:function(){e.preventDefault()},target:{name:v.name,id:v.id,value:o}})},Y=function(){return p.isNotEmpty(v.value)},Q=function(e){return v.optionGroupLabel&&e.optionGroup&&e.group},Z=function(e){return p.isNotEmpty(e)&&!(Ne(e)||Q(e))},ee=function(e){return Z(e)&&Fe(e)},te=function(){return Ge.findIndex((function(e){return Z(e)}))},ne=function(e){var t=-1;return Y&&(t=arguments.length>1&&void 0!==arguments[1]&&arguments[1]?-1===(t=ie(e))?le(e):t:-1===(t=le(e))?ie(e):t),t>-1?t:e},re=function(e){var t;return Z(e)&&(null===(t=Pe(e))||void 0===t?void 0:t.toLocaleLowerCase(v.filterLocale).startsWith(searchValue.toLocaleLowerCase(v.filterLocale)))},oe=function(e,t){searchValue=(searchValue||"")+t;var n=-1;p.isNotEmpty(searchValue)&&(-1===(n=-1!==g?-1===(n=Ge.slice(g).findIndex((function(e){return re(e)})))?Ge.slice(0,g).findIndex((function(e){return re(e)})):n+g:Ge.findIndex((function(e){return re(e)})))&&-1===g&&(n=ue()),-1!==n&&ce(e,n)),O.current&&clearTimeout(O.current),O.current=setTimeout((function(){searchValue="",O.current=null}),500)},le=function(e){var t=Y&&e<Ge.length-1?Ge.slice(e+1).findIndex((function(e){return ee(e)})):-1;return t>-1?t+e+1:-1},ie=function(e){var t=Y&&e>0?p.findLastIndex(Ge.slice(0,e),(function(e){return ee(e)})):-1;return t>-1?t:-1},ae=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1;if(-1===t&&(t=ne(n,!0)),-1===n&&(n=ne(t)),-1!==t&&-1!==n){var r=Math.min(t,n),o=Math.max(t,n),l=Ge.slice(r,o+1).filter((function(e){return Z(e)})).map((function(e){return Le(e)}));Ee(e,l)}},ue=function(){var e=findFirstSelectedOptionIndex();return e<0?te():e},ce=function(e,t){g!==t&&(x(t),ge(),e&&v.selectOnFocus&&!v.multiple&&z(e,Ge[t]))},se=function(e){var t,n,r=-1!==g?(n=(t=g)<Ge.length-1?Ge.slice(t+1).findIndex((function(e){return Z(e)})):-1)>-1?n+t+1:t:ue();v.multiple&&e.shiftKey&&ae(e,w,r),ce(e,r),e.preventDefault()},pe=function(e){var t,n,r=-1!==g?(n=(t=g)>0?p.findLastIndex(Ge.slice(0,t),(function(e){return Z(e)})):-1)>-1?n:t:findLastFocusedOptionIndex();v.multiple&&e.shiftKey&&ae(e,r,w),ce(e,r),e.preventDefault()},fe=function(e){-1!==g&&(v.multiple&&e.shiftKey?ae(e,g):z(e,Ge[g])),e.preventDefault()},de=function(e){fe(e)},me=function(e){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1])e.currentTarget.setSelectionRange(0,0),x(-1);else{var t=e.metaKey||e.ctrlKey,n=te();v.multiple&&e.shiftKey&&t&&ae(e,n,w),ce(e,n)}e.preventDefault()},be=function(e){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1]){var t=e.currentTarget,n=t.value.length;t.setSelectionRange(n,n),L("focusedOptionIndex")}else{var r=e.metaKey||e.ctrlKey,o=p.findLastIndex(Ge,(function(e){return Z(e)}));v.multiple&&e.shiftKey&&r&&ae(e,w,o),ce(e,o)}e.preventDefault()},ve=function(e){ge(0),e.preventDefault()},ye=function(e){ge(Ge.length-1),e.preventDefault()},he=function(e){var t=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":se(e);break;case"ArrowUp":pe(e);break;case"Home":me(e);break;case"End":be(e);break;case"PageDown":ye(e);break;case"PageUp":ve(e);break;case"Enter":case"NumpadEnter":case"Space":de(e),e.preventDefault();break;case"Tab":break;case"ShiftLeft":case"ShiftRight":D(g);break;default:if(v.multiple&&"KeyA"===e.code&&t){var n=Ge.filter((function(e){return Z(e)})).map((function(e){return Le(e)}));Ee(e,n),e.preventDefault();break}!t&&p.isPrintableCharacter(e.key)&&(oe(e,e.key),e.preventDefault())}},ge=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;setTimeout((function(){var t=-1!==e?"".concat(K.current,"_").concat(e):-1!==g?"".concat(K.current,"_").concat(g):null,n=M.current.querySelector('li[id="'.concat(t,'"]'));n?n.scrollIntoView({block:"nearest",inline:"nearest",behavior:"smooth"}):v.virtualScrollerOptions&&k.current&&k.current.scrollToIndex(-1!==e?e:v.focusedOptionIndex)}),0)},xe=function(e){k.current&&k.current.scrollToIndex(0);var t=e.value;v.onFilterValueChange?v.onFilterValueChange({originalEvent:e.originalEvent,value:t}):N(t)},Oe=function(){N(""),v.onFilter&&v.onFilter({filter:""})},Ee=function(e,t){v.onChange&&v.onChange({originalEvent:e,value:t,stopPropagation:function(){e.stopPropagation()},preventDefault:function(){e.preventDefault()},target:{name:v.name,id:v.id,value:t}})},Ie=function(e){return v.value.filter((function(t){return!p.equals(t,Le(e),v.dataKey)}))},Se=function(){if(null!=v.value&&Ge){if(!v.optionGroupLabel)return De(v.value,Ge);for(var e=0;e<Ge.length;e++){var t=De(v.value,Ce(Ge[e]));if(-1!==t)return{group:e,option:t}}}return-1},we=function(){return v.optionValue?null:v.dataKey},De=function(e,t){var n=we();return t.findIndex((function(t){return p.equals(e,Le(t),n)}))},Fe=function(e){var t=Le(e),n=we();return v.multiple&&v.value?v.value.some((function(e){return p.equals(e,t,n)})):p.equals(v.value,t,n)},Pe=function(e){return v.optionLabel?p.resolveFieldData(e,v.optionLabel):e&&void 0!==e.label?e.label:e},Le=function(e){return v.optionValue?p.resolveFieldData(e,v.optionValue):e&&void 0!==e.value?e.value:e},je=function(e){return v.dataKey?p.resolveFieldData(e,v.dataKey):Pe(e)},Ne=function(e){return v.optionDisabled?p.isFunction(v.optionDisabled)?v.optionDisabled(e):p.resolveFieldData(e,v.optionDisabled):!(!e||void 0===e.disabled)&&e.disabled},Te=function(e){return p.resolveFieldData(e,v.optionGroupLabel)},Ce=function(e){return p.resolveFieldData(e,v.optionGroupChildren)},ke=function(){if(k.current){var e=Se();-1!==e&&setTimeout((function(){return k.current.scrollToIndex(e)}),0)}};e.useImperativeHandle(c,(function(){return{props:v,focus:function(){return f.focusFirstElement(T.current)},getElement:function(){return T.current},getVirtualScroller:function(){return k.current}}})),a((function(){ke(),K.current=d()}));var Ke=function(t,n){return Ce(t).map((function(t,r){var o=Pe(t),l=r+"_"+je(t),i=Ne(t);return e.createElement(_,{id:K.current+"_"+r,hostName:"ListBox",optionKey:l,key:l,label:o,option:t,style:n,template:v.itemTemplate,selected:Fe(t),onClick:z,index:r,focusedOptionIndex:g,onTouchEnd:H,disabled:i,ptCallbacks:X,metaData:U})}))},Me=function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o={height:r.props?r.props.itemSize:void 0};if(v.optionGroupLabel){var l=v.optionGroupTemplate?p.getJSXElement(v.optionGroupTemplate,t,n):p.resolveFieldData(t,v.optionGroupLabel),i=Ke(t,o),a=n+"_"+Te(t),u=s({className:X.cx("itemGroup"),style:X.sx("itemGroup",{scrollerOptions:r}),role:"group"},X.ptm("itemGroup"));return e.createElement(e.Fragment,{key:a},e.createElement("li",u,l),i)}var c=Pe(t),f=n+"_"+je(t),d=Ne(t);return e.createElement(_,{id:K.current+"_"+n,hostName:"ListBox",optionKey:f,key:f,label:c,index:n,focusedOptionIndex:g,option:t,style:o,template:v.itemTemplate,selected:Fe(t),onClick:z,onTouchEnd:H,disabled:d,ptCallbacks:X,metaData:U})},Ae=function(t,n){var o=s({className:X.cx("emptyMessage")},X.ptm("emptyMessage")),l=p.getJSXElement(t,v)||r(n?"emptyFilterMessage":"emptyMessage");return e.createElement("li",o,l)},Ge=function(){if(B){var e=V.trim().toLocaleLowerCase(v.filterLocale),t=v.filterBy?v.filterBy.split(","):[v.optionLabel||"label"];if(v.optionGroupLabel){var r,o=[],l=J(v.options);try{for(l.s();!(r=l.n()).done;){var i=r.value,a=n.filter(Ce(i),t,e,v.filterMatchMode,v.filterLocale);a&&a.length&&o.push(q(q({},i),{items:a}))}}catch(e){l.e(e)}finally{l.f()}return o}return n.filter(v.options,t,e,v.filterMatchMode,v.filterLocale)}return v.options}(),Ve=p.isNotEmpty(v.tooltip),Re=A.getOtherProps(v),_e=p.reduceKeys(Re,f.ARIA_PROPS),Be=function(){if(v.virtualScrollerOptions){var t=q(q({},v.virtualScrollerOptions),{items:Ge,onLazyLoad:function(e){return v.virtualScrollerOptions.onLazyLoad(q(q({},e),{filter:Ge}))},itemTemplate:function(e,t){return e&&Me(e,t.index,t)},contentTemplate:function(t){var n=s(q({ref:M,style:X.sx("list",{options:t}),className:X.cx("list",{options:t}),role:"listbox",tabIndex:"-1","aria-multiselectable":v.multiple},_e),X.ptm("list"));return e.createElement("ul",n,t.children)}});return e.createElement(m,h({ref:k},t,{pt:X.ptm("virtualScroller")}))}var n=p.isNotEmpty(Ge)?Ge.map(Me):B?Ae(v.emptyFilterMessage,!0):Ae(v.emptyMessage),r=s(q({ref:M,className:X.cx("list"),role:"listbox","aria-multiselectable":v.multiple,tabIndex:"-1",onKeyDown:he},_e),X.ptm("list"));return e.createElement("ul",r,n)}(),qe=v.filter?e.createElement(R,{hostName:"ListBox",filter:V,filterIcon:v.filterIcon,onFilter:xe,resetFilter:Oe,filterTemplate:v.filterTemplate,disabled:v.disabled,filterPlaceholder:v.filterPlaceholder,filterInputProps:v.filterInputProps,ptCallbacks:X,metaData:U}):null,Je=s({className:X.cx("wrapper"),style:v.listStyle},X.ptm("wrapper")),Ue=s({ref:T,id:v.id,className:X.cx("root"),style:v.style},A.getOtherProps(v),X.ptm("root")),Xe=s({ref:E,role:"presentation","aria-hidden":"true",className:"p-hidden-accessible p-hidden-focusable",tabIndex:v.disabled?-1:v.tabIndex,onFocus:function(){f.focus(M.current);var e=f.getFirstFocusableElement(T.current,':not([data-p-hidden-focusable="true"])');I.current.tabIndex=f.isElement(e)?void 0:-1,E.current.tabIndex=-1,ce(null,0)},"data-p-hidden-accessible":!0,"data-p-hidden-focusable":!0},X.ptm("hiddenFirstFocusableEl")),ze=s({ref:I,role:"presentation","aria-hidden":"true",className:"p-hidden-accessible p-hidden-focusable",tabIndex:v.disabled?-1:v.tabIndex,onFocus:function(e){if(e.relatedTarget===M.current){var t=f.getFirstFocusableElement(T.current,':not([data-p-hidden-focusable="true"])');f.focus(t),E.current.tabIndex=void 0}else f.focus(E.current);I.current.tabIndex=-1},"data-p-hidden-accessible":!0,"data-p-hidden-focusable":!0},X.ptm("hiddenLastFocusableEl"));return e.createElement(e.Fragment,null,e.createElement("div",Ue,e.createElement("span",Xe),qe,e.createElement("div",Je,Be),e.createElement("span",ze)),Ve&&e.createElement(u,h({target:T,content:v.tooltip,pt:X.ptm("tooltip")},v.tooltipOptions)))})));z.displayName="ListBox";export{z as ListBox};
1
+ import*as e from"react";import{PrimeReactContext as t,FilterService as n,localeOption as r}from"primereact/api";import{ComponentBase as o,useHandleStyle as i}from"primereact/componentbase";import{useMergeProps as l,useMountEffect as a}from"primereact/hooks";import{Tooltip as u}from"primereact/tooltip";import{classNames as c,IconUtils as s,ObjectUtils as p,DomHandler as f,UniqueComponentId as d}from"primereact/utils";import{VirtualScroller as m}from"primereact/virtualscroller";import{SearchIcon as v}from"primereact/icons/search";import{InputText as b}from"primereact/inputtext";import{Ripple as y}from"primereact/ripple";function h(){return h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},h.apply(this,arguments)}function g(e){return g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},g(e)}function x(e,t){if("object"!==g(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==g(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function O(e){var t=x(e,"string");return"symbol"===g(t)?t:String(t)}function E(e,t,n){return(t=O(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function I(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function S(e){if(Array.isArray(e))return I(e)}function w(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function D(e,t){if(e){if("string"==typeof e)return I(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?I(e,t):void 0}}function F(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function P(e){return S(e)||w(e)||D(e)||F()}function L(e){throw new TypeError('"'+e+'" is read-only')}function j(e){if(Array.isArray(e))return e}function N(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,l,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(c)throw o}}return a}}function T(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function C(e,t){return j(e)||N(e,t)||D(e,t)||T()}var M=o.extend({defaultProps:{__TYPE:"ListBox",className:null,dataKey:null,disabled:null,emptyFilterMessage:null,emptyMessage:null,filter:!1,filterIcon:null,filterBy:null,filterInputProps:null,filterLocale:void 0,filterMatchMode:"contains",filterPlaceholder:null,filterTemplate:null,filterValue:null,focusOnHover:!0,id:null,itemTemplate:null,invalid:!1,listClassName:null,listStyle:null,metaKeySelection:!1,selectOnFocus:!1,autoOptionFocus:!1,multiple:!1,onChange:null,onFilterValueChange:null,optionDisabled:null,optionGroupChildren:null,optionGroupLabel:null,optionGroupTemplate:null,optionLabel:null,optionValue:null,options:null,style:null,tabIndex:0,tooltip:null,tooltipOptions:null,value:null,virtualScrollerOptions:null,children:void 0},css:{classes:{itemGroup:"p-listbox-item-group",emptyMessage:"p-listbox-empty-message",list:"p-listbox-list",wrapper:function(e){return c("p-listbox-list-wrapper",e.props.listClassName)},root:function(e){var t=e.props;return c("p-listbox p-component",{"p-disabled":t.disabled,"p-invalid":t.invalid},t.className)},item:function(e){var t=e.props;return c("p-listbox-item",{"p-highlight":t.selected,"p-focus":t.focusedOptionIndex===t.index,"p-disabled":t.disabled},t.option.className)},filterContainer:"p-listbox-filter-container",filterIcon:"p-listbox-filter-icon",filterInput:"p-listbox-filter",header:"p-listbox-header"},styles:"\n@layer primereact {\n .p-listbox-list-wrapper {\n overflow: auto;\n }\n \n .p-listbox-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n }\n \n .p-listbox-item {\n cursor: pointer;\n position: relative;\n overflow: hidden;\n outline: none;\n }\n \n .p-listbox-filter-container {\n position: relative;\n }\n \n .p-listbox-filter-icon {\n position: absolute;\n top: 50%;\n margin-top: -.5rem;\n }\n \n .p-listbox-filter {\n width: 100%;\n }\n}\n",inlineStyles:{itemGroup:function(e){var t=e.scrollerOptions;return{height:t.props?t.props.itemSize:void 0}},list:function(e){return e.props.virtualScrollerOptions?e.options.style:void 0}}}});function K(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function k(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?K(Object(n),!0).forEach((function(t){E(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):K(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var A=e.memo((function(t){var n=l(),r=t.ptCallbacks,o=r.ptm,i=r.cx,a=function(e,n){return o(e,k({hostName:t.hostName},n))},u={filter:function(e){return c(e)},reset:function(){return t.resetFilter()}},c=function(e){t.onFilter&&t.onFilter({originalEvent:e,value:e.target.value})},f=function(){var r=n({className:i("filterIcon")},a("filterIcon")),l=s.getJSXIcon(t.filterIcon||e.createElement(v,r),k({},r),{props:t}),f=n({className:i("header")},a("header")),d=n({className:i("filterContainer")},a("filterContainer")),m=e.createElement("div",d,e.createElement(b,h({type:"text",value:t.filter,onChange:c,className:i("filterInput"),disabled:t.disabled,placeholder:t.filterPlaceholder},t.filterInputProps,{pt:o("filterInput"),unstyled:t.unstyled,__parentMetadata:{parent:t.metaData}})),l);t.filterTemplate&&(m=p.getJSXElement(t.filterTemplate,{className:"p-listbox-filter-container",element:m,filterOptions:u,filterInputChange:c,filterIconClassName:"p-dropdown-filter-icon",props:t}));return e.createElement("div",f,m)}();return e.createElement(e.Fragment,null,f)}));A.displayName="ListBoxHeader";var G=e.memo((function(t){var n=C(e.useState(!1),2),r=n[0],o=n[1],i=l(),a=t.ptCallbacks,u=a.ptm,c=a.cx,s=t.template?p.getJSXElement(t.template,t.option):t.label,f=i({id:t.id,className:c("item",{props:t}),style:t.style,onClick:function(e){return t.onClick(e,t.option,t.index)},onTouchEnd:function(e){t.onTouchEnd&&t.onTouchEnd({originalEvent:e,option:t.option})},onFocus:function(e){o(!0)},onBlur:function(e){o(!1)},tabIndex:"-1",onMouseDown:function(e){return t.onOptionMouseDown(e,t.index)},onMouseMove:function(e){return t.onOptionMouseMove(e,t.index)},"aria-label":t.label,key:t.optionKey,role:"option","aria-selected":t.selected,"aria-disabled":t.disabled,"data-p-disabled":t.disabled},u("item",{hostName:t.hostName,context:{selected:t.selected,disabled:t.disabled,focused:r,focusedOptionIndex:t.focusedOptionIndex}}));return e.createElement("li",f,s,e.createElement(y,null))}));function R(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function B(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?R(Object(n),!0).forEach((function(t){E(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):R(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function V(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=_(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,l=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return l=e.done,e},e:function(e){a=!0,i=e},f:function(){try{l||null==n.return||n.return()}finally{if(a)throw i}}}}function _(e,t){if(e){if("string"==typeof e)return H(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?H(e,t):void 0}}function H(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}G.displayName="ListBoxItem";var J=e.memo(e.forwardRef((function(o,c){var s=l(),v=e.useContext(t),b=M.getProps(o,v),y=C(e.useState(null),2),g=y[0],x=y[1],O=e.useRef(null),E=e.useRef(null),I=e.useRef(null),S=C(e.useState(-1),2),w=S[0],D=S[1],F=C(e.useState(!1),2),j=F[0],N=F[1],T=C(e.useState(""),2),K=T[0],k=T[1],R=C(e.useState(""),2),_=R[0],H=R[1],J=e.useRef(null),U=e.useRef(null),X=e.useRef(null),q=e.useRef(null),z=e.useRef(!1),$=(b.onFilterValueChange?b.filterValue:K)||"",W=$&&$.trim().length>0,Y={props:b,state:{filterValue:$}},Q=M.setMetaData(Y);i(M.css.styles,Q.isUnstyled,{name:"listbox"});var Z=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1;b.disabled||He(t)||(b.multiple?oe(e.originalEvent,t):re(e.originalEvent,t),z.current=!1,-1!==n&&x(n))},ee=function(e,t){ge(e,t)},te=function(e,t){b.focusOnHover&&j&&ge(e,t)},ne=function(){b.disabled||(z.current=!0)},re=function(e,t){var n=Re(t),r=!1,o=null;!z.current&&b.metaKeySelection?n?(e.metaKey||e.ctrlKey)&&(o=null,r=!0):(o=Ve(t),r=!0):(o=n?null:Ve(t),r=!0);r&&Ce(e,o)},oe=function(e,t){var n=Re(t),r=!1,o=null;if(!z&&b.metaKeySelection){var i=e.metaKey||e.ctrlKey;n?(o=i?Me(t):[Ve(t)],r=!0):(o=[].concat(P(o=i&&b.value||[]),[Ve(t)]),r=!0)}else o=n?Me(t):[].concat(P(b.value||[]),[Ve(t)]),r=!0;r&&b.onChange({originalEvent:e,value:o,stopPropagation:function(){null==e||e.stopPropagation()},preventDefault:function(){null==e||e.preventDefault()},target:{name:b.name,id:b.id,value:o}})},ie=function(){return p.isNotEmpty(b.value)},le=function(e){return b.optionGroupLabel&&e.optionGroup&&e.group},ae=function(e){return p.isNotEmpty(e)&&!(He(e)||le(e))},ue=function(e){return ae(e)&&Re(e)},ce=function(){return Qe.findIndex((function(e){return ae(e)}))},se=function(){if(ie()){if(!b.multiple)return Qe.findIndex((function(e){return ue(e)}));for(var e,t=function(){var e=b.value[n],t=Qe.findIndex((function(t){return ue(t)&&Ge(e,Ve(t))}));if(t>-1)return{v:t}},n=b.value.length-1;n>=0;n--)if(e=t())return e.v}return-1},pe=function(){return p.findLastIndex(Qe,(function(e){return ae(e)}))},fe=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=-1;return ie()&&(n=t?-1===(n=be(e))?ve(e):n:-1===(n=ve(e))?be(e):n),n>-1?n:e},de=function(e){var t;return ae(e)&&(null===(t=Be(e))||void 0===t?void 0:t.toLocaleLowerCase(b.filterLocale).startsWith(_.toLocaleLowerCase(b.filterLocale)))},me=function(e,t){H((_||"")+t);var n=-1;p.isNotEmpty(_)&&(-1===(n=-1!==g?-1===(n=Qe.slice(g).findIndex((function(e){return de(e)})))?Qe.slice(0,g).findIndex((function(e){return de(e)})):n+g:Qe.findIndex((function(e){return de(e)})))&&-1===g&&(n=he()),-1!==n&&ge(e,n)),O.current&&clearTimeout(O.current),O.current=setTimeout((function(){H(""),O.current=null}),500)},ve=function(e){var t=ie()&&e<Qe.length-1?Qe.slice(e+1).findIndex((function(e){return ue(e)})):-1;return t>-1?t+e+1:-1},be=function(e){var t=ie()&&e>0?p.findLastIndex(Qe.slice(0,e),(function(e){return ue(e)})):-1;return t>-1?t:-1},ye=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1;if(-1===t&&(t=fe(n,!0)),-1===n&&(n=fe(t)),-1!==t&&-1!==n){var r=Math.min(t,n),o=Math.max(t,n),i=Qe.slice(r,o+1).filter((function(e){return ae(e)})).map((function(e){return Ve(e)}));Ce(e,i)}},he=function(){var e=ie()?Qe.findIndex((function(e){return ue(e)})):-1;return e<0?ce():e},ge=function(e,t){g!==t&&(x(t),Le(),e&&b.selectOnFocus&&!b.multiple&&Z(e,Qe[t]))},xe=function(e){var t,n,r=-1!==g?(n=(t=g)<Qe.length-1?Qe.slice(t+1).findIndex((function(e){return ae(e)})):-1)>-1?n+t+1:t:he();b.multiple&&e.shiftKey&&ye(e,w,r),ge(e,r),e.preventDefault()},Oe=function(e){var t,n,r,o=-1!==g?(r=(n=g)>0?p.findLastIndex(Qe.slice(0,n),(function(e){return ae(e)})):-1)>-1?r:n:(t=ie()?p.findLastIndex(Qe,(function(e){return ue(e)})):-1)<0?pe():t;b.multiple&&e.shiftKey&&ye(e,o,w),ge(e,o),e.preventDefault()},Ee=function(e){-1!==g&&(b.multiple&&e.shiftKey?ye(e,g):Z(e,Qe[g])),e.preventDefault()},Ie=function(e){Ee(e)},Se=function(e){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1])e.currentTarget.setSelectionRange(0,0),x(-1);else{var t=e.metaKey||e.ctrlKey,n=ce();b.multiple&&e.shiftKey&&t&&ye(e,n,w),ge(e,n)}e.preventDefault()},we=function(e){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1]){var t=e.currentTarget,n=t.value.length;t.setSelectionRange(n,n),L("focusedOptionIndex")}else{var r=e.metaKey||e.ctrlKey,o=pe();b.multiple&&e.shiftKey&&r&&ye(e,w,o),ge(e,o)}e.preventDefault()},De=function(e){Le(0),e.preventDefault()},Fe=function(e){Le(Qe.length-1),e.preventDefault()},Pe=function(e){var t=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":xe(e);break;case"ArrowUp":Oe(e);break;case"Home":Se(e);break;case"End":we(e);break;case"PageDown":Fe(e);break;case"PageUp":De(e);break;case"Enter":case"NumpadEnter":case"Space":Ie(e),e.preventDefault();break;case"Tab":break;case"ShiftLeft":case"ShiftRight":D(g);break;default:if(b.multiple&&"KeyA"===e.code&&t){var n=Qe.filter((function(e){return ae(e)})).map((function(e){return Ve(e)}));Ce(e,n),e.preventDefault();break}!t&&p.isPrintableCharacter(e.key)&&(me(e,e.key),e.preventDefault())}},Le=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;setTimeout((function(){var t=-1!==e?"".concat(X.current,"_").concat(e):-1!==g?"".concat(X.current,"_").concat(g):null,n=q.current.querySelector('li[id="'.concat(t,'"]'));n?n.scrollIntoView({block:"nearest",inline:"nearest",behavior:"smooth"}):b.virtualScrollerOptions&&U.current&&U.current.scrollToIndex(-1!==e?e:g)}),0)},je=function(e){U.current&&U.current.scrollToIndex(0);var t=e.value;b.onFilterValueChange?b.onFilterValueChange({originalEvent:e.originalEvent,value:t}):k(t)},Ne=function(){k(""),b.onFilter&&b.onFilter({filter:""})},Te=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:j;if(b.selectOnFocus&&b.autoOptionFocus&&!ie()&&!b.multiple&&e){var t=he();Z(null,Qe[t]),x(t)}},Ce=function(e,t){b.onChange&&b.onChange({originalEvent:e,value:t,stopPropagation:function(){null==e||e.stopPropagation()},preventDefault:function(){null==e||e.preventDefault()},target:{name:b.name,id:b.id,value:t}})},Me=function(e){return b.value.filter((function(t){return!p.equals(t,Ve(e),b.dataKey)}))},Ke=function(){if(null!=b.value&&Qe){if(!b.optionGroupLabel)return Ae(b.value,Qe);for(var e=0;e<Qe.length;e++){var t=Ae(b.value,qe(Qe[e]));if(-1!==t)return{group:e,option:t}}}return-1},ke=function(){return b.optionValue?null:b.dataKey},Ae=function(e,t){var n=ke();return t.findIndex((function(t){return p.equals(e,Ve(t),n)}))},Ge=function(e,t){return p.equals(e,t,ke())},Re=function(e){var t=Ve(e);return b.multiple?(b.value||[]).some((function(e){return Ge(e,t)})):Ge(b.value,t)},Be=function(e){return b.optionLabel?p.resolveFieldData(e,b.optionLabel):e&&void 0!==e.label?e.label:e},Ve=function(e){return b.optionValue?p.resolveFieldData(e,b.optionValue):e&&void 0!==e.value?e.value:e},_e=function(e){return b.dataKey?p.resolveFieldData(e,b.dataKey):Be(e)},He=function(e){return b.optionDisabled?p.isFunction(b.optionDisabled)?b.optionDisabled(e):p.resolveFieldData(e,b.optionDisabled):!(!e||void 0===e.disabled)&&e.disabled},Je=function(){N(!0),x(-1!==g?g:b.autoOptionFocus?he():se()),Te(!0)},Ue=function(e){N(!1),x(-1),D(-1),H("")},Xe=function(e){return p.resolveFieldData(e,b.optionGroupLabel)},qe=function(e){return p.resolveFieldData(e,b.optionGroupChildren)},ze=function(){if(U.current){var e=Ke();-1!==e&&setTimeout((function(){return U.current.scrollToIndex(e)}),0)}};e.useImperativeHandle(c,(function(){return{props:b,focus:function(){return f.focusFirstElement(J.current)},getElement:function(){return J.current},getVirtualScroller:function(){return U.current}}})),a((function(){ze(),X.current=d()}));var $e=function(t,n){return qe(t).map((function(t,r){var o=Be(t),i=r+"_"+_e(t),l=He(t);return e.createElement(G,{id:X.current+"_"+r,hostName:"ListBox",optionKey:i,key:i,label:o,option:t,style:n,template:b.itemTemplate,selected:Re(t),onOptionMouseDown:ee,onOptionMouseMove:te,onClick:Z,index:r,focusedOptionIndex:g,onTouchEnd:ne,disabled:l,ptCallbacks:Q,metaData:Y})}))},We=function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o={height:r.props?r.props.itemSize:void 0};if(b.optionGroupLabel){var i=b.optionGroupTemplate?p.getJSXElement(b.optionGroupTemplate,t,n):p.resolveFieldData(t,b.optionGroupLabel),l=$e(t,o),a=n+"_"+Xe(t),u=s({className:Q.cx("itemGroup"),style:Q.sx("itemGroup",{scrollerOptions:r}),role:"group"},Q.ptm("itemGroup"));return e.createElement(e.Fragment,{key:a},e.createElement("li",u,i),l)}var c=Be(t),f=n+"_"+_e(t),d=He(t);return e.createElement(G,{id:X.current+"_"+n,hostName:"ListBox",optionKey:f,key:f,label:c,index:n,onOptionMouseDown:ee,onOptionMouseMove:te,focusedOptionIndex:g,option:t,style:o,template:b.itemTemplate,selected:Re(t),onClick:Z,onTouchEnd:ne,disabled:d,ptCallbacks:Q,metaData:Y})},Ye=function(t,n){var o=s({className:Q.cx("emptyMessage")},Q.ptm("emptyMessage")),i=p.getJSXElement(t,b)||r(n?"emptyFilterMessage":"emptyMessage");return e.createElement("li",o,i)},Qe=function(){if(W){var e=$.trim().toLocaleLowerCase(b.filterLocale),t=b.filterBy?b.filterBy.split(","):[b.optionLabel||"label"];if(b.optionGroupLabel){var r,o=[],i=V(b.options);try{for(i.s();!(r=i.n()).done;){var l=r.value,a=n.filter(qe(l),t,e,b.filterMatchMode,b.filterLocale);a&&a.length&&o.push(B(B({},l),{items:a}))}}catch(e){i.e(e)}finally{i.f()}return o}return n.filter(b.options,t,e,b.filterMatchMode,b.filterLocale)}return b.options}(),Ze=p.isNotEmpty(b.tooltip),et=M.getOtherProps(b),tt=p.reduceKeys(et,f.ARIA_PROPS),nt=function(){if(b.virtualScrollerOptions){var t=B(B({},b.virtualScrollerOptions),{items:Qe,onLazyLoad:function(e){return b.virtualScrollerOptions.onLazyLoad(B(B({},e),{filter:Qe}))},itemTemplate:function(e,t){return e&&We(e,t.index,t)},contentTemplate:function(t){var n=s(B({ref:q,style:Q.sx("list",{options:t}),className:Q.cx("list",{options:t}),role:"listbox",tabIndex:"-1","aria-multiselectable":b.multiple,onFocus:Je,onBlur:Ue,onKeyDown:Pe},tt),Q.ptm("list"));return e.createElement("ul",n,t.children)}});return e.createElement(m,h({ref:U},t,{pt:Q.ptm("virtualScroller")}))}var n=p.isNotEmpty(Qe)?Qe.map(We):W?Ye(b.emptyFilterMessage,!0):Ye(b.emptyMessage),r=s(B({ref:q,className:Q.cx("list"),role:"listbox","aria-multiselectable":b.multiple,tabIndex:"-1",onFocus:Je,onBlur:Ue,onKeyDown:Pe},tt),Q.ptm("list"));return e.createElement("ul",r,n)}(),rt=b.filter?e.createElement(A,{hostName:"ListBox",filter:$,filterIcon:b.filterIcon,onFilter:je,resetFilter:Ne,filterTemplate:b.filterTemplate,disabled:b.disabled,filterPlaceholder:b.filterPlaceholder,filterInputProps:b.filterInputProps,ptCallbacks:Q,metaData:Y}):null,ot=s({className:Q.cx("wrapper"),style:b.listStyle},Q.ptm("wrapper")),it=s({ref:J,id:b.id,className:Q.cx("root"),style:b.style},M.getOtherProps(b),Q.ptm("root")),lt=s({ref:E,role:"presentation","aria-hidden":"true",className:"p-hidden-accessible p-hidden-focusable",tabIndex:b.disabled?-1:b.tabIndex,onFocus:function(){f.focus(q.current);var e=f.getFirstFocusableElement(J.current,':not([data-p-hidden-focusable="true"])');I.current.tabIndex=f.isElement(e)?void 0:-1,E.current.tabIndex=-1,ge(null,0)},"data-p-hidden-accessible":!0,"data-p-hidden-focusable":!0},Q.ptm("hiddenFirstFocusableEl")),at=s({ref:I,role:"presentation","aria-hidden":"true",className:"p-hidden-accessible p-hidden-focusable",tabIndex:b.disabled?-1:b.tabIndex,onFocus:function(e){if(e.relatedTarget===q.current){var t=f.getFirstFocusableElement(J.current,':not([data-p-hidden-focusable="true"])');f.focus(t),E.current.tabIndex=void 0}else f.focus(E.current);I.current.tabIndex=-1},"data-p-hidden-accessible":!0,"data-p-hidden-focusable":!0},Q.ptm("hiddenLastFocusableEl"));return e.createElement(e.Fragment,null,e.createElement("div",it,e.createElement("span",lt),rt,e.createElement("div",ot,nt),e.createElement("span",at)),Ze&&e.createElement(u,h({target:J,content:b.tooltip,pt:Q.ptm("tooltip")},b.tooltipOptions)))})));J.displayName="ListBox";export{J as ListBox};