primereact 6.5.1 → 7.0.0-rc.2

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 (680) hide show
  1. package/accordion/accordion.cjs.js +2 -0
  2. package/accordion/accordion.cjs.min.js +1 -1
  3. package/accordion/accordion.esm.js +2 -0
  4. package/accordion/accordion.esm.min.js +1 -1
  5. package/accordion/accordion.js +2 -0
  6. package/accordion/accordion.min.js +1 -1
  7. package/api/api.cjs.js +308 -10
  8. package/api/api.cjs.min.js +1 -1
  9. package/api/api.d.ts +61 -1
  10. package/api/api.esm.js +305 -11
  11. package/api/api.esm.min.js +1 -1
  12. package/api/api.js +308 -12
  13. package/api/api.min.js +1 -1
  14. package/autocomplete/autocomplete.cjs.js +3 -1
  15. package/autocomplete/autocomplete.cjs.min.js +1 -1
  16. package/autocomplete/autocomplete.esm.js +3 -1
  17. package/autocomplete/autocomplete.esm.min.js +1 -1
  18. package/autocomplete/autocomplete.js +3 -1
  19. package/autocomplete/autocomplete.min.js +1 -1
  20. package/avatar/avatar.cjs.js +2 -0
  21. package/avatar/avatar.cjs.min.js +1 -1
  22. package/avatar/avatar.esm.js +2 -0
  23. package/avatar/avatar.esm.min.js +1 -1
  24. package/avatar/avatar.js +2 -0
  25. package/avatar/avatar.min.js +1 -1
  26. package/avatargroup/avatargroup.cjs.js +2 -0
  27. package/avatargroup/avatargroup.cjs.min.js +1 -1
  28. package/avatargroup/avatargroup.esm.js +2 -0
  29. package/avatargroup/avatargroup.esm.min.js +1 -1
  30. package/avatargroup/avatargroup.js +2 -0
  31. package/avatargroup/avatargroup.min.js +1 -1
  32. package/badge/badge.cjs.js +2 -0
  33. package/badge/badge.cjs.min.js +1 -1
  34. package/badge/badge.esm.js +2 -0
  35. package/badge/badge.esm.min.js +1 -1
  36. package/badge/badge.js +2 -0
  37. package/badge/badge.min.js +1 -1
  38. package/blockui/blockui.cjs.js +9 -15
  39. package/blockui/blockui.cjs.min.js +1 -1
  40. package/blockui/blockui.esm.js +9 -15
  41. package/blockui/blockui.esm.min.js +1 -1
  42. package/blockui/blockui.js +9 -15
  43. package/blockui/blockui.min.css +1 -1
  44. package/blockui/blockui.min.js +1 -1
  45. package/breadcrumb/breadcrumb.cjs.js +2 -0
  46. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  47. package/breadcrumb/breadcrumb.esm.js +2 -0
  48. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  49. package/breadcrumb/breadcrumb.js +2 -0
  50. package/breadcrumb/breadcrumb.min.css +1 -1
  51. package/breadcrumb/breadcrumb.min.js +1 -1
  52. package/button/button.cjs.js +2 -0
  53. package/button/button.cjs.min.js +1 -1
  54. package/button/button.esm.js +2 -0
  55. package/button/button.esm.min.js +1 -1
  56. package/button/button.js +2 -0
  57. package/button/button.min.js +1 -1
  58. package/calendar/calendar.cjs.js +85 -67
  59. package/calendar/calendar.cjs.min.js +1 -1
  60. package/calendar/calendar.esm.js +85 -67
  61. package/calendar/calendar.esm.min.js +1 -1
  62. package/calendar/calendar.js +85 -67
  63. package/calendar/calendar.min.js +1 -1
  64. package/captcha/captcha.cjs.js +2 -0
  65. package/captcha/captcha.cjs.min.js +1 -1
  66. package/captcha/captcha.esm.js +2 -0
  67. package/captcha/captcha.esm.min.js +1 -1
  68. package/captcha/captcha.js +2 -0
  69. package/captcha/captcha.min.js +1 -1
  70. package/card/card.cjs.js +2 -0
  71. package/card/card.cjs.min.js +1 -1
  72. package/card/card.esm.js +2 -0
  73. package/card/card.esm.min.js +1 -1
  74. package/card/card.js +2 -0
  75. package/card/card.min.js +1 -1
  76. package/carousel/carousel.cjs.js +2 -0
  77. package/carousel/carousel.cjs.min.js +1 -1
  78. package/carousel/carousel.esm.js +3 -1
  79. package/carousel/carousel.esm.min.js +1 -1
  80. package/carousel/carousel.js +2 -0
  81. package/carousel/carousel.min.js +1 -1
  82. package/cascadeselect/cascadeselect.cjs.js +2 -0
  83. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  84. package/cascadeselect/cascadeselect.esm.js +2 -0
  85. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  86. package/cascadeselect/cascadeselect.js +2 -0
  87. package/cascadeselect/cascadeselect.min.js +1 -1
  88. package/chart/chart.cjs.js +2 -0
  89. package/chart/chart.cjs.min.js +1 -1
  90. package/chart/chart.esm.js +2 -0
  91. package/chart/chart.esm.min.js +1 -1
  92. package/chart/chart.js +2 -0
  93. package/chart/chart.min.js +1 -1
  94. package/checkbox/checkbox.cjs.js +19 -9
  95. package/checkbox/checkbox.cjs.min.js +1 -1
  96. package/checkbox/checkbox.d.ts +3 -1
  97. package/checkbox/checkbox.esm.js +19 -9
  98. package/checkbox/checkbox.esm.min.js +1 -1
  99. package/checkbox/checkbox.js +19 -9
  100. package/checkbox/checkbox.min.css +1 -1
  101. package/checkbox/checkbox.min.js +1 -1
  102. package/chip/chip.cjs.js +2 -0
  103. package/chip/chip.cjs.min.js +1 -1
  104. package/chip/chip.esm.js +2 -0
  105. package/chip/chip.esm.min.js +1 -1
  106. package/chip/chip.js +2 -0
  107. package/chip/chip.min.js +1 -1
  108. package/chips/chips.cjs.js +2 -0
  109. package/chips/chips.cjs.min.js +1 -1
  110. package/chips/chips.esm.js +2 -0
  111. package/chips/chips.esm.min.js +1 -1
  112. package/chips/chips.js +2 -0
  113. package/chips/chips.min.js +1 -1
  114. package/colorpicker/colorpicker.cjs.js +2 -0
  115. package/colorpicker/colorpicker.cjs.min.js +1 -1
  116. package/colorpicker/colorpicker.esm.js +2 -0
  117. package/colorpicker/colorpicker.esm.min.js +1 -1
  118. package/colorpicker/colorpicker.js +2 -0
  119. package/colorpicker/colorpicker.min.js +1 -1
  120. package/column/column.cjs.js +34 -9
  121. package/column/column.cjs.min.js +1 -1
  122. package/column/column.d.ts +146 -13
  123. package/column/column.esm.js +34 -9
  124. package/column/column.esm.min.js +1 -1
  125. package/column/column.js +34 -9
  126. package/column/column.min.js +1 -1
  127. package/columngroup/columngroup.cjs.js +2 -0
  128. package/columngroup/columngroup.cjs.min.js +1 -1
  129. package/columngroup/columngroup.esm.js +2 -0
  130. package/columngroup/columngroup.esm.min.js +1 -1
  131. package/columngroup/columngroup.js +2 -0
  132. package/columngroup/columngroup.min.js +1 -1
  133. package/common/common.min.css +1 -1
  134. package/confirmdialog/confirmdialog.cjs.js +2 -0
  135. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  136. package/confirmdialog/confirmdialog.esm.js +2 -0
  137. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  138. package/confirmdialog/confirmdialog.js +2 -0
  139. package/confirmdialog/confirmdialog.min.js +1 -1
  140. package/confirmpopup/confirmpopup.cjs.js +2 -0
  141. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  142. package/confirmpopup/confirmpopup.esm.js +2 -0
  143. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  144. package/confirmpopup/confirmpopup.js +2 -0
  145. package/confirmpopup/confirmpopup.min.js +1 -1
  146. package/contextmenu/contextmenu.cjs.js +2 -0
  147. package/contextmenu/contextmenu.cjs.min.js +1 -1
  148. package/contextmenu/contextmenu.esm.js +3 -1
  149. package/contextmenu/contextmenu.esm.min.js +1 -1
  150. package/contextmenu/contextmenu.js +2 -0
  151. package/contextmenu/contextmenu.min.js +1 -1
  152. package/core/core.cjs.js +346 -434
  153. package/core/core.cjs.min.js +1 -1
  154. package/core/core.esm.js +347 -434
  155. package/core/core.esm.min.js +1 -1
  156. package/core/core.js +346 -434
  157. package/core/core.min.js +1 -1
  158. package/csstransition/csstransition.cjs.js +2 -0
  159. package/csstransition/csstransition.cjs.min.js +1 -1
  160. package/csstransition/csstransition.esm.js +2 -0
  161. package/csstransition/csstransition.esm.min.js +1 -1
  162. package/csstransition/csstransition.js +2 -0
  163. package/csstransition/csstransition.min.js +1 -1
  164. package/datascroller/datascroller.cjs.js +6 -1
  165. package/datascroller/datascroller.cjs.min.js +1 -1
  166. package/datascroller/datascroller.esm.js +6 -1
  167. package/datascroller/datascroller.esm.min.js +1 -1
  168. package/datascroller/datascroller.js +6 -1
  169. package/datascroller/datascroller.min.js +1 -1
  170. package/datatable/datatable.cjs.js +4821 -3348
  171. package/datatable/datatable.cjs.min.js +1 -1
  172. package/datatable/datatable.d.ts +97 -28
  173. package/datatable/datatable.esm.js +4821 -3349
  174. package/datatable/datatable.esm.min.js +1 -1
  175. package/datatable/datatable.js +4819 -3350
  176. package/datatable/datatable.min.css +1 -1
  177. package/datatable/datatable.min.js +1 -1
  178. package/dataview/dataview.cjs.js +4 -2
  179. package/dataview/dataview.cjs.min.js +1 -1
  180. package/dataview/dataview.esm.js +4 -2
  181. package/dataview/dataview.esm.min.js +1 -1
  182. package/dataview/dataview.js +4 -2
  183. package/dataview/dataview.min.js +1 -1
  184. package/deferredcontent/deferredcontent.cjs.js +2 -0
  185. package/deferredcontent/deferredcontent.cjs.min.js +1 -1
  186. package/deferredcontent/deferredcontent.esm.js +2 -0
  187. package/deferredcontent/deferredcontent.esm.min.js +1 -1
  188. package/deferredcontent/deferredcontent.js +2 -0
  189. package/deferredcontent/deferredcontent.min.js +1 -1
  190. package/dialog/dialog.cjs.js +12 -1
  191. package/dialog/dialog.cjs.min.js +1 -1
  192. package/dialog/dialog.esm.js +12 -1
  193. package/dialog/dialog.esm.min.js +1 -1
  194. package/dialog/dialog.js +12 -1
  195. package/dialog/dialog.min.js +1 -1
  196. package/divider/divider.cjs.js +2 -0
  197. package/divider/divider.cjs.min.js +1 -1
  198. package/divider/divider.esm.js +2 -0
  199. package/divider/divider.esm.min.js +1 -1
  200. package/divider/divider.js +2 -0
  201. package/divider/divider.min.js +1 -1
  202. package/dock/dock.cjs.js +5 -1
  203. package/dock/dock.cjs.min.js +1 -1
  204. package/dock/dock.esm.js +5 -1
  205. package/dock/dock.esm.min.js +1 -1
  206. package/dock/dock.js +5 -1
  207. package/dock/dock.min.css +1 -1
  208. package/dock/dock.min.js +1 -1
  209. package/dropdown/dropdown.cjs.js +14 -10
  210. package/dropdown/dropdown.cjs.min.js +1 -1
  211. package/dropdown/dropdown.esm.js +16 -12
  212. package/dropdown/dropdown.esm.min.js +1 -1
  213. package/dropdown/dropdown.js +14 -10
  214. package/dropdown/dropdown.min.js +1 -1
  215. package/editor/editor.cjs.js +2 -0
  216. package/editor/editor.cjs.min.js +1 -1
  217. package/editor/editor.esm.js +2 -0
  218. package/editor/editor.esm.min.js +1 -1
  219. package/editor/editor.js +2 -0
  220. package/editor/editor.min.js +1 -1
  221. package/fieldset/fieldset.cjs.js +2 -0
  222. package/fieldset/fieldset.cjs.min.js +1 -1
  223. package/fieldset/fieldset.esm.js +2 -0
  224. package/fieldset/fieldset.esm.min.js +1 -1
  225. package/fieldset/fieldset.js +2 -0
  226. package/fieldset/fieldset.min.js +1 -1
  227. package/fileupload/fileupload.cjs.js +2 -0
  228. package/fileupload/fileupload.cjs.min.js +1 -1
  229. package/fileupload/fileupload.esm.js +2 -0
  230. package/fileupload/fileupload.esm.min.js +1 -1
  231. package/fileupload/fileupload.js +2 -0
  232. package/fileupload/fileupload.min.js +1 -1
  233. package/fullcalendar/fullcalendar.cjs.js +2 -0
  234. package/fullcalendar/fullcalendar.cjs.min.js +1 -1
  235. package/fullcalendar/fullcalendar.esm.js +2 -0
  236. package/fullcalendar/fullcalendar.esm.min.js +1 -1
  237. package/fullcalendar/fullcalendar.js +2 -0
  238. package/fullcalendar/fullcalendar.min.js +1 -1
  239. package/galleria/galleria.cjs.js +25 -5
  240. package/galleria/galleria.cjs.min.js +1 -1
  241. package/galleria/galleria.esm.js +25 -5
  242. package/galleria/galleria.esm.min.js +1 -1
  243. package/galleria/galleria.js +25 -5
  244. package/galleria/galleria.min.css +1 -1
  245. package/galleria/galleria.min.js +1 -1
  246. package/gmap/gmap.cjs.js +2 -0
  247. package/gmap/gmap.cjs.min.js +1 -1
  248. package/gmap/gmap.esm.js +2 -0
  249. package/gmap/gmap.esm.min.js +1 -1
  250. package/gmap/gmap.js +2 -0
  251. package/gmap/gmap.min.js +1 -1
  252. package/image/image.cjs.js +397 -0
  253. package/image/image.cjs.min.js +1 -0
  254. package/image/image.d.ts +18 -0
  255. package/image/image.esm.js +389 -0
  256. package/image/image.esm.min.js +1 -0
  257. package/image/image.js +400 -0
  258. package/image/image.min.css +1 -0
  259. package/image/image.min.js +1 -0
  260. package/image/package.json +6 -0
  261. package/inplace/inplace.cjs.js +2 -0
  262. package/inplace/inplace.cjs.min.js +1 -1
  263. package/inplace/inplace.esm.js +2 -0
  264. package/inplace/inplace.esm.min.js +1 -1
  265. package/inplace/inplace.js +2 -0
  266. package/inplace/inplace.min.js +1 -1
  267. package/inputmask/inputmask.cjs.js +2 -0
  268. package/inputmask/inputmask.cjs.min.js +1 -1
  269. package/inputmask/inputmask.esm.js +2 -0
  270. package/inputmask/inputmask.esm.min.js +1 -1
  271. package/inputmask/inputmask.js +2 -0
  272. package/inputmask/inputmask.min.js +1 -1
  273. package/inputnumber/inputnumber.cjs.js +177 -62
  274. package/inputnumber/inputnumber.cjs.min.js +1 -1
  275. package/inputnumber/inputnumber.d.ts +1 -0
  276. package/inputnumber/inputnumber.esm.js +177 -62
  277. package/inputnumber/inputnumber.esm.min.js +1 -1
  278. package/inputnumber/inputnumber.js +177 -62
  279. package/inputnumber/inputnumber.min.js +1 -1
  280. package/inputswitch/inputswitch.cjs.js +16 -6
  281. package/inputswitch/inputswitch.cjs.min.js +1 -1
  282. package/inputswitch/inputswitch.d.ts +3 -1
  283. package/inputswitch/inputswitch.esm.js +16 -6
  284. package/inputswitch/inputswitch.esm.min.js +1 -1
  285. package/inputswitch/inputswitch.js +16 -6
  286. package/inputswitch/inputswitch.min.js +1 -1
  287. package/inputtext/inputtext.cjs.js +2 -0
  288. package/inputtext/inputtext.cjs.min.js +1 -1
  289. package/inputtext/inputtext.esm.js +2 -0
  290. package/inputtext/inputtext.esm.min.js +1 -1
  291. package/inputtext/inputtext.js +2 -0
  292. package/inputtext/inputtext.min.js +1 -1
  293. package/inputtextarea/inputtextarea.cjs.js +2 -0
  294. package/inputtextarea/inputtextarea.cjs.min.js +1 -1
  295. package/inputtextarea/inputtextarea.esm.js +2 -0
  296. package/inputtextarea/inputtextarea.esm.min.js +1 -1
  297. package/inputtextarea/inputtextarea.js +2 -0
  298. package/inputtextarea/inputtextarea.min.js +1 -1
  299. package/knob/knob.cjs.js +2 -0
  300. package/knob/knob.cjs.min.js +1 -1
  301. package/knob/knob.esm.js +2 -0
  302. package/knob/knob.esm.min.js +1 -1
  303. package/knob/knob.js +2 -0
  304. package/knob/knob.min.js +1 -1
  305. package/listbox/listbox.cjs.js +6 -3
  306. package/listbox/listbox.cjs.min.js +1 -1
  307. package/listbox/listbox.esm.js +7 -4
  308. package/listbox/listbox.esm.min.js +1 -1
  309. package/listbox/listbox.js +7 -5
  310. package/listbox/listbox.min.js +1 -1
  311. package/megamenu/megamenu.cjs.js +2 -0
  312. package/megamenu/megamenu.cjs.min.js +1 -1
  313. package/megamenu/megamenu.esm.js +2 -0
  314. package/megamenu/megamenu.esm.min.js +1 -1
  315. package/megamenu/megamenu.js +2 -0
  316. package/megamenu/megamenu.min.js +1 -1
  317. package/mention/mention.cjs.js +2 -0
  318. package/mention/mention.cjs.min.js +1 -1
  319. package/mention/mention.esm.js +2 -0
  320. package/mention/mention.esm.min.js +1 -1
  321. package/mention/mention.js +2 -0
  322. package/mention/mention.min.js +1 -1
  323. package/menu/menu.cjs.js +2 -0
  324. package/menu/menu.cjs.min.js +1 -1
  325. package/menu/menu.esm.js +2 -0
  326. package/menu/menu.esm.min.js +1 -1
  327. package/menu/menu.js +2 -0
  328. package/menu/menu.min.js +1 -1
  329. package/menubar/menubar.cjs.js +2 -0
  330. package/menubar/menubar.cjs.min.js +1 -1
  331. package/menubar/menubar.esm.js +2 -0
  332. package/menubar/menubar.esm.min.js +1 -1
  333. package/menubar/menubar.js +2 -0
  334. package/menubar/menubar.min.js +1 -1
  335. package/message/message.cjs.js +2 -0
  336. package/message/message.cjs.min.js +1 -1
  337. package/message/message.esm.js +2 -0
  338. package/message/message.esm.min.js +1 -1
  339. package/message/message.js +2 -0
  340. package/message/message.min.js +1 -1
  341. package/messages/messages.cjs.js +2 -0
  342. package/messages/messages.cjs.min.js +1 -1
  343. package/messages/messages.esm.js +2 -0
  344. package/messages/messages.esm.min.js +1 -1
  345. package/messages/messages.js +2 -0
  346. package/messages/messages.min.js +1 -1
  347. package/multiselect/multiselect.cjs.js +22 -12
  348. package/multiselect/multiselect.cjs.min.js +1 -1
  349. package/multiselect/multiselect.d.ts +3 -1
  350. package/multiselect/multiselect.esm.js +24 -14
  351. package/multiselect/multiselect.esm.min.js +1 -1
  352. package/multiselect/multiselect.js +22 -12
  353. package/multiselect/multiselect.min.js +1 -1
  354. package/multistatecheckbox/multistatecheckbox.cjs.js +2 -0
  355. package/multistatecheckbox/multistatecheckbox.cjs.min.js +1 -1
  356. package/multistatecheckbox/multistatecheckbox.esm.js +2 -0
  357. package/multistatecheckbox/multistatecheckbox.esm.min.js +1 -1
  358. package/multistatecheckbox/multistatecheckbox.js +2 -0
  359. package/multistatecheckbox/multistatecheckbox.min.js +1 -1
  360. package/orderlist/orderlist.cjs.js +2 -0
  361. package/orderlist/orderlist.cjs.min.js +1 -1
  362. package/orderlist/orderlist.esm.js +2 -0
  363. package/orderlist/orderlist.esm.min.js +1 -1
  364. package/orderlist/orderlist.js +2 -0
  365. package/orderlist/orderlist.min.js +1 -1
  366. package/organizationchart/organizationchart.cjs.js +2 -0
  367. package/organizationchart/organizationchart.cjs.min.js +1 -1
  368. package/organizationchart/organizationchart.esm.js +2 -0
  369. package/organizationchart/organizationchart.esm.min.js +1 -1
  370. package/organizationchart/organizationchart.js +2 -0
  371. package/organizationchart/organizationchart.min.js +1 -1
  372. package/overlaypanel/overlaypanel.cjs.js +10 -1
  373. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  374. package/overlaypanel/overlaypanel.esm.js +10 -1
  375. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  376. package/overlaypanel/overlaypanel.js +10 -1
  377. package/overlaypanel/overlaypanel.min.js +1 -1
  378. package/package.json +1 -1
  379. package/paginator/paginator.cjs.js +120 -30
  380. package/paginator/paginator.cjs.min.js +1 -1
  381. package/paginator/paginator.d.ts +13 -0
  382. package/paginator/paginator.esm.js +120 -30
  383. package/paginator/paginator.esm.min.js +1 -1
  384. package/paginator/paginator.js +121 -32
  385. package/paginator/paginator.min.js +1 -1
  386. package/panel/panel.cjs.js +2 -0
  387. package/panel/panel.cjs.min.js +1 -1
  388. package/panel/panel.esm.js +2 -0
  389. package/panel/panel.esm.min.js +1 -1
  390. package/panel/panel.js +2 -0
  391. package/panel/panel.min.js +1 -1
  392. package/panelmenu/panelmenu.cjs.js +2 -0
  393. package/panelmenu/panelmenu.cjs.min.js +1 -1
  394. package/panelmenu/panelmenu.esm.js +3 -1
  395. package/panelmenu/panelmenu.esm.min.js +1 -1
  396. package/panelmenu/panelmenu.js +2 -0
  397. package/panelmenu/panelmenu.min.js +1 -1
  398. package/password/password.cjs.js +2 -0
  399. package/password/password.cjs.min.js +1 -1
  400. package/password/password.esm.js +2 -0
  401. package/password/password.esm.min.js +1 -1
  402. package/password/password.js +2 -0
  403. package/password/password.min.js +1 -1
  404. package/picklist/picklist.cjs.js +2 -0
  405. package/picklist/picklist.cjs.min.js +1 -1
  406. package/picklist/picklist.esm.js +2 -0
  407. package/picklist/picklist.esm.min.js +1 -1
  408. package/picklist/picklist.js +2 -0
  409. package/picklist/picklist.min.js +1 -1
  410. package/portal/portal.cjs.js +6 -2
  411. package/portal/portal.cjs.min.js +1 -1
  412. package/portal/portal.esm.js +6 -2
  413. package/portal/portal.esm.min.js +1 -1
  414. package/portal/portal.js +6 -2
  415. package/portal/portal.min.js +1 -1
  416. package/primereact.all.cjs.js +12325 -9901
  417. package/primereact.all.cjs.min.js +1 -1
  418. package/primereact.all.esm.js +12321 -9901
  419. package/primereact.all.esm.min.js +1 -1
  420. package/primereact.all.js +12325 -9901
  421. package/primereact.all.min.js +1 -1
  422. package/progressbar/progressbar.cjs.js +2 -0
  423. package/progressbar/progressbar.cjs.min.js +1 -1
  424. package/progressbar/progressbar.esm.js +2 -0
  425. package/progressbar/progressbar.esm.min.js +1 -1
  426. package/progressbar/progressbar.js +2 -0
  427. package/progressbar/progressbar.min.js +1 -1
  428. package/progressspinner/progressspinner.cjs.js +2 -0
  429. package/progressspinner/progressspinner.cjs.min.js +1 -1
  430. package/progressspinner/progressspinner.esm.js +2 -0
  431. package/progressspinner/progressspinner.esm.min.js +1 -1
  432. package/progressspinner/progressspinner.js +2 -0
  433. package/progressspinner/progressspinner.min.js +1 -1
  434. package/radiobutton/radiobutton.cjs.js +2 -0
  435. package/radiobutton/radiobutton.cjs.min.js +1 -1
  436. package/radiobutton/radiobutton.esm.js +2 -0
  437. package/radiobutton/radiobutton.esm.min.js +1 -1
  438. package/radiobutton/radiobutton.js +2 -0
  439. package/radiobutton/radiobutton.min.js +1 -1
  440. package/rating/rating.cjs.js +2 -0
  441. package/rating/rating.cjs.min.js +1 -1
  442. package/rating/rating.esm.js +2 -0
  443. package/rating/rating.esm.min.js +1 -1
  444. package/rating/rating.js +2 -0
  445. package/rating/rating.min.js +1 -1
  446. package/resources/primereact.css +405 -150
  447. package/resources/primereact.min.css +1 -1
  448. package/resources/themes/arya-blue/theme.css +305 -880
  449. package/resources/themes/arya-green/theme.css +305 -880
  450. package/resources/themes/arya-orange/theme.css +305 -880
  451. package/resources/themes/arya-purple/theme.css +305 -880
  452. package/resources/themes/bootstrap4-dark-blue/theme.css +310 -885
  453. package/resources/themes/bootstrap4-dark-purple/theme.css +310 -885
  454. package/resources/themes/bootstrap4-light-blue/theme.css +310 -885
  455. package/resources/themes/bootstrap4-light-purple/theme.css +310 -885
  456. package/resources/themes/fluent-light/theme.css +314 -889
  457. package/resources/themes/luna-amber/theme.css +309 -884
  458. package/resources/themes/luna-blue/theme.css +309 -884
  459. package/resources/themes/luna-green/theme.css +309 -884
  460. package/resources/themes/luna-pink/theme.css +309 -884
  461. package/resources/themes/md-dark-deeppurple/theme.css +348 -1184
  462. package/resources/themes/md-dark-indigo/theme.css +348 -1184
  463. package/resources/themes/md-light-deeppurple/theme.css +351 -1187
  464. package/resources/themes/md-light-indigo/theme.css +351 -1187
  465. package/resources/themes/mdc-dark-deeppurple/theme.css +348 -1184
  466. package/resources/themes/mdc-dark-indigo/theme.css +348 -1184
  467. package/resources/themes/mdc-light-deeppurple/theme.css +351 -1187
  468. package/resources/themes/mdc-light-indigo/theme.css +351 -1187
  469. package/resources/themes/nova/theme.css +307 -882
  470. package/resources/themes/nova-accent/theme.css +307 -882
  471. package/resources/themes/nova-alt/theme.css +307 -882
  472. package/resources/themes/rhea/theme.css +306 -881
  473. package/resources/themes/saga-blue/theme.css +307 -882
  474. package/resources/themes/saga-green/theme.css +307 -882
  475. package/resources/themes/saga-orange/theme.css +307 -882
  476. package/resources/themes/saga-purple/theme.css +307 -882
  477. package/resources/themes/tailwind-light/fonts/Inter-Bold.woff +0 -0
  478. package/resources/themes/tailwind-light/fonts/Inter-Bold.woff2 +0 -0
  479. package/resources/themes/tailwind-light/fonts/Inter-Light.woff +0 -0
  480. package/resources/themes/tailwind-light/fonts/Inter-Light.woff2 +0 -0
  481. package/resources/themes/tailwind-light/fonts/Inter-Medium.woff +0 -0
  482. package/resources/themes/tailwind-light/fonts/Inter-Medium.woff2 +0 -0
  483. package/resources/themes/tailwind-light/fonts/Inter-Regular.woff +0 -0
  484. package/resources/themes/tailwind-light/fonts/Inter-Regular.woff2 +0 -0
  485. package/resources/themes/tailwind-light/fonts/Inter-SemiBold.woff +0 -0
  486. package/resources/themes/tailwind-light/fonts/Inter-SemiBold.woff2 +0 -0
  487. package/resources/themes/tailwind-light/theme.css +5722 -0
  488. package/resources/themes/vela-blue/theme.css +305 -880
  489. package/resources/themes/vela-green/theme.css +305 -880
  490. package/resources/themes/vela-orange/theme.css +305 -880
  491. package/resources/themes/vela-purple/theme.css +305 -880
  492. package/ripple/ripple.cjs.js +2 -0
  493. package/ripple/ripple.cjs.min.js +1 -1
  494. package/ripple/ripple.esm.js +2 -0
  495. package/ripple/ripple.esm.min.js +1 -1
  496. package/ripple/ripple.js +2 -0
  497. package/ripple/ripple.min.js +1 -1
  498. package/row/row.cjs.js +2 -0
  499. package/row/row.cjs.min.js +1 -1
  500. package/row/row.esm.js +2 -0
  501. package/row/row.esm.min.js +1 -1
  502. package/row/row.js +2 -0
  503. package/row/row.min.js +1 -1
  504. package/scrollpanel/scrollpanel.cjs.js +2 -0
  505. package/scrollpanel/scrollpanel.cjs.min.js +1 -1
  506. package/scrollpanel/scrollpanel.esm.js +2 -0
  507. package/scrollpanel/scrollpanel.esm.min.js +1 -1
  508. package/scrollpanel/scrollpanel.js +2 -0
  509. package/scrollpanel/scrollpanel.min.js +1 -1
  510. package/scrolltop/scrolltop.cjs.js +2 -0
  511. package/scrolltop/scrolltop.cjs.min.js +1 -1
  512. package/scrolltop/scrolltop.esm.js +2 -0
  513. package/scrolltop/scrolltop.esm.min.js +1 -1
  514. package/scrolltop/scrolltop.js +2 -0
  515. package/scrolltop/scrolltop.min.js +1 -1
  516. package/selectbutton/selectbutton.cjs.js +2 -0
  517. package/selectbutton/selectbutton.cjs.min.js +1 -1
  518. package/selectbutton/selectbutton.esm.js +2 -0
  519. package/selectbutton/selectbutton.esm.min.js +1 -1
  520. package/selectbutton/selectbutton.js +2 -0
  521. package/selectbutton/selectbutton.min.js +1 -1
  522. package/sidebar/sidebar.cjs.js +23 -27
  523. package/sidebar/sidebar.cjs.min.js +1 -1
  524. package/sidebar/sidebar.esm.js +23 -27
  525. package/sidebar/sidebar.esm.min.js +1 -1
  526. package/sidebar/sidebar.js +23 -27
  527. package/sidebar/sidebar.min.css +1 -1
  528. package/sidebar/sidebar.min.js +1 -1
  529. package/skeleton/skeleton.cjs.js +2 -0
  530. package/skeleton/skeleton.cjs.min.js +1 -1
  531. package/skeleton/skeleton.esm.js +2 -0
  532. package/skeleton/skeleton.esm.min.js +1 -1
  533. package/skeleton/skeleton.js +2 -0
  534. package/skeleton/skeleton.min.js +1 -1
  535. package/slidemenu/slidemenu.cjs.js +2 -0
  536. package/slidemenu/slidemenu.cjs.min.js +1 -1
  537. package/slidemenu/slidemenu.esm.js +2 -0
  538. package/slidemenu/slidemenu.esm.min.js +1 -1
  539. package/slidemenu/slidemenu.js +2 -0
  540. package/slidemenu/slidemenu.min.js +1 -1
  541. package/slider/slider.cjs.js +14 -7
  542. package/slider/slider.cjs.min.js +1 -1
  543. package/slider/slider.esm.js +14 -7
  544. package/slider/slider.esm.min.js +1 -1
  545. package/slider/slider.js +14 -7
  546. package/slider/slider.min.js +1 -1
  547. package/speeddial/speeddial.cjs.js +2 -0
  548. package/speeddial/speeddial.cjs.min.js +1 -1
  549. package/speeddial/speeddial.esm.js +2 -0
  550. package/speeddial/speeddial.esm.min.js +1 -1
  551. package/speeddial/speeddial.js +2 -0
  552. package/speeddial/speeddial.min.js +1 -1
  553. package/splitbutton/splitbutton.cjs.js +2 -0
  554. package/splitbutton/splitbutton.cjs.min.js +1 -1
  555. package/splitbutton/splitbutton.esm.js +2 -0
  556. package/splitbutton/splitbutton.esm.min.js +1 -1
  557. package/splitbutton/splitbutton.js +2 -0
  558. package/splitbutton/splitbutton.min.js +1 -1
  559. package/splitter/splitter.cjs.js +2 -0
  560. package/splitter/splitter.cjs.min.js +1 -1
  561. package/splitter/splitter.esm.js +2 -0
  562. package/splitter/splitter.esm.min.js +1 -1
  563. package/splitter/splitter.js +2 -0
  564. package/splitter/splitter.min.js +1 -1
  565. package/steps/steps.cjs.js +2 -0
  566. package/steps/steps.cjs.min.js +1 -1
  567. package/steps/steps.esm.js +2 -0
  568. package/steps/steps.esm.min.js +1 -1
  569. package/steps/steps.js +2 -0
  570. package/steps/steps.min.js +1 -1
  571. package/styleclass/styleclass.cjs.js +19 -23
  572. package/styleclass/styleclass.cjs.min.js +1 -1
  573. package/styleclass/styleclass.esm.js +20 -24
  574. package/styleclass/styleclass.esm.min.js +1 -1
  575. package/styleclass/styleclass.js +19 -23
  576. package/styleclass/styleclass.min.js +1 -1
  577. package/tabmenu/tabmenu.cjs.js +2 -0
  578. package/tabmenu/tabmenu.cjs.min.js +1 -1
  579. package/tabmenu/tabmenu.esm.js +2 -0
  580. package/tabmenu/tabmenu.esm.min.js +1 -1
  581. package/tabmenu/tabmenu.js +2 -0
  582. package/tabmenu/tabmenu.min.css +1 -1
  583. package/tabmenu/tabmenu.min.js +1 -1
  584. package/tabview/tabview.cjs.js +135 -18
  585. package/tabview/tabview.cjs.min.js +1 -1
  586. package/tabview/tabview.d.ts +1 -0
  587. package/tabview/tabview.esm.js +135 -18
  588. package/tabview/tabview.esm.min.js +1 -1
  589. package/tabview/tabview.js +135 -18
  590. package/tabview/tabview.min.css +1 -1
  591. package/tabview/tabview.min.js +1 -1
  592. package/tag/tag.cjs.js +2 -0
  593. package/tag/tag.cjs.min.js +1 -1
  594. package/tag/tag.esm.js +2 -0
  595. package/tag/tag.esm.min.js +1 -1
  596. package/tag/tag.js +2 -0
  597. package/tag/tag.min.js +1 -1
  598. package/terminal/terminal.cjs.js +2 -0
  599. package/terminal/terminal.cjs.min.js +1 -1
  600. package/terminal/terminal.esm.js +2 -0
  601. package/terminal/terminal.esm.min.js +1 -1
  602. package/terminal/terminal.js +2 -0
  603. package/terminal/terminal.min.js +1 -1
  604. package/tieredmenu/tieredmenu.cjs.js +2 -0
  605. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  606. package/tieredmenu/tieredmenu.esm.js +2 -0
  607. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  608. package/tieredmenu/tieredmenu.js +2 -0
  609. package/tieredmenu/tieredmenu.min.js +1 -1
  610. package/timeline/timeline.cjs.js +2 -0
  611. package/timeline/timeline.cjs.min.js +1 -1
  612. package/timeline/timeline.esm.js +2 -0
  613. package/timeline/timeline.esm.min.js +1 -1
  614. package/timeline/timeline.js +2 -0
  615. package/timeline/timeline.min.js +1 -1
  616. package/toast/toast.cjs.js +2 -0
  617. package/toast/toast.cjs.min.js +1 -1
  618. package/toast/toast.d.ts +1 -1
  619. package/toast/toast.esm.js +2 -0
  620. package/toast/toast.esm.min.js +1 -1
  621. package/toast/toast.js +2 -0
  622. package/toast/toast.min.js +1 -1
  623. package/togglebutton/togglebutton.cjs.js +2 -0
  624. package/togglebutton/togglebutton.cjs.min.js +1 -1
  625. package/togglebutton/togglebutton.esm.js +2 -0
  626. package/togglebutton/togglebutton.esm.min.js +1 -1
  627. package/togglebutton/togglebutton.js +2 -0
  628. package/togglebutton/togglebutton.min.js +1 -1
  629. package/toolbar/toolbar.cjs.js +2 -0
  630. package/toolbar/toolbar.cjs.min.js +1 -1
  631. package/toolbar/toolbar.esm.js +2 -0
  632. package/toolbar/toolbar.esm.min.js +1 -1
  633. package/toolbar/toolbar.js +2 -0
  634. package/toolbar/toolbar.min.js +1 -1
  635. package/tooltip/tooltip.cjs.js +2 -0
  636. package/tooltip/tooltip.cjs.min.js +1 -1
  637. package/tooltip/tooltip.esm.js +2 -0
  638. package/tooltip/tooltip.esm.min.js +1 -1
  639. package/tooltip/tooltip.js +2 -0
  640. package/tooltip/tooltip.min.css +1 -1
  641. package/tooltip/tooltip.min.js +1 -1
  642. package/tree/tree.cjs.js +2 -0
  643. package/tree/tree.cjs.min.js +1 -1
  644. package/tree/tree.esm.js +2 -0
  645. package/tree/tree.esm.min.js +1 -1
  646. package/tree/tree.js +2 -0
  647. package/tree/tree.min.js +1 -1
  648. package/treeselect/treeselect.cjs.js +2 -0
  649. package/treeselect/treeselect.cjs.min.js +1 -1
  650. package/treeselect/treeselect.esm.js +2 -0
  651. package/treeselect/treeselect.esm.min.js +1 -1
  652. package/treeselect/treeselect.js +2 -0
  653. package/treeselect/treeselect.min.js +1 -1
  654. package/treetable/treetable.cjs.js +22 -8
  655. package/treetable/treetable.cjs.min.js +1 -1
  656. package/treetable/treetable.esm.js +23 -9
  657. package/treetable/treetable.esm.min.js +1 -1
  658. package/treetable/treetable.js +23 -10
  659. package/treetable/treetable.min.js +1 -1
  660. package/tristatecheckbox/tristatecheckbox.cjs.js +2 -0
  661. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  662. package/tristatecheckbox/tristatecheckbox.esm.js +2 -0
  663. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  664. package/tristatecheckbox/tristatecheckbox.js +2 -0
  665. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  666. package/utils/utils.cjs.js +404 -496
  667. package/utils/utils.cjs.min.js +1 -1
  668. package/utils/utils.d.ts +20 -26
  669. package/utils/utils.esm.js +405 -496
  670. package/utils/utils.esm.min.js +1 -1
  671. package/utils/utils.js +404 -496
  672. package/utils/utils.min.js +1 -1
  673. package/virtualscroller/virtualscroller.cjs.js +277 -160
  674. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  675. package/virtualscroller/virtualscroller.d.ts +21 -9
  676. package/virtualscroller/virtualscroller.esm.js +277 -160
  677. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  678. package/virtualscroller/virtualscroller.js +277 -160
  679. package/virtualscroller/virtualscroller.min.js +1 -1
  680. package/web-types.json +96 -29
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/core"),n=require("primereact/virtualscroller"),i=require("primereact/api");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=r(e),l=r(i);function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function p(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function u(e,t,n){return t&&p(e.prototype,t),n&&p(e,n),e}function c(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function h(e,t){return(h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function d(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&h(e,t)}function f(e){return(f="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})(e)}function v(e,t){return!t||"object"!==f(t)&&"function"!=typeof t?c(e):t}function y(e){return(y=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function b(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function O(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}var m=function(n){d(s,e.Component);var i,r,l=(i=s,r=O(),function(){var e,t=y(i);if(r){var n=y(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return v(this,e)});function s(e){var t;return a(this,s),(t=l.call(this,e)).onClick=t.onClick.bind(c(t)),t}return u(s,[{key:"onClick",value:function(e){this.props.onClick&&this.props.onClick({originalEvent:e,option:this.props.option})}},{key:"render",value:function(){var e=t.classNames("p-dropdown-item",{"p-highlight":this.props.selected,"p-disabled":this.props.disabled,"p-dropdown-item-empty":!this.props.label||0===this.props.label.length},this.props.option.className),n=this.props.template?t.ObjectUtils.getJSXElement(this.props.template,this.props.option):this.props.label;return o.default.createElement("li",{className:e,onClick:this.onClick,"aria-label":this.props.label,key:this.props.label,role:"option","aria-selected":this.props.selected},n,o.default.createElement(t.Ripple,null))}}]),s}();function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function k(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){b(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}function C(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}b(m,"defaultProps",{option:null,label:null,template:null,selected:!1,disabled:!1,onClick:null});var I=function(i){d(h,e.Component);var r,l,p=(r=h,l=C(),function(){var e,t=y(r);if(l){var n=y(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return v(this,e)});function h(e){var t;return a(this,h),(t=p.call(this,e)).onEnter=t.onEnter.bind(c(t)),t.onEntered=t.onEntered.bind(c(t)),t.onFilterInputChange=t.onFilterInputChange.bind(c(t)),t}return u(h,[{key:"onEnter",value:function(){var e=this;this.props.onEnter((function(){if(e.virtualScrollerRef){var t=e.props.getSelectedOptionIndex();-1!==t&&e.virtualScrollerRef.scrollToIndex(t)}}))}},{key:"onEntered",value:function(){var e=this;this.props.onEntered((function(){e.props.filter&&e.props.filterInputAutoFocus&&e.filterInput.focus()}))}},{key:"onFilterInputChange",value:function(e){this.virtualScrollerRef&&this.virtualScrollerRef.scrollToIndex(0),this.props.onFilterInputChange&&this.props.onFilterInputChange(e)}},{key:"isEmptyFilter",value:function(){return!(this.props.visibleOptions&&this.props.visibleOptions.length)&&this.props.hasFilter()}},{key:"renderGroupChildren",value:function(e){var t=this;return this.props.getOptionGroupChildren(e).map((function(e,n){var i=t.props.getOptionLabel(e),r=n+"_"+t.props.getOptionRenderKey(e),l=t.props.isOptionDisabled(e);return o.default.createElement(m,{key:r,label:i,option:e,template:t.props.itemTemplate,selected:t.props.isSelected(e),disabled:l,onClick:t.props.onOptionClick})}))}},{key:"renderEmptyMessage",value:function(e){var n=t.ObjectUtils.getJSXElement(e,this.props);return o.default.createElement("li",{className:"p-dropdown-empty-message"},n)}},{key:"renderItem",value:function(e,n){if(this.props.optionGroupLabel){var i=this.props.optionGroupTemplate?t.ObjectUtils.getJSXElement(this.props.optionGroupTemplate,e,n):this.props.getOptionGroupLabel(e),r=this.renderGroupChildren(e),l=n+"_"+this.props.getOptionGroupRenderKey(e);return o.default.createElement(o.default.Fragment,{key:l},o.default.createElement("li",{className:"p-dropdown-item-group"},i),r)}var s=this.props.getOptionLabel(e),a=n+"_"+this.props.getOptionRenderKey(e),p=this.props.isOptionDisabled(e);return o.default.createElement(m,{key:a,label:s,option:e,template:this.props.itemTemplate,selected:this.props.isSelected(e),disabled:p,onClick:this.props.onOptionClick})}},{key:"renderItems",value:function(){var e=this;return this.props.visibleOptions&&this.props.visibleOptions.length?this.props.visibleOptions.map((function(t,n){return e.renderItem(t,n)})):this.props.hasFilter()?this.renderEmptyMessage(this.props.emptyFilterMessage):this.renderEmptyMessage(this.props.emptyMessage)}},{key:"renderFilterClearIcon",value:function(){var e=this;return this.props.showFilterClear&&this.props.filterValue?o.default.createElement("i",{className:"p-dropdown-filter-clear-icon pi pi-times",onClick:function(){return e.props.onFilterClearIconClick((function(){return e.filterInput.focus()}))}}):null}},{key:"renderFilter",value:function(){var e=this;if(this.props.filter){var n=this.renderFilterClearIcon(),i=t.classNames("p-dropdown-filter-container",{"p-dropdown-clearable-filter":!!n});return o.default.createElement("div",{className:"p-dropdown-header"},o.default.createElement("div",{className:i},o.default.createElement("input",{ref:function(t){return e.filterInput=t},type:"text",autoComplete:"off",className:"p-dropdown-filter p-inputtext p-component",placeholder:this.props.filterPlaceholder,onKeyDown:this.props.onFilterInputKeyDown,onChange:this.onFilterInputChange,value:this.props.filterValue}),n,o.default.createElement("i",{className:"p-dropdown-filter-icon pi pi-search"})))}return null}},{key:"renderContent",value:function(){var e=this;if(this.props.virtualScrollerOptions){var i=k(k({},this.props.virtualScrollerOptions),{style:k(k({},this.props.virtualScrollerOptions.style),{height:this.props.scrollHeight}),className:t.classNames("p-dropdown-items-wrapper",this.props.virtualScrollerOptions.className),items:this.props.visibleOptions,onLazyLoad:function(t){return e.props.virtualScrollerOptions.onLazyLoad(k(k({},t),{filter:e.props.filterValue}))},itemTemplate:function(t,n){return t&&e.renderItem(t,n.index)},contentTemplate:function(n){var i=t.classNames("p-dropdown-items",n.className),r=e.isEmptyFilter()?e.renderEmptyMessage():n.children;return o.default.createElement("ul",{ref:n.ref,className:i,role:"listbox"},r)}});return o.default.createElement(n.VirtualScroller,s({ref:function(t){return e.virtualScrollerRef=t}},i))}var r=this.renderItems();return o.default.createElement("div",{className:"p-dropdown-items-wrapper",style:{maxHeight:this.props.scrollHeight||"auto"}},o.default.createElement("ul",{className:"p-dropdown-items",role:"listbox"},r))}},{key:"renderElement",value:function(){var e=t.classNames("p-dropdown-panel p-component",this.props.panelClassName),n=this.renderFilter(),i=this.renderContent();return o.default.createElement(t.CSSTransition,{nodeRef:this.props.forwardRef,classNames:"p-connected-overlay",in:this.props.in,timeout:{enter:120,exit:100},options:this.props.transitionOptions,unmountOnExit:!0,onEnter:this.onEnter,onEntering:this.props.onEntering,onEntered:this.onEntered,onExit:this.props.onExit,onExited:this.props.onExited},o.default.createElement("div",{ref:this.props.forwardRef,className:e,style:this.props.panelStyle,onClick:this.props.onClick},n,i))}},{key:"render",value:function(){var e=this.renderElement();return o.default.createElement(t.Portal,{element:e,appendTo:this.props.appendTo})}}]),h}(),E=o.default.forwardRef((function(e,t){return o.default.createElement(I,s({forwardRef:t},e))}));function w(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function L(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?w(Object(n),!0).forEach((function(t){b(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):w(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function S(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=F(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}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 o,l=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return l=e.done,e},e:function(e){s=!0,o=e},f:function(){try{l||null==n.return||n.return()}finally{if(s)throw o}}}}function F(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,i=new Array(t);n<t;n++)i[n]=e[n];return i}function R(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}var D=function(n){d(h,e.Component);var i,r,p=(i=h,r=R(),function(){var e,t=y(i);if(r){var n=y(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return v(this,e)});function h(t){var n;return a(this,h),(n=p.call(this,t)).state={filter:"",focused:!1,overlayVisible:!1},n.onClick=n.onClick.bind(c(n)),n.onInputFocus=n.onInputFocus.bind(c(n)),n.onInputBlur=n.onInputBlur.bind(c(n)),n.onInputKeyDown=n.onInputKeyDown.bind(c(n)),n.onEditableInputChange=n.onEditableInputChange.bind(c(n)),n.onEditableInputFocus=n.onEditableInputFocus.bind(c(n)),n.onOptionClick=n.onOptionClick.bind(c(n)),n.onFilterInputChange=n.onFilterInputChange.bind(c(n)),n.onFilterInputKeyDown=n.onFilterInputKeyDown.bind(c(n)),n.onFilterClearIconClick=n.onFilterClearIconClick.bind(c(n)),n.onPanelClick=n.onPanelClick.bind(c(n)),n.onOverlayEnter=n.onOverlayEnter.bind(c(n)),n.onOverlayEntered=n.onOverlayEntered.bind(c(n)),n.onOverlayExit=n.onOverlayExit.bind(c(n)),n.onOverlayExited=n.onOverlayExited.bind(c(n)),n.resetFilter=n.resetFilter.bind(c(n)),n.clear=n.clear.bind(c(n)),n.hasFilter=n.hasFilter.bind(c(n)),n.getOptionLabel=n.getOptionLabel.bind(c(n)),n.getOptionRenderKey=n.getOptionRenderKey.bind(c(n)),n.isOptionDisabled=n.isOptionDisabled.bind(c(n)),n.getOptionGroupChildren=n.getOptionGroupChildren.bind(c(n)),n.getOptionGroupLabel=n.getOptionGroupLabel.bind(c(n)),n.getOptionGroupRenderKey=n.getOptionGroupRenderKey.bind(c(n)),n.getSelectedOptionIndex=n.getSelectedOptionIndex.bind(c(n)),n.isSelected=n.isSelected.bind(c(n)),n.overlayRef=e.createRef(),n.inputRef=e.createRef(n.props.inputRef),n}return u(h,[{key:"onClick",value:function(e){this.props.disabled||t.DomHandler.hasClass(e.target,"p-dropdown-clear-icon")||"INPUT"===e.target.tagName||this.overlayRef.current&&this.overlayRef.current&&this.overlayRef.current.contains(e.target)||(this.focusInput.focus(),this.state.overlayVisible?this.hideOverlay():this.showOverlay())}},{key:"onInputFocus",value:function(e){var t=this;e.persist(),this.props.showOnFocus&&!this.state.overlayVisible&&this.showOverlay(),this.setState({focused:!0},(function(){t.props.onFocus&&t.props.onFocus(e)}))}},{key:"onInputBlur",value:function(e){var t=this;e.persist(),this.setState({focused:!1},(function(){t.props.onBlur&&t.props.onBlur(e)}))}},{key:"onPanelClick",value:function(e){t.OverlayService.emit("overlay-click",{originalEvent:e,target:this.container})}},{key:"onInputKeyDown",value:function(e){switch(e.which){case 40:this.onDownKey(e);break;case 38:this.onUpKey(e);break;case 32:this.state.overlayVisible?this.hideOverlay():this.showOverlay(),e.preventDefault();break;case 13:this.hideOverlay(),e.preventDefault();break;case 27:case 9:this.hideOverlay();break;default:this.search(e)}}},{key:"onFilterInputKeyDown",value:function(e){switch(e.which){case 40:this.onDownKey(e);break;case 38:this.onUpKey(e);break;case 13:case 27:this.hideOverlay(),e.preventDefault()}}},{key:"onUpKey",value:function(e){if(this.getVisibleOptions()){var t=this.findPrevOption(this.getSelectedOptionIndex());t&&this.selectItem({originalEvent:e,option:t})}e.preventDefault()}},{key:"onDownKey",value:function(e){if(this.getVisibleOptions())if(!this.state.overlayVisible&&e.altKey)this.showOverlay();else{var t=this.findNextOption(this.getSelectedOptionIndex());t&&this.selectItem({originalEvent:e,option:t})}e.preventDefault()}},{key:"findNextOption",value:function(e){var t=this.getVisibleOptions();if(this.props.optionGroupLabel){var n=-1===e?0:e.group,i=-1===e?-1:e.option,r=this.findNextOptionInList(this.getOptionGroupChildren(t[n]),i);return r||(n+1!==t.length?this.findNextOption({group:n+1,option:-1}):null)}return this.findNextOptionInList(t,e)}},{key:"findNextOptionInList",value:function(e,t){var n=t+1;if(n===e.length)return null;var i=e[n];return this.isOptionDisabled(i)?this.findNextOptionInList(n):i}},{key:"findPrevOption",value:function(e){if(-1===e)return null;var t=this.getVisibleOptions();if(this.props.optionGroupLabel){var n=e.group,i=e.option,r=this.findPrevOptionInList(this.getOptionGroupChildren(t[n]),i);return r||(n>0?this.findPrevOption({group:n-1,option:this.getOptionGroupChildren(t[n-1]).length}):null)}return this.findPrevOptionInList(t,e)}},{key:"findPrevOptionInList",value:function(e,t){var n=t-1;if(n<0)return null;var i=e[n];return this.isOptionDisabled(i)?this.findPrevOption(n):i}},{key:"search",value:function(e){var t=this;this.searchTimeout&&clearTimeout(this.searchTimeout);var n=e.key;if(this.previousSearchChar=this.currentSearchChar,this.currentSearchChar=n,this.searchValue=this.previousSearchChar===this.currentSearchChar?this.currentSearchChar:this.searchValue?this.searchValue+n:n,this.searchValue){var i=this.getSelectedOptionIndex(),r=this.props.optionGroupLabel?this.searchOptionInGroup(i):this.searchOption(++i);r&&(this.selectItem({originalEvent:e,option:r}),this.selectedOptionUpdated=!0)}this.searchTimeout=setTimeout((function(){t.searchValue=null}),250)}},{key:"searchOption",value:function(e){var t;if(this.searchValue){var n=this.getVisibleOptions();(t=this.searchOptionInRange(e,n.length))||(t=this.searchOptionInRange(0,e))}return t}},{key:"searchOptionInRange",value:function(e,t){for(var n=this.getVisibleOptions(),i=e;i<t;i++){var r=n[i];if(this.matchesSearchValue(r))return r}return null}},{key:"searchOptionInGroup",value:function(e){for(var t=-1===e?{group:0,option:-1}:e,n=this.getVisibleOptions(),i=t.group;i<n.length;i++)for(var r=this.getOptionGroupChildren(n[i]),o=t.group===i?t.option+1:0;o<r.length;o++)if(this.matchesSearchValue(r[o]))return r[o];for(var l=0;l<=t.group;l++)for(var s=this.getOptionGroupChildren(n[l]),a=0;a<(t.group===l?t.option:s.length);a++)if(this.matchesSearchValue(s[a]))return s[a];return null}},{key:"matchesSearchValue",value:function(e){return this.getOptionLabel(e).toLocaleLowerCase(this.props.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.props.filterLocale))}},{key:"onEditableInputChange",value:function(e){this.props.onChange&&this.props.onChange({originalEvent:e.originalEvent,value:e.target.value,stopPropagation:function(){},preventDefault:function(){},target:{name:this.props.name,id:this.props.id,value:e.target.value}})}},{key:"onEditableInputFocus",value:function(e){var t=this;e.persist(),this.setState({focused:!0},(function(){t.hideOverlay(),t.props.onFocus&&t.props.onFocus(e)}))}},{key:"onOptionClick",value:function(e){e.option.disabled||(this.selectItem(e),this.focusInput.focus()),this.hideOverlay()}},{key:"onFilterInputChange",value:function(e){var t=this,n=e.target.value;this.setState({filter:n},(function(){t.props.onFilter&&t.props.onFilter({originalEvent:e,filter:n})}))}},{key:"onFilterClearIconClick",value:function(e){this.resetFilter(e)}},{key:"resetFilter",value:function(e){var t=this;this.setState({filter:""},(function(){t.props.onFilter&&t.props.onFilter({filter:""}),e&&e()}))}},{key:"clear",value:function(e){this.props.onChange&&this.props.onChange({originalEvent:e,value:void 0,stopPropagation:function(){},preventDefault:function(){},target:{name:this.props.name,id:this.props.id,value:void 0}}),this.updateEditableLabel()}},{key:"selectItem",value:function(e){if(this.getSelectedOption()!==e.option){this.updateEditableLabel(e.option);var t=this.getOptionValue(e.option);this.props.onChange&&this.props.onChange({originalEvent:e.originalEvent,value:t,stopPropagation:function(){},preventDefault:function(){},target:{name:this.props.name,id:this.props.id,value:t}})}}},{key:"getSelectedOption",value:function(){var e=this.getSelectedOptionIndex();return-1!==e?this.props.optionGroupLabel?this.getOptionGroupChildren(this.props.options[e.group])[e.option]:this.props.options[e]:null}},{key:"getSelectedOptionIndex",value:function(){if(null!=this.props.value&&this.props.options){if(!this.props.optionGroupLabel)return this.findOptionIndexInList(this.props.value,this.props.options);for(var e=0;e<this.props.options.length;e++){var t=this.findOptionIndexInList(this.props.value,this.getOptionGroupChildren(this.props.options[e]));if(-1!==t)return{group:e,option:t}}}return-1}},{key:"findOptionIndexInList",value:function(e,n){for(var i=this.equalityKey(),r=0;r<n.length;r++)if(t.ObjectUtils.equals(e,this.getOptionValue(n[r]),i))return r;return-1}},{key:"isSelected",value:function(e){return t.ObjectUtils.equals(this.props.value,this.getOptionValue(e),this.equalityKey())}},{key:"equalityKey",value:function(){return this.props.optionValue?null:this.props.dataKey}},{key:"showOverlay",value:function(){this.setState({overlayVisible:!0})}},{key:"hideOverlay",value:function(){this.setState({overlayVisible:!1})}},{key:"onOverlayEnter",value:function(e){t.ZIndexUtils.set("overlay",this.overlayRef.current),this.alignOverlay(),this.scrollInView(),e&&e()}},{key:"onOverlayEntered",value:function(e){this.bindDocumentClickListener(),this.bindScrollListener(),this.bindResizeListener(),e&&e(),this.props.onShow&&this.props.onShow()}},{key:"onOverlayExit",value:function(){this.unbindDocumentClickListener(),this.unbindScrollListener(),this.unbindResizeListener()}},{key:"onOverlayExited",value:function(){this.props.filter&&this.props.resetFilterOnHide&&this.resetFilter(),t.ZIndexUtils.clear(this.overlayRef.current),this.props.onHide&&this.props.onHide()}},{key:"alignOverlay",value:function(){t.DomHandler.alignOverlay(this.overlayRef.current,this.input.parentElement,this.props.appendTo||l.default.appendTo)}},{key:"scrollInView",value:function(){var e=t.DomHandler.findSingle(this.overlayRef.current,"li.p-highlight");e&&e.scrollIntoView({block:"nearest",inline:"start"})}},{key:"bindDocumentClickListener",value:function(){var e=this;this.documentClickListener||(this.documentClickListener=function(t){e.state.overlayVisible&&e.isOutsideClicked(t)&&e.hideOverlay()},document.addEventListener("click",this.documentClickListener))}},{key:"unbindDocumentClickListener",value:function(){this.documentClickListener&&(document.removeEventListener("click",this.documentClickListener),this.documentClickListener=null)}},{key:"bindScrollListener",value:function(){var e=this;this.scrollHandler||(this.scrollHandler=new t.ConnectedOverlayScrollHandler(this.container,(function(){e.state.overlayVisible&&e.hideOverlay()}))),this.scrollHandler.bindScrollListener()}},{key:"unbindScrollListener",value:function(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()}},{key:"bindResizeListener",value:function(){var e=this;this.resizeListener||(this.resizeListener=function(){e.state.overlayVisible&&!t.DomHandler.isAndroid()&&e.hideOverlay()},window.addEventListener("resize",this.resizeListener))}},{key:"unbindResizeListener",value:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)}},{key:"isOutsideClicked",value:function(e){return this.container&&!(this.container.isSameNode(e.target)||this.isClearClicked(e)||this.container.contains(e.target)||this.overlayRef&&this.overlayRef.current.contains(e.target))}},{key:"isClearClicked",value:function(e){return t.DomHandler.hasClass(e.target,"p-dropdown-clear-icon")}},{key:"updateEditableLabel",value:function(e){this.input&&(this.input.value=e?this.getOptionLabel(e):this.props.value||"")}},{key:"hasFilter",value:function(){return this.state.filter&&this.state.filter.trim().length>0}},{key:"getOptionLabel",value:function(e){return this.props.optionLabel?t.ObjectUtils.resolveFieldData(e,this.props.optionLabel):e&&void 0!==e.label?e.label:e}},{key:"getOptionValue",value:function(e){return this.props.optionValue?t.ObjectUtils.resolveFieldData(e,this.props.optionValue):e&&void 0!==e.value?e.value:e}},{key:"getOptionRenderKey",value:function(e){return this.props.dataKey?t.ObjectUtils.resolveFieldData(e,this.props.dataKey):this.getOptionLabel(e)}},{key:"isOptionDisabled",value:function(e){return this.props.optionDisabled?t.ObjectUtils.isFunction(this.props.optionDisabled)?this.props.optionDisabled(e):t.ObjectUtils.resolveFieldData(e,this.props.optionDisabled):!(!e||void 0===e.disabled)&&e.disabled}},{key:"getOptionGroupRenderKey",value:function(e){return t.ObjectUtils.resolveFieldData(e,this.props.optionGroupLabel)}},{key:"getOptionGroupLabel",value:function(e){return t.ObjectUtils.resolveFieldData(e,this.props.optionGroupLabel)}},{key:"getOptionGroupChildren",value:function(e){return t.ObjectUtils.resolveFieldData(e,this.props.optionGroupChildren)}},{key:"checkValidity",value:function(){return this.inputRef.current.checkValidity()}},{key:"getVisibleOptions",value:function(){if(this.hasFilter()){var e=this.state.filter.trim().toLocaleLowerCase(this.props.filterLocale),n=this.props.filterBy?this.props.filterBy.split(","):[this.props.optionLabel||"label"];if(this.props.optionGroupLabel){var i,r=[],o=S(this.props.options);try{for(o.s();!(i=o.n()).done;){var l=i.value,s=t.FilterUtils.filter(this.getOptionGroupChildren(l),n,e,this.props.filterMatchMode,this.props.filterLocale);s&&s.length&&r.push(L(L({},l),{items:s}))}}catch(e){o.e(e)}finally{o.f()}return r}return t.FilterUtils.filter(this.props.options,n,e,this.props.filterMatchMode,this.props.filterLocale)}return this.props.options}},{key:"updateInputField",value:function(){if(this.props.editable&&this.input){var e=this.getSelectedOption(),t=e?this.getOptionLabel(e):null;this.input.value=t||this.props.value||""}}},{key:"updateInputRef",value:function(){var e=this.props.inputRef;e&&("function"==typeof e?e(this.inputRef.current):e.current=this.inputRef.current)}},{key:"componentDidMount",value:function(){this.updateInputRef(),this.props.autoFocus&&this.focusInput&&this.focusInput.focus(),this.props.tooltip&&this.renderTooltip(),this.updateInputField(),this.inputRef.current.selectedIndex=1}},{key:"componentWillUnmount",value:function(){this.unbindDocumentClickListener(),this.unbindResizeListener(),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.tooltip&&(this.tooltip.destroy(),this.tooltip=null),this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=null),t.ZIndexUtils.clear(this.overlayRef.current)}},{key:"componentDidUpdate",value:function(e){this.state.overlayVisible&&(this.props.filter&&this.alignOverlay(),e.value!==this.props.value&&this.scrollInView()),e.tooltip===this.props.tooltip&&e.tooltipOptions===this.props.tooltipOptions||(this.tooltip?this.tooltip.update(L({content:this.props.tooltip},this.props.tooltipOptions||{})):this.renderTooltip()),!this.state.filter||this.props.options&&0!==this.props.options.length||this.setState({filter:""}),this.updateInputField(),this.inputRef.current.selectedIndex=1}},{key:"renderHiddenSelect",value:function(e){var t=o.default.createElement("option",{value:""},this.props.placeholder),n=e?o.default.createElement("option",{value:e.value},this.getOptionLabel(e)):null;return o.default.createElement("div",{className:"p-hidden-accessible p-dropdown-hidden-select"},o.default.createElement("select",{ref:this.inputRef,required:this.props.required,name:this.props.name,tabIndex:-1,"aria-hidden":"true"},t,n))}},{key:"renderTooltip",value:function(){this.tooltip=t.tip({target:this.container,content:this.props.tooltip,options:this.props.tooltipOptions})}},{key:"renderKeyboardHelper",value:function(){var e=this;return o.default.createElement("div",{className:"p-hidden-accessible"},o.default.createElement("input",{ref:function(t){return e.focusInput=t},id:this.props.inputId,type:"text",readOnly:!0,"aria-haspopup":"listbox",onFocus:this.onInputFocus,onBlur:this.onInputBlur,onKeyDown:this.onInputKeyDown,disabled:this.props.disabled,tabIndex:this.props.tabIndex,"aria-label":this.props.ariaLabel,"aria-labelledby":this.props.ariaLabelledBy}))}},{key:"renderLabel",value:function(e){var n=this,i=e?this.getOptionLabel(e):null;if(this.props.editable)return o.default.createElement("input",{ref:function(e){return n.input=e},type:"text",defaultValue:i||this.props.value||"",className:"p-dropdown-label p-inputtext",disabled:this.props.disabled,placeholder:this.props.placeholder,maxLength:this.props.maxLength,onInput:this.onEditableInputChange,onFocus:this.onEditableInputFocus,onBlur:this.onInputBlur,"aria-label":this.props.ariaLabel,"aria-labelledby":this.props.ariaLabelledBy,"aria-haspopup":"listbox"});var r=t.classNames("p-dropdown-label p-inputtext",{"p-placeholder":null===i&&this.props.placeholder,"p-dropdown-label-empty":null===i&&!this.props.placeholder}),l=this.props.valueTemplate?t.ObjectUtils.getJSXElement(this.props.valueTemplate,e,this.props):i||this.props.placeholder||"empty";return o.default.createElement("span",{ref:function(e){return n.input=e},className:r},l)}},{key:"renderClearIcon",value:function(){return null!=this.props.value&&this.props.showClear&&!this.props.disabled?o.default.createElement("i",{className:"p-dropdown-clear-icon pi pi-times",onClick:this.clear}):null}},{key:"renderDropdownIcon",value:function(){var e=this,n=t.classNames("p-dropdown-trigger-icon p-clickable",this.props.dropdownIcon);return o.default.createElement("div",{ref:function(t){return e.trigger=t},className:"p-dropdown-trigger",role:"button","aria-haspopup":"listbox","aria-expanded":this.state.overlayVisible},o.default.createElement("span",{className:n}))}},{key:"render",value:function(){var e=this,n=t.classNames("p-dropdown p-component p-inputwrapper",this.props.className,{"p-disabled":this.props.disabled,"p-focus":this.state.focused,"p-dropdown-clearable":this.props.showClear&&!this.props.disabled,"p-inputwrapper-filled":this.props.value,"p-inputwrapper-focus":this.state.focused||this.state.overlayVisible}),i=this.getVisibleOptions(),r=this.getSelectedOption(),l=this.renderHiddenSelect(r),a=this.renderKeyboardHelper(),p=this.renderLabel(r),u=this.renderDropdownIcon(),c=this.renderClearIcon();return o.default.createElement("div",{id:this.props.id,ref:function(t){return e.container=t},className:n,style:this.props.style,onClick:this.onClick,onMouseDown:this.props.onMouseDown,onContextMenu:this.props.onContextMenu},a,l,p,c,u,o.default.createElement(E,s({ref:this.overlayRef,visibleOptions:i},this.props,{onClick:this.onPanelClick,onOptionClick:this.onOptionClick,filterValue:this.state.filter,hasFilter:this.hasFilter,onFilterClearIconClick:this.onFilterClearIconClick,onFilterInputKeyDown:this.onFilterInputKeyDown,onFilterInputChange:this.onFilterInputChange,getOptionLabel:this.getOptionLabel,getOptionRenderKey:this.getOptionRenderKey,isOptionDisabled:this.isOptionDisabled,getOptionGroupChildren:this.getOptionGroupChildren,getOptionGroupLabel:this.getOptionGroupLabel,getOptionGroupRenderKey:this.getOptionGroupRenderKey,isSelected:this.isSelected,getSelectedOptionIndex:this.getSelectedOptionIndex,in:this.state.overlayVisible,onEnter:this.onOverlayEnter,onEntered:this.onOverlayEntered,onExit:this.onOverlayExit,onExited:this.onOverlayExited})))}}]),h}();b(D,"defaultProps",{id:null,inputRef:null,name:null,value:null,options:null,optionLabel:null,optionValue:null,optionDisabled:null,optionGroupLabel:null,optionGroupChildren:null,optionGroupTemplate:null,valueTemplate:null,itemTemplate:null,style:null,className:null,virtualScrollerOptions:null,scrollHeight:"200px",filter:!1,filterBy:null,filterMatchMode:"contains",filterPlaceholder:null,filterLocale:void 0,emptyMessage:"No records found",emptyFilterMessage:"No results found",editable:!1,placeholder:null,required:!1,disabled:!1,appendTo:null,tabIndex:null,autoFocus:!1,filterInputAutoFocus:!0,resetFilterOnHide:!1,showFilterClear:!1,panelClassName:null,panelStyle:null,dataKey:null,inputId:null,showClear:!1,maxLength:null,tooltip:null,tooltipOptions:null,ariaLabel:null,ariaLabelledBy:null,transitionOptions:null,dropdownIcon:"pi pi-chevron-down",showOnFocus:!1,onChange:null,onFocus:null,onBlur:null,onMouseDown:null,onContextMenu:null,onShow:null,onHide:null,onFilter:null}),exports.Dropdown=D;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/core"),n=require("primereact/virtualscroller"),i=require("primereact/api");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=r(e),l=r(i);function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function p(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function u(e,t,n){return t&&p(e.prototype,t),n&&p(e,n),e}function c(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function h(e,t){return(h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function d(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&h(e,t)}function f(e){return(f="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})(e)}function v(e,t){if(t&&("object"===f(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return c(e)}function y(e){return(y=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function b(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function O(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}var m=function(n){d(s,e.Component);var i,r,l=(i=s,r=O(),function(){var e,t=y(i);if(r){var n=y(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return v(this,e)});function s(e){var t;return a(this,s),(t=l.call(this,e)).onClick=t.onClick.bind(c(t)),t}return u(s,[{key:"onClick",value:function(e){this.props.onClick&&this.props.onClick({originalEvent:e,option:this.props.option})}},{key:"render",value:function(){var e=t.classNames("p-dropdown-item",{"p-highlight":this.props.selected,"p-disabled":this.props.disabled,"p-dropdown-item-empty":!this.props.label||0===this.props.label.length},this.props.option.className),n=this.props.template?t.ObjectUtils.getJSXElement(this.props.template,this.props.option):this.props.label;return o.default.createElement("li",{className:e,onClick:this.onClick,"aria-label":this.props.label,key:this.props.label,role:"option","aria-selected":this.props.selected},n,o.default.createElement(t.Ripple,null))}}]),s}();function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function k(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){b(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}function C(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}b(m,"defaultProps",{option:null,label:null,template:null,selected:!1,disabled:!1,onClick:null});var I=function(i){d(h,e.Component);var r,l,p=(r=h,l=C(),function(){var e,t=y(r);if(l){var n=y(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return v(this,e)});function h(e){var t;return a(this,h),(t=p.call(this,e)).onEnter=t.onEnter.bind(c(t)),t.onEntered=t.onEntered.bind(c(t)),t.onFilterInputChange=t.onFilterInputChange.bind(c(t)),t}return u(h,[{key:"onEnter",value:function(){var e=this;this.props.onEnter((function(){if(e.virtualScrollerRef){var t=e.props.getSelectedOptionIndex();-1!==t&&e.virtualScrollerRef.scrollToIndex(t)}}))}},{key:"onEntered",value:function(){var e=this;this.props.onEntered((function(){e.props.filter&&e.props.filterInputAutoFocus&&e.filterInput.focus()}))}},{key:"onFilterInputChange",value:function(e){this.virtualScrollerRef&&this.virtualScrollerRef.scrollToIndex(0),this.props.onFilterInputChange&&this.props.onFilterInputChange(e)}},{key:"isEmptyFilter",value:function(){return!(this.props.visibleOptions&&this.props.visibleOptions.length)&&this.props.hasFilter()}},{key:"renderGroupChildren",value:function(e){var t=this;return this.props.getOptionGroupChildren(e).map((function(e,n){var i=t.props.getOptionLabel(e),r=n+"_"+t.props.getOptionRenderKey(e),l=t.props.isOptionDisabled(e);return o.default.createElement(m,{key:r,label:i,option:e,template:t.props.itemTemplate,selected:t.props.isSelected(e),disabled:l,onClick:t.props.onOptionClick})}))}},{key:"renderEmptyMessage",value:function(e){var n=t.ObjectUtils.getJSXElement(e,this.props);return o.default.createElement("li",{className:"p-dropdown-empty-message"},n)}},{key:"renderItem",value:function(e,n){if(this.props.optionGroupLabel){var i=this.props.optionGroupTemplate?t.ObjectUtils.getJSXElement(this.props.optionGroupTemplate,e,n):this.props.getOptionGroupLabel(e),r=this.renderGroupChildren(e),l=n+"_"+this.props.getOptionGroupRenderKey(e);return o.default.createElement(o.default.Fragment,{key:l},o.default.createElement("li",{className:"p-dropdown-item-group"},i),r)}var s=this.props.getOptionLabel(e),a=n+"_"+this.props.getOptionRenderKey(e),p=this.props.isOptionDisabled(e);return o.default.createElement(m,{key:a,label:s,option:e,template:this.props.itemTemplate,selected:this.props.isSelected(e),disabled:p,onClick:this.props.onOptionClick})}},{key:"renderItems",value:function(){var e=this;return this.props.visibleOptions&&this.props.visibleOptions.length?this.props.visibleOptions.map((function(t,n){return e.renderItem(t,n)})):this.props.hasFilter()?this.renderEmptyMessage(this.props.emptyFilterMessage):this.renderEmptyMessage(this.props.emptyMessage)}},{key:"renderFilterClearIcon",value:function(){var e=this;return this.props.showFilterClear&&this.props.filterValue?o.default.createElement("i",{className:"p-dropdown-filter-clear-icon pi pi-times",onClick:function(){return e.props.onFilterClearIconClick((function(){return e.filterInput.focus()}))}}):null}},{key:"renderFilter",value:function(){var e=this;if(this.props.filter){var n=this.renderFilterClearIcon(),i=t.classNames("p-dropdown-filter-container",{"p-dropdown-clearable-filter":!!n});return o.default.createElement("div",{className:"p-dropdown-header"},o.default.createElement("div",{className:i},o.default.createElement("input",{ref:function(t){return e.filterInput=t},type:"text",autoComplete:"off",className:"p-dropdown-filter p-inputtext p-component",placeholder:this.props.filterPlaceholder,onKeyDown:this.props.onFilterInputKeyDown,onChange:this.onFilterInputChange,value:this.props.filterValue}),n,o.default.createElement("i",{className:"p-dropdown-filter-icon pi pi-search"})))}return null}},{key:"renderContent",value:function(){var e=this;if(this.props.virtualScrollerOptions){var i=k(k({},this.props.virtualScrollerOptions),{style:k(k({},this.props.virtualScrollerOptions.style),{height:this.props.scrollHeight}),className:t.classNames("p-dropdown-items-wrapper",this.props.virtualScrollerOptions.className),items:this.props.visibleOptions,onLazyLoad:function(t){return e.props.virtualScrollerOptions.onLazyLoad(k(k({},t),{filter:e.props.filterValue}))},itemTemplate:function(t,n){return t&&e.renderItem(t,n.index)},contentTemplate:function(n){var i=t.classNames("p-dropdown-items",n.className),r=e.isEmptyFilter()?e.renderEmptyMessage():n.children;return o.default.createElement("ul",{ref:n.contentRef,className:i,role:"listbox"},r)}});return o.default.createElement(n.VirtualScroller,s({ref:function(t){return e.virtualScrollerRef=t}},i))}var r=this.renderItems();return o.default.createElement("div",{className:"p-dropdown-items-wrapper",style:{maxHeight:this.props.scrollHeight||"auto"}},o.default.createElement("ul",{className:"p-dropdown-items",role:"listbox"},r))}},{key:"renderElement",value:function(){var e=t.classNames("p-dropdown-panel p-component",this.props.panelClassName),n=this.renderFilter(),i=this.renderContent();return o.default.createElement(t.CSSTransition,{nodeRef:this.props.forwardRef,classNames:"p-connected-overlay",in:this.props.in,timeout:{enter:120,exit:100},options:this.props.transitionOptions,unmountOnExit:!0,onEnter:this.onEnter,onEntering:this.props.onEntering,onEntered:this.onEntered,onExit:this.props.onExit,onExited:this.props.onExited},o.default.createElement("div",{ref:this.props.forwardRef,className:e,style:this.props.panelStyle,onClick:this.props.onClick},n,i))}},{key:"render",value:function(){var e=this.renderElement();return o.default.createElement(t.Portal,{element:e,appendTo:this.props.appendTo})}}]),h}(),E=o.default.forwardRef((function(e,t){return o.default.createElement(I,s({forwardRef:t},e))}));function w(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function L(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?w(Object(n),!0).forEach((function(t){b(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):w(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function S(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=F(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}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 o,l=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return l=e.done,e},e:function(e){s=!0,o=e},f:function(){try{l||null==n.return||n.return()}finally{if(s)throw o}}}}function F(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,i=new Array(t);n<t;n++)i[n]=e[n];return i}function R(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}var D=function(n){d(f,e.Component);var r,p,h=(r=f,p=R(),function(){var e,t=y(r);if(p){var n=y(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return v(this,e)});function f(t){var n;return a(this,f),(n=h.call(this,t)).state={filter:"",focused:!1,overlayVisible:!1},n.onClick=n.onClick.bind(c(n)),n.onInputFocus=n.onInputFocus.bind(c(n)),n.onInputBlur=n.onInputBlur.bind(c(n)),n.onInputKeyDown=n.onInputKeyDown.bind(c(n)),n.onEditableInputChange=n.onEditableInputChange.bind(c(n)),n.onEditableInputFocus=n.onEditableInputFocus.bind(c(n)),n.onOptionClick=n.onOptionClick.bind(c(n)),n.onFilterInputChange=n.onFilterInputChange.bind(c(n)),n.onFilterInputKeyDown=n.onFilterInputKeyDown.bind(c(n)),n.onFilterClearIconClick=n.onFilterClearIconClick.bind(c(n)),n.onPanelClick=n.onPanelClick.bind(c(n)),n.onOverlayEnter=n.onOverlayEnter.bind(c(n)),n.onOverlayEntered=n.onOverlayEntered.bind(c(n)),n.onOverlayExit=n.onOverlayExit.bind(c(n)),n.onOverlayExited=n.onOverlayExited.bind(c(n)),n.resetFilter=n.resetFilter.bind(c(n)),n.clear=n.clear.bind(c(n)),n.hasFilter=n.hasFilter.bind(c(n)),n.getOptionLabel=n.getOptionLabel.bind(c(n)),n.getOptionRenderKey=n.getOptionRenderKey.bind(c(n)),n.isOptionDisabled=n.isOptionDisabled.bind(c(n)),n.getOptionGroupChildren=n.getOptionGroupChildren.bind(c(n)),n.getOptionGroupLabel=n.getOptionGroupLabel.bind(c(n)),n.getOptionGroupRenderKey=n.getOptionGroupRenderKey.bind(c(n)),n.getSelectedOptionIndex=n.getSelectedOptionIndex.bind(c(n)),n.isSelected=n.isSelected.bind(c(n)),n.overlayRef=e.createRef(),n.inputRef=e.createRef(n.props.inputRef),n}return u(f,[{key:"onClick",value:function(e){this.props.disabled||t.DomHandler.hasClass(e.target,"p-dropdown-clear-icon")||"INPUT"===e.target.tagName||this.overlayRef.current&&this.overlayRef.current&&this.overlayRef.current.contains(e.target)||(this.focusInput.focus(),this.state.overlayVisible?this.hideOverlay():this.showOverlay())}},{key:"onInputFocus",value:function(e){var t=this;e.persist(),this.props.showOnFocus&&!this.state.overlayVisible&&this.showOverlay(),this.setState({focused:!0},(function(){t.props.onFocus&&t.props.onFocus(e)}))}},{key:"onInputBlur",value:function(e){var t=this;e.persist(),this.setState({focused:!1},(function(){t.props.onBlur&&t.props.onBlur(e)}))}},{key:"onPanelClick",value:function(e){t.OverlayService.emit("overlay-click",{originalEvent:e,target:this.container})}},{key:"onInputKeyDown",value:function(e){switch(e.which){case 40:this.onDownKey(e);break;case 38:this.onUpKey(e);break;case 32:this.state.overlayVisible?this.hideOverlay():this.showOverlay(),e.preventDefault();break;case 13:this.hideOverlay(),e.preventDefault();break;case 27:case 9:this.hideOverlay();break;default:this.search(e)}}},{key:"onFilterInputKeyDown",value:function(e){switch(e.which){case 40:this.onDownKey(e);break;case 38:this.onUpKey(e);break;case 13:case 27:this.hideOverlay(),e.preventDefault()}}},{key:"onUpKey",value:function(e){if(this.getVisibleOptions()){var t=this.findPrevOption(this.getSelectedOptionIndex());t&&this.selectItem({originalEvent:e,option:t})}e.preventDefault()}},{key:"onDownKey",value:function(e){if(this.getVisibleOptions())if(!this.state.overlayVisible&&e.altKey)this.showOverlay();else{var t=this.findNextOption(this.getSelectedOptionIndex());t&&this.selectItem({originalEvent:e,option:t})}e.preventDefault()}},{key:"findNextOption",value:function(e){var t=this.getVisibleOptions();if(this.props.optionGroupLabel){var n=-1===e?0:e.group,i=-1===e?-1:e.option,r=this.findNextOptionInList(this.getOptionGroupChildren(t[n]),i);return r||(n+1!==t.length?this.findNextOption({group:n+1,option:-1}):null)}return this.findNextOptionInList(t,e)}},{key:"findNextOptionInList",value:function(e,t){var n=t+1;if(n===e.length)return null;var i=e[n];return this.isOptionDisabled(i)?this.findNextOptionInList(n):i}},{key:"findPrevOption",value:function(e){if(-1===e)return null;var t=this.getVisibleOptions();if(this.props.optionGroupLabel){var n=e.group,i=e.option,r=this.findPrevOptionInList(this.getOptionGroupChildren(t[n]),i);return r||(n>0?this.findPrevOption({group:n-1,option:this.getOptionGroupChildren(t[n-1]).length}):null)}return this.findPrevOptionInList(t,e)}},{key:"findPrevOptionInList",value:function(e,t){var n=t-1;if(n<0)return null;var i=e[n];return this.isOptionDisabled(i)?this.findPrevOption(n):i}},{key:"search",value:function(e){var t=this;this.searchTimeout&&clearTimeout(this.searchTimeout);var n=e.key;if(this.previousSearchChar=this.currentSearchChar,this.currentSearchChar=n,this.searchValue=this.previousSearchChar===this.currentSearchChar?this.currentSearchChar:this.searchValue?this.searchValue+n:n,this.searchValue){var i=this.getSelectedOptionIndex(),r=this.props.optionGroupLabel?this.searchOptionInGroup(i):this.searchOption(++i);r&&(this.selectItem({originalEvent:e,option:r}),this.selectedOptionUpdated=!0)}this.searchTimeout=setTimeout((function(){t.searchValue=null}),250)}},{key:"searchOption",value:function(e){var t;if(this.searchValue){var n=this.getVisibleOptions();(t=this.searchOptionInRange(e,n.length))||(t=this.searchOptionInRange(0,e))}return t}},{key:"searchOptionInRange",value:function(e,t){for(var n=this.getVisibleOptions(),i=e;i<t;i++){var r=n[i];if(this.matchesSearchValue(r))return r}return null}},{key:"searchOptionInGroup",value:function(e){for(var t=-1===e?{group:0,option:-1}:e,n=this.getVisibleOptions(),i=t.group;i<n.length;i++)for(var r=this.getOptionGroupChildren(n[i]),o=t.group===i?t.option+1:0;o<r.length;o++)if(this.matchesSearchValue(r[o]))return r[o];for(var l=0;l<=t.group;l++)for(var s=this.getOptionGroupChildren(n[l]),a=0;a<(t.group===l?t.option:s.length);a++)if(this.matchesSearchValue(s[a]))return s[a];return null}},{key:"matchesSearchValue",value:function(e){return this.getOptionLabel(e).toLocaleLowerCase(this.props.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.props.filterLocale))}},{key:"onEditableInputChange",value:function(e){this.props.onChange&&this.props.onChange({originalEvent:e.originalEvent,value:e.target.value,stopPropagation:function(){},preventDefault:function(){},target:{name:this.props.name,id:this.props.id,value:e.target.value}})}},{key:"onEditableInputFocus",value:function(e){var t=this;e.persist(),this.setState({focused:!0},(function(){t.hideOverlay(),t.props.onFocus&&t.props.onFocus(e)}))}},{key:"onOptionClick",value:function(e){e.option.disabled||(this.selectItem(e),this.focusInput.focus()),this.hideOverlay()}},{key:"onFilterInputChange",value:function(e){var t=this,n=e.target.value;this.setState({filter:n},(function(){t.props.onFilter&&t.props.onFilter({originalEvent:e,filter:n})}))}},{key:"onFilterClearIconClick",value:function(e){this.resetFilter(e)}},{key:"resetFilter",value:function(e){var t=this;this.setState({filter:""},(function(){t.props.onFilter&&t.props.onFilter({filter:""}),e&&e()}))}},{key:"clear",value:function(e){this.props.onChange&&this.props.onChange({originalEvent:e,value:void 0,stopPropagation:function(){},preventDefault:function(){},target:{name:this.props.name,id:this.props.id,value:void 0}}),this.updateEditableLabel()}},{key:"selectItem",value:function(e){if(this.getSelectedOption()!==e.option){this.updateEditableLabel(e.option);var t=this.getOptionValue(e.option);this.props.onChange&&this.props.onChange({originalEvent:e.originalEvent,value:t,stopPropagation:function(){},preventDefault:function(){},target:{name:this.props.name,id:this.props.id,value:t}})}}},{key:"getSelectedOption",value:function(){var e=this.getSelectedOptionIndex(),t=this.getVisibleOptions();return-1!==e?this.props.optionGroupLabel?this.getOptionGroupChildren(t[e.group])[e.option]:t[e]:null}},{key:"getSelectedOptionIndex",value:function(){var e=this.getVisibleOptions();if(null!=this.props.value&&e){if(!this.props.optionGroupLabel)return this.findOptionIndexInList(this.props.value,e);for(var t=0;t<e.length;t++){var n=this.findOptionIndexInList(this.props.value,this.getOptionGroupChildren(e[t]));if(-1!==n)return{group:t,option:n}}}return-1}},{key:"findOptionIndexInList",value:function(e,n){for(var i=this.equalityKey(),r=0;r<n.length;r++)if(t.ObjectUtils.equals(e,this.getOptionValue(n[r]),i))return r;return-1}},{key:"isSelected",value:function(e){return t.ObjectUtils.equals(this.props.value,this.getOptionValue(e),this.equalityKey())}},{key:"equalityKey",value:function(){return this.props.optionValue?null:this.props.dataKey}},{key:"showOverlay",value:function(){this.setState({overlayVisible:!0})}},{key:"hideOverlay",value:function(){this.setState({overlayVisible:!1})}},{key:"onOverlayEnter",value:function(e){t.ZIndexUtils.set("overlay",this.overlayRef.current),this.alignOverlay(),e&&e()}},{key:"onOverlayEntered",value:function(e){this.bindDocumentClickListener(),this.bindScrollListener(),this.bindResizeListener(),e&&e(),this.props.onShow&&this.props.onShow()}},{key:"onOverlayExit",value:function(){this.unbindDocumentClickListener(),this.unbindScrollListener(),this.unbindResizeListener()}},{key:"onOverlayExited",value:function(){this.props.filter&&this.props.resetFilterOnHide&&this.resetFilter(),t.ZIndexUtils.clear(this.overlayRef.current),this.props.onHide&&this.props.onHide()}},{key:"alignOverlay",value:function(){t.DomHandler.alignOverlay(this.overlayRef.current,this.input.parentElement,this.props.appendTo||l.default.appendTo)}},{key:"scrollInView",value:function(){var e=t.DomHandler.findSingle(this.overlayRef.current,"li.p-highlight");e&&e.scrollIntoView({block:"nearest",inline:"start"})}},{key:"bindDocumentClickListener",value:function(){var e=this;this.documentClickListener||(this.documentClickListener=function(t){e.state.overlayVisible&&e.isOutsideClicked(t)&&e.hideOverlay()},document.addEventListener("click",this.documentClickListener))}},{key:"unbindDocumentClickListener",value:function(){this.documentClickListener&&(document.removeEventListener("click",this.documentClickListener),this.documentClickListener=null)}},{key:"bindScrollListener",value:function(){var e=this;this.scrollHandler||(this.scrollHandler=new t.ConnectedOverlayScrollHandler(this.container,(function(){e.state.overlayVisible&&e.hideOverlay()}))),this.scrollHandler.bindScrollListener()}},{key:"unbindScrollListener",value:function(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()}},{key:"bindResizeListener",value:function(){var e=this;this.resizeListener||(this.resizeListener=function(){e.state.overlayVisible&&!t.DomHandler.isTouchDevice()&&e.hideOverlay()},window.addEventListener("resize",this.resizeListener))}},{key:"unbindResizeListener",value:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)}},{key:"isOutsideClicked",value:function(e){return this.container&&!(this.container.isSameNode(e.target)||this.isClearClicked(e)||this.container.contains(e.target)||this.overlayRef&&this.overlayRef.current.contains(e.target))}},{key:"isClearClicked",value:function(e){return t.DomHandler.hasClass(e.target,"p-dropdown-clear-icon")}},{key:"updateEditableLabel",value:function(e){this.input&&(this.input.value=e?this.getOptionLabel(e):this.props.value||"")}},{key:"hasFilter",value:function(){return this.state.filter&&this.state.filter.trim().length>0}},{key:"getOptionLabel",value:function(e){return this.props.optionLabel?t.ObjectUtils.resolveFieldData(e,this.props.optionLabel):e&&void 0!==e.label?e.label:e}},{key:"getOptionValue",value:function(e){return this.props.optionValue?t.ObjectUtils.resolveFieldData(e,this.props.optionValue):e&&void 0!==e.value?e.value:e}},{key:"getOptionRenderKey",value:function(e){return this.props.dataKey?t.ObjectUtils.resolveFieldData(e,this.props.dataKey):this.getOptionLabel(e)}},{key:"isOptionDisabled",value:function(e){return this.props.optionDisabled?t.ObjectUtils.isFunction(this.props.optionDisabled)?this.props.optionDisabled(e):t.ObjectUtils.resolveFieldData(e,this.props.optionDisabled):!(!e||void 0===e.disabled)&&e.disabled}},{key:"getOptionGroupRenderKey",value:function(e){return t.ObjectUtils.resolveFieldData(e,this.props.optionGroupLabel)}},{key:"getOptionGroupLabel",value:function(e){return t.ObjectUtils.resolveFieldData(e,this.props.optionGroupLabel)}},{key:"getOptionGroupChildren",value:function(e){return t.ObjectUtils.resolveFieldData(e,this.props.optionGroupChildren)}},{key:"checkValidity",value:function(){return this.inputRef.current.checkValidity()}},{key:"getVisibleOptions",value:function(){if(this.hasFilter()){var e=this.state.filter.trim().toLocaleLowerCase(this.props.filterLocale),t=this.props.filterBy?this.props.filterBy.split(","):[this.props.optionLabel||"label"];if(this.props.optionGroupLabel){var n,r=[],o=S(this.props.options);try{for(o.s();!(n=o.n()).done;){var l=n.value,s=i.FilterService.filter(this.getOptionGroupChildren(l),t,e,this.props.filterMatchMode,this.props.filterLocale);s&&s.length&&r.push(L(L({},l),{items:s}))}}catch(e){o.e(e)}finally{o.f()}return r}return i.FilterService.filter(this.props.options,t,e,this.props.filterMatchMode,this.props.filterLocale)}return this.props.options}},{key:"updateInputField",value:function(){if(this.props.editable&&this.input){var e=this.getSelectedOption(),t=e?this.getOptionLabel(e):null;this.input.value=t||this.props.value||""}}},{key:"updateInputRef",value:function(){var e=this.props.inputRef;e&&("function"==typeof e?e(this.inputRef.current):e.current=this.inputRef.current)}},{key:"componentDidMount",value:function(){this.updateInputRef(),this.props.autoFocus&&this.focusInput&&this.focusInput.focus(),this.props.tooltip&&this.renderTooltip(),this.updateInputField(),this.inputRef.current.selectedIndex=1}},{key:"componentWillUnmount",value:function(){this.unbindDocumentClickListener(),this.unbindResizeListener(),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.tooltip&&(this.tooltip.destroy(),this.tooltip=null),this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=null),t.ZIndexUtils.clear(this.overlayRef.current)}},{key:"componentDidUpdate",value:function(e){this.state.overlayVisible&&(this.props.filter&&this.alignOverlay(),e.value!==this.props.value&&this.scrollInView()),e.tooltip===this.props.tooltip&&e.tooltipOptions===this.props.tooltipOptions||(this.tooltip?this.tooltip.update(L({content:this.props.tooltip},this.props.tooltipOptions||{})):this.renderTooltip()),!this.state.filter||this.props.options&&0!==this.props.options.length||this.setState({filter:""}),this.updateInputField(),this.inputRef.current.selectedIndex=1}},{key:"renderHiddenSelect",value:function(e){var t=o.default.createElement("option",{value:""},this.props.placeholder),n=e?o.default.createElement("option",{value:e.value},this.getOptionLabel(e)):null;return o.default.createElement("div",{className:"p-hidden-accessible p-dropdown-hidden-select"},o.default.createElement("select",{ref:this.inputRef,required:this.props.required,name:this.props.name,tabIndex:-1,"aria-hidden":"true"},t,n))}},{key:"renderTooltip",value:function(){this.tooltip=t.tip({target:this.container,content:this.props.tooltip,options:this.props.tooltipOptions})}},{key:"renderKeyboardHelper",value:function(){var e=this;return o.default.createElement("div",{className:"p-hidden-accessible"},o.default.createElement("input",{ref:function(t){return e.focusInput=t},id:this.props.inputId,type:"text",readOnly:!0,"aria-haspopup":"listbox",onFocus:this.onInputFocus,onBlur:this.onInputBlur,onKeyDown:this.onInputKeyDown,disabled:this.props.disabled,tabIndex:this.props.tabIndex,"aria-label":this.props.ariaLabel,"aria-labelledby":this.props.ariaLabelledBy}))}},{key:"renderLabel",value:function(e){var n=this,i=e?this.getOptionLabel(e):null;if(this.props.editable)return o.default.createElement("input",{ref:function(e){return n.input=e},type:"text",defaultValue:i||this.props.value||"",className:"p-dropdown-label p-inputtext",disabled:this.props.disabled,placeholder:this.props.placeholder,maxLength:this.props.maxLength,onInput:this.onEditableInputChange,onFocus:this.onEditableInputFocus,onBlur:this.onInputBlur,"aria-label":this.props.ariaLabel,"aria-labelledby":this.props.ariaLabelledBy,"aria-haspopup":"listbox"});var r=t.classNames("p-dropdown-label p-inputtext",{"p-placeholder":null===i&&this.props.placeholder,"p-dropdown-label-empty":null===i&&!this.props.placeholder}),l=this.props.valueTemplate?t.ObjectUtils.getJSXElement(this.props.valueTemplate,e,this.props):i||this.props.placeholder||"empty";return o.default.createElement("span",{ref:function(e){return n.input=e},className:r},l)}},{key:"renderClearIcon",value:function(){return null!=this.props.value&&this.props.showClear&&!this.props.disabled?o.default.createElement("i",{className:"p-dropdown-clear-icon pi pi-times",onClick:this.clear}):null}},{key:"renderDropdownIcon",value:function(){var e=this,n=t.classNames("p-dropdown-trigger-icon p-clickable",this.props.dropdownIcon);return o.default.createElement("div",{ref:function(t){return e.trigger=t},className:"p-dropdown-trigger",role:"button","aria-haspopup":"listbox","aria-expanded":this.state.overlayVisible},o.default.createElement("span",{className:n}))}},{key:"render",value:function(){var e=this,n=t.classNames("p-dropdown p-component p-inputwrapper",this.props.className,{"p-disabled":this.props.disabled,"p-focus":this.state.focused,"p-dropdown-clearable":this.props.showClear&&!this.props.disabled,"p-inputwrapper-filled":this.props.value,"p-inputwrapper-focus":this.state.focused||this.state.overlayVisible}),i=this.getVisibleOptions(),r=this.getSelectedOption(),l=this.renderHiddenSelect(r),a=this.renderKeyboardHelper(),p=this.renderLabel(r),u=this.renderDropdownIcon(),c=this.renderClearIcon();return o.default.createElement("div",{id:this.props.id,ref:function(t){return e.container=t},className:n,style:this.props.style,onClick:this.onClick,onMouseDown:this.props.onMouseDown,onContextMenu:this.props.onContextMenu},a,l,p,c,u,o.default.createElement(E,s({ref:this.overlayRef,visibleOptions:i},this.props,{onClick:this.onPanelClick,onOptionClick:this.onOptionClick,filterValue:this.state.filter,hasFilter:this.hasFilter,onFilterClearIconClick:this.onFilterClearIconClick,onFilterInputKeyDown:this.onFilterInputKeyDown,onFilterInputChange:this.onFilterInputChange,getOptionLabel:this.getOptionLabel,getOptionRenderKey:this.getOptionRenderKey,isOptionDisabled:this.isOptionDisabled,getOptionGroupChildren:this.getOptionGroupChildren,getOptionGroupLabel:this.getOptionGroupLabel,getOptionGroupRenderKey:this.getOptionGroupRenderKey,isSelected:this.isSelected,getSelectedOptionIndex:this.getSelectedOptionIndex,in:this.state.overlayVisible,onEnter:this.onOverlayEnter,onEntered:this.onOverlayEntered,onExit:this.onOverlayExit,onExited:this.onOverlayExited})))}}]),f}();b(D,"defaultProps",{id:null,inputRef:null,name:null,value:null,options:null,optionLabel:null,optionValue:null,optionDisabled:null,optionGroupLabel:null,optionGroupChildren:null,optionGroupTemplate:null,valueTemplate:null,itemTemplate:null,style:null,className:null,virtualScrollerOptions:null,scrollHeight:"200px",filter:!1,filterBy:null,filterMatchMode:"contains",filterPlaceholder:null,filterLocale:void 0,emptyMessage:"No records found",emptyFilterMessage:"No results found",editable:!1,placeholder:null,required:!1,disabled:!1,appendTo:null,tabIndex:null,autoFocus:!1,filterInputAutoFocus:!0,resetFilterOnHide:!1,showFilterClear:!1,panelClassName:null,panelStyle:null,dataKey:null,inputId:null,showClear:!1,maxLength:null,tooltip:null,tooltipOptions:null,ariaLabel:null,ariaLabelledBy:null,transitionOptions:null,dropdownIcon:"pi pi-chevron-down",showOnFocus:!1,onChange:null,onFocus:null,onBlur:null,onMouseDown:null,onContextMenu:null,onShow:null,onHide:null,onFilter:null}),exports.Dropdown=D;
@@ -1,7 +1,7 @@
1
1
  import React, { Component, createRef } from 'react';
2
- import { classNames, ObjectUtils, Ripple, CSSTransition, Portal, DomHandler, OverlayService, ZIndexUtils, ConnectedOverlayScrollHandler, FilterUtils, tip } from 'primereact/core';
2
+ import { classNames, ObjectUtils, Ripple, CSSTransition, Portal, DomHandler, OverlayService, ZIndexUtils, ConnectedOverlayScrollHandler, tip } from 'primereact/core';
3
3
  import { VirtualScroller } from 'primereact/virtualscroller';
4
- import PrimeReact from 'primereact/api';
4
+ import PrimeReact, { FilterService } from 'primereact/api';
5
5
 
6
6
  function _extends() {
7
7
  _extends = Object.assign || function (target) {
@@ -94,6 +94,8 @@ function _typeof(obj) {
94
94
  function _possibleConstructorReturn(self, call) {
95
95
  if (call && (_typeof(call) === "object" || typeof call === "function")) {
96
96
  return call;
97
+ } else if (call !== void 0) {
98
+ throw new TypeError("Derived constructors may only return object or undefined");
97
99
  }
98
100
 
99
101
  return _assertThisInitialized(self);
@@ -394,7 +396,7 @@ var DropdownPanelComponent = /*#__PURE__*/function (_Component) {
394
396
  var className = classNames('p-dropdown-items', options.className);
395
397
  var content = _this8.isEmptyFilter() ? _this8.renderEmptyMessage() : options.children;
396
398
  return /*#__PURE__*/React.createElement("ul", {
397
- ref: options.ref,
399
+ ref: options.contentRef,
398
400
  className: className,
399
401
  role: "listbox"
400
402
  }, content);
@@ -976,15 +978,18 @@ var Dropdown = /*#__PURE__*/function (_Component) {
976
978
  key: "getSelectedOption",
977
979
  value: function getSelectedOption() {
978
980
  var index = this.getSelectedOptionIndex();
979
- return index !== -1 ? this.props.optionGroupLabel ? this.getOptionGroupChildren(this.props.options[index.group])[index.option] : this.props.options[index] : null;
981
+ var visibleOptions = this.getVisibleOptions();
982
+ return index !== -1 ? this.props.optionGroupLabel ? this.getOptionGroupChildren(visibleOptions[index.group])[index.option] : visibleOptions[index] : null;
980
983
  }
981
984
  }, {
982
985
  key: "getSelectedOptionIndex",
983
986
  value: function getSelectedOptionIndex() {
984
- if (this.props.value != null && this.props.options) {
987
+ var visibleOptions = this.getVisibleOptions();
988
+
989
+ if (this.props.value != null && visibleOptions) {
985
990
  if (this.props.optionGroupLabel) {
986
- for (var i = 0; i < this.props.options.length; i++) {
987
- var selectedOptionIndex = this.findOptionIndexInList(this.props.value, this.getOptionGroupChildren(this.props.options[i]));
991
+ for (var i = 0; i < visibleOptions.length; i++) {
992
+ var selectedOptionIndex = this.findOptionIndexInList(this.props.value, this.getOptionGroupChildren(visibleOptions[i]));
988
993
 
989
994
  if (selectedOptionIndex !== -1) {
990
995
  return {
@@ -994,7 +999,7 @@ var Dropdown = /*#__PURE__*/function (_Component) {
994
999
  }
995
1000
  }
996
1001
  } else {
997
- return this.findOptionIndexInList(this.props.value, this.props.options);
1002
+ return this.findOptionIndexInList(this.props.value, visibleOptions);
998
1003
  }
999
1004
  }
1000
1005
 
@@ -1042,7 +1047,6 @@ var Dropdown = /*#__PURE__*/function (_Component) {
1042
1047
  value: function onOverlayEnter(callback) {
1043
1048
  ZIndexUtils.set('overlay', this.overlayRef.current);
1044
1049
  this.alignOverlay();
1045
- this.scrollInView();
1046
1050
  callback && callback();
1047
1051
  }
1048
1052
  }, {
@@ -1140,7 +1144,7 @@ var Dropdown = /*#__PURE__*/function (_Component) {
1140
1144
 
1141
1145
  if (!this.resizeListener) {
1142
1146
  this.resizeListener = function () {
1143
- if (_this10.state.overlayVisible && !DomHandler.isAndroid()) {
1147
+ if (_this10.state.overlayVisible && !DomHandler.isTouchDevice()) {
1144
1148
  _this10.hideOverlay();
1145
1149
  }
1146
1150
  };
@@ -1238,7 +1242,7 @@ var Dropdown = /*#__PURE__*/function (_Component) {
1238
1242
  try {
1239
1243
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
1240
1244
  var optgroup = _step.value;
1241
- var filteredSubOptions = FilterUtils.filter(this.getOptionGroupChildren(optgroup), searchFields, filterValue, this.props.filterMatchMode, this.props.filterLocale);
1245
+ var filteredSubOptions = FilterService.filter(this.getOptionGroupChildren(optgroup), searchFields, filterValue, this.props.filterMatchMode, this.props.filterLocale);
1242
1246
 
1243
1247
  if (filteredSubOptions && filteredSubOptions.length) {
1244
1248
  filteredGroups.push(_objectSpread(_objectSpread({}, optgroup), {
@@ -1254,7 +1258,7 @@ var Dropdown = /*#__PURE__*/function (_Component) {
1254
1258
 
1255
1259
  return filteredGroups;
1256
1260
  } else {
1257
- return FilterUtils.filter(this.props.options, searchFields, filterValue, this.props.filterMatchMode, this.props.filterLocale);
1261
+ return FilterService.filter(this.props.options, searchFields, filterValue, this.props.filterMatchMode, this.props.filterLocale);
1258
1262
  }
1259
1263
  } else {
1260
1264
  return this.props.options;
@@ -1 +1 @@
1
- import e,{Component as t,createRef as n}from"react";import{classNames as i,ObjectUtils as r,Ripple as o,CSSTransition as s,Portal as l,DomHandler as p,OverlayService as a,ZIndexUtils as u,ConnectedOverlayScrollHandler as c,FilterUtils as h,tip as d}from"primereact/core";import{VirtualScroller as f}from"primereact/virtualscroller";import v from"primereact/api";function y(){return(y=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function b(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function O(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function m(e,t,n){return t&&O(e.prototype,t),n&&O(e,n),e}function g(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function k(e,t){return(k=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function C(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&k(e,t)}function I(e){return(I="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})(e)}function E(e,t){return!t||"object"!==I(t)&&"function"!=typeof t?g(e):t}function w(e){return(w=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function L(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function F(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}var S=function(n){C(a,t);var s,l,p=(s=a,l=F(),function(){var e,t=w(s);if(l){var n=w(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return E(this,e)});function a(e){var t;return b(this,a),(t=p.call(this,e)).onClick=t.onClick.bind(g(t)),t}return m(a,[{key:"onClick",value:function(e){this.props.onClick&&this.props.onClick({originalEvent:e,option:this.props.option})}},{key:"render",value:function(){var t=i("p-dropdown-item",{"p-highlight":this.props.selected,"p-disabled":this.props.disabled,"p-dropdown-item-empty":!this.props.label||0===this.props.label.length},this.props.option.className),n=this.props.template?r.getJSXElement(this.props.template,this.props.option):this.props.label;return e.createElement("li",{className:t,onClick:this.onClick,"aria-label":this.props.label,key:this.props.label,role:"option","aria-selected":this.props.selected},n,e.createElement(o,null))}}]),a}();function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function R(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){L(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}function D(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}L(S,"defaultProps",{option:null,label:null,template:null,selected:!1,disabled:!1,onClick:null});var V=function(n){C(u,t);var o,p,a=(o=u,p=D(),function(){var e,t=w(o);if(p){var n=w(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return E(this,e)});function u(e){var t;return b(this,u),(t=a.call(this,e)).onEnter=t.onEnter.bind(g(t)),t.onEntered=t.onEntered.bind(g(t)),t.onFilterInputChange=t.onFilterInputChange.bind(g(t)),t}return m(u,[{key:"onEnter",value:function(){var e=this;this.props.onEnter((function(){if(e.virtualScrollerRef){var t=e.props.getSelectedOptionIndex();-1!==t&&e.virtualScrollerRef.scrollToIndex(t)}}))}},{key:"onEntered",value:function(){var e=this;this.props.onEntered((function(){e.props.filter&&e.props.filterInputAutoFocus&&e.filterInput.focus()}))}},{key:"onFilterInputChange",value:function(e){this.virtualScrollerRef&&this.virtualScrollerRef.scrollToIndex(0),this.props.onFilterInputChange&&this.props.onFilterInputChange(e)}},{key:"isEmptyFilter",value:function(){return!(this.props.visibleOptions&&this.props.visibleOptions.length)&&this.props.hasFilter()}},{key:"renderGroupChildren",value:function(t){var n=this;return this.props.getOptionGroupChildren(t).map((function(t,i){var r=n.props.getOptionLabel(t),o=i+"_"+n.props.getOptionRenderKey(t),s=n.props.isOptionDisabled(t);return e.createElement(S,{key:o,label:r,option:t,template:n.props.itemTemplate,selected:n.props.isSelected(t),disabled:s,onClick:n.props.onOptionClick})}))}},{key:"renderEmptyMessage",value:function(t){var n=r.getJSXElement(t,this.props);return e.createElement("li",{className:"p-dropdown-empty-message"},n)}},{key:"renderItem",value:function(t,n){if(this.props.optionGroupLabel){var i=this.props.optionGroupTemplate?r.getJSXElement(this.props.optionGroupTemplate,t,n):this.props.getOptionGroupLabel(t),o=this.renderGroupChildren(t),s=n+"_"+this.props.getOptionGroupRenderKey(t);return e.createElement(e.Fragment,{key:s},e.createElement("li",{className:"p-dropdown-item-group"},i),o)}var l=this.props.getOptionLabel(t),p=n+"_"+this.props.getOptionRenderKey(t),a=this.props.isOptionDisabled(t);return e.createElement(S,{key:p,label:l,option:t,template:this.props.itemTemplate,selected:this.props.isSelected(t),disabled:a,onClick:this.props.onOptionClick})}},{key:"renderItems",value:function(){var e=this;return this.props.visibleOptions&&this.props.visibleOptions.length?this.props.visibleOptions.map((function(t,n){return e.renderItem(t,n)})):this.props.hasFilter()?this.renderEmptyMessage(this.props.emptyFilterMessage):this.renderEmptyMessage(this.props.emptyMessage)}},{key:"renderFilterClearIcon",value:function(){var t=this;return this.props.showFilterClear&&this.props.filterValue?e.createElement("i",{className:"p-dropdown-filter-clear-icon pi pi-times",onClick:function(){return t.props.onFilterClearIconClick((function(){return t.filterInput.focus()}))}}):null}},{key:"renderFilter",value:function(){var t=this;if(this.props.filter){var n=this.renderFilterClearIcon(),r=i("p-dropdown-filter-container",{"p-dropdown-clearable-filter":!!n});return e.createElement("div",{className:"p-dropdown-header"},e.createElement("div",{className:r},e.createElement("input",{ref:function(e){return t.filterInput=e},type:"text",autoComplete:"off",className:"p-dropdown-filter p-inputtext p-component",placeholder:this.props.filterPlaceholder,onKeyDown:this.props.onFilterInputKeyDown,onChange:this.onFilterInputChange,value:this.props.filterValue}),n,e.createElement("i",{className:"p-dropdown-filter-icon pi pi-search"})))}return null}},{key:"renderContent",value:function(){var t=this;if(this.props.virtualScrollerOptions){var n=R(R({},this.props.virtualScrollerOptions),{style:R(R({},this.props.virtualScrollerOptions.style),{height:this.props.scrollHeight}),className:i("p-dropdown-items-wrapper",this.props.virtualScrollerOptions.className),items:this.props.visibleOptions,onLazyLoad:function(e){return t.props.virtualScrollerOptions.onLazyLoad(R(R({},e),{filter:t.props.filterValue}))},itemTemplate:function(e,n){return e&&t.renderItem(e,n.index)},contentTemplate:function(n){var r=i("p-dropdown-items",n.className),o=t.isEmptyFilter()?t.renderEmptyMessage():n.children;return e.createElement("ul",{ref:n.ref,className:r,role:"listbox"},o)}});return e.createElement(f,y({ref:function(e){return t.virtualScrollerRef=e}},n))}var r=this.renderItems();return e.createElement("div",{className:"p-dropdown-items-wrapper",style:{maxHeight:this.props.scrollHeight||"auto"}},e.createElement("ul",{className:"p-dropdown-items",role:"listbox"},r))}},{key:"renderElement",value:function(){var t=i("p-dropdown-panel p-component",this.props.panelClassName),n=this.renderFilter(),r=this.renderContent();return e.createElement(s,{nodeRef:this.props.forwardRef,classNames:"p-connected-overlay",in:this.props.in,timeout:{enter:120,exit:100},options:this.props.transitionOptions,unmountOnExit:!0,onEnter:this.onEnter,onEntering:this.props.onEntering,onEntered:this.onEntered,onExit:this.props.onExit,onExited:this.props.onExited},e.createElement("div",{ref:this.props.forwardRef,className:t,style:this.props.panelStyle,onClick:this.props.onClick},n,r))}},{key:"render",value:function(){var t=this.renderElement();return e.createElement(l,{element:t,appendTo:this.props.appendTo})}}]),u}(),G=e.forwardRef((function(t,n){return e.createElement(V,y({forwardRef:n},t))}));function P(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function K(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?P(Object(n),!0).forEach((function(t){L(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):P(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function N(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=j(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}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 o,s=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){l=!0,o=e},f:function(){try{s||null==n.return||n.return()}finally{if(l)throw o}}}}function j(e,t){if(e){if("string"==typeof e)return T(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)?T(e,t):void 0}}function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function B(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}var M=function(o){C(O,t);var s,l,f=(s=O,l=B(),function(){var e,t=w(s);if(l){var n=w(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return E(this,e)});function O(e){var t;return b(this,O),(t=f.call(this,e)).state={filter:"",focused:!1,overlayVisible:!1},t.onClick=t.onClick.bind(g(t)),t.onInputFocus=t.onInputFocus.bind(g(t)),t.onInputBlur=t.onInputBlur.bind(g(t)),t.onInputKeyDown=t.onInputKeyDown.bind(g(t)),t.onEditableInputChange=t.onEditableInputChange.bind(g(t)),t.onEditableInputFocus=t.onEditableInputFocus.bind(g(t)),t.onOptionClick=t.onOptionClick.bind(g(t)),t.onFilterInputChange=t.onFilterInputChange.bind(g(t)),t.onFilterInputKeyDown=t.onFilterInputKeyDown.bind(g(t)),t.onFilterClearIconClick=t.onFilterClearIconClick.bind(g(t)),t.onPanelClick=t.onPanelClick.bind(g(t)),t.onOverlayEnter=t.onOverlayEnter.bind(g(t)),t.onOverlayEntered=t.onOverlayEntered.bind(g(t)),t.onOverlayExit=t.onOverlayExit.bind(g(t)),t.onOverlayExited=t.onOverlayExited.bind(g(t)),t.resetFilter=t.resetFilter.bind(g(t)),t.clear=t.clear.bind(g(t)),t.hasFilter=t.hasFilter.bind(g(t)),t.getOptionLabel=t.getOptionLabel.bind(g(t)),t.getOptionRenderKey=t.getOptionRenderKey.bind(g(t)),t.isOptionDisabled=t.isOptionDisabled.bind(g(t)),t.getOptionGroupChildren=t.getOptionGroupChildren.bind(g(t)),t.getOptionGroupLabel=t.getOptionGroupLabel.bind(g(t)),t.getOptionGroupRenderKey=t.getOptionGroupRenderKey.bind(g(t)),t.getSelectedOptionIndex=t.getSelectedOptionIndex.bind(g(t)),t.isSelected=t.isSelected.bind(g(t)),t.overlayRef=n(),t.inputRef=n(t.props.inputRef),t}return m(O,[{key:"onClick",value:function(e){this.props.disabled||p.hasClass(e.target,"p-dropdown-clear-icon")||"INPUT"===e.target.tagName||this.overlayRef.current&&this.overlayRef.current&&this.overlayRef.current.contains(e.target)||(this.focusInput.focus(),this.state.overlayVisible?this.hideOverlay():this.showOverlay())}},{key:"onInputFocus",value:function(e){var t=this;e.persist(),this.props.showOnFocus&&!this.state.overlayVisible&&this.showOverlay(),this.setState({focused:!0},(function(){t.props.onFocus&&t.props.onFocus(e)}))}},{key:"onInputBlur",value:function(e){var t=this;e.persist(),this.setState({focused:!1},(function(){t.props.onBlur&&t.props.onBlur(e)}))}},{key:"onPanelClick",value:function(e){a.emit("overlay-click",{originalEvent:e,target:this.container})}},{key:"onInputKeyDown",value:function(e){switch(e.which){case 40:this.onDownKey(e);break;case 38:this.onUpKey(e);break;case 32:this.state.overlayVisible?this.hideOverlay():this.showOverlay(),e.preventDefault();break;case 13:this.hideOverlay(),e.preventDefault();break;case 27:case 9:this.hideOverlay();break;default:this.search(e)}}},{key:"onFilterInputKeyDown",value:function(e){switch(e.which){case 40:this.onDownKey(e);break;case 38:this.onUpKey(e);break;case 13:case 27:this.hideOverlay(),e.preventDefault()}}},{key:"onUpKey",value:function(e){if(this.getVisibleOptions()){var t=this.findPrevOption(this.getSelectedOptionIndex());t&&this.selectItem({originalEvent:e,option:t})}e.preventDefault()}},{key:"onDownKey",value:function(e){if(this.getVisibleOptions())if(!this.state.overlayVisible&&e.altKey)this.showOverlay();else{var t=this.findNextOption(this.getSelectedOptionIndex());t&&this.selectItem({originalEvent:e,option:t})}e.preventDefault()}},{key:"findNextOption",value:function(e){var t=this.getVisibleOptions();if(this.props.optionGroupLabel){var n=-1===e?0:e.group,i=-1===e?-1:e.option,r=this.findNextOptionInList(this.getOptionGroupChildren(t[n]),i);return r||(n+1!==t.length?this.findNextOption({group:n+1,option:-1}):null)}return this.findNextOptionInList(t,e)}},{key:"findNextOptionInList",value:function(e,t){var n=t+1;if(n===e.length)return null;var i=e[n];return this.isOptionDisabled(i)?this.findNextOptionInList(n):i}},{key:"findPrevOption",value:function(e){if(-1===e)return null;var t=this.getVisibleOptions();if(this.props.optionGroupLabel){var n=e.group,i=e.option,r=this.findPrevOptionInList(this.getOptionGroupChildren(t[n]),i);return r||(n>0?this.findPrevOption({group:n-1,option:this.getOptionGroupChildren(t[n-1]).length}):null)}return this.findPrevOptionInList(t,e)}},{key:"findPrevOptionInList",value:function(e,t){var n=t-1;if(n<0)return null;var i=e[n];return this.isOptionDisabled(i)?this.findPrevOption(n):i}},{key:"search",value:function(e){var t=this;this.searchTimeout&&clearTimeout(this.searchTimeout);var n=e.key;if(this.previousSearchChar=this.currentSearchChar,this.currentSearchChar=n,this.searchValue=this.previousSearchChar===this.currentSearchChar?this.currentSearchChar:this.searchValue?this.searchValue+n:n,this.searchValue){var i=this.getSelectedOptionIndex(),r=this.props.optionGroupLabel?this.searchOptionInGroup(i):this.searchOption(++i);r&&(this.selectItem({originalEvent:e,option:r}),this.selectedOptionUpdated=!0)}this.searchTimeout=setTimeout((function(){t.searchValue=null}),250)}},{key:"searchOption",value:function(e){var t;if(this.searchValue){var n=this.getVisibleOptions();(t=this.searchOptionInRange(e,n.length))||(t=this.searchOptionInRange(0,e))}return t}},{key:"searchOptionInRange",value:function(e,t){for(var n=this.getVisibleOptions(),i=e;i<t;i++){var r=n[i];if(this.matchesSearchValue(r))return r}return null}},{key:"searchOptionInGroup",value:function(e){for(var t=-1===e?{group:0,option:-1}:e,n=this.getVisibleOptions(),i=t.group;i<n.length;i++)for(var r=this.getOptionGroupChildren(n[i]),o=t.group===i?t.option+1:0;o<r.length;o++)if(this.matchesSearchValue(r[o]))return r[o];for(var s=0;s<=t.group;s++)for(var l=this.getOptionGroupChildren(n[s]),p=0;p<(t.group===s?t.option:l.length);p++)if(this.matchesSearchValue(l[p]))return l[p];return null}},{key:"matchesSearchValue",value:function(e){return this.getOptionLabel(e).toLocaleLowerCase(this.props.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.props.filterLocale))}},{key:"onEditableInputChange",value:function(e){this.props.onChange&&this.props.onChange({originalEvent:e.originalEvent,value:e.target.value,stopPropagation:function(){},preventDefault:function(){},target:{name:this.props.name,id:this.props.id,value:e.target.value}})}},{key:"onEditableInputFocus",value:function(e){var t=this;e.persist(),this.setState({focused:!0},(function(){t.hideOverlay(),t.props.onFocus&&t.props.onFocus(e)}))}},{key:"onOptionClick",value:function(e){e.option.disabled||(this.selectItem(e),this.focusInput.focus()),this.hideOverlay()}},{key:"onFilterInputChange",value:function(e){var t=this,n=e.target.value;this.setState({filter:n},(function(){t.props.onFilter&&t.props.onFilter({originalEvent:e,filter:n})}))}},{key:"onFilterClearIconClick",value:function(e){this.resetFilter(e)}},{key:"resetFilter",value:function(e){var t=this;this.setState({filter:""},(function(){t.props.onFilter&&t.props.onFilter({filter:""}),e&&e()}))}},{key:"clear",value:function(e){this.props.onChange&&this.props.onChange({originalEvent:e,value:void 0,stopPropagation:function(){},preventDefault:function(){},target:{name:this.props.name,id:this.props.id,value:void 0}}),this.updateEditableLabel()}},{key:"selectItem",value:function(e){if(this.getSelectedOption()!==e.option){this.updateEditableLabel(e.option);var t=this.getOptionValue(e.option);this.props.onChange&&this.props.onChange({originalEvent:e.originalEvent,value:t,stopPropagation:function(){},preventDefault:function(){},target:{name:this.props.name,id:this.props.id,value:t}})}}},{key:"getSelectedOption",value:function(){var e=this.getSelectedOptionIndex();return-1!==e?this.props.optionGroupLabel?this.getOptionGroupChildren(this.props.options[e.group])[e.option]:this.props.options[e]:null}},{key:"getSelectedOptionIndex",value:function(){if(null!=this.props.value&&this.props.options){if(!this.props.optionGroupLabel)return this.findOptionIndexInList(this.props.value,this.props.options);for(var e=0;e<this.props.options.length;e++){var t=this.findOptionIndexInList(this.props.value,this.getOptionGroupChildren(this.props.options[e]));if(-1!==t)return{group:e,option:t}}}return-1}},{key:"findOptionIndexInList",value:function(e,t){for(var n=this.equalityKey(),i=0;i<t.length;i++)if(r.equals(e,this.getOptionValue(t[i]),n))return i;return-1}},{key:"isSelected",value:function(e){return r.equals(this.props.value,this.getOptionValue(e),this.equalityKey())}},{key:"equalityKey",value:function(){return this.props.optionValue?null:this.props.dataKey}},{key:"showOverlay",value:function(){this.setState({overlayVisible:!0})}},{key:"hideOverlay",value:function(){this.setState({overlayVisible:!1})}},{key:"onOverlayEnter",value:function(e){u.set("overlay",this.overlayRef.current),this.alignOverlay(),this.scrollInView(),e&&e()}},{key:"onOverlayEntered",value:function(e){this.bindDocumentClickListener(),this.bindScrollListener(),this.bindResizeListener(),e&&e(),this.props.onShow&&this.props.onShow()}},{key:"onOverlayExit",value:function(){this.unbindDocumentClickListener(),this.unbindScrollListener(),this.unbindResizeListener()}},{key:"onOverlayExited",value:function(){this.props.filter&&this.props.resetFilterOnHide&&this.resetFilter(),u.clear(this.overlayRef.current),this.props.onHide&&this.props.onHide()}},{key:"alignOverlay",value:function(){p.alignOverlay(this.overlayRef.current,this.input.parentElement,this.props.appendTo||v.appendTo)}},{key:"scrollInView",value:function(){var e=p.findSingle(this.overlayRef.current,"li.p-highlight");e&&e.scrollIntoView({block:"nearest",inline:"start"})}},{key:"bindDocumentClickListener",value:function(){var e=this;this.documentClickListener||(this.documentClickListener=function(t){e.state.overlayVisible&&e.isOutsideClicked(t)&&e.hideOverlay()},document.addEventListener("click",this.documentClickListener))}},{key:"unbindDocumentClickListener",value:function(){this.documentClickListener&&(document.removeEventListener("click",this.documentClickListener),this.documentClickListener=null)}},{key:"bindScrollListener",value:function(){var e=this;this.scrollHandler||(this.scrollHandler=new c(this.container,(function(){e.state.overlayVisible&&e.hideOverlay()}))),this.scrollHandler.bindScrollListener()}},{key:"unbindScrollListener",value:function(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()}},{key:"bindResizeListener",value:function(){var e=this;this.resizeListener||(this.resizeListener=function(){e.state.overlayVisible&&!p.isAndroid()&&e.hideOverlay()},window.addEventListener("resize",this.resizeListener))}},{key:"unbindResizeListener",value:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)}},{key:"isOutsideClicked",value:function(e){return this.container&&!(this.container.isSameNode(e.target)||this.isClearClicked(e)||this.container.contains(e.target)||this.overlayRef&&this.overlayRef.current.contains(e.target))}},{key:"isClearClicked",value:function(e){return p.hasClass(e.target,"p-dropdown-clear-icon")}},{key:"updateEditableLabel",value:function(e){this.input&&(this.input.value=e?this.getOptionLabel(e):this.props.value||"")}},{key:"hasFilter",value:function(){return this.state.filter&&this.state.filter.trim().length>0}},{key:"getOptionLabel",value:function(e){return this.props.optionLabel?r.resolveFieldData(e,this.props.optionLabel):e&&void 0!==e.label?e.label:e}},{key:"getOptionValue",value:function(e){return this.props.optionValue?r.resolveFieldData(e,this.props.optionValue):e&&void 0!==e.value?e.value:e}},{key:"getOptionRenderKey",value:function(e){return this.props.dataKey?r.resolveFieldData(e,this.props.dataKey):this.getOptionLabel(e)}},{key:"isOptionDisabled",value:function(e){return this.props.optionDisabled?r.isFunction(this.props.optionDisabled)?this.props.optionDisabled(e):r.resolveFieldData(e,this.props.optionDisabled):!(!e||void 0===e.disabled)&&e.disabled}},{key:"getOptionGroupRenderKey",value:function(e){return r.resolveFieldData(e,this.props.optionGroupLabel)}},{key:"getOptionGroupLabel",value:function(e){return r.resolveFieldData(e,this.props.optionGroupLabel)}},{key:"getOptionGroupChildren",value:function(e){return r.resolveFieldData(e,this.props.optionGroupChildren)}},{key:"checkValidity",value:function(){return this.inputRef.current.checkValidity()}},{key:"getVisibleOptions",value:function(){if(this.hasFilter()){var e=this.state.filter.trim().toLocaleLowerCase(this.props.filterLocale),t=this.props.filterBy?this.props.filterBy.split(","):[this.props.optionLabel||"label"];if(this.props.optionGroupLabel){var n,i=[],r=N(this.props.options);try{for(r.s();!(n=r.n()).done;){var o=n.value,s=h.filter(this.getOptionGroupChildren(o),t,e,this.props.filterMatchMode,this.props.filterLocale);s&&s.length&&i.push(K(K({},o),{items:s}))}}catch(e){r.e(e)}finally{r.f()}return i}return h.filter(this.props.options,t,e,this.props.filterMatchMode,this.props.filterLocale)}return this.props.options}},{key:"updateInputField",value:function(){if(this.props.editable&&this.input){var e=this.getSelectedOption(),t=e?this.getOptionLabel(e):null;this.input.value=t||this.props.value||""}}},{key:"updateInputRef",value:function(){var e=this.props.inputRef;e&&("function"==typeof e?e(this.inputRef.current):e.current=this.inputRef.current)}},{key:"componentDidMount",value:function(){this.updateInputRef(),this.props.autoFocus&&this.focusInput&&this.focusInput.focus(),this.props.tooltip&&this.renderTooltip(),this.updateInputField(),this.inputRef.current.selectedIndex=1}},{key:"componentWillUnmount",value:function(){this.unbindDocumentClickListener(),this.unbindResizeListener(),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.tooltip&&(this.tooltip.destroy(),this.tooltip=null),this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=null),u.clear(this.overlayRef.current)}},{key:"componentDidUpdate",value:function(e){this.state.overlayVisible&&(this.props.filter&&this.alignOverlay(),e.value!==this.props.value&&this.scrollInView()),e.tooltip===this.props.tooltip&&e.tooltipOptions===this.props.tooltipOptions||(this.tooltip?this.tooltip.update(K({content:this.props.tooltip},this.props.tooltipOptions||{})):this.renderTooltip()),!this.state.filter||this.props.options&&0!==this.props.options.length||this.setState({filter:""}),this.updateInputField(),this.inputRef.current.selectedIndex=1}},{key:"renderHiddenSelect",value:function(t){var n=e.createElement("option",{value:""},this.props.placeholder),i=t?e.createElement("option",{value:t.value},this.getOptionLabel(t)):null;return e.createElement("div",{className:"p-hidden-accessible p-dropdown-hidden-select"},e.createElement("select",{ref:this.inputRef,required:this.props.required,name:this.props.name,tabIndex:-1,"aria-hidden":"true"},n,i))}},{key:"renderTooltip",value:function(){this.tooltip=d({target:this.container,content:this.props.tooltip,options:this.props.tooltipOptions})}},{key:"renderKeyboardHelper",value:function(){var t=this;return e.createElement("div",{className:"p-hidden-accessible"},e.createElement("input",{ref:function(e){return t.focusInput=e},id:this.props.inputId,type:"text",readOnly:!0,"aria-haspopup":"listbox",onFocus:this.onInputFocus,onBlur:this.onInputBlur,onKeyDown:this.onInputKeyDown,disabled:this.props.disabled,tabIndex:this.props.tabIndex,"aria-label":this.props.ariaLabel,"aria-labelledby":this.props.ariaLabelledBy}))}},{key:"renderLabel",value:function(t){var n=this,o=t?this.getOptionLabel(t):null;if(this.props.editable)return e.createElement("input",{ref:function(e){return n.input=e},type:"text",defaultValue:o||this.props.value||"",className:"p-dropdown-label p-inputtext",disabled:this.props.disabled,placeholder:this.props.placeholder,maxLength:this.props.maxLength,onInput:this.onEditableInputChange,onFocus:this.onEditableInputFocus,onBlur:this.onInputBlur,"aria-label":this.props.ariaLabel,"aria-labelledby":this.props.ariaLabelledBy,"aria-haspopup":"listbox"});var s=i("p-dropdown-label p-inputtext",{"p-placeholder":null===o&&this.props.placeholder,"p-dropdown-label-empty":null===o&&!this.props.placeholder}),l=this.props.valueTemplate?r.getJSXElement(this.props.valueTemplate,t,this.props):o||this.props.placeholder||"empty";return e.createElement("span",{ref:function(e){return n.input=e},className:s},l)}},{key:"renderClearIcon",value:function(){return null!=this.props.value&&this.props.showClear&&!this.props.disabled?e.createElement("i",{className:"p-dropdown-clear-icon pi pi-times",onClick:this.clear}):null}},{key:"renderDropdownIcon",value:function(){var t=this,n=i("p-dropdown-trigger-icon p-clickable",this.props.dropdownIcon);return e.createElement("div",{ref:function(e){return t.trigger=e},className:"p-dropdown-trigger",role:"button","aria-haspopup":"listbox","aria-expanded":this.state.overlayVisible},e.createElement("span",{className:n}))}},{key:"render",value:function(){var t=this,n=i("p-dropdown p-component p-inputwrapper",this.props.className,{"p-disabled":this.props.disabled,"p-focus":this.state.focused,"p-dropdown-clearable":this.props.showClear&&!this.props.disabled,"p-inputwrapper-filled":this.props.value,"p-inputwrapper-focus":this.state.focused||this.state.overlayVisible}),r=this.getVisibleOptions(),o=this.getSelectedOption(),s=this.renderHiddenSelect(o),l=this.renderKeyboardHelper(),p=this.renderLabel(o),a=this.renderDropdownIcon(),u=this.renderClearIcon();return e.createElement("div",{id:this.props.id,ref:function(e){return t.container=e},className:n,style:this.props.style,onClick:this.onClick,onMouseDown:this.props.onMouseDown,onContextMenu:this.props.onContextMenu},l,s,p,u,a,e.createElement(G,y({ref:this.overlayRef,visibleOptions:r},this.props,{onClick:this.onPanelClick,onOptionClick:this.onOptionClick,filterValue:this.state.filter,hasFilter:this.hasFilter,onFilterClearIconClick:this.onFilterClearIconClick,onFilterInputKeyDown:this.onFilterInputKeyDown,onFilterInputChange:this.onFilterInputChange,getOptionLabel:this.getOptionLabel,getOptionRenderKey:this.getOptionRenderKey,isOptionDisabled:this.isOptionDisabled,getOptionGroupChildren:this.getOptionGroupChildren,getOptionGroupLabel:this.getOptionGroupLabel,getOptionGroupRenderKey:this.getOptionGroupRenderKey,isSelected:this.isSelected,getSelectedOptionIndex:this.getSelectedOptionIndex,in:this.state.overlayVisible,onEnter:this.onOverlayEnter,onEntered:this.onOverlayEntered,onExit:this.onOverlayExit,onExited:this.onOverlayExited})))}}]),O}();L(M,"defaultProps",{id:null,inputRef:null,name:null,value:null,options:null,optionLabel:null,optionValue:null,optionDisabled:null,optionGroupLabel:null,optionGroupChildren:null,optionGroupTemplate:null,valueTemplate:null,itemTemplate:null,style:null,className:null,virtualScrollerOptions:null,scrollHeight:"200px",filter:!1,filterBy:null,filterMatchMode:"contains",filterPlaceholder:null,filterLocale:void 0,emptyMessage:"No records found",emptyFilterMessage:"No results found",editable:!1,placeholder:null,required:!1,disabled:!1,appendTo:null,tabIndex:null,autoFocus:!1,filterInputAutoFocus:!0,resetFilterOnHide:!1,showFilterClear:!1,panelClassName:null,panelStyle:null,dataKey:null,inputId:null,showClear:!1,maxLength:null,tooltip:null,tooltipOptions:null,ariaLabel:null,ariaLabelledBy:null,transitionOptions:null,dropdownIcon:"pi pi-chevron-down",showOnFocus:!1,onChange:null,onFocus:null,onBlur:null,onMouseDown:null,onContextMenu:null,onShow:null,onHide:null,onFilter:null});export{M as Dropdown};
1
+ import e,{Component as t,createRef as n}from"react";import{classNames as i,ObjectUtils as r,Ripple as o,CSSTransition as s,Portal as l,DomHandler as p,OverlayService as a,ZIndexUtils as u,ConnectedOverlayScrollHandler as c,tip as h}from"primereact/core";import{VirtualScroller as d}from"primereact/virtualscroller";import f,{FilterService as v}from"primereact/api";function y(){return(y=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function b(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function O(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function m(e,t,n){return t&&O(e.prototype,t),n&&O(e,n),e}function g(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function k(e,t){return(k=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function C(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&k(e,t)}function I(e){return(I="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})(e)}function E(e,t){if(t&&("object"===I(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return g(e)}function w(e){return(w=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function L(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function F(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}var S=function(n){C(a,t);var s,l,p=(s=a,l=F(),function(){var e,t=w(s);if(l){var n=w(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return E(this,e)});function a(e){var t;return b(this,a),(t=p.call(this,e)).onClick=t.onClick.bind(g(t)),t}return m(a,[{key:"onClick",value:function(e){this.props.onClick&&this.props.onClick({originalEvent:e,option:this.props.option})}},{key:"render",value:function(){var t=i("p-dropdown-item",{"p-highlight":this.props.selected,"p-disabled":this.props.disabled,"p-dropdown-item-empty":!this.props.label||0===this.props.label.length},this.props.option.className),n=this.props.template?r.getJSXElement(this.props.template,this.props.option):this.props.label;return e.createElement("li",{className:t,onClick:this.onClick,"aria-label":this.props.label,key:this.props.label,role:"option","aria-selected":this.props.selected},n,e.createElement(o,null))}}]),a}();function R(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function x(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){L(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 D(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}L(S,"defaultProps",{option:null,label:null,template:null,selected:!1,disabled:!1,onClick:null});var V=function(n){C(u,t);var o,p,a=(o=u,p=D(),function(){var e,t=w(o);if(p){var n=w(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return E(this,e)});function u(e){var t;return b(this,u),(t=a.call(this,e)).onEnter=t.onEnter.bind(g(t)),t.onEntered=t.onEntered.bind(g(t)),t.onFilterInputChange=t.onFilterInputChange.bind(g(t)),t}return m(u,[{key:"onEnter",value:function(){var e=this;this.props.onEnter((function(){if(e.virtualScrollerRef){var t=e.props.getSelectedOptionIndex();-1!==t&&e.virtualScrollerRef.scrollToIndex(t)}}))}},{key:"onEntered",value:function(){var e=this;this.props.onEntered((function(){e.props.filter&&e.props.filterInputAutoFocus&&e.filterInput.focus()}))}},{key:"onFilterInputChange",value:function(e){this.virtualScrollerRef&&this.virtualScrollerRef.scrollToIndex(0),this.props.onFilterInputChange&&this.props.onFilterInputChange(e)}},{key:"isEmptyFilter",value:function(){return!(this.props.visibleOptions&&this.props.visibleOptions.length)&&this.props.hasFilter()}},{key:"renderGroupChildren",value:function(t){var n=this;return this.props.getOptionGroupChildren(t).map((function(t,i){var r=n.props.getOptionLabel(t),o=i+"_"+n.props.getOptionRenderKey(t),s=n.props.isOptionDisabled(t);return e.createElement(S,{key:o,label:r,option:t,template:n.props.itemTemplate,selected:n.props.isSelected(t),disabled:s,onClick:n.props.onOptionClick})}))}},{key:"renderEmptyMessage",value:function(t){var n=r.getJSXElement(t,this.props);return e.createElement("li",{className:"p-dropdown-empty-message"},n)}},{key:"renderItem",value:function(t,n){if(this.props.optionGroupLabel){var i=this.props.optionGroupTemplate?r.getJSXElement(this.props.optionGroupTemplate,t,n):this.props.getOptionGroupLabel(t),o=this.renderGroupChildren(t),s=n+"_"+this.props.getOptionGroupRenderKey(t);return e.createElement(e.Fragment,{key:s},e.createElement("li",{className:"p-dropdown-item-group"},i),o)}var l=this.props.getOptionLabel(t),p=n+"_"+this.props.getOptionRenderKey(t),a=this.props.isOptionDisabled(t);return e.createElement(S,{key:p,label:l,option:t,template:this.props.itemTemplate,selected:this.props.isSelected(t),disabled:a,onClick:this.props.onOptionClick})}},{key:"renderItems",value:function(){var e=this;return this.props.visibleOptions&&this.props.visibleOptions.length?this.props.visibleOptions.map((function(t,n){return e.renderItem(t,n)})):this.props.hasFilter()?this.renderEmptyMessage(this.props.emptyFilterMessage):this.renderEmptyMessage(this.props.emptyMessage)}},{key:"renderFilterClearIcon",value:function(){var t=this;return this.props.showFilterClear&&this.props.filterValue?e.createElement("i",{className:"p-dropdown-filter-clear-icon pi pi-times",onClick:function(){return t.props.onFilterClearIconClick((function(){return t.filterInput.focus()}))}}):null}},{key:"renderFilter",value:function(){var t=this;if(this.props.filter){var n=this.renderFilterClearIcon(),r=i("p-dropdown-filter-container",{"p-dropdown-clearable-filter":!!n});return e.createElement("div",{className:"p-dropdown-header"},e.createElement("div",{className:r},e.createElement("input",{ref:function(e){return t.filterInput=e},type:"text",autoComplete:"off",className:"p-dropdown-filter p-inputtext p-component",placeholder:this.props.filterPlaceholder,onKeyDown:this.props.onFilterInputKeyDown,onChange:this.onFilterInputChange,value:this.props.filterValue}),n,e.createElement("i",{className:"p-dropdown-filter-icon pi pi-search"})))}return null}},{key:"renderContent",value:function(){var t=this;if(this.props.virtualScrollerOptions){var n=x(x({},this.props.virtualScrollerOptions),{style:x(x({},this.props.virtualScrollerOptions.style),{height:this.props.scrollHeight}),className:i("p-dropdown-items-wrapper",this.props.virtualScrollerOptions.className),items:this.props.visibleOptions,onLazyLoad:function(e){return t.props.virtualScrollerOptions.onLazyLoad(x(x({},e),{filter:t.props.filterValue}))},itemTemplate:function(e,n){return e&&t.renderItem(e,n.index)},contentTemplate:function(n){var r=i("p-dropdown-items",n.className),o=t.isEmptyFilter()?t.renderEmptyMessage():n.children;return e.createElement("ul",{ref:n.contentRef,className:r,role:"listbox"},o)}});return e.createElement(d,y({ref:function(e){return t.virtualScrollerRef=e}},n))}var r=this.renderItems();return e.createElement("div",{className:"p-dropdown-items-wrapper",style:{maxHeight:this.props.scrollHeight||"auto"}},e.createElement("ul",{className:"p-dropdown-items",role:"listbox"},r))}},{key:"renderElement",value:function(){var t=i("p-dropdown-panel p-component",this.props.panelClassName),n=this.renderFilter(),r=this.renderContent();return e.createElement(s,{nodeRef:this.props.forwardRef,classNames:"p-connected-overlay",in:this.props.in,timeout:{enter:120,exit:100},options:this.props.transitionOptions,unmountOnExit:!0,onEnter:this.onEnter,onEntering:this.props.onEntering,onEntered:this.onEntered,onExit:this.props.onExit,onExited:this.props.onExited},e.createElement("div",{ref:this.props.forwardRef,className:t,style:this.props.panelStyle,onClick:this.props.onClick},n,r))}},{key:"render",value:function(){var t=this.renderElement();return e.createElement(l,{element:t,appendTo:this.props.appendTo})}}]),u}(),G=e.forwardRef((function(t,n){return e.createElement(V,y({forwardRef:n},t))}));function P(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function K(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?P(Object(n),!0).forEach((function(t){L(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):P(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function N(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=j(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}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 o,s=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){l=!0,o=e},f:function(){try{s||null==n.return||n.return()}finally{if(l)throw o}}}}function j(e,t){if(e){if("string"==typeof e)return T(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)?T(e,t):void 0}}function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function B(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}var M=function(o){C(O,t);var s,l,d=(s=O,l=B(),function(){var e,t=w(s);if(l){var n=w(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return E(this,e)});function O(e){var t;return b(this,O),(t=d.call(this,e)).state={filter:"",focused:!1,overlayVisible:!1},t.onClick=t.onClick.bind(g(t)),t.onInputFocus=t.onInputFocus.bind(g(t)),t.onInputBlur=t.onInputBlur.bind(g(t)),t.onInputKeyDown=t.onInputKeyDown.bind(g(t)),t.onEditableInputChange=t.onEditableInputChange.bind(g(t)),t.onEditableInputFocus=t.onEditableInputFocus.bind(g(t)),t.onOptionClick=t.onOptionClick.bind(g(t)),t.onFilterInputChange=t.onFilterInputChange.bind(g(t)),t.onFilterInputKeyDown=t.onFilterInputKeyDown.bind(g(t)),t.onFilterClearIconClick=t.onFilterClearIconClick.bind(g(t)),t.onPanelClick=t.onPanelClick.bind(g(t)),t.onOverlayEnter=t.onOverlayEnter.bind(g(t)),t.onOverlayEntered=t.onOverlayEntered.bind(g(t)),t.onOverlayExit=t.onOverlayExit.bind(g(t)),t.onOverlayExited=t.onOverlayExited.bind(g(t)),t.resetFilter=t.resetFilter.bind(g(t)),t.clear=t.clear.bind(g(t)),t.hasFilter=t.hasFilter.bind(g(t)),t.getOptionLabel=t.getOptionLabel.bind(g(t)),t.getOptionRenderKey=t.getOptionRenderKey.bind(g(t)),t.isOptionDisabled=t.isOptionDisabled.bind(g(t)),t.getOptionGroupChildren=t.getOptionGroupChildren.bind(g(t)),t.getOptionGroupLabel=t.getOptionGroupLabel.bind(g(t)),t.getOptionGroupRenderKey=t.getOptionGroupRenderKey.bind(g(t)),t.getSelectedOptionIndex=t.getSelectedOptionIndex.bind(g(t)),t.isSelected=t.isSelected.bind(g(t)),t.overlayRef=n(),t.inputRef=n(t.props.inputRef),t}return m(O,[{key:"onClick",value:function(e){this.props.disabled||p.hasClass(e.target,"p-dropdown-clear-icon")||"INPUT"===e.target.tagName||this.overlayRef.current&&this.overlayRef.current&&this.overlayRef.current.contains(e.target)||(this.focusInput.focus(),this.state.overlayVisible?this.hideOverlay():this.showOverlay())}},{key:"onInputFocus",value:function(e){var t=this;e.persist(),this.props.showOnFocus&&!this.state.overlayVisible&&this.showOverlay(),this.setState({focused:!0},(function(){t.props.onFocus&&t.props.onFocus(e)}))}},{key:"onInputBlur",value:function(e){var t=this;e.persist(),this.setState({focused:!1},(function(){t.props.onBlur&&t.props.onBlur(e)}))}},{key:"onPanelClick",value:function(e){a.emit("overlay-click",{originalEvent:e,target:this.container})}},{key:"onInputKeyDown",value:function(e){switch(e.which){case 40:this.onDownKey(e);break;case 38:this.onUpKey(e);break;case 32:this.state.overlayVisible?this.hideOverlay():this.showOverlay(),e.preventDefault();break;case 13:this.hideOverlay(),e.preventDefault();break;case 27:case 9:this.hideOverlay();break;default:this.search(e)}}},{key:"onFilterInputKeyDown",value:function(e){switch(e.which){case 40:this.onDownKey(e);break;case 38:this.onUpKey(e);break;case 13:case 27:this.hideOverlay(),e.preventDefault()}}},{key:"onUpKey",value:function(e){if(this.getVisibleOptions()){var t=this.findPrevOption(this.getSelectedOptionIndex());t&&this.selectItem({originalEvent:e,option:t})}e.preventDefault()}},{key:"onDownKey",value:function(e){if(this.getVisibleOptions())if(!this.state.overlayVisible&&e.altKey)this.showOverlay();else{var t=this.findNextOption(this.getSelectedOptionIndex());t&&this.selectItem({originalEvent:e,option:t})}e.preventDefault()}},{key:"findNextOption",value:function(e){var t=this.getVisibleOptions();if(this.props.optionGroupLabel){var n=-1===e?0:e.group,i=-1===e?-1:e.option,r=this.findNextOptionInList(this.getOptionGroupChildren(t[n]),i);return r||(n+1!==t.length?this.findNextOption({group:n+1,option:-1}):null)}return this.findNextOptionInList(t,e)}},{key:"findNextOptionInList",value:function(e,t){var n=t+1;if(n===e.length)return null;var i=e[n];return this.isOptionDisabled(i)?this.findNextOptionInList(n):i}},{key:"findPrevOption",value:function(e){if(-1===e)return null;var t=this.getVisibleOptions();if(this.props.optionGroupLabel){var n=e.group,i=e.option,r=this.findPrevOptionInList(this.getOptionGroupChildren(t[n]),i);return r||(n>0?this.findPrevOption({group:n-1,option:this.getOptionGroupChildren(t[n-1]).length}):null)}return this.findPrevOptionInList(t,e)}},{key:"findPrevOptionInList",value:function(e,t){var n=t-1;if(n<0)return null;var i=e[n];return this.isOptionDisabled(i)?this.findPrevOption(n):i}},{key:"search",value:function(e){var t=this;this.searchTimeout&&clearTimeout(this.searchTimeout);var n=e.key;if(this.previousSearchChar=this.currentSearchChar,this.currentSearchChar=n,this.searchValue=this.previousSearchChar===this.currentSearchChar?this.currentSearchChar:this.searchValue?this.searchValue+n:n,this.searchValue){var i=this.getSelectedOptionIndex(),r=this.props.optionGroupLabel?this.searchOptionInGroup(i):this.searchOption(++i);r&&(this.selectItem({originalEvent:e,option:r}),this.selectedOptionUpdated=!0)}this.searchTimeout=setTimeout((function(){t.searchValue=null}),250)}},{key:"searchOption",value:function(e){var t;if(this.searchValue){var n=this.getVisibleOptions();(t=this.searchOptionInRange(e,n.length))||(t=this.searchOptionInRange(0,e))}return t}},{key:"searchOptionInRange",value:function(e,t){for(var n=this.getVisibleOptions(),i=e;i<t;i++){var r=n[i];if(this.matchesSearchValue(r))return r}return null}},{key:"searchOptionInGroup",value:function(e){for(var t=-1===e?{group:0,option:-1}:e,n=this.getVisibleOptions(),i=t.group;i<n.length;i++)for(var r=this.getOptionGroupChildren(n[i]),o=t.group===i?t.option+1:0;o<r.length;o++)if(this.matchesSearchValue(r[o]))return r[o];for(var s=0;s<=t.group;s++)for(var l=this.getOptionGroupChildren(n[s]),p=0;p<(t.group===s?t.option:l.length);p++)if(this.matchesSearchValue(l[p]))return l[p];return null}},{key:"matchesSearchValue",value:function(e){return this.getOptionLabel(e).toLocaleLowerCase(this.props.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.props.filterLocale))}},{key:"onEditableInputChange",value:function(e){this.props.onChange&&this.props.onChange({originalEvent:e.originalEvent,value:e.target.value,stopPropagation:function(){},preventDefault:function(){},target:{name:this.props.name,id:this.props.id,value:e.target.value}})}},{key:"onEditableInputFocus",value:function(e){var t=this;e.persist(),this.setState({focused:!0},(function(){t.hideOverlay(),t.props.onFocus&&t.props.onFocus(e)}))}},{key:"onOptionClick",value:function(e){e.option.disabled||(this.selectItem(e),this.focusInput.focus()),this.hideOverlay()}},{key:"onFilterInputChange",value:function(e){var t=this,n=e.target.value;this.setState({filter:n},(function(){t.props.onFilter&&t.props.onFilter({originalEvent:e,filter:n})}))}},{key:"onFilterClearIconClick",value:function(e){this.resetFilter(e)}},{key:"resetFilter",value:function(e){var t=this;this.setState({filter:""},(function(){t.props.onFilter&&t.props.onFilter({filter:""}),e&&e()}))}},{key:"clear",value:function(e){this.props.onChange&&this.props.onChange({originalEvent:e,value:void 0,stopPropagation:function(){},preventDefault:function(){},target:{name:this.props.name,id:this.props.id,value:void 0}}),this.updateEditableLabel()}},{key:"selectItem",value:function(e){if(this.getSelectedOption()!==e.option){this.updateEditableLabel(e.option);var t=this.getOptionValue(e.option);this.props.onChange&&this.props.onChange({originalEvent:e.originalEvent,value:t,stopPropagation:function(){},preventDefault:function(){},target:{name:this.props.name,id:this.props.id,value:t}})}}},{key:"getSelectedOption",value:function(){var e=this.getSelectedOptionIndex(),t=this.getVisibleOptions();return-1!==e?this.props.optionGroupLabel?this.getOptionGroupChildren(t[e.group])[e.option]:t[e]:null}},{key:"getSelectedOptionIndex",value:function(){var e=this.getVisibleOptions();if(null!=this.props.value&&e){if(!this.props.optionGroupLabel)return this.findOptionIndexInList(this.props.value,e);for(var t=0;t<e.length;t++){var n=this.findOptionIndexInList(this.props.value,this.getOptionGroupChildren(e[t]));if(-1!==n)return{group:t,option:n}}}return-1}},{key:"findOptionIndexInList",value:function(e,t){for(var n=this.equalityKey(),i=0;i<t.length;i++)if(r.equals(e,this.getOptionValue(t[i]),n))return i;return-1}},{key:"isSelected",value:function(e){return r.equals(this.props.value,this.getOptionValue(e),this.equalityKey())}},{key:"equalityKey",value:function(){return this.props.optionValue?null:this.props.dataKey}},{key:"showOverlay",value:function(){this.setState({overlayVisible:!0})}},{key:"hideOverlay",value:function(){this.setState({overlayVisible:!1})}},{key:"onOverlayEnter",value:function(e){u.set("overlay",this.overlayRef.current),this.alignOverlay(),e&&e()}},{key:"onOverlayEntered",value:function(e){this.bindDocumentClickListener(),this.bindScrollListener(),this.bindResizeListener(),e&&e(),this.props.onShow&&this.props.onShow()}},{key:"onOverlayExit",value:function(){this.unbindDocumentClickListener(),this.unbindScrollListener(),this.unbindResizeListener()}},{key:"onOverlayExited",value:function(){this.props.filter&&this.props.resetFilterOnHide&&this.resetFilter(),u.clear(this.overlayRef.current),this.props.onHide&&this.props.onHide()}},{key:"alignOverlay",value:function(){p.alignOverlay(this.overlayRef.current,this.input.parentElement,this.props.appendTo||f.appendTo)}},{key:"scrollInView",value:function(){var e=p.findSingle(this.overlayRef.current,"li.p-highlight");e&&e.scrollIntoView({block:"nearest",inline:"start"})}},{key:"bindDocumentClickListener",value:function(){var e=this;this.documentClickListener||(this.documentClickListener=function(t){e.state.overlayVisible&&e.isOutsideClicked(t)&&e.hideOverlay()},document.addEventListener("click",this.documentClickListener))}},{key:"unbindDocumentClickListener",value:function(){this.documentClickListener&&(document.removeEventListener("click",this.documentClickListener),this.documentClickListener=null)}},{key:"bindScrollListener",value:function(){var e=this;this.scrollHandler||(this.scrollHandler=new c(this.container,(function(){e.state.overlayVisible&&e.hideOverlay()}))),this.scrollHandler.bindScrollListener()}},{key:"unbindScrollListener",value:function(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()}},{key:"bindResizeListener",value:function(){var e=this;this.resizeListener||(this.resizeListener=function(){e.state.overlayVisible&&!p.isTouchDevice()&&e.hideOverlay()},window.addEventListener("resize",this.resizeListener))}},{key:"unbindResizeListener",value:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)}},{key:"isOutsideClicked",value:function(e){return this.container&&!(this.container.isSameNode(e.target)||this.isClearClicked(e)||this.container.contains(e.target)||this.overlayRef&&this.overlayRef.current.contains(e.target))}},{key:"isClearClicked",value:function(e){return p.hasClass(e.target,"p-dropdown-clear-icon")}},{key:"updateEditableLabel",value:function(e){this.input&&(this.input.value=e?this.getOptionLabel(e):this.props.value||"")}},{key:"hasFilter",value:function(){return this.state.filter&&this.state.filter.trim().length>0}},{key:"getOptionLabel",value:function(e){return this.props.optionLabel?r.resolveFieldData(e,this.props.optionLabel):e&&void 0!==e.label?e.label:e}},{key:"getOptionValue",value:function(e){return this.props.optionValue?r.resolveFieldData(e,this.props.optionValue):e&&void 0!==e.value?e.value:e}},{key:"getOptionRenderKey",value:function(e){return this.props.dataKey?r.resolveFieldData(e,this.props.dataKey):this.getOptionLabel(e)}},{key:"isOptionDisabled",value:function(e){return this.props.optionDisabled?r.isFunction(this.props.optionDisabled)?this.props.optionDisabled(e):r.resolveFieldData(e,this.props.optionDisabled):!(!e||void 0===e.disabled)&&e.disabled}},{key:"getOptionGroupRenderKey",value:function(e){return r.resolveFieldData(e,this.props.optionGroupLabel)}},{key:"getOptionGroupLabel",value:function(e){return r.resolveFieldData(e,this.props.optionGroupLabel)}},{key:"getOptionGroupChildren",value:function(e){return r.resolveFieldData(e,this.props.optionGroupChildren)}},{key:"checkValidity",value:function(){return this.inputRef.current.checkValidity()}},{key:"getVisibleOptions",value:function(){if(this.hasFilter()){var e=this.state.filter.trim().toLocaleLowerCase(this.props.filterLocale),t=this.props.filterBy?this.props.filterBy.split(","):[this.props.optionLabel||"label"];if(this.props.optionGroupLabel){var n,i=[],r=N(this.props.options);try{for(r.s();!(n=r.n()).done;){var o=n.value,s=v.filter(this.getOptionGroupChildren(o),t,e,this.props.filterMatchMode,this.props.filterLocale);s&&s.length&&i.push(K(K({},o),{items:s}))}}catch(e){r.e(e)}finally{r.f()}return i}return v.filter(this.props.options,t,e,this.props.filterMatchMode,this.props.filterLocale)}return this.props.options}},{key:"updateInputField",value:function(){if(this.props.editable&&this.input){var e=this.getSelectedOption(),t=e?this.getOptionLabel(e):null;this.input.value=t||this.props.value||""}}},{key:"updateInputRef",value:function(){var e=this.props.inputRef;e&&("function"==typeof e?e(this.inputRef.current):e.current=this.inputRef.current)}},{key:"componentDidMount",value:function(){this.updateInputRef(),this.props.autoFocus&&this.focusInput&&this.focusInput.focus(),this.props.tooltip&&this.renderTooltip(),this.updateInputField(),this.inputRef.current.selectedIndex=1}},{key:"componentWillUnmount",value:function(){this.unbindDocumentClickListener(),this.unbindResizeListener(),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.tooltip&&(this.tooltip.destroy(),this.tooltip=null),this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=null),u.clear(this.overlayRef.current)}},{key:"componentDidUpdate",value:function(e){this.state.overlayVisible&&(this.props.filter&&this.alignOverlay(),e.value!==this.props.value&&this.scrollInView()),e.tooltip===this.props.tooltip&&e.tooltipOptions===this.props.tooltipOptions||(this.tooltip?this.tooltip.update(K({content:this.props.tooltip},this.props.tooltipOptions||{})):this.renderTooltip()),!this.state.filter||this.props.options&&0!==this.props.options.length||this.setState({filter:""}),this.updateInputField(),this.inputRef.current.selectedIndex=1}},{key:"renderHiddenSelect",value:function(t){var n=e.createElement("option",{value:""},this.props.placeholder),i=t?e.createElement("option",{value:t.value},this.getOptionLabel(t)):null;return e.createElement("div",{className:"p-hidden-accessible p-dropdown-hidden-select"},e.createElement("select",{ref:this.inputRef,required:this.props.required,name:this.props.name,tabIndex:-1,"aria-hidden":"true"},n,i))}},{key:"renderTooltip",value:function(){this.tooltip=h({target:this.container,content:this.props.tooltip,options:this.props.tooltipOptions})}},{key:"renderKeyboardHelper",value:function(){var t=this;return e.createElement("div",{className:"p-hidden-accessible"},e.createElement("input",{ref:function(e){return t.focusInput=e},id:this.props.inputId,type:"text",readOnly:!0,"aria-haspopup":"listbox",onFocus:this.onInputFocus,onBlur:this.onInputBlur,onKeyDown:this.onInputKeyDown,disabled:this.props.disabled,tabIndex:this.props.tabIndex,"aria-label":this.props.ariaLabel,"aria-labelledby":this.props.ariaLabelledBy}))}},{key:"renderLabel",value:function(t){var n=this,o=t?this.getOptionLabel(t):null;if(this.props.editable)return e.createElement("input",{ref:function(e){return n.input=e},type:"text",defaultValue:o||this.props.value||"",className:"p-dropdown-label p-inputtext",disabled:this.props.disabled,placeholder:this.props.placeholder,maxLength:this.props.maxLength,onInput:this.onEditableInputChange,onFocus:this.onEditableInputFocus,onBlur:this.onInputBlur,"aria-label":this.props.ariaLabel,"aria-labelledby":this.props.ariaLabelledBy,"aria-haspopup":"listbox"});var s=i("p-dropdown-label p-inputtext",{"p-placeholder":null===o&&this.props.placeholder,"p-dropdown-label-empty":null===o&&!this.props.placeholder}),l=this.props.valueTemplate?r.getJSXElement(this.props.valueTemplate,t,this.props):o||this.props.placeholder||"empty";return e.createElement("span",{ref:function(e){return n.input=e},className:s},l)}},{key:"renderClearIcon",value:function(){return null!=this.props.value&&this.props.showClear&&!this.props.disabled?e.createElement("i",{className:"p-dropdown-clear-icon pi pi-times",onClick:this.clear}):null}},{key:"renderDropdownIcon",value:function(){var t=this,n=i("p-dropdown-trigger-icon p-clickable",this.props.dropdownIcon);return e.createElement("div",{ref:function(e){return t.trigger=e},className:"p-dropdown-trigger",role:"button","aria-haspopup":"listbox","aria-expanded":this.state.overlayVisible},e.createElement("span",{className:n}))}},{key:"render",value:function(){var t=this,n=i("p-dropdown p-component p-inputwrapper",this.props.className,{"p-disabled":this.props.disabled,"p-focus":this.state.focused,"p-dropdown-clearable":this.props.showClear&&!this.props.disabled,"p-inputwrapper-filled":this.props.value,"p-inputwrapper-focus":this.state.focused||this.state.overlayVisible}),r=this.getVisibleOptions(),o=this.getSelectedOption(),s=this.renderHiddenSelect(o),l=this.renderKeyboardHelper(),p=this.renderLabel(o),a=this.renderDropdownIcon(),u=this.renderClearIcon();return e.createElement("div",{id:this.props.id,ref:function(e){return t.container=e},className:n,style:this.props.style,onClick:this.onClick,onMouseDown:this.props.onMouseDown,onContextMenu:this.props.onContextMenu},l,s,p,u,a,e.createElement(G,y({ref:this.overlayRef,visibleOptions:r},this.props,{onClick:this.onPanelClick,onOptionClick:this.onOptionClick,filterValue:this.state.filter,hasFilter:this.hasFilter,onFilterClearIconClick:this.onFilterClearIconClick,onFilterInputKeyDown:this.onFilterInputKeyDown,onFilterInputChange:this.onFilterInputChange,getOptionLabel:this.getOptionLabel,getOptionRenderKey:this.getOptionRenderKey,isOptionDisabled:this.isOptionDisabled,getOptionGroupChildren:this.getOptionGroupChildren,getOptionGroupLabel:this.getOptionGroupLabel,getOptionGroupRenderKey:this.getOptionGroupRenderKey,isSelected:this.isSelected,getSelectedOptionIndex:this.getSelectedOptionIndex,in:this.state.overlayVisible,onEnter:this.onOverlayEnter,onEntered:this.onOverlayEntered,onExit:this.onOverlayExit,onExited:this.onOverlayExited})))}}]),O}();L(M,"defaultProps",{id:null,inputRef:null,name:null,value:null,options:null,optionLabel:null,optionValue:null,optionDisabled:null,optionGroupLabel:null,optionGroupChildren:null,optionGroupTemplate:null,valueTemplate:null,itemTemplate:null,style:null,className:null,virtualScrollerOptions:null,scrollHeight:"200px",filter:!1,filterBy:null,filterMatchMode:"contains",filterPlaceholder:null,filterLocale:void 0,emptyMessage:"No records found",emptyFilterMessage:"No results found",editable:!1,placeholder:null,required:!1,disabled:!1,appendTo:null,tabIndex:null,autoFocus:!1,filterInputAutoFocus:!0,resetFilterOnHide:!1,showFilterClear:!1,panelClassName:null,panelStyle:null,dataKey:null,inputId:null,showClear:!1,maxLength:null,tooltip:null,tooltipOptions:null,ariaLabel:null,ariaLabelledBy:null,transitionOptions:null,dropdownIcon:"pi pi-chevron-down",showOnFocus:!1,onChange:null,onFocus:null,onBlur:null,onMouseDown:null,onContextMenu:null,onShow:null,onHide:null,onFilter:null});export{M as Dropdown};
@@ -98,6 +98,8 @@ this.primereact.dropdown = (function (exports, React, core, virtualscroller, Pri
98
98
  function _possibleConstructorReturn(self, call) {
99
99
  if (call && (_typeof(call) === "object" || typeof call === "function")) {
100
100
  return call;
101
+ } else if (call !== void 0) {
102
+ throw new TypeError("Derived constructors may only return object or undefined");
101
103
  }
102
104
 
103
105
  return _assertThisInitialized(self);
@@ -398,7 +400,7 @@ this.primereact.dropdown = (function (exports, React, core, virtualscroller, Pri
398
400
  var className = core.classNames('p-dropdown-items', options.className);
399
401
  var content = _this8.isEmptyFilter() ? _this8.renderEmptyMessage() : options.children;
400
402
  return /*#__PURE__*/React__default['default'].createElement("ul", {
401
- ref: options.ref,
403
+ ref: options.contentRef,
402
404
  className: className,
403
405
  role: "listbox"
404
406
  }, content);
@@ -980,15 +982,18 @@ this.primereact.dropdown = (function (exports, React, core, virtualscroller, Pri
980
982
  key: "getSelectedOption",
981
983
  value: function getSelectedOption() {
982
984
  var index = this.getSelectedOptionIndex();
983
- return index !== -1 ? this.props.optionGroupLabel ? this.getOptionGroupChildren(this.props.options[index.group])[index.option] : this.props.options[index] : null;
985
+ var visibleOptions = this.getVisibleOptions();
986
+ return index !== -1 ? this.props.optionGroupLabel ? this.getOptionGroupChildren(visibleOptions[index.group])[index.option] : visibleOptions[index] : null;
984
987
  }
985
988
  }, {
986
989
  key: "getSelectedOptionIndex",
987
990
  value: function getSelectedOptionIndex() {
988
- if (this.props.value != null && this.props.options) {
991
+ var visibleOptions = this.getVisibleOptions();
992
+
993
+ if (this.props.value != null && visibleOptions) {
989
994
  if (this.props.optionGroupLabel) {
990
- for (var i = 0; i < this.props.options.length; i++) {
991
- var selectedOptionIndex = this.findOptionIndexInList(this.props.value, this.getOptionGroupChildren(this.props.options[i]));
995
+ for (var i = 0; i < visibleOptions.length; i++) {
996
+ var selectedOptionIndex = this.findOptionIndexInList(this.props.value, this.getOptionGroupChildren(visibleOptions[i]));
992
997
 
993
998
  if (selectedOptionIndex !== -1) {
994
999
  return {
@@ -998,7 +1003,7 @@ this.primereact.dropdown = (function (exports, React, core, virtualscroller, Pri
998
1003
  }
999
1004
  }
1000
1005
  } else {
1001
- return this.findOptionIndexInList(this.props.value, this.props.options);
1006
+ return this.findOptionIndexInList(this.props.value, visibleOptions);
1002
1007
  }
1003
1008
  }
1004
1009
 
@@ -1046,7 +1051,6 @@ this.primereact.dropdown = (function (exports, React, core, virtualscroller, Pri
1046
1051
  value: function onOverlayEnter(callback) {
1047
1052
  core.ZIndexUtils.set('overlay', this.overlayRef.current);
1048
1053
  this.alignOverlay();
1049
- this.scrollInView();
1050
1054
  callback && callback();
1051
1055
  }
1052
1056
  }, {
@@ -1144,7 +1148,7 @@ this.primereact.dropdown = (function (exports, React, core, virtualscroller, Pri
1144
1148
 
1145
1149
  if (!this.resizeListener) {
1146
1150
  this.resizeListener = function () {
1147
- if (_this10.state.overlayVisible && !core.DomHandler.isAndroid()) {
1151
+ if (_this10.state.overlayVisible && !core.DomHandler.isTouchDevice()) {
1148
1152
  _this10.hideOverlay();
1149
1153
  }
1150
1154
  };
@@ -1242,7 +1246,7 @@ this.primereact.dropdown = (function (exports, React, core, virtualscroller, Pri
1242
1246
  try {
1243
1247
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
1244
1248
  var optgroup = _step.value;
1245
- var filteredSubOptions = core.FilterUtils.filter(this.getOptionGroupChildren(optgroup), searchFields, filterValue, this.props.filterMatchMode, this.props.filterLocale);
1249
+ var filteredSubOptions = PrimeReact.FilterService.filter(this.getOptionGroupChildren(optgroup), searchFields, filterValue, this.props.filterMatchMode, this.props.filterLocale);
1246
1250
 
1247
1251
  if (filteredSubOptions && filteredSubOptions.length) {
1248
1252
  filteredGroups.push(_objectSpread(_objectSpread({}, optgroup), {
@@ -1258,7 +1262,7 @@ this.primereact.dropdown = (function (exports, React, core, virtualscroller, Pri
1258
1262
 
1259
1263
  return filteredGroups;
1260
1264
  } else {
1261
- return core.FilterUtils.filter(this.props.options, searchFields, filterValue, this.props.filterMatchMode, this.props.filterLocale);
1265
+ return PrimeReact.FilterService.filter(this.props.options, searchFields, filterValue, this.props.filterMatchMode, this.props.filterLocale);
1262
1266
  }
1263
1267
  } else {
1264
1268
  return this.props.options;