primereact 10.5.1 → 10.5.3

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 (430) hide show
  1. package/api/api.cjs.js +94 -92
  2. package/api/api.cjs.min.js +1 -1
  3. package/api/api.d.ts +229 -11
  4. package/api/api.esm.js +94 -92
  5. package/api/api.esm.min.js +1 -1
  6. package/api/api.js +94 -92
  7. package/api/api.min.js +1 -1
  8. package/autocomplete/autocomplete.cjs.js +89 -45
  9. package/autocomplete/autocomplete.cjs.min.js +1 -1
  10. package/autocomplete/autocomplete.d.ts +6 -1
  11. package/autocomplete/autocomplete.esm.js +89 -45
  12. package/autocomplete/autocomplete.esm.min.js +1 -1
  13. package/autocomplete/autocomplete.js +89 -45
  14. package/autocomplete/autocomplete.min.js +1 -1
  15. package/blockui/blockui.cjs.js +13 -13
  16. package/blockui/blockui.cjs.min.js +1 -1
  17. package/blockui/blockui.esm.js +13 -13
  18. package/blockui/blockui.esm.min.js +1 -1
  19. package/blockui/blockui.js +13 -13
  20. package/blockui/blockui.min.js +1 -1
  21. package/calendar/calendar.cjs.js +30 -11
  22. package/calendar/calendar.cjs.min.js +1 -1
  23. package/calendar/calendar.d.ts +9 -0
  24. package/calendar/calendar.esm.js +30 -11
  25. package/calendar/calendar.esm.min.js +1 -1
  26. package/calendar/calendar.js +30 -11
  27. package/calendar/calendar.min.js +1 -1
  28. package/carousel/carousel.cjs.js +17 -15
  29. package/carousel/carousel.cjs.min.js +1 -1
  30. package/carousel/carousel.esm.js +4 -2
  31. package/carousel/carousel.esm.min.js +1 -1
  32. package/carousel/carousel.js +17 -15
  33. package/carousel/carousel.min.js +1 -1
  34. package/cascadeselect/cascadeselect.cjs.js +28 -14
  35. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  36. package/cascadeselect/cascadeselect.d.ts +5 -0
  37. package/cascadeselect/cascadeselect.esm.js +28 -14
  38. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  39. package/cascadeselect/cascadeselect.js +28 -14
  40. package/cascadeselect/cascadeselect.min.js +1 -1
  41. package/checkbox/checkbox.cjs.js +70 -153
  42. package/checkbox/checkbox.cjs.min.js +1 -1
  43. package/checkbox/checkbox.d.ts +10 -34
  44. package/checkbox/checkbox.esm.js +70 -153
  45. package/checkbox/checkbox.esm.min.js +1 -1
  46. package/checkbox/checkbox.js +70 -153
  47. package/checkbox/checkbox.min.js +1 -1
  48. package/chips/chips.cjs.js +23 -9
  49. package/chips/chips.cjs.min.js +1 -1
  50. package/chips/chips.d.ts +6 -1
  51. package/chips/chips.esm.js +23 -9
  52. package/chips/chips.esm.min.js +1 -1
  53. package/chips/chips.js +23 -9
  54. package/chips/chips.min.js +1 -1
  55. package/colorpicker/colorpicker.cjs.js +3 -2
  56. package/colorpicker/colorpicker.cjs.min.js +1 -1
  57. package/colorpicker/colorpicker.esm.js +2 -1
  58. package/colorpicker/colorpicker.esm.min.js +1 -1
  59. package/colorpicker/colorpicker.js +3 -2
  60. package/colorpicker/colorpicker.min.js +1 -1
  61. package/componentbase/componentbase.cjs.js +4 -6
  62. package/componentbase/componentbase.cjs.min.js +1 -1
  63. package/componentbase/componentbase.esm.js +5 -7
  64. package/componentbase/componentbase.esm.min.js +1 -1
  65. package/componentbase/componentbase.js +4 -6
  66. package/componentbase/componentbase.min.js +1 -1
  67. package/confirmdialog/confirmdialog.cjs.js +1 -0
  68. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  69. package/confirmdialog/confirmdialog.esm.js +1 -0
  70. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  71. package/confirmdialog/confirmdialog.js +1 -0
  72. package/confirmdialog/confirmdialog.min.js +1 -1
  73. package/confirmpopup/confirmpopup.cjs.js +5 -5
  74. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  75. package/confirmpopup/confirmpopup.esm.js +5 -5
  76. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  77. package/confirmpopup/confirmpopup.js +5 -5
  78. package/confirmpopup/confirmpopup.min.js +1 -1
  79. package/core/core.js +647 -610
  80. package/core/core.min.js +13 -13
  81. package/datatable/datatable.cjs.js +128 -110
  82. package/datatable/datatable.cjs.min.js +1 -1
  83. package/datatable/datatable.d.ts +1 -1
  84. package/datatable/datatable.esm.js +128 -110
  85. package/datatable/datatable.esm.min.js +1 -1
  86. package/datatable/datatable.js +128 -110
  87. package/datatable/datatable.min.js +1 -1
  88. package/dataview/dataview.cjs.js +16 -13
  89. package/dataview/dataview.cjs.min.js +1 -1
  90. package/dataview/dataview.esm.js +4 -1
  91. package/dataview/dataview.esm.min.js +1 -1
  92. package/dataview/dataview.js +17 -15
  93. package/dataview/dataview.min.js +1 -1
  94. package/dialog/dialog.cjs.js +6 -6
  95. package/dialog/dialog.cjs.min.js +1 -1
  96. package/dialog/dialog.esm.js +6 -6
  97. package/dialog/dialog.esm.min.js +1 -1
  98. package/dialog/dialog.js +6 -6
  99. package/dialog/dialog.min.js +1 -1
  100. package/dropdown/dropdown.cjs.js +98 -29
  101. package/dropdown/dropdown.cjs.min.js +1 -1
  102. package/dropdown/dropdown.d.ts +41 -0
  103. package/dropdown/dropdown.esm.js +98 -29
  104. package/dropdown/dropdown.esm.min.js +1 -1
  105. package/dropdown/dropdown.js +98 -31
  106. package/dropdown/dropdown.min.js +1 -1
  107. package/editor/editor.cjs.js +125 -54
  108. package/editor/editor.cjs.min.js +1 -1
  109. package/editor/editor.esm.js +125 -54
  110. package/editor/editor.esm.min.js +1 -1
  111. package/editor/editor.js +125 -54
  112. package/editor/editor.min.js +1 -1
  113. package/galleria/galleria.cjs.js +22 -19
  114. package/galleria/galleria.cjs.min.js +1 -1
  115. package/galleria/galleria.esm.js +4 -1
  116. package/galleria/galleria.esm.min.js +1 -1
  117. package/galleria/galleria.js +23 -20
  118. package/galleria/galleria.min.js +1 -1
  119. package/hooks/hooks.cjs.js +115 -72
  120. package/hooks/hooks.cjs.min.js +1 -1
  121. package/hooks/hooks.esm.js +116 -73
  122. package/hooks/hooks.esm.min.js +1 -1
  123. package/hooks/hooks.js +115 -72
  124. package/hooks/hooks.min.js +1 -1
  125. package/image/image.cjs.js +11 -9
  126. package/image/image.cjs.min.js +1 -1
  127. package/image/image.esm.js +11 -9
  128. package/image/image.esm.min.js +1 -1
  129. package/image/image.js +11 -9
  130. package/image/image.min.js +1 -1
  131. package/inputnumber/inputnumber.cjs.js +20 -36
  132. package/inputnumber/inputnumber.cjs.min.js +1 -1
  133. package/inputnumber/inputnumber.d.ts +5 -5
  134. package/inputnumber/inputnumber.esm.js +20 -36
  135. package/inputnumber/inputnumber.esm.min.js +1 -1
  136. package/inputnumber/inputnumber.js +20 -36
  137. package/inputnumber/inputnumber.min.js +1 -1
  138. package/inputswitch/inputswitch.cjs.js +18 -93
  139. package/inputswitch/inputswitch.cjs.min.js +1 -1
  140. package/inputswitch/inputswitch.d.ts +9 -20
  141. package/inputswitch/inputswitch.esm.js +18 -93
  142. package/inputswitch/inputswitch.esm.min.js +1 -1
  143. package/inputswitch/inputswitch.js +18 -93
  144. package/inputswitch/inputswitch.min.js +1 -1
  145. package/inputtext/inputtext.cjs.js +5 -3
  146. package/inputtext/inputtext.cjs.min.js +1 -1
  147. package/inputtext/inputtext.d.ts +5 -0
  148. package/inputtext/inputtext.esm.js +5 -3
  149. package/inputtext/inputtext.esm.min.js +1 -1
  150. package/inputtext/inputtext.js +5 -3
  151. package/inputtext/inputtext.min.js +1 -1
  152. package/inputtextarea/inputtextarea.cjs.js +3 -1
  153. package/inputtextarea/inputtextarea.cjs.min.js +1 -1
  154. package/inputtextarea/inputtextarea.d.ts +5 -0
  155. package/inputtextarea/inputtextarea.esm.js +3 -1
  156. package/inputtextarea/inputtextarea.esm.min.js +1 -1
  157. package/inputtextarea/inputtextarea.js +3 -1
  158. package/inputtextarea/inputtextarea.min.js +1 -1
  159. package/listbox/listbox.cjs.js +14 -10
  160. package/listbox/listbox.cjs.min.js +1 -1
  161. package/listbox/listbox.d.ts +15 -0
  162. package/listbox/listbox.esm.js +15 -11
  163. package/listbox/listbox.esm.min.js +1 -1
  164. package/listbox/listbox.js +14 -10
  165. package/listbox/listbox.min.js +1 -1
  166. package/mention/mention.cjs.js +3 -1
  167. package/mention/mention.cjs.min.js +1 -1
  168. package/mention/mention.esm.js +3 -1
  169. package/mention/mention.esm.min.js +1 -1
  170. package/mention/mention.js +3 -1
  171. package/mention/mention.min.js +1 -1
  172. package/menu/menu.cjs.js +3 -2
  173. package/menu/menu.cjs.min.js +1 -1
  174. package/menu/menu.esm.js +3 -2
  175. package/menu/menu.esm.min.js +1 -1
  176. package/menu/menu.js +3 -2
  177. package/menu/menu.min.js +1 -1
  178. package/menubar/menubar.cjs.js +1 -1
  179. package/menubar/menubar.cjs.min.js +1 -1
  180. package/menubar/menubar.esm.js +1 -1
  181. package/menubar/menubar.esm.min.js +1 -1
  182. package/menubar/menubar.js +1 -1
  183. package/menubar/menubar.min.js +1 -1
  184. package/message/message.cjs.js +2 -8
  185. package/message/message.cjs.min.js +1 -1
  186. package/message/message.d.ts +1 -1
  187. package/message/message.esm.js +2 -8
  188. package/message/message.esm.min.js +1 -1
  189. package/message/message.js +2 -8
  190. package/message/message.min.js +1 -1
  191. package/messages/messages.cjs.js +9 -8
  192. package/messages/messages.cjs.min.js +1 -1
  193. package/messages/messages.d.ts +1 -1
  194. package/messages/messages.esm.js +4 -3
  195. package/messages/messages.esm.min.js +1 -1
  196. package/messages/messages.js +9 -8
  197. package/messages/messages.min.js +1 -1
  198. package/metergroup/metergroup.cjs.js +237 -0
  199. package/metergroup/metergroup.cjs.min.js +1 -0
  200. package/metergroup/metergroup.d.ts +183 -0
  201. package/metergroup/metergroup.esm.js +233 -0
  202. package/metergroup/metergroup.esm.min.js +1 -0
  203. package/metergroup/metergroup.js +236 -0
  204. package/metergroup/metergroup.min.js +1 -0
  205. package/multiselect/multiselect.cjs.js +94 -123
  206. package/multiselect/multiselect.cjs.min.js +1 -1
  207. package/multiselect/multiselect.d.ts +25 -1
  208. package/multiselect/multiselect.esm.js +94 -123
  209. package/multiselect/multiselect.esm.min.js +1 -1
  210. package/multiselect/multiselect.js +94 -123
  211. package/multiselect/multiselect.min.js +1 -1
  212. package/multistatecheckbox/multistatecheckbox.cjs.js +1 -1
  213. package/multistatecheckbox/multistatecheckbox.cjs.min.js +1 -1
  214. package/multistatecheckbox/multistatecheckbox.esm.js +1 -1
  215. package/multistatecheckbox/multistatecheckbox.esm.min.js +1 -1
  216. package/multistatecheckbox/multistatecheckbox.js +1 -1
  217. package/multistatecheckbox/multistatecheckbox.min.js +1 -1
  218. package/orderlist/orderlist.cjs.js +35 -11
  219. package/orderlist/orderlist.cjs.min.js +1 -1
  220. package/orderlist/orderlist.d.ts +5 -0
  221. package/orderlist/orderlist.esm.js +35 -11
  222. package/orderlist/orderlist.esm.min.js +1 -1
  223. package/orderlist/orderlist.js +35 -11
  224. package/orderlist/orderlist.min.js +1 -1
  225. package/overlaypanel/overlaypanel.cjs.js +3 -2
  226. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  227. package/overlaypanel/overlaypanel.esm.js +3 -2
  228. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  229. package/overlaypanel/overlaypanel.js +3 -2
  230. package/overlaypanel/overlaypanel.min.js +1 -1
  231. package/package.json +1 -1
  232. package/paginator/paginator.cjs.js +125 -108
  233. package/paginator/paginator.cjs.min.js +1 -1
  234. package/paginator/paginator.d.ts +88 -0
  235. package/paginator/paginator.esm.js +125 -108
  236. package/paginator/paginator.esm.min.js +1 -1
  237. package/paginator/paginator.js +125 -108
  238. package/paginator/paginator.min.js +1 -1
  239. package/panelmenu/panelmenu.cjs.js +13 -5
  240. package/panelmenu/panelmenu.cjs.min.js +1 -1
  241. package/panelmenu/panelmenu.esm.js +13 -5
  242. package/panelmenu/panelmenu.esm.min.js +1 -1
  243. package/panelmenu/panelmenu.js +13 -5
  244. package/panelmenu/panelmenu.min.js +1 -1
  245. package/passthrough/index.d.ts +12 -0
  246. package/passthrough/tailwind/index.cjs.js +268 -172
  247. package/passthrough/tailwind/index.cjs.min.js +1 -1
  248. package/passthrough/tailwind/index.esm.js +268 -172
  249. package/passthrough/tailwind/index.esm.min.js +1 -1
  250. package/passthrough/tailwind/index.js +268 -172
  251. package/passthrough/tailwind/index.min.js +1 -1
  252. package/password/password.cjs.js +70 -39
  253. package/password/password.cjs.min.js +1 -1
  254. package/password/password.d.ts +5 -0
  255. package/password/password.esm.js +72 -41
  256. package/password/password.esm.min.js +1 -1
  257. package/password/password.js +70 -39
  258. package/password/password.min.js +1 -1
  259. package/picklist/picklist.cjs.js +126 -101
  260. package/picklist/picklist.cjs.min.js +1 -1
  261. package/picklist/picklist.d.ts +5 -0
  262. package/picklist/picklist.esm.js +126 -101
  263. package/picklist/picklist.esm.min.js +1 -1
  264. package/picklist/picklist.js +126 -101
  265. package/picklist/picklist.min.js +1 -1
  266. package/primereact.all.cjs.js +1775 -1431
  267. package/primereact.all.cjs.min.js +1 -1
  268. package/primereact.all.esm.js +1776 -1431
  269. package/primereact.all.esm.min.js +1 -1
  270. package/primereact.all.js +1775 -1431
  271. package/primereact.all.min.js +1 -1
  272. package/radiobutton/radiobutton.cjs.js +67 -142
  273. package/radiobutton/radiobutton.cjs.min.js +1 -1
  274. package/radiobutton/radiobutton.d.ts +17 -35
  275. package/radiobutton/radiobutton.esm.js +68 -143
  276. package/radiobutton/radiobutton.esm.min.js +1 -1
  277. package/radiobutton/radiobutton.js +67 -142
  278. package/radiobutton/radiobutton.min.js +1 -1
  279. package/resources/themes/arya-blue/theme.css +344 -67
  280. package/resources/themes/arya-green/theme.css +344 -67
  281. package/resources/themes/arya-orange/theme.css +344 -67
  282. package/resources/themes/bootstrap4-dark-blue/theme.css +389 -64
  283. package/resources/themes/bootstrap4-light-blue/theme.css +389 -64
  284. package/resources/themes/fluent-light/theme.css +341 -64
  285. package/resources/themes/lara-dark-amber/theme.css +470 -67
  286. package/resources/themes/lara-dark-blue/theme.css +470 -67
  287. package/resources/themes/lara-dark-cyan/theme.css +470 -67
  288. package/resources/themes/lara-dark-green/theme.css +470 -67
  289. package/resources/themes/lara-dark-indigo/theme.css +470 -67
  290. package/resources/themes/lara-dark-pink/theme.css +470 -67
  291. package/resources/themes/lara-dark-teal/theme.css +470 -67
  292. package/resources/themes/lara-light-amber/theme.css +470 -67
  293. package/resources/themes/lara-light-blue/theme.css +470 -67
  294. package/resources/themes/lara-light-cyan/theme.css +470 -67
  295. package/resources/themes/lara-light-green/theme.css +470 -67
  296. package/resources/themes/lara-light-indigo/theme.css +470 -67
  297. package/resources/themes/lara-light-pink/theme.css +470 -67
  298. package/resources/themes/lara-light-teal/theme.css +470 -67
  299. package/resources/themes/luna-amber/theme.css +344 -67
  300. package/resources/themes/luna-blue/theme.css +344 -67
  301. package/resources/themes/luna-green/theme.css +344 -67
  302. package/resources/themes/luna-pink/theme.css +344 -67
  303. package/resources/themes/md-dark-deeppurple/theme.css +995 -289
  304. package/resources/themes/md-dark-indigo/theme.css +684 -232
  305. package/resources/themes/md-light-deeppurple/theme.css +868 -162
  306. package/resources/themes/md-light-indigo/theme.css +566 -101
  307. package/resources/themes/mdc-dark-deeppurple/theme.css +995 -289
  308. package/resources/themes/mdc-dark-indigo/theme.css +697 -232
  309. package/resources/themes/mdc-light-deeppurple/theme.css +868 -162
  310. package/resources/themes/mdc-light-indigo/theme.css +566 -101
  311. package/resources/themes/mira/theme.css +344 -67
  312. package/resources/themes/nano/theme.css +344 -67
  313. package/resources/themes/nova/theme.css +344 -67
  314. package/resources/themes/nova-accent/theme.css +344 -67
  315. package/resources/themes/nova-alt/theme.css +344 -67
  316. package/resources/themes/rhea/theme.css +343 -66
  317. package/resources/themes/saga-blue/theme.css +344 -67
  318. package/resources/themes/saga-green/theme.css +344 -67
  319. package/resources/themes/saga-orange/theme.css +344 -67
  320. package/resources/themes/soho-dark/theme.css +413 -88
  321. package/resources/themes/soho-light/theme.css +392 -67
  322. package/resources/themes/tailwind-light/theme.css +344 -67
  323. package/resources/themes/vela-blue/theme.css +344 -67
  324. package/resources/themes/vela-green/theme.css +344 -67
  325. package/resources/themes/vela-orange/theme.css +344 -67
  326. package/resources/themes/viva-dark/theme.css +392 -67
  327. package/resources/themes/viva-light/theme.css +392 -67
  328. package/selectbutton/selectbutton.cjs.js +12 -4
  329. package/selectbutton/selectbutton.cjs.min.js +1 -1
  330. package/selectbutton/selectbutton.d.ts +5 -0
  331. package/selectbutton/selectbutton.esm.js +12 -4
  332. package/selectbutton/selectbutton.esm.min.js +1 -1
  333. package/selectbutton/selectbutton.js +13 -5
  334. package/selectbutton/selectbutton.min.js +1 -1
  335. package/sidebar/sidebar.cjs.js +4 -3
  336. package/sidebar/sidebar.cjs.min.js +1 -1
  337. package/sidebar/sidebar.d.ts +4 -4
  338. package/sidebar/sidebar.esm.js +4 -3
  339. package/sidebar/sidebar.esm.min.js +1 -1
  340. package/sidebar/sidebar.js +4 -3
  341. package/sidebar/sidebar.min.js +1 -1
  342. package/slidemenu/slidemenu.cjs.js +3 -2
  343. package/slidemenu/slidemenu.cjs.min.js +1 -1
  344. package/slidemenu/slidemenu.esm.js +3 -2
  345. package/slidemenu/slidemenu.esm.min.js +1 -1
  346. package/slidemenu/slidemenu.js +3 -2
  347. package/slidemenu/slidemenu.min.js +1 -1
  348. package/slider/slider.cjs.js +18 -2
  349. package/slider/slider.cjs.min.js +1 -1
  350. package/slider/slider.esm.js +18 -2
  351. package/slider/slider.esm.min.js +1 -1
  352. package/slider/slider.js +18 -2
  353. package/slider/slider.min.js +1 -1
  354. package/splitbutton/splitbutton.d.ts +2 -2
  355. package/splitter/splitter.cjs.js +7 -7
  356. package/splitter/splitter.cjs.min.js +1 -1
  357. package/splitter/splitter.d.ts +5 -5
  358. package/splitter/splitter.esm.js +7 -7
  359. package/splitter/splitter.esm.min.js +1 -1
  360. package/splitter/splitter.js +7 -7
  361. package/splitter/splitter.min.js +1 -1
  362. package/styleclass/styleclass.cjs.js +21 -1
  363. package/styleclass/styleclass.cjs.min.js +1 -1
  364. package/styleclass/styleclass.d.ts +10 -0
  365. package/styleclass/styleclass.esm.js +21 -1
  366. package/styleclass/styleclass.esm.min.js +1 -1
  367. package/styleclass/styleclass.js +22 -2
  368. package/styleclass/styleclass.min.js +1 -1
  369. package/tabmenu/tabmenu.cjs.js +1 -1
  370. package/tabmenu/tabmenu.cjs.min.js +1 -1
  371. package/tabmenu/tabmenu.esm.js +1 -1
  372. package/tabmenu/tabmenu.esm.min.js +1 -1
  373. package/tabmenu/tabmenu.js +1 -1
  374. package/tabmenu/tabmenu.min.js +1 -1
  375. package/toast/toast.cjs.js +93 -92
  376. package/toast/toast.cjs.min.js +1 -1
  377. package/toast/toast.d.ts +1 -1
  378. package/toast/toast.esm.js +93 -92
  379. package/toast/toast.esm.min.js +1 -1
  380. package/toast/toast.js +93 -92
  381. package/toast/toast.min.js +1 -1
  382. package/togglebutton/togglebutton.cjs.js +54 -92
  383. package/togglebutton/togglebutton.cjs.min.js +1 -1
  384. package/togglebutton/togglebutton.d.ts +24 -0
  385. package/togglebutton/togglebutton.esm.js +53 -91
  386. package/togglebutton/togglebutton.esm.min.js +1 -1
  387. package/togglebutton/togglebutton.js +54 -92
  388. package/togglebutton/togglebutton.min.js +1 -1
  389. package/tooltip/tooltip.d.ts +3 -3
  390. package/tooltip/tooltipoptions.d.ts +5 -0
  391. package/tree/tree.cjs.js +20 -8
  392. package/tree/tree.cjs.min.js +1 -1
  393. package/tree/tree.esm.js +20 -8
  394. package/tree/tree.esm.min.js +1 -1
  395. package/tree/tree.js +20 -8
  396. package/tree/tree.min.js +1 -1
  397. package/treeselect/treeselect.cjs.js +2 -0
  398. package/treeselect/treeselect.cjs.min.js +1 -1
  399. package/treeselect/treeselect.d.ts +5 -0
  400. package/treeselect/treeselect.esm.js +2 -0
  401. package/treeselect/treeselect.esm.min.js +1 -1
  402. package/treeselect/treeselect.js +2 -0
  403. package/treeselect/treeselect.min.js +1 -1
  404. package/treetable/treetable.cjs.js +17 -14
  405. package/treetable/treetable.cjs.min.js +1 -1
  406. package/treetable/treetable.esm.js +17 -14
  407. package/treetable/treetable.esm.min.js +1 -1
  408. package/treetable/treetable.js +17 -14
  409. package/treetable/treetable.min.js +1 -1
  410. package/tristatecheckbox/tristatecheckbox.cjs.js +33 -90
  411. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  412. package/tristatecheckbox/tristatecheckbox.d.ts +12 -13
  413. package/tristatecheckbox/tristatecheckbox.esm.js +34 -91
  414. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  415. package/tristatecheckbox/tristatecheckbox.js +33 -90
  416. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  417. package/utils/utils.cjs.js +64 -72
  418. package/utils/utils.cjs.min.js +1 -1
  419. package/utils/utils.d.ts +11 -2
  420. package/utils/utils.esm.js +65 -72
  421. package/utils/utils.esm.min.js +1 -1
  422. package/utils/utils.js +64 -72
  423. package/utils/utils.min.js +1 -1
  424. package/virtualscroller/virtualscroller.cjs.js +17 -15
  425. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  426. package/virtualscroller/virtualscroller.esm.js +14 -12
  427. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  428. package/virtualscroller/virtualscroller.js +17 -15
  429. package/virtualscroller/virtualscroller.min.js +1 -1
  430. package/web-types.json +455 -39
@@ -151,6 +151,7 @@ var classes = {
151
151
  'p-autocomplete-dd': props.dropdown,
152
152
  'p-autocomplete-multiple': props.multiple,
153
153
  'p-inputwrapper-filled': props.value,
154
+ 'p-invalid': props.invalid,
154
155
  'p-inputwrapper-focus': focusedState
155
156
  });
156
157
  },
@@ -223,6 +224,7 @@ var AutoCompleteBase = ComponentBase.extend({
223
224
  inputId: null,
224
225
  inputRef: null,
225
226
  inputStyle: null,
227
+ invalid: false,
226
228
  itemTemplate: null,
227
229
  loadingIcon: null,
228
230
  maxLength: null,
@@ -308,30 +310,55 @@ var AutoCompletePanel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(f
308
310
  }
309
311
  return null;
310
312
  };
313
+ var findKeyIndex = function findKeyIndex(array, key, value) {
314
+ return array.findIndex(function (obj) {
315
+ return obj[key] === value;
316
+ });
317
+ };
318
+ var latestKey = React.useRef({
319
+ key: null,
320
+ index: 0,
321
+ keyIndex: 0
322
+ });
323
+ var createLabelItem = function createLabelItem(item, key, index, labelItemProps) {
324
+ var content = props.optionGroupTemplate ? ObjectUtils.getJSXElement(props.optionGroupTemplate, item, index) : props.getOptionGroupLabel(item) || item;
325
+ var itemGroupProps = mergeProps(_objectSpread$1({
326
+ index: index,
327
+ key: key ? key : null,
328
+ className: cx('itemGroup'),
329
+ 'data-p-highlight': false
330
+ }, labelItemProps), _ptm('itemGroup'));
331
+ return /*#__PURE__*/React.createElement("li", itemGroupProps, content);
332
+ };
333
+ var createListItem = function createListItem(item, key, index, listItemProps) {
334
+ var selected = ObjectUtils.deepEquals(props.selectedItem, item);
335
+ var content = props.itemTemplate ? ObjectUtils.getJSXElement(props.itemTemplate, item, index) : props.field ? ObjectUtils.resolveFieldData(item, props.field) : item;
336
+ var itemProps = mergeProps(_objectSpread$1({
337
+ index: index,
338
+ role: 'option',
339
+ className: cx('item', {
340
+ optionGroupLabel: props.optionGroupLabel,
341
+ suggestion: item
342
+ }),
343
+ onClick: function onClick(e) {
344
+ return props.onItemClick(e, item);
345
+ },
346
+ 'aria-selected': selected
347
+ }, listItemProps), getPTOptions(item, 'item'));
348
+ return /*#__PURE__*/React.createElement("li", _extends({
349
+ key: key
350
+ }, itemProps), content, /*#__PURE__*/React.createElement(Ripple, null));
351
+ };
311
352
  var createGroupChildren = function createGroupChildren(optionGroup, i, style) {
312
353
  var groupChildren = props.getOptionGroupChildren(optionGroup);
313
354
  return groupChildren.map(function (item, j) {
314
355
  var key = i + '_' + j;
315
- var selected = props.selectedItem === item;
316
- var content = props.itemTemplate ? ObjectUtils.getJSXElement(props.itemTemplate, item, j) : props.field ? ObjectUtils.resolveFieldData(item, props.field) : item;
317
356
  var itemProps = mergeProps({
318
- role: 'option',
319
- className: cx('item', {
320
- optionGroupLabel: props.optionGroupLabel,
321
- suggestion: item
322
- }),
323
- style: style,
324
- onClick: function onClick(e) {
325
- return props.onItemClick(e, item);
326
- },
327
- 'aria-selected': selected,
328
357
  'data-group': i,
329
358
  'data-index': j,
330
359
  'data-p-disabled': item.disabled
331
- }, getPTOptions(item, 'item'));
332
- return /*#__PURE__*/React.createElement("li", _extends({
333
- key: key
334
- }, itemProps), content, /*#__PURE__*/React.createElement(Ripple, null));
360
+ });
361
+ return createListItem(item, key, j, itemProps);
335
362
  });
336
363
  };
337
364
  var createItem = function createItem(suggestion, index) {
@@ -340,40 +367,55 @@ var AutoCompletePanel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(f
340
367
  height: scrollerOptions.props ? scrollerOptions.props.itemSize : undefined
341
368
  };
342
369
  if (props.optionGroupLabel) {
343
- var content = props.optionGroupTemplate ? ObjectUtils.getJSXElement(props.optionGroupTemplate, suggestion, index) : props.getOptionGroupLabel(suggestion);
344
- var childrenContent = createGroupChildren(suggestion, index, style);
345
- var key = index + '_' + getOptionGroupRenderKey(suggestion);
346
- var itemGroupProps = mergeProps({
347
- className: cx('itemGroup'),
348
- style: style,
349
- 'data-p-highlight': false
350
- }, _ptm('itemGroup'));
351
- return /*#__PURE__*/React.createElement(React.Fragment, {
352
- key: key
353
- }, /*#__PURE__*/React.createElement("li", itemGroupProps, content), childrenContent);
370
+ if (props.virtualScrollerOptions) {
371
+ var keyIndex = findKeyIndex(props.suggestions, props.optionGroupLabel, suggestion);
372
+ if (keyIndex !== -1) {
373
+ latestKey.current = {
374
+ key: suggestion,
375
+ index: index,
376
+ keyIndex: keyIndex
377
+ };
378
+ var key = index + '_' + getOptionGroupRenderKey(suggestion);
379
+ return createLabelItem(suggestion, key, index, {
380
+ style: style
381
+ });
382
+ } else {
383
+ var _key = index + '_' + latestKey.current.keyIndex;
384
+ var itemProps = mergeProps({
385
+ style: style,
386
+ 'data-group': latestKey.current.keyIndex,
387
+ 'data-index': index - latestKey.current.index - 1,
388
+ 'data-p-disabled': suggestion.disabled
389
+ });
390
+ return createListItem(suggestion, _key, index, itemProps);
391
+ }
392
+ } else {
393
+ var childrenContent = createGroupChildren(suggestion, index);
394
+ var _key2 = index + '_' + getOptionGroupRenderKey(suggestion);
395
+ return /*#__PURE__*/React.createElement(React.Fragment, {
396
+ key: _key2
397
+ }, createLabelItem(suggestion, undefined, index, {
398
+ style: style
399
+ }), childrenContent);
400
+ }
354
401
  } else {
355
- var _content = props.itemTemplate ? ObjectUtils.getJSXElement(props.itemTemplate, suggestion, index) : props.field ? ObjectUtils.resolveFieldData(suggestion, props.field) : suggestion;
356
- var itemProps = mergeProps({
357
- index: index,
358
- role: 'option',
359
- className: cx('item', {
360
- suggestion: suggestion
361
- }),
402
+ var _itemProps = mergeProps({
362
403
  style: style,
363
- onClick: function onClick(e) {
364
- return props.onItemClick(e, suggestion);
365
- },
366
- 'aria-selected': props.selectedItem.current === suggestion,
367
404
  'data-p-disabled': suggestion.disabled
368
405
  }, getPTOptions(suggestion, 'item'));
369
- return /*#__PURE__*/React.createElement("li", _extends({
370
- key: index
371
- }, itemProps), _content, /*#__PURE__*/React.createElement(Ripple, null));
406
+ return createListItem(suggestion, index, _itemProps);
372
407
  }
373
408
  };
374
409
  var createItems = function createItems() {
375
410
  return props.suggestions ? props.suggestions.map(createItem) : null;
376
411
  };
412
+ var flattenGroupedItems = function flattenGroupedItems(items) {
413
+ try {
414
+ return items === null || items === void 0 ? void 0 : items.map(function (item) {
415
+ return [item === null || item === void 0 ? void 0 : item[props === null || props === void 0 ? void 0 : props.optionGroupLabel]].concat(_toConsumableArray(item === null || item === void 0 ? void 0 : item[props === null || props === void 0 ? void 0 : props.optionGroupChildren]));
416
+ }).flat();
417
+ } catch (e) {}
418
+ };
377
419
  var createContent = function createContent() {
378
420
  if (props.showEmptyMessage && ObjectUtils.isEmpty(props.suggestions)) {
379
421
  var emptyMessage = props.emptyMessage || localeOption('emptyMessage');
@@ -386,12 +428,13 @@ var AutoCompletePanel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(f
386
428
  return /*#__PURE__*/React.createElement("ul", listProps, /*#__PURE__*/React.createElement("li", emptyMessageProps, emptyMessage));
387
429
  }
388
430
  if (props.virtualScrollerOptions) {
431
+ var items = props.suggestions ? props.optionGroupLabel ? flattenGroupedItems(props === null || props === void 0 ? void 0 : props.suggestions) : props.suggestions : null;
389
432
  var virtualScrollerProps = _objectSpread$1(_objectSpread$1({}, props.virtualScrollerOptions), {
390
433
  style: _objectSpread$1(_objectSpread$1({}, props.virtualScrollerOptions.style), {
391
434
  height: props.scrollHeight
392
435
  }),
393
436
  autoSize: true,
394
- items: props.suggestions,
437
+ items: items,
395
438
  itemTemplate: function itemTemplate(item, options) {
396
439
  return item && createItem(item, options.index, options);
397
440
  },
@@ -418,7 +461,7 @@ var AutoCompletePanel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(f
418
461
  }
419
462
  }));
420
463
  } else {
421
- var items = createItems();
464
+ var _items = createItems();
422
465
  var _listProps = mergeProps({
423
466
  id: props.listId,
424
467
  className: cx('list'),
@@ -430,7 +473,7 @@ var AutoCompletePanel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(f
430
473
  maxHeight: props.scrollHeight || 'auto'
431
474
  }
432
475
  }, _ptm('listWrapper'));
433
- return /*#__PURE__*/React.createElement("div", listWrapperProps, /*#__PURE__*/React.createElement("ul", _listProps, items));
476
+ return /*#__PURE__*/React.createElement("div", listWrapperProps, /*#__PURE__*/React.createElement("ul", _listProps, _items));
434
477
  }
435
478
  };
436
479
  var createElement = function createElement() {
@@ -605,7 +648,7 @@ var AutoComplete = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
605
648
  };
606
649
  var updateModel = function updateModel(event, value) {
607
650
  // #2176 only call change if value actually changed
608
- if (selectedItem && ObjectUtils.deepEquals(selectedItem.current, value)) {
651
+ if (selectedItem.current && ObjectUtils.deepEquals(selectedItem.current, value)) {
609
652
  return;
610
653
  }
611
654
  if (props.onChange) {
@@ -1000,6 +1043,7 @@ var AutoComplete = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
1000
1043
  }, tokenProps), /*#__PURE__*/React.createElement("span", tokenLabelProps, formatValue(val)), removeTokenIcon);
1001
1044
  });
1002
1045
  }
1046
+ selectedItem.current = null;
1003
1047
  return null;
1004
1048
  };
1005
1049
  var createMultiInput = function createMultiInput(allowMoreValues) {
@@ -1 +1 @@
1
- import*as e from"react";import t,{PrimeReactContext as n,localeOption as o}from"primereact/api";import{Button as r}from"primereact/button";import{ComponentBase as l,useHandleStyle as i}from"primereact/componentbase";import{useMergeProps as a,useOverlayListener as u,useMountEffect as p,useUpdateEffect as c,useUnmountEffect as s}from"primereact/hooks";import{ChevronDownIcon as m}from"primereact/icons/chevrondown";import{SpinnerIcon as d}from"primereact/icons/spinner";import{TimesCircleIcon as f}from"primereact/icons/timescircle";import{InputText as g}from"primereact/inputtext";import{OverlayService as v}from"primereact/overlayservice";import{Tooltip as y}from"primereact/tooltip";import{classNames as b,ObjectUtils as h,UniqueComponentId as w,DomHandler as E,ZIndexUtils as x,IconUtils as C}from"primereact/utils";import{CSSTransition as O}from"primereact/csstransition";import{Portal as S}from"primereact/portal";import{Ripple as k}from"primereact/ripple";import{VirtualScroller as I}from"primereact/virtualscroller";function N(e){return N="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},N(e)}function D(e,t){if("object"!==N(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!==N(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function T(e){var t=D(e,"string");return"symbol"===N(t)?t:String(t)}function P(e,t,n){return(t=T(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function j(){return j=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},j.apply(this,arguments)}function A(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function M(e){if(Array.isArray(e))return A(e)}function L(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function F(e,t){if(e){if("string"==typeof e)return A(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)?A(e,t):void 0}}function G(){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 R(e){if(Array.isArray(e))return e}function _(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o,r,l,i,a=[],u=!0,p=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(o=l.call(n)).done)&&(a.push(o.value),a.length!==t);u=!0);}catch(e){p=!0,r=e}finally{try{if(!u&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(p)throw r}}return a}}function K(){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 U(e,t){return R(e)||_(e,t)||F(e,t)||K()}var H=l.extend({defaultProps:{__TYPE:"AutoComplete",id:null,appendTo:null,autoFocus:!1,autoHighlight:!1,className:null,completeMethod:null,delay:300,disabled:!1,dropdown:!1,dropdownAriaLabel:null,dropdownAutoFocus:!0,dropdownIcon:null,dropdownMode:"blank",emptyMessage:null,field:null,forceSelection:!1,inputClassName:null,inputId:null,inputRef:null,inputStyle:null,itemTemplate:null,loadingIcon:null,maxLength:null,minLength:1,multiple:!1,name:null,onBlur:null,onChange:null,onClear:null,onClick:null,onContextMenu:null,onDblClick:null,onDropdownClick:null,onFocus:null,onHide:null,onKeyPress:null,onKeyUp:null,onMouseDown:null,onSelect:null,onShow:null,onUnselect:null,optionGroupChildren:null,optionGroupLabel:null,optionGroupTemplate:null,panelClassName:null,panelFooterTemplate:null,panelStyle:null,placeholder:null,readOnly:!1,removeTokenIcon:null,scrollHeight:"200px",selectedItemTemplate:null,selectionLimit:null,showEmptyMessage:!1,size:null,style:null,suggestions:null,tabIndex:null,tooltip:null,tooltipOptions:null,transitionOptions:null,type:"text",value:null,virtualScrollerOptions:null,children:void 0},css:{classes:{root:function(e){var t=e.props;return b("p-autocomplete p-component p-inputwrapper",{"p-autocomplete-dd":t.dropdown,"p-autocomplete-multiple":t.multiple,"p-inputwrapper-filled":t.value,"p-inputwrapper-focus":e.focusedState})},container:function(e){return b("p-autocomplete-multiple-container p-component p-inputtext",{"p-disabled":e.props.disabled})},loadingIcon:"p-autocomplete-loader",dropdownButton:"p-autocomplete-dropdown",removeTokenIcon:"p-autocomplete-token-icon",token:"p-autocomplete-token p-highlight",tokenLabel:"p-autocomplete-token-label",inputToken:"p-autocomplete-input-token",input:function(e){return b("p-autocomplete-input",{"p-autocomplete-dd-input":e.props.dropdown})},panel:function(e){var n=e.context;return b("p-autocomplete-panel p-component",{"p-input-filled":n&&"filled"===n.inputStyle||"filled"===t.inputStyle,"p-ripple-disabled":n&&!1===n.ripple||!1===t.ripple})},listWrapper:"p-autocomplete-items-wrapper",list:function(e){return e.virtualScrollerOptions?b("p-autocomplete-items",e.options.className):"p-autocomplete-items"},emptyMessage:"p-autocomplete-item",item:function(e){var t=e.suggestion;return b("p-autocomplete-item",{"p-disabled":t.disabled})},itemGroup:"p-autocomplete-item-group",footer:"p-autocomplete-footer",transition:"p-connected-overlay"},styles:"\n@layer primereact {\n .p-autocomplete {\n display: inline-flex;\n position: relative;\n }\n \n .p-autocomplete-loader {\n position: absolute;\n top: 50%;\n margin-top: -.5rem;\n }\n \n .p-autocomplete-dd .p-autocomplete-input {\n flex: 1 1 auto;\n width: 1%;\n }\n \n .p-autocomplete-dd .p-autocomplete-input,\n .p-autocomplete-dd .p-autocomplete-multiple-container {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n \n .p-autocomplete-dd .p-autocomplete-dropdown {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0px;\n }\n \n .p-autocomplete .p-autocomplete-panel {\n min-width: 100%;\n }\n \n .p-autocomplete-panel {\n position: absolute;\n top: 0;\n left: 0;\n }\n \n .p-autocomplete-items {\n margin: 0;\n padding: 0;\n list-style-type: none;\n }\n \n .p-autocomplete-item {\n cursor: pointer;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n }\n \n .p-autocomplete-multiple-container {\n margin: 0;\n padding: 0;\n list-style-type: none;\n cursor: text;\n overflow: hidden;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n }\n \n .p-autocomplete-token {\n cursor: default;\n display: inline-flex;\n align-items: center;\n flex: 0 0 auto;\n }\n \n .p-autocomplete-token-icon {\n cursor: pointer;\n }\n \n .p-autocomplete-input-token {\n flex: 1 1 auto;\n display: inline-flex;\n }\n \n .p-autocomplete-input-token input {\n border: 0 none;\n outline: 0 none;\n background-color: transparent;\n margin: 0;\n padding: 0;\n box-shadow: none;\n border-radius: 0;\n width: 100%;\n }\n \n .p-fluid .p-autocomplete {\n display: flex;\n }\n \n .p-fluid .p-autocomplete-dd .p-autocomplete-input {\n width: 1%;\n }\n \n .p-autocomplete-items-wrapper {\n overflow: auto;\n } \n}\n"}});function q(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function B(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?q(Object(n),!0).forEach((function(t){P(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):q(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var z=e.memo(e.forwardRef((function(t,r){var l,i,u,p,c,s=a(),m=t.ptm,d=t.cx,f=e.useContext(n),g=function(e,n){return m(e,B({hostName:t.hostName},n))},v=function(e,n){return g(n,{context:{selected:t.selectedItem.current===e,disabled:e.disabled}})},y=function(){if(t.panelFooterTemplate){var n=h.getJSXElement(t.panelFooterTemplate,t,t.onOverlayHide),o=s({className:d("footer")},g("footer"));return e.createElement("div",o,n)}return null},w=function(n,o,r){return t.getOptionGroupChildren(n).map((function(n,l){var i=o+"_"+l,a=t.selectedItem===n,u=t.itemTemplate?h.getJSXElement(t.itemTemplate,n,l):t.field?h.resolveFieldData(n,t.field):n,p=s({role:"option",className:d("item",{optionGroupLabel:t.optionGroupLabel,suggestion:n}),style:r,onClick:function(e){return t.onItemClick(e,n)},"aria-selected":a,"data-group":o,"data-index":l,"data-p-disabled":n.disabled},v(n,"item"));return e.createElement("li",j({key:i},p),u,e.createElement(k,null))}))},E=function(n,o){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},l={height:r.props?r.props.itemSize:void 0};if(t.optionGroupLabel){var i=t.optionGroupTemplate?h.getJSXElement(t.optionGroupTemplate,n,o):t.getOptionGroupLabel(n),a=w(n,o,l),u=o+"_"+h.resolveFieldData(n,t.optionGroupLabel),p=s({className:d("itemGroup"),style:l,"data-p-highlight":!1},g("itemGroup"));return e.createElement(e.Fragment,{key:u},e.createElement("li",p,i),a)}var c=t.itemTemplate?h.getJSXElement(t.itemTemplate,n,o):t.field?h.resolveFieldData(n,t.field):n,m=s({index:o,role:"option",className:d("item",{suggestion:n}),style:l,onClick:function(e){return t.onItemClick(e,n)},"aria-selected":t.selectedItem.current===n,"data-p-disabled":n.disabled},v(n,"item"));return e.createElement("li",j({key:o},m),c,e.createElement(k,null))},x=function(){if(t.showEmptyMessage&&h.isEmpty(t.suggestions)){var n=t.emptyMessage||o("emptyMessage"),r=s({className:d("emptyMessage")},g("emptyMesage")),l=s({className:d("list")},g("list"));return e.createElement("ul",l,e.createElement("li",r,n))}if(t.virtualScrollerOptions){var i=B(B({},t.virtualScrollerOptions),{style:B(B({},t.virtualScrollerOptions.style),{height:t.scrollHeight}),autoSize:!0,items:t.suggestions,itemTemplate:function(e,t){return e&&E(e,t.index,t)},contentTemplate:function(n){var o=s({id:t.listId,ref:n.contentRef,style:n.style,className:d("list",{virtualScrollerProps:i,options:n}),role:"listbox"},g("list"));return e.createElement("ul",o,n.children)}});return e.createElement(I,j({ref:t.virtualScrollerRef},i,{pt:g("virtualScroller"),__parentMetadata:{parent:t.metaData}}))}var a=t.suggestions?t.suggestions.map(E):null,u=s({id:t.listId,className:d("list"),role:"listbox"},g("list")),p=s({className:d("listWrapper"),style:{maxHeight:t.scrollHeight||"auto"}},g("listWrapper"));return e.createElement("div",p,e.createElement("ul",u,a))},C=(l=B({},t.panelStyle||{}),i=x(),u=y(),p=s({className:b(t.panelClassName,d("panel",{context:f})),style:l,onClick:function(e){return t.onClick(e)}},g("panel")),c=s({classNames:d("transition"),in:t.in,timeout:{enter:120,exit:100},options:t.transitionOptions,unmountOnExit:!0,onEnter:t.onEnter,onEntering:t.onEntering,onEntered:t.onEntered,onExit:t.onExit,onExited:t.onExited},g("transition")),e.createElement(O,j({nodeRef:r},c),e.createElement("div",j({ref:r},p),i,u)));return e.createElement(S,{element:C,appendTo:t.appendTo})})));function J(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function X(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?J(Object(n),!0).forEach((function(t){P(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):J(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}z.displayName="AutoCompletePanel";var V=e.memo(e.forwardRef((function(l,O){var S=a(),k=e.useContext(n),I=H.getProps(l,k),N=U(e.useState(I.id),2),D=N[0],T=N[1],P=U(e.useState(!1),2),A=P[0],R=P[1],_=U(e.useState(!1),2),K=_[0],q=_[1],B=U(e.useState(!1),2),J=B[0],V=B[1],W={props:I,state:{id:D,searching:A,focused:K,overlayVisible:J}},Z=H.setMetaData(W),Y=Z.ptm,$=Z.cx,Q=Z.sx,ee=Z.isUnstyled;i(H.css.styles,ee,{name:"autocomplete"});var te=e.useRef(null),ne=e.useRef(null),oe=e.useRef(I.inputRef),re=e.useRef(null),le=e.useRef(null),ie=e.useRef(null),ae=e.useRef(null),ue=U(u({target:te,overlay:ne,listener:function(e,t){t.valid&&("outside"===t.type?!se(e)&&he():he())},when:J}),2),pe=ue[0],ce=ue[1],se=function(e){return I.multiple?e.target===re.current||re.current.contains(e.target):e.target===oe.current},me=function(e){ie.current&&clearTimeout(ie.current);var t=e.target.value;I.multiple||ge(e,t),h.isEmpty(t)?(he(),I.onClear&&I.onClear(e)):t.length>=I.minLength?ie.current=setTimeout((function(){de(e,t,"input")}),I.delay):he()},de=function(e,t,n){null!=t&&("input"===n&&0===t.trim().length||I.completeMethod&&(R(!0),I.completeMethod({originalEvent:e,query:t})))},fe=function(e,t,n){if(I.multiple){if(oe.current.value="",!Ae(t)&&Fe()){var o=I.value?[].concat(M(r=I.value)||L(r)||F(r)||G(),[t]):[t];ge(e,o)}}else ye(t),ge(e,t);var r;I.onSelect&&I.onSelect({originalEvent:e,value:t}),n||(E.focus(oe.current),he())},ge=function(e,t){ae&&h.deepEquals(ae.current,t)||(I.onChange&&I.onChange({originalEvent:e,value:t,stopPropagation:function(){e.stopPropagation()},preventDefault:function(){e.preventDefault()},target:{name:I.name,id:D,value:t}}),ae.current=h.isNotEmpty(t)?t:null)},ve=function(e){if(h.isNotEmpty(e)){if("string"==typeof e)return e;if(I.selectedItemTemplate){var t=h.getJSXElement(I.selectedItemTemplate,e);return t||e}if(I.field){var n=h.resolveFieldData(e,I.field);return null!=n?n:e}return e}return""},ye=function(e){oe.current.value=ve(e)},be=function(){V(!0)},he=function(){V(!1),R(!1)},we=function(){E.alignOverlay(ne.current,I.multiple?re.current:oe.current,I.appendTo||k&&k.appendTo||t.appendTo)},Ee=function(e){I.dropdownAutoFocus&&E.focus(oe.current,I.dropdownAutoFocus),"blank"===I.dropdownMode?de(e,"","dropdown"):"current"===I.dropdownMode&&de(e,oe.current.value,"dropdown"),I.onDropdownClick&&I.onDropdownClick({originalEvent:e,query:oe.current.value})},xe=function(e,t){var n=I.value[t],o=I.value.filter((function(e,n){return t!==n}));ge(e,o),I.onUnselect&&I.onUnselect({originalEvent:e,value:n})},Ce=function(e){if(J){var t=E.findSingle(ne.current,'li[data-p-highlight="true"]');switch(e.which){case 40:if(t){var n=Se(t);n&&(!ee()&&E.addClass(n,"p-highlight"),n.setAttribute("data-p-highlight",!0),!ee()&&E.removeClass(t,"p-highlight"),t.setAttribute("data-p-highlight",!1),E.scrollInView(Me(),n))}else t=E.findSingle(ne.current,"li"),"itemgroup"===E.getAttribute(t,"data-pc-section")&&(t=Se(t)),t&&(!ee()&&E.addClass(t,"p-highlight"),t.setAttribute("data-p-highlight",!0));e.preventDefault();break;case 38:if(t){var o=ke(t);o&&(!ee()&&E.addClass(o,"p-highlight"),o.setAttribute("data-p-highlight",!0),!ee()&&E.removeClass(t,"p-highlight"),t.setAttribute("data-p-highlight",!1),E.scrollInView(Me(),o))}e.preventDefault();break;case 13:t&&(Oe(e,t),he(),e.preventDefault());break;case 27:he(),e.preventDefault();break;case 9:t&&Oe(e,t),he()}}if(I.multiple&&8===e.which)if(I.value&&I.value.length&&!oe.current.value){var r=I.value[I.value.length-1],l=I.value.slice(0,-1);ge(e,l),I.onUnselect&&I.onUnselect({originalEvent:e,value:r})}},Oe=function(e,t){I.optionGroupLabel?fe(e,Le(I.suggestions[t.dataset.group])[t.dataset.index]):fe(e,I.suggestions[t.getAttribute("index")])},Se=function e(t){var n=t.nextElementSibling;return n?"itemgroup"===E.getAttribute(n,"data-pc-section")?e(n):n:null},ke=function e(t){var n=t.previousElementSibling;return n?"itemgroup"===E.getAttribute(n,"data-pc-section")?e(n):n:null},Ie=function(e){q(!0),I.onFocus&&I.onFocus(e)},Ne=function(e){if(I.multiple)oe.current.value="";else{var t=h.trim(e.target.value),n=(I.suggestions||[]).find((function(e){var n=I.field?h.resolveFieldData(e,I.field):e;return n&&t===h.trim(n)}));n?fe(e,n,!0):(oe.current.value="",ge(e,null),I.onClear&&I.onClear(e))}},De=function(e){q(!1),I.forceSelection&&Ne(e),I.onBlur&&I.onBlur(e)},Te=function(e){E.focus(oe.current),I.onClick&&I.onClick(e)},Pe=function(e){Ie(e),!ee()&&E.addClass(re.current,"p-focus"),re.current.setAttribute("data-p-focus",!0)},je=function(e){De(e),!ee()&&E.removeClass(re.current,"p-focus"),re.current.setAttribute("data-p-focus",!1)},Ae=function(e){return!!I.value&&I.value.some((function(t){return h.equals(t,e)}))},Me=function(){return ne.current.firstChild},Le=function(e){return h.resolveFieldData(e,I.optionGroupChildren)},Fe=function(){return!I.value||!I.selectionLimit||I.value.length<I.selectionLimit};e.useEffect((function(){h.combinedRefs(oe,I.inputRef)}),[oe,I.inputRef]),p((function(){D||T(w()),I.autoFocus&&E.focus(oe.current,I.autoFocus),we()})),c((function(){A&&(h.isNotEmpty(I.suggestions)||I.showEmptyMessage?be():he(),R(!1))}),[I.suggestions]),c((function(){oe.current&&!I.multiple&&ye(I.value),J&&we()})),s((function(){ie.current&&clearTimeout(ie.current),x.clear(ne.current)})),e.useImperativeHandle(O,(function(){return{props:I,search:de,show:be,hide:he,focus:function(){return E.focus(oe.current)},getElement:function(){return te.current},getOverlay:function(){return ne.current},getInput:function(){return oe.current},getVirtualScroller:function(){return le.current}}}));var Ge,Re=function(t){var n=J?D+"_list":null,o=S({className:$("inputToken")},Y("inputToken")),r=S(X({id:I.inputId,ref:oe,"aria-autocomplete":"list","aria-controls":n,"aria-expanded":J,"aria-haspopup":"listbox",autoComplete:"off",className:I.inputClassName,disabled:I.disabled,maxLength:I.maxLength,name:I.name,onBlur:je,onChange:t?me:void 0,onFocus:Pe,onKeyDown:t?Ce:void 0,onKeyPress:I.onKeyPress,onKeyUp:I.onKeyUp,placeholder:t?I.placeholder:void 0,readOnly:I.readOnly||!t,required:I.required,role:"combobox",style:I.inputStyle,tabIndex:I.tabIndex,type:I.type},qe),Y("input"));return e.createElement("li",o,e.createElement("input",r))},_e=function(){var t=Fe(),n=h.isNotEmpty(I.value)?I.value.map((function(t,n){var o=n+"multi-item",r=S({className:$("removeTokenIcon"),onClick:function(e){return xe(e,n)}},Y("removeTokenIcon")),l=!I.disabled&&C.getJSXIcon(I.removeTokenIcon||e.createElement(f,r),X({},r),{props:I}),i=S({className:$("token")},Y("token")),a=S({className:$("tokenLabel")},Y("tokenLabel"));return e.createElement("li",j({key:o},i),e.createElement("span",a,ve(t)),l)})):null,o=Re(t),r=S({ref:re,className:$("container"),onClick:t?Te:void 0,onContextMenu:I.onContextMenu,onMouseDown:I.onMouseDown,onDoubleClick:I.onDblClick,"data-p-focus":K,"data-p-disabled":I.disabled},Y("container"));return e.createElement("ul",r,n,o)},Ke=D+"_list",Ue=h.isNotEmpty(I.tooltip),He=H.getOtherProps(I),qe=h.reduceKeys(He,E.ARIA_PROPS),Be=function(){if(A){var t=S({className:$("loadingIcon")},Y("loadingIcon")),n=I.loadingIcon||e.createElement(d,j({},t,{spin:!0}));return C.getJSXIcon(n,X({},t),{props:I})}return null}(),ze=I.multiple?_e():(Ge=ve(I.value),e.createElement(g,j({ref:oe,id:I.inputId,type:I.type,name:I.name,defaultValue:Ge,role:"combobox","aria-autocomplete":"list","aria-controls":J?D+"_list":null,"aria-haspopup":"listbox","aria-expanded":J,className:b(I.inputClassName,$("input")),style:I.inputStyle,autoComplete:"off",readOnly:I.readOnly,required:I.required,disabled:I.disabled,placeholder:I.placeholder,size:I.size,maxLength:I.maxLength,tabIndex:I.tabIndex,onBlur:De,onFocus:Ie,onChange:me,onMouseDown:I.onMouseDown,onKeyUp:I.onKeyUp,onKeyDown:Ce,onKeyPress:I.onKeyPress,onContextMenu:I.onContextMenu,onClick:I.onClick,onDoubleClick:I.onDblClick,pt:Y("input")},qe,{__parentMetadata:{parent:W}}))),Je=function(){if(I.dropdown){var t=I.dropdownAriaLabel||I.placeholder||o("choose");return e.createElement(r,{type:"button",icon:I.dropdownIcon||e.createElement(m,null),className:$("dropdownButton"),disabled:I.disabled,onClick:Ee,"aria-label":t,pt:Y("dropdownButton"),__parentMetadata:{parent:W}})}return null}(),Xe=S({id:D,ref:te,style:I.style,className:b(I.className,$("root",{focusedState:K}))},He,Y("root"));return e.createElement(e.Fragment,null,e.createElement("span",Xe,ze,Be,Je,e.createElement(z,j({hostName:"AutoComplete",ref:ne,virtualScrollerRef:le},I,{listId:Ke,onItemClick:fe,selectedItem:ae,onClick:function(e){v.emit("overlay-click",{originalEvent:e,target:te.current})},getOptionGroupLabel:function(e){return I.optionGroupLabel?h.resolveFieldData(e,I.optionGroupLabel):e},getOptionGroupChildren:Le,in:J,onEnter:function(){x.set("overlay",ne.current,k&&k.autoZIndex||t.autoZIndex,k&&k.zIndex.overlay||t.zIndex.overlay),E.addStyles(ne.current,{position:"absolute",top:"0",left:"0"}),we()},onEntering:function(){if(I.autoHighlight&&I.suggestions&&I.suggestions.length){var e=Me().firstChild.firstChild;e&&(!ee()&&E.addClass(e,"p-highlight"),e.setAttribute("data-p-highlight",!0))}},onEntered:function(){pe(),I.onShow&&I.onShow()},onExit:function(){ce()},onExited:function(){x.clear(ne.current),I.onHide&&I.onHide()},ptm:Y,cx:$,sx:Q}))),Ue&&e.createElement(y,j({target:te,content:I.tooltip,pt:Y("tooltip")},I.tooltipOptions)))})));V.displayName="AutoComplete";export{V as AutoComplete};
1
+ import*as e from"react";import t,{PrimeReactContext as n,localeOption as o}from"primereact/api";import{Button as r}from"primereact/button";import{ComponentBase as l,useHandleStyle as i}from"primereact/componentbase";import{useMergeProps as a,useOverlayListener as u,useMountEffect as p,useUpdateEffect as c,useUnmountEffect as s}from"primereact/hooks";import{ChevronDownIcon as d}from"primereact/icons/chevrondown";import{SpinnerIcon as m}from"primereact/icons/spinner";import{TimesCircleIcon as f}from"primereact/icons/timescircle";import{InputText as g}from"primereact/inputtext";import{OverlayService as v}from"primereact/overlayservice";import{Tooltip as y}from"primereact/tooltip";import{classNames as b,ObjectUtils as h,UniqueComponentId as w,DomHandler as x,ZIndexUtils as E,IconUtils as O}from"primereact/utils";import{CSSTransition as C}from"primereact/csstransition";import{Portal as S}from"primereact/portal";import{Ripple as k}from"primereact/ripple";import{VirtualScroller as I}from"primereact/virtualscroller";function N(e){return N="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},N(e)}function D(e,t){if("object"!==N(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!==N(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function P(e){var t=D(e,"string");return"symbol"===N(t)?t:String(t)}function T(e,t,n){return(t=P(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function j(){return j=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},j.apply(this,arguments)}function A(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function M(e){if(Array.isArray(e))return A(e)}function L(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function G(e,t){if(e){if("string"==typeof e)return A(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)?A(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 R(e){return M(e)||L(e)||G(e)||F()}function _(e){if(Array.isArray(e))return e}function K(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o,r,l,i,a=[],u=!0,p=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(o=l.call(n)).done)&&(a.push(o.value),a.length!==t);u=!0);}catch(e){p=!0,r=e}finally{try{if(!u&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(p)throw r}}return a}}function U(){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 H(e,t){return _(e)||K(e,t)||G(e,t)||U()}var q=l.extend({defaultProps:{__TYPE:"AutoComplete",id:null,appendTo:null,autoFocus:!1,autoHighlight:!1,className:null,completeMethod:null,delay:300,disabled:!1,dropdown:!1,dropdownAriaLabel:null,dropdownAutoFocus:!0,dropdownIcon:null,dropdownMode:"blank",emptyMessage:null,field:null,forceSelection:!1,inputClassName:null,inputId:null,inputRef:null,inputStyle:null,invalid:!1,itemTemplate:null,loadingIcon:null,maxLength:null,minLength:1,multiple:!1,name:null,onBlur:null,onChange:null,onClear:null,onClick:null,onContextMenu:null,onDblClick:null,onDropdownClick:null,onFocus:null,onHide:null,onKeyPress:null,onKeyUp:null,onMouseDown:null,onSelect:null,onShow:null,onUnselect:null,optionGroupChildren:null,optionGroupLabel:null,optionGroupTemplate:null,panelClassName:null,panelFooterTemplate:null,panelStyle:null,placeholder:null,readOnly:!1,removeTokenIcon:null,scrollHeight:"200px",selectedItemTemplate:null,selectionLimit:null,showEmptyMessage:!1,size:null,style:null,suggestions:null,tabIndex:null,tooltip:null,tooltipOptions:null,transitionOptions:null,type:"text",value:null,virtualScrollerOptions:null,children:void 0},css:{classes:{root:function(e){var t=e.props;return b("p-autocomplete p-component p-inputwrapper",{"p-autocomplete-dd":t.dropdown,"p-autocomplete-multiple":t.multiple,"p-inputwrapper-filled":t.value,"p-invalid":t.invalid,"p-inputwrapper-focus":e.focusedState})},container:function(e){return b("p-autocomplete-multiple-container p-component p-inputtext",{"p-disabled":e.props.disabled})},loadingIcon:"p-autocomplete-loader",dropdownButton:"p-autocomplete-dropdown",removeTokenIcon:"p-autocomplete-token-icon",token:"p-autocomplete-token p-highlight",tokenLabel:"p-autocomplete-token-label",inputToken:"p-autocomplete-input-token",input:function(e){return b("p-autocomplete-input",{"p-autocomplete-dd-input":e.props.dropdown})},panel:function(e){var n=e.context;return b("p-autocomplete-panel p-component",{"p-input-filled":n&&"filled"===n.inputStyle||"filled"===t.inputStyle,"p-ripple-disabled":n&&!1===n.ripple||!1===t.ripple})},listWrapper:"p-autocomplete-items-wrapper",list:function(e){return e.virtualScrollerOptions?b("p-autocomplete-items",e.options.className):"p-autocomplete-items"},emptyMessage:"p-autocomplete-item",item:function(e){var t=e.suggestion;return b("p-autocomplete-item",{"p-disabled":t.disabled})},itemGroup:"p-autocomplete-item-group",footer:"p-autocomplete-footer",transition:"p-connected-overlay"},styles:"\n@layer primereact {\n .p-autocomplete {\n display: inline-flex;\n position: relative;\n }\n \n .p-autocomplete-loader {\n position: absolute;\n top: 50%;\n margin-top: -.5rem;\n }\n \n .p-autocomplete-dd .p-autocomplete-input {\n flex: 1 1 auto;\n width: 1%;\n }\n \n .p-autocomplete-dd .p-autocomplete-input,\n .p-autocomplete-dd .p-autocomplete-multiple-container {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n \n .p-autocomplete-dd .p-autocomplete-dropdown {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0px;\n }\n \n .p-autocomplete .p-autocomplete-panel {\n min-width: 100%;\n }\n \n .p-autocomplete-panel {\n position: absolute;\n top: 0;\n left: 0;\n }\n \n .p-autocomplete-items {\n margin: 0;\n padding: 0;\n list-style-type: none;\n }\n \n .p-autocomplete-item {\n cursor: pointer;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n }\n \n .p-autocomplete-multiple-container {\n margin: 0;\n padding: 0;\n list-style-type: none;\n cursor: text;\n overflow: hidden;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n }\n \n .p-autocomplete-token {\n cursor: default;\n display: inline-flex;\n align-items: center;\n flex: 0 0 auto;\n }\n \n .p-autocomplete-token-icon {\n cursor: pointer;\n }\n \n .p-autocomplete-input-token {\n flex: 1 1 auto;\n display: inline-flex;\n }\n \n .p-autocomplete-input-token input {\n border: 0 none;\n outline: 0 none;\n background-color: transparent;\n margin: 0;\n padding: 0;\n box-shadow: none;\n border-radius: 0;\n width: 100%;\n }\n \n .p-fluid .p-autocomplete {\n display: flex;\n }\n \n .p-fluid .p-autocomplete-dd .p-autocomplete-input {\n width: 1%;\n }\n \n .p-autocomplete-items-wrapper {\n overflow: auto;\n } \n}\n"}});function B(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function z(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){T(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}var J=e.memo(e.forwardRef((function(t,r){var l,i,u,p,c,s=a(),d=t.ptm,m=t.cx,f=e.useContext(n),g=function(e,n){return d(e,z({hostName:t.hostName},n))},v=function(e,n){return g(n,{context:{selected:t.selectedItem.current===e,disabled:e.disabled}})},y=function(e){return h.resolveFieldData(e,t.optionGroupLabel)},w=function(){if(t.panelFooterTemplate){var n=h.getJSXElement(t.panelFooterTemplate,t,t.onOverlayHide),o=s({className:m("footer")},g("footer"));return e.createElement("div",o,n)}return null},x=function(e,t,n){return e.findIndex((function(e){return e[t]===n}))},E=e.useRef({key:null,index:0,keyIndex:0}),O=function(n,o,r,l){var i=t.optionGroupTemplate?h.getJSXElement(t.optionGroupTemplate,n,r):t.getOptionGroupLabel(n)||n,a=s(z({index:r,key:o||null,className:m("itemGroup"),"data-p-highlight":!1},l),g("itemGroup"));return e.createElement("li",a,i)},N=function(n,o,r,l){var i=h.deepEquals(t.selectedItem,n),a=t.itemTemplate?h.getJSXElement(t.itemTemplate,n,r):t.field?h.resolveFieldData(n,t.field):n,u=s(z({index:r,role:"option",className:m("item",{optionGroupLabel:t.optionGroupLabel,suggestion:n}),onClick:function(e){return t.onItemClick(e,n)},"aria-selected":i},l),v(n,"item"));return e.createElement("li",j({key:o},u),a,e.createElement(k,null))},D=function(n,o){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},l={height:r.props?r.props.itemSize:void 0};if(t.optionGroupLabel){if(t.virtualScrollerOptions){var i=x(t.suggestions,t.optionGroupLabel,n);if(-1!==i){E.current={key:n,index:o,keyIndex:i};var a=o+"_"+y(n);return O(n,a,o,{style:l})}var u=o+"_"+E.current.keyIndex,p=s({style:l,"data-group":E.current.keyIndex,"data-index":o-E.current.index-1,"data-p-disabled":n.disabled});return N(n,u,o,p)}var c=(m=o,t.getOptionGroupChildren(n).map((function(e,t){var n=m+"_"+t,o=s({"data-group":m,"data-index":t,"data-p-disabled":e.disabled});return N(e,n,t,o)}))),d=o+"_"+y(n);return e.createElement(e.Fragment,{key:d},O(n,void 0,o,{style:l}),c)}var m,f=s({style:l,"data-p-disabled":n.disabled},v(n,"item"));return N(n,o,f)},P=function(e){try{return null==e?void 0:e.map((function(e){return[null==e?void 0:e[null==t?void 0:t.optionGroupLabel]].concat(R(null==e?void 0:e[null==t?void 0:t.optionGroupChildren]))})).flat()}catch(e){}},T=function(){if(t.showEmptyMessage&&h.isEmpty(t.suggestions)){var n=t.emptyMessage||o("emptyMessage"),r=s({className:m("emptyMessage")},g("emptyMesage")),l=s({className:m("list")},g("list"));return e.createElement("ul",l,e.createElement("li",r,n))}if(t.virtualScrollerOptions){var i=t.suggestions?t.optionGroupLabel?P(null==t?void 0:t.suggestions):t.suggestions:null,a=z(z({},t.virtualScrollerOptions),{style:z(z({},t.virtualScrollerOptions.style),{height:t.scrollHeight}),autoSize:!0,items:i,itemTemplate:function(e,t){return e&&D(e,t.index,t)},contentTemplate:function(n){var o=s({id:t.listId,ref:n.contentRef,style:n.style,className:m("list",{virtualScrollerProps:a,options:n}),role:"listbox"},g("list"));return e.createElement("ul",o,n.children)}});return e.createElement(I,j({ref:t.virtualScrollerRef},a,{pt:g("virtualScroller"),__parentMetadata:{parent:t.metaData}}))}var u=t.suggestions?t.suggestions.map(D):null,p=s({id:t.listId,className:m("list"),role:"listbox"},g("list")),c=s({className:m("listWrapper"),style:{maxHeight:t.scrollHeight||"auto"}},g("listWrapper"));return e.createElement("div",c,e.createElement("ul",p,u))},A=(l=z({},t.panelStyle||{}),i=T(),u=w(),p=s({className:b(t.panelClassName,m("panel",{context:f})),style:l,onClick:function(e){return t.onClick(e)}},g("panel")),c=s({classNames:m("transition"),in:t.in,timeout:{enter:120,exit:100},options:t.transitionOptions,unmountOnExit:!0,onEnter:t.onEnter,onEntering:t.onEntering,onEntered:t.onEntered,onExit:t.onExit,onExited:t.onExited},g("transition")),e.createElement(C,j({nodeRef:r},c),e.createElement("div",j({ref:r},p),i,u)));return e.createElement(S,{element:A,appendTo:t.appendTo})})));function X(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function V(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?X(Object(n),!0).forEach((function(t){T(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):X(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}J.displayName="AutoCompletePanel";var W=e.memo(e.forwardRef((function(l,C){var S=a(),k=e.useContext(n),I=q.getProps(l,k),N=H(e.useState(I.id),2),D=N[0],P=N[1],T=H(e.useState(!1),2),A=T[0],M=T[1],L=H(e.useState(!1),2),G=L[0],F=L[1],_=H(e.useState(!1),2),K=_[0],U=_[1],B={props:I,state:{id:D,searching:A,focused:G,overlayVisible:K}},z=q.setMetaData(B),X=z.ptm,W=z.cx,Z=z.sx,Y=z.isUnstyled;i(q.css.styles,Y,{name:"autocomplete"});var $=e.useRef(null),Q=e.useRef(null),ee=e.useRef(I.inputRef),te=e.useRef(null),ne=e.useRef(null),oe=e.useRef(null),re=e.useRef(null),le=H(u({target:$,overlay:Q,listener:function(e,t){t.valid&&("outside"===t.type?!ue(e)&&ve():ve())},when:K}),2),ie=le[0],ae=le[1],ue=function(e){return I.multiple?e.target===te.current||te.current.contains(e.target):e.target===ee.current},pe=function(e){oe.current&&clearTimeout(oe.current);var t=e.target.value;I.multiple||de(e,t),h.isEmpty(t)?(ve(),I.onClear&&I.onClear(e)):t.length>=I.minLength?oe.current=setTimeout((function(){ce(e,t,"input")}),I.delay):ve()},ce=function(e,t,n){null!=t&&("input"===n&&0===t.trim().length||I.completeMethod&&(M(!0),I.completeMethod({originalEvent:e,query:t})))},se=function(e,t,n){if(I.multiple){if(ee.current.value="",!Pe(t)&&Ae()){var o=I.value?[].concat(R(I.value),[t]):[t];de(e,o)}}else fe(t),de(e,t);I.onSelect&&I.onSelect({originalEvent:e,value:t}),n||(x.focus(ee.current),ve())},de=function(e,t){re.current&&h.deepEquals(re.current,t)||(I.onChange&&I.onChange({originalEvent:e,value:t,stopPropagation:function(){e.stopPropagation()},preventDefault:function(){e.preventDefault()},target:{name:I.name,id:D,value:t}}),re.current=h.isNotEmpty(t)?t:null)},me=function(e){if(h.isNotEmpty(e)){if("string"==typeof e)return e;if(I.selectedItemTemplate){var t=h.getJSXElement(I.selectedItemTemplate,e);return t||e}if(I.field){var n=h.resolveFieldData(e,I.field);return null!=n?n:e}return e}return""},fe=function(e){ee.current.value=me(e)},ge=function(){U(!0)},ve=function(){U(!1),M(!1)},ye=function(){x.alignOverlay(Q.current,I.multiple?te.current:ee.current,I.appendTo||k&&k.appendTo||t.appendTo)},be=function(e){I.dropdownAutoFocus&&x.focus(ee.current,I.dropdownAutoFocus),"blank"===I.dropdownMode?ce(e,"","dropdown"):"current"===I.dropdownMode&&ce(e,ee.current.value,"dropdown"),I.onDropdownClick&&I.onDropdownClick({originalEvent:e,query:ee.current.value})},he=function(e,t){var n=I.value[t],o=I.value.filter((function(e,n){return t!==n}));de(e,o),I.onUnselect&&I.onUnselect({originalEvent:e,value:n})},we=function(e){if(K){var t=x.findSingle(Q.current,'li[data-p-highlight="true"]');switch(e.which){case 40:if(t){var n=Ee(t);n&&(!Y()&&x.addClass(n,"p-highlight"),n.setAttribute("data-p-highlight",!0),!Y()&&x.removeClass(t,"p-highlight"),t.setAttribute("data-p-highlight",!1),x.scrollInView(Te(),n))}else t=x.findSingle(Q.current,"li"),"itemgroup"===x.getAttribute(t,"data-pc-section")&&(t=Ee(t)),t&&(!Y()&&x.addClass(t,"p-highlight"),t.setAttribute("data-p-highlight",!0));e.preventDefault();break;case 38:if(t){var o=Oe(t);o&&(!Y()&&x.addClass(o,"p-highlight"),o.setAttribute("data-p-highlight",!0),!Y()&&x.removeClass(t,"p-highlight"),t.setAttribute("data-p-highlight",!1),x.scrollInView(Te(),o))}e.preventDefault();break;case 13:t&&(xe(e,t),ve(),e.preventDefault());break;case 27:ve(),e.preventDefault();break;case 9:t&&xe(e,t),ve()}}if(I.multiple&&8===e.which)if(I.value&&I.value.length&&!ee.current.value){var r=I.value[I.value.length-1],l=I.value.slice(0,-1);de(e,l),I.onUnselect&&I.onUnselect({originalEvent:e,value:r})}},xe=function(e,t){I.optionGroupLabel?se(e,je(I.suggestions[t.dataset.group])[t.dataset.index]):se(e,I.suggestions[t.getAttribute("index")])},Ee=function e(t){var n=t.nextElementSibling;return n?"itemgroup"===x.getAttribute(n,"data-pc-section")?e(n):n:null},Oe=function e(t){var n=t.previousElementSibling;return n?"itemgroup"===x.getAttribute(n,"data-pc-section")?e(n):n:null},Ce=function(e){F(!0),I.onFocus&&I.onFocus(e)},Se=function(e){if(I.multiple)ee.current.value="";else{var t=h.trim(e.target.value),n=(I.suggestions||[]).find((function(e){var n=I.field?h.resolveFieldData(e,I.field):e;return n&&t===h.trim(n)}));n?se(e,n,!0):(ee.current.value="",de(e,null),I.onClear&&I.onClear(e))}},ke=function(e){F(!1),I.forceSelection&&Se(e),I.onBlur&&I.onBlur(e)},Ie=function(e){x.focus(ee.current),I.onClick&&I.onClick(e)},Ne=function(e){Ce(e),!Y()&&x.addClass(te.current,"p-focus"),te.current.setAttribute("data-p-focus",!0)},De=function(e){ke(e),!Y()&&x.removeClass(te.current,"p-focus"),te.current.setAttribute("data-p-focus",!1)},Pe=function(e){return!!I.value&&I.value.some((function(t){return h.equals(t,e)}))},Te=function(){return Q.current.firstChild},je=function(e){return h.resolveFieldData(e,I.optionGroupChildren)},Ae=function(){return!I.value||!I.selectionLimit||I.value.length<I.selectionLimit};e.useEffect((function(){h.combinedRefs(ee,I.inputRef)}),[ee,I.inputRef]),p((function(){D||P(w()),I.autoFocus&&x.focus(ee.current,I.autoFocus),ye()})),c((function(){A&&(h.isNotEmpty(I.suggestions)||I.showEmptyMessage?ge():ve(),M(!1))}),[I.suggestions]),c((function(){ee.current&&!I.multiple&&fe(I.value),K&&ye()})),s((function(){oe.current&&clearTimeout(oe.current),E.clear(Q.current)})),e.useImperativeHandle(C,(function(){return{props:I,search:ce,show:ge,hide:ve,focus:function(){return x.focus(ee.current)},getElement:function(){return $.current},getOverlay:function(){return Q.current},getInput:function(){return ee.current},getVirtualScroller:function(){return ne.current}}}));var Me,Le=function(t){var n=K?D+"_list":null,o=S({className:W("inputToken")},X("inputToken")),r=S(V({id:I.inputId,ref:ee,"aria-autocomplete":"list","aria-controls":n,"aria-expanded":K,"aria-haspopup":"listbox",autoComplete:"off",className:I.inputClassName,disabled:I.disabled,maxLength:I.maxLength,name:I.name,onBlur:De,onChange:t?pe:void 0,onFocus:Ne,onKeyDown:t?we:void 0,onKeyPress:I.onKeyPress,onKeyUp:I.onKeyUp,placeholder:t?I.placeholder:void 0,readOnly:I.readOnly||!t,required:I.required,role:"combobox",style:I.inputStyle,tabIndex:I.tabIndex,type:I.type},Ke),X("input"));return e.createElement("li",o,e.createElement("input",r))},Ge=function(){var t=Ae(),n=h.isNotEmpty(I.value)?I.value.map((function(t,n){var o=n+"multi-item",r=S({className:W("removeTokenIcon"),onClick:function(e){return he(e,n)}},X("removeTokenIcon")),l=!I.disabled&&O.getJSXIcon(I.removeTokenIcon||e.createElement(f,r),V({},r),{props:I}),i=S({className:W("token")},X("token")),a=S({className:W("tokenLabel")},X("tokenLabel"));return e.createElement("li",j({key:o},i),e.createElement("span",a,me(t)),l)})):(re.current=null,null),o=Le(t),r=S({ref:te,className:W("container"),onClick:t?Ie:void 0,onContextMenu:I.onContextMenu,onMouseDown:I.onMouseDown,onDoubleClick:I.onDblClick,"data-p-focus":G,"data-p-disabled":I.disabled},X("container"));return e.createElement("ul",r,n,o)},Fe=D+"_list",Re=h.isNotEmpty(I.tooltip),_e=q.getOtherProps(I),Ke=h.reduceKeys(_e,x.ARIA_PROPS),Ue=function(){if(A){var t=S({className:W("loadingIcon")},X("loadingIcon")),n=I.loadingIcon||e.createElement(m,j({},t,{spin:!0}));return O.getJSXIcon(n,V({},t),{props:I})}return null}(),He=I.multiple?Ge():(Me=me(I.value),e.createElement(g,j({ref:ee,id:I.inputId,type:I.type,name:I.name,defaultValue:Me,role:"combobox","aria-autocomplete":"list","aria-controls":K?D+"_list":null,"aria-haspopup":"listbox","aria-expanded":K,className:b(I.inputClassName,W("input")),style:I.inputStyle,autoComplete:"off",readOnly:I.readOnly,required:I.required,disabled:I.disabled,placeholder:I.placeholder,size:I.size,maxLength:I.maxLength,tabIndex:I.tabIndex,onBlur:ke,onFocus:Ce,onChange:pe,onMouseDown:I.onMouseDown,onKeyUp:I.onKeyUp,onKeyDown:we,onKeyPress:I.onKeyPress,onContextMenu:I.onContextMenu,onClick:I.onClick,onDoubleClick:I.onDblClick,pt:X("input")},Ke,{__parentMetadata:{parent:B}}))),qe=function(){if(I.dropdown){var t=I.dropdownAriaLabel||I.placeholder||o("choose");return e.createElement(r,{type:"button",icon:I.dropdownIcon||e.createElement(d,null),className:W("dropdownButton"),disabled:I.disabled,onClick:be,"aria-label":t,pt:X("dropdownButton"),__parentMetadata:{parent:B}})}return null}(),Be=S({id:D,ref:$,style:I.style,className:b(I.className,W("root",{focusedState:G}))},_e,X("root"));return e.createElement(e.Fragment,null,e.createElement("span",Be,He,Ue,qe,e.createElement(J,j({hostName:"AutoComplete",ref:Q,virtualScrollerRef:ne},I,{listId:Fe,onItemClick:se,selectedItem:re,onClick:function(e){v.emit("overlay-click",{originalEvent:e,target:$.current})},getOptionGroupLabel:function(e){return I.optionGroupLabel?h.resolveFieldData(e,I.optionGroupLabel):e},getOptionGroupChildren:je,in:K,onEnter:function(){E.set("overlay",Q.current,k&&k.autoZIndex||t.autoZIndex,k&&k.zIndex.overlay||t.zIndex.overlay),x.addStyles(Q.current,{position:"absolute",top:"0",left:"0"}),ye()},onEntering:function(){if(I.autoHighlight&&I.suggestions&&I.suggestions.length){var e=Te().firstChild.firstChild;e&&(!Y()&&x.addClass(e,"p-highlight"),e.setAttribute("data-p-highlight",!0))}},onEntered:function(){ie(),I.onShow&&I.onShow()},onExit:function(){ae()},onExited:function(){E.clear(Q.current),I.onHide&&I.onHide()},ptm:X,cx:W,sx:Z}))),Re&&e.createElement(y,j({target:$,content:I.tooltip,pt:X("tooltip")},I.tooltipOptions)))})));W.displayName="AutoComplete";export{W as AutoComplete};
@@ -160,6 +160,7 @@ this.primereact.autocomplete = (function (exports, React, PrimeReact, button, co
160
160
  'p-autocomplete-dd': props.dropdown,
161
161
  'p-autocomplete-multiple': props.multiple,
162
162
  'p-inputwrapper-filled': props.value,
163
+ 'p-invalid': props.invalid,
163
164
  'p-inputwrapper-focus': focusedState
164
165
  });
165
166
  },
@@ -232,6 +233,7 @@ this.primereact.autocomplete = (function (exports, React, PrimeReact, button, co
232
233
  inputId: null,
233
234
  inputRef: null,
234
235
  inputStyle: null,
236
+ invalid: false,
235
237
  itemTemplate: null,
236
238
  loadingIcon: null,
237
239
  maxLength: null,
@@ -317,30 +319,55 @@ this.primereact.autocomplete = (function (exports, React, PrimeReact, button, co
317
319
  }
318
320
  return null;
319
321
  };
322
+ var findKeyIndex = function findKeyIndex(array, key, value) {
323
+ return array.findIndex(function (obj) {
324
+ return obj[key] === value;
325
+ });
326
+ };
327
+ var latestKey = React__namespace.useRef({
328
+ key: null,
329
+ index: 0,
330
+ keyIndex: 0
331
+ });
332
+ var createLabelItem = function createLabelItem(item, key, index, labelItemProps) {
333
+ var content = props.optionGroupTemplate ? utils.ObjectUtils.getJSXElement(props.optionGroupTemplate, item, index) : props.getOptionGroupLabel(item) || item;
334
+ var itemGroupProps = mergeProps(_objectSpread$1({
335
+ index: index,
336
+ key: key ? key : null,
337
+ className: cx('itemGroup'),
338
+ 'data-p-highlight': false
339
+ }, labelItemProps), _ptm('itemGroup'));
340
+ return /*#__PURE__*/React__namespace.createElement("li", itemGroupProps, content);
341
+ };
342
+ var createListItem = function createListItem(item, key, index, listItemProps) {
343
+ var selected = utils.ObjectUtils.deepEquals(props.selectedItem, item);
344
+ var content = props.itemTemplate ? utils.ObjectUtils.getJSXElement(props.itemTemplate, item, index) : props.field ? utils.ObjectUtils.resolveFieldData(item, props.field) : item;
345
+ var itemProps = mergeProps(_objectSpread$1({
346
+ index: index,
347
+ role: 'option',
348
+ className: cx('item', {
349
+ optionGroupLabel: props.optionGroupLabel,
350
+ suggestion: item
351
+ }),
352
+ onClick: function onClick(e) {
353
+ return props.onItemClick(e, item);
354
+ },
355
+ 'aria-selected': selected
356
+ }, listItemProps), getPTOptions(item, 'item'));
357
+ return /*#__PURE__*/React__namespace.createElement("li", _extends({
358
+ key: key
359
+ }, itemProps), content, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null));
360
+ };
320
361
  var createGroupChildren = function createGroupChildren(optionGroup, i, style) {
321
362
  var groupChildren = props.getOptionGroupChildren(optionGroup);
322
363
  return groupChildren.map(function (item, j) {
323
364
  var key = i + '_' + j;
324
- var selected = props.selectedItem === item;
325
- var content = props.itemTemplate ? utils.ObjectUtils.getJSXElement(props.itemTemplate, item, j) : props.field ? utils.ObjectUtils.resolveFieldData(item, props.field) : item;
326
365
  var itemProps = mergeProps({
327
- role: 'option',
328
- className: cx('item', {
329
- optionGroupLabel: props.optionGroupLabel,
330
- suggestion: item
331
- }),
332
- style: style,
333
- onClick: function onClick(e) {
334
- return props.onItemClick(e, item);
335
- },
336
- 'aria-selected': selected,
337
366
  'data-group': i,
338
367
  'data-index': j,
339
368
  'data-p-disabled': item.disabled
340
- }, getPTOptions(item, 'item'));
341
- return /*#__PURE__*/React__namespace.createElement("li", _extends({
342
- key: key
343
- }, itemProps), content, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null));
369
+ });
370
+ return createListItem(item, key, j, itemProps);
344
371
  });
345
372
  };
346
373
  var createItem = function createItem(suggestion, index) {
@@ -349,40 +376,55 @@ this.primereact.autocomplete = (function (exports, React, PrimeReact, button, co
349
376
  height: scrollerOptions.props ? scrollerOptions.props.itemSize : undefined
350
377
  };
351
378
  if (props.optionGroupLabel) {
352
- var content = props.optionGroupTemplate ? utils.ObjectUtils.getJSXElement(props.optionGroupTemplate, suggestion, index) : props.getOptionGroupLabel(suggestion);
353
- var childrenContent = createGroupChildren(suggestion, index, style);
354
- var key = index + '_' + getOptionGroupRenderKey(suggestion);
355
- var itemGroupProps = mergeProps({
356
- className: cx('itemGroup'),
357
- style: style,
358
- 'data-p-highlight': false
359
- }, _ptm('itemGroup'));
360
- return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, {
361
- key: key
362
- }, /*#__PURE__*/React__namespace.createElement("li", itemGroupProps, content), childrenContent);
379
+ if (props.virtualScrollerOptions) {
380
+ var keyIndex = findKeyIndex(props.suggestions, props.optionGroupLabel, suggestion);
381
+ if (keyIndex !== -1) {
382
+ latestKey.current = {
383
+ key: suggestion,
384
+ index: index,
385
+ keyIndex: keyIndex
386
+ };
387
+ var key = index + '_' + getOptionGroupRenderKey(suggestion);
388
+ return createLabelItem(suggestion, key, index, {
389
+ style: style
390
+ });
391
+ } else {
392
+ var _key = index + '_' + latestKey.current.keyIndex;
393
+ var itemProps = mergeProps({
394
+ style: style,
395
+ 'data-group': latestKey.current.keyIndex,
396
+ 'data-index': index - latestKey.current.index - 1,
397
+ 'data-p-disabled': suggestion.disabled
398
+ });
399
+ return createListItem(suggestion, _key, index, itemProps);
400
+ }
401
+ } else {
402
+ var childrenContent = createGroupChildren(suggestion, index);
403
+ var _key2 = index + '_' + getOptionGroupRenderKey(suggestion);
404
+ return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, {
405
+ key: _key2
406
+ }, createLabelItem(suggestion, undefined, index, {
407
+ style: style
408
+ }), childrenContent);
409
+ }
363
410
  } else {
364
- var _content = props.itemTemplate ? utils.ObjectUtils.getJSXElement(props.itemTemplate, suggestion, index) : props.field ? utils.ObjectUtils.resolveFieldData(suggestion, props.field) : suggestion;
365
- var itemProps = mergeProps({
366
- index: index,
367
- role: 'option',
368
- className: cx('item', {
369
- suggestion: suggestion
370
- }),
411
+ var _itemProps = mergeProps({
371
412
  style: style,
372
- onClick: function onClick(e) {
373
- return props.onItemClick(e, suggestion);
374
- },
375
- 'aria-selected': props.selectedItem.current === suggestion,
376
413
  'data-p-disabled': suggestion.disabled
377
414
  }, getPTOptions(suggestion, 'item'));
378
- return /*#__PURE__*/React__namespace.createElement("li", _extends({
379
- key: index
380
- }, itemProps), _content, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null));
415
+ return createListItem(suggestion, index, _itemProps);
381
416
  }
382
417
  };
383
418
  var createItems = function createItems() {
384
419
  return props.suggestions ? props.suggestions.map(createItem) : null;
385
420
  };
421
+ var flattenGroupedItems = function flattenGroupedItems(items) {
422
+ try {
423
+ return items === null || items === void 0 ? void 0 : items.map(function (item) {
424
+ return [item === null || item === void 0 ? void 0 : item[props === null || props === void 0 ? void 0 : props.optionGroupLabel]].concat(_toConsumableArray(item === null || item === void 0 ? void 0 : item[props === null || props === void 0 ? void 0 : props.optionGroupChildren]));
425
+ }).flat();
426
+ } catch (e) {}
427
+ };
386
428
  var createContent = function createContent() {
387
429
  if (props.showEmptyMessage && utils.ObjectUtils.isEmpty(props.suggestions)) {
388
430
  var emptyMessage = props.emptyMessage || PrimeReact.localeOption('emptyMessage');
@@ -395,12 +437,13 @@ this.primereact.autocomplete = (function (exports, React, PrimeReact, button, co
395
437
  return /*#__PURE__*/React__namespace.createElement("ul", listProps, /*#__PURE__*/React__namespace.createElement("li", emptyMessageProps, emptyMessage));
396
438
  }
397
439
  if (props.virtualScrollerOptions) {
440
+ var items = props.suggestions ? props.optionGroupLabel ? flattenGroupedItems(props === null || props === void 0 ? void 0 : props.suggestions) : props.suggestions : null;
398
441
  var virtualScrollerProps = _objectSpread$1(_objectSpread$1({}, props.virtualScrollerOptions), {
399
442
  style: _objectSpread$1(_objectSpread$1({}, props.virtualScrollerOptions.style), {
400
443
  height: props.scrollHeight
401
444
  }),
402
445
  autoSize: true,
403
- items: props.suggestions,
446
+ items: items,
404
447
  itemTemplate: function itemTemplate(item, options) {
405
448
  return item && createItem(item, options.index, options);
406
449
  },
@@ -427,7 +470,7 @@ this.primereact.autocomplete = (function (exports, React, PrimeReact, button, co
427
470
  }
428
471
  }));
429
472
  } else {
430
- var items = createItems();
473
+ var _items = createItems();
431
474
  var _listProps = mergeProps({
432
475
  id: props.listId,
433
476
  className: cx('list'),
@@ -439,7 +482,7 @@ this.primereact.autocomplete = (function (exports, React, PrimeReact, button, co
439
482
  maxHeight: props.scrollHeight || 'auto'
440
483
  }
441
484
  }, _ptm('listWrapper'));
442
- return /*#__PURE__*/React__namespace.createElement("div", listWrapperProps, /*#__PURE__*/React__namespace.createElement("ul", _listProps, items));
485
+ return /*#__PURE__*/React__namespace.createElement("div", listWrapperProps, /*#__PURE__*/React__namespace.createElement("ul", _listProps, _items));
443
486
  }
444
487
  };
445
488
  var createElement = function createElement() {
@@ -614,7 +657,7 @@ this.primereact.autocomplete = (function (exports, React, PrimeReact, button, co
614
657
  };
615
658
  var updateModel = function updateModel(event, value) {
616
659
  // #2176 only call change if value actually changed
617
- if (selectedItem && utils.ObjectUtils.deepEquals(selectedItem.current, value)) {
660
+ if (selectedItem.current && utils.ObjectUtils.deepEquals(selectedItem.current, value)) {
618
661
  return;
619
662
  }
620
663
  if (props.onChange) {
@@ -1009,6 +1052,7 @@ this.primereact.autocomplete = (function (exports, React, PrimeReact, button, co
1009
1052
  }, tokenProps), /*#__PURE__*/React__namespace.createElement("span", tokenLabelProps, formatValue(val)), removeTokenIcon);
1010
1053
  });
1011
1054
  }
1055
+ selectedItem.current = null;
1012
1056
  return null;
1013
1057
  };
1014
1058
  var createMultiInput = function createMultiInput(allowMoreValues) {