primereact 8.7.3 → 9.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (450) hide show
  1. package/accordion/accordion.d.ts +168 -25
  2. package/api/api.cjs.js +1 -1
  3. package/api/api.cjs.min.js +1 -1
  4. package/api/api.d.ts +11 -3
  5. package/api/api.esm.js +1 -1
  6. package/api/api.esm.min.js +1 -1
  7. package/api/api.js +1 -1
  8. package/api/api.min.js +1 -1
  9. package/autocomplete/autocomplete.cjs.js +18 -3
  10. package/autocomplete/autocomplete.cjs.min.js +1 -1
  11. package/autocomplete/autocomplete.d.ts +385 -80
  12. package/autocomplete/autocomplete.esm.js +18 -3
  13. package/autocomplete/autocomplete.esm.min.js +1 -1
  14. package/autocomplete/autocomplete.js +18 -3
  15. package/autocomplete/autocomplete.min.js +1 -1
  16. package/avatar/avatar.d.ts +77 -15
  17. package/avatargroup/avatargroup.d.ts +33 -1
  18. package/badge/badge.d.ts +48 -8
  19. package/blockui/blockui.d.ts +71 -10
  20. package/breadcrumb/breadcrumb.d.ts +41 -3
  21. package/button/button.d.ts +67 -15
  22. package/calendar/calendar.cjs.js +18 -5
  23. package/calendar/calendar.cjs.min.js +1 -1
  24. package/calendar/calendar.d.ts +585 -112
  25. package/calendar/calendar.esm.js +18 -5
  26. package/calendar/calendar.esm.min.js +1 -1
  27. package/calendar/calendar.js +18 -5
  28. package/calendar/calendar.min.js +1 -1
  29. package/captcha/captcha.cjs.js +7 -6
  30. package/captcha/captcha.cjs.min.js +1 -1
  31. package/captcha/captcha.d.ts +77 -7
  32. package/captcha/captcha.esm.js +7 -6
  33. package/captcha/captcha.esm.min.js +1 -1
  34. package/captcha/captcha.js +7 -6
  35. package/captcha/captcha.min.js +1 -1
  36. package/card/card.d.ts +45 -7
  37. package/carousel/carousel.d.ts +138 -22
  38. package/cascadeselect/cascadeselect.cjs.js +7 -1
  39. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  40. package/cascadeselect/cascadeselect.d.ts +177 -29
  41. package/cascadeselect/cascadeselect.esm.js +7 -1
  42. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  43. package/cascadeselect/cascadeselect.js +7 -1
  44. package/cascadeselect/cascadeselect.min.js +1 -1
  45. package/chart/chart.d.ts +88 -10
  46. package/checkbox/checkbox.cjs.js +5 -1
  47. package/checkbox/checkbox.cjs.min.js +1 -1
  48. package/checkbox/checkbox.d.ts +137 -33
  49. package/checkbox/checkbox.esm.js +6 -2
  50. package/checkbox/checkbox.esm.min.js +1 -1
  51. package/checkbox/checkbox.js +5 -1
  52. package/checkbox/checkbox.min.js +1 -1
  53. package/chip/chip.d.ts +75 -7
  54. package/chips/chips.cjs.js +11 -8
  55. package/chips/chips.cjs.min.js +1 -1
  56. package/chips/chips.d.ts +188 -36
  57. package/chips/chips.esm.js +11 -8
  58. package/chips/chips.esm.min.js +1 -1
  59. package/chips/chips.js +11 -8
  60. package/chips/chips.min.js +1 -1
  61. package/colorpicker/colorpicker.cjs.js +6 -1
  62. package/colorpicker/colorpicker.cjs.min.js +1 -1
  63. package/colorpicker/colorpicker.d.ts +148 -31
  64. package/colorpicker/colorpicker.esm.js +6 -1
  65. package/colorpicker/colorpicker.esm.min.js +1 -1
  66. package/colorpicker/colorpicker.js +6 -1
  67. package/colorpicker/colorpicker.min.js +1 -1
  68. package/column/column.d.ts +736 -134
  69. package/columngroup/columngroup.d.ts +30 -1
  70. package/confirmdialog/confirmdialog.d.ts +142 -18
  71. package/confirmpopup/confirmpopup.cjs.js +5 -2
  72. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  73. package/confirmpopup/confirmpopup.d.ts +165 -22
  74. package/confirmpopup/confirmpopup.esm.js +5 -2
  75. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  76. package/confirmpopup/confirmpopup.js +5 -2
  77. package/confirmpopup/confirmpopup.min.js +1 -1
  78. package/contextmenu/contextmenu.cjs.js +4 -1
  79. package/contextmenu/contextmenu.cjs.min.js +1 -1
  80. package/contextmenu/contextmenu.d.ts +79 -11
  81. package/contextmenu/contextmenu.esm.js +4 -1
  82. package/contextmenu/contextmenu.esm.min.js +1 -1
  83. package/contextmenu/contextmenu.js +4 -1
  84. package/contextmenu/contextmenu.min.js +1 -1
  85. package/core/core.js +85 -78
  86. package/core/core.min.js +7 -7
  87. package/csstransition/csstransition.d.ts +31 -1
  88. package/datascroller/datascroller.d.ts +102 -16
  89. package/datatable/datatable.cjs.js +27 -15
  90. package/datatable/datatable.cjs.min.js +1 -1
  91. package/datatable/datatable.d.ts +1257 -229
  92. package/datatable/datatable.esm.js +27 -15
  93. package/datatable/datatable.esm.min.js +1 -1
  94. package/datatable/datatable.js +27 -15
  95. package/datatable/datatable.min.js +1 -1
  96. package/dataview/dataview.d.ts +222 -43
  97. package/deferredcontent/deferredcontent.d.ts +37 -1
  98. package/dialog/dialog.cjs.js +13 -19
  99. package/dialog/dialog.cjs.min.js +1 -1
  100. package/dialog/dialog.d.ts +282 -51
  101. package/dialog/dialog.esm.js +14 -20
  102. package/dialog/dialog.esm.min.js +1 -1
  103. package/dialog/dialog.js +13 -19
  104. package/dialog/dialog.min.css +1 -1
  105. package/dialog/dialog.min.js +1 -1
  106. package/divider/divider.d.ts +47 -10
  107. package/dock/dock.d.ts +68 -12
  108. package/dropdown/dropdown.cjs.js +27 -11
  109. package/dropdown/dropdown.cjs.min.js +1 -1
  110. package/dropdown/dropdown.d.ts +337 -83
  111. package/dropdown/dropdown.esm.js +28 -12
  112. package/dropdown/dropdown.esm.min.js +1 -1
  113. package/dropdown/dropdown.js +27 -11
  114. package/dropdown/dropdown.min.js +1 -1
  115. package/editor/editor.d.ts +129 -12
  116. package/fieldset/fieldset.d.ts +85 -7
  117. package/fileupload/fileupload.cjs.js +4 -0
  118. package/fileupload/fileupload.cjs.min.js +1 -1
  119. package/fileupload/fileupload.d.ts +425 -62
  120. package/fileupload/fileupload.esm.js +4 -0
  121. package/fileupload/fileupload.esm.min.js +1 -1
  122. package/fileupload/fileupload.js +4 -0
  123. package/fileupload/fileupload.min.js +1 -1
  124. package/galleria/galleria.cjs.js +3 -1
  125. package/galleria/galleria.cjs.min.js +1 -1
  126. package/galleria/galleria.d.ts +198 -30
  127. package/galleria/galleria.esm.js +3 -1
  128. package/galleria/galleria.esm.min.js +1 -1
  129. package/galleria/galleria.js +3 -1
  130. package/galleria/galleria.min.js +1 -1
  131. package/gmap/gmap.d.ts +91 -5
  132. package/hooks/hooks.cjs.js +1 -2
  133. package/hooks/hooks.cjs.min.js +1 -1
  134. package/hooks/hooks.d.ts +114 -7
  135. package/hooks/hooks.esm.js +1 -2
  136. package/hooks/hooks.esm.min.js +1 -1
  137. package/hooks/hooks.js +1 -2
  138. package/hooks/hooks.min.js +1 -1
  139. package/image/image.d.ts +91 -11
  140. package/inplace/inplace.d.ts +101 -9
  141. package/inputmask/inputmask.cjs.js +6 -5
  142. package/inputmask/inputmask.cjs.min.js +1 -1
  143. package/inputmask/inputmask.d.ts +119 -27
  144. package/inputmask/inputmask.esm.js +7 -6
  145. package/inputmask/inputmask.esm.min.js +1 -1
  146. package/inputmask/inputmask.js +6 -5
  147. package/inputmask/inputmask.min.js +1 -1
  148. package/inputnumber/inputnumber.cjs.js +11 -33
  149. package/inputnumber/inputnumber.cjs.min.js +1 -1
  150. package/inputnumber/inputnumber.d.ts +265 -57
  151. package/inputnumber/inputnumber.esm.js +12 -34
  152. package/inputnumber/inputnumber.esm.min.js +1 -1
  153. package/inputnumber/inputnumber.js +11 -33
  154. package/inputnumber/inputnumber.min.js +1 -1
  155. package/inputswitch/inputswitch.cjs.js +4 -1
  156. package/inputswitch/inputswitch.cjs.min.js +1 -1
  157. package/inputswitch/inputswitch.d.ts +118 -27
  158. package/inputswitch/inputswitch.esm.js +5 -2
  159. package/inputswitch/inputswitch.esm.min.js +1 -1
  160. package/inputswitch/inputswitch.js +4 -1
  161. package/inputswitch/inputswitch.min.js +1 -1
  162. package/inputtext/inputtext.d.ts +57 -6
  163. package/inputtextarea/inputtextarea.d.ts +52 -6
  164. package/keyfilter/keyfilteroptions.d.ts +15 -0
  165. package/knob/knob.d.ts +127 -20
  166. package/listbox/listbox.cjs.js +3 -0
  167. package/listbox/listbox.cjs.min.js +1 -1
  168. package/listbox/listbox.d.ts +270 -48
  169. package/listbox/listbox.esm.js +3 -0
  170. package/listbox/listbox.esm.min.js +1 -1
  171. package/listbox/listbox.js +3 -0
  172. package/listbox/listbox.min.js +1 -1
  173. package/megamenu/megamenu.d.ts +50 -11
  174. package/mention/mention.cjs.js +3 -0
  175. package/mention/mention.cjs.min.js +1 -1
  176. package/mention/mention.d.ts +186 -32
  177. package/mention/mention.esm.js +3 -0
  178. package/mention/mention.esm.min.js +1 -1
  179. package/mention/mention.js +3 -0
  180. package/mention/mention.min.js +1 -1
  181. package/menu/menu.cjs.js +3 -1
  182. package/menu/menu.cjs.min.js +1 -1
  183. package/menu/menu.d.ts +89 -12
  184. package/menu/menu.esm.js +3 -1
  185. package/menu/menu.esm.min.js +1 -1
  186. package/menu/menu.js +3 -1
  187. package/menu/menu.min.js +1 -1
  188. package/menubar/menubar.d.ts +53 -8
  189. package/menuitem/menuitem.d.ts +114 -19
  190. package/message/message.d.ts +50 -11
  191. package/messages/messages.d.ts +91 -11
  192. package/multiselect/multiselect.cjs.js +11 -2
  193. package/multiselect/multiselect.cjs.min.js +1 -1
  194. package/multiselect/multiselect.d.ts +429 -82
  195. package/multiselect/multiselect.esm.js +12 -3
  196. package/multiselect/multiselect.esm.min.js +1 -1
  197. package/multiselect/multiselect.js +11 -2
  198. package/multiselect/multiselect.min.js +1 -1
  199. package/multistatecheckbox/multistatecheckbox.cjs.js +3 -0
  200. package/multistatecheckbox/multistatecheckbox.cjs.min.js +1 -1
  201. package/multistatecheckbox/multistatecheckbox.d.ts +157 -22
  202. package/multistatecheckbox/multistatecheckbox.esm.js +4 -1
  203. package/multistatecheckbox/multistatecheckbox.esm.min.js +1 -1
  204. package/multistatecheckbox/multistatecheckbox.js +3 -0
  205. package/multistatecheckbox/multistatecheckbox.min.js +1 -1
  206. package/orderlist/orderlist.d.ts +113 -16
  207. package/organizationchart/organizationchart.d.ts +107 -16
  208. package/overlaypanel/overlaypanel.cjs.js +4 -1
  209. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  210. package/overlaypanel/overlaypanel.d.ts +89 -15
  211. package/overlaypanel/overlaypanel.esm.js +4 -1
  212. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  213. package/overlaypanel/overlaypanel.js +4 -1
  214. package/overlaypanel/overlaypanel.min.js +1 -1
  215. package/overlayservice/overlayservice.d.ts +52 -7
  216. package/package.json +2 -2
  217. package/paginator/paginator.d.ts +409 -44
  218. package/panel/panel.d.ts +142 -16
  219. package/panelmenu/panelmenu.d.ts +46 -4
  220. package/password/password.cjs.js +7 -1
  221. package/password/password.cjs.min.js +1 -1
  222. package/password/password.d.ts +176 -36
  223. package/password/password.esm.js +7 -1
  224. package/password/password.esm.min.js +1 -1
  225. package/password/password.js +7 -1
  226. package/password/password.min.css +1 -1
  227. package/password/password.min.js +1 -1
  228. package/picklist/picklist.d.ts +272 -46
  229. package/primereact.all.cjs.js +305 -158
  230. package/primereact.all.cjs.min.js +1 -1
  231. package/primereact.all.esm.js +305 -158
  232. package/primereact.all.esm.min.js +1 -1
  233. package/primereact.all.js +305 -158
  234. package/primereact.all.min.js +1 -1
  235. package/progressbar/progressbar.d.ts +60 -11
  236. package/progressspinner/progressspinner.d.ts +47 -4
  237. package/radiobutton/radiobutton.cjs.js +5 -1
  238. package/radiobutton/radiobutton.cjs.min.js +1 -1
  239. package/radiobutton/radiobutton.d.ts +99 -29
  240. package/radiobutton/radiobutton.esm.js +5 -1
  241. package/radiobutton/radiobutton.esm.min.js +1 -1
  242. package/radiobutton/radiobutton.js +5 -1
  243. package/radiobutton/radiobutton.min.js +1 -1
  244. package/rating/rating.d.ts +101 -24
  245. package/resources/primereact.css +74 -63
  246. package/resources/primereact.min.css +1 -1
  247. package/resources/themes/arya-blue/theme.css +5 -9
  248. package/resources/themes/arya-green/theme.css +4 -10
  249. package/resources/themes/arya-orange/theme.css +4 -9
  250. package/resources/themes/arya-purple/theme.css +4 -9
  251. package/resources/themes/bootstrap4-dark-blue/theme.css +4 -9
  252. package/resources/themes/bootstrap4-dark-purple/theme.css +4 -9
  253. package/resources/themes/bootstrap4-light-blue/theme.css +4 -9
  254. package/resources/themes/bootstrap4-light-purple/theme.css +4 -10
  255. package/resources/themes/fluent-light/theme.css +4 -10
  256. package/resources/themes/lara-dark-blue/theme.css +4 -9
  257. package/resources/themes/lara-dark-indigo/theme.css +4 -10
  258. package/resources/themes/lara-dark-purple/theme.css +4 -9
  259. package/resources/themes/lara-dark-teal/theme.css +4 -10
  260. package/resources/themes/lara-light-blue/theme.css +4 -9
  261. package/resources/themes/lara-light-indigo/theme.css +4 -9
  262. package/resources/themes/lara-light-purple/theme.css +4 -9
  263. package/resources/themes/lara-light-teal/theme.css +4 -9
  264. package/resources/themes/luna-amber/theme.css +5 -9
  265. package/resources/themes/luna-blue/theme.css +4 -9
  266. package/resources/themes/luna-green/theme.css +5 -9
  267. package/resources/themes/luna-pink/theme.css +4 -9
  268. package/resources/themes/md-dark-deeppurple/theme.css +4 -9
  269. package/resources/themes/md-dark-indigo/theme.css +5 -9
  270. package/resources/themes/md-light-deeppurple/theme.css +5 -9
  271. package/resources/themes/md-light-indigo/theme.css +5 -9
  272. package/resources/themes/mdc-dark-deeppurple/theme.css +5 -9
  273. package/resources/themes/mdc-dark-indigo/theme.css +4 -9
  274. package/resources/themes/mdc-light-deeppurple/theme.css +5 -9
  275. package/resources/themes/mdc-light-indigo/theme.css +4 -9
  276. package/resources/themes/mira/fonts/Inter-Bold.woff +0 -0
  277. package/resources/themes/mira/fonts/Inter-Bold.woff2 +0 -0
  278. package/resources/themes/mira/fonts/Inter-Medium.woff +0 -0
  279. package/resources/themes/mira/fonts/Inter-Medium.woff2 +0 -0
  280. package/resources/themes/mira/fonts/Inter-Regular.woff +0 -0
  281. package/resources/themes/mira/fonts/Inter-Regular.woff2 +0 -0
  282. package/resources/themes/mira/fonts/Inter-SemiBold.woff +0 -0
  283. package/resources/themes/mira/fonts/Inter-SemiBold.woff2 +0 -0
  284. package/resources/themes/mira/theme.css +6237 -0
  285. package/resources/themes/nano/theme.css +6009 -0
  286. package/resources/themes/nova/theme.css +4 -9
  287. package/resources/themes/nova-accent/theme.css +5 -9
  288. package/resources/themes/nova-alt/theme.css +4 -9
  289. package/resources/themes/rhea/theme.css +5 -9
  290. package/resources/themes/saga-blue/theme.css +4 -9
  291. package/resources/themes/saga-green/theme.css +5 -9
  292. package/resources/themes/saga-orange/theme.css +5 -9
  293. package/resources/themes/saga-purple/theme.css +5 -9
  294. package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-300.woff +0 -0
  295. package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-300.woff2 +0 -0
  296. package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-700.woff +0 -0
  297. package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-700.woff2 +0 -0
  298. package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-regular.woff +0 -0
  299. package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-regular.woff2 +0 -0
  300. package/resources/themes/soho-dark/theme.css +6002 -0
  301. package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-300.woff +0 -0
  302. package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-300.woff2 +0 -0
  303. package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-700.woff +0 -0
  304. package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-700.woff2 +0 -0
  305. package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-regular.woff +0 -0
  306. package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-regular.woff2 +0 -0
  307. package/resources/themes/soho-light/theme.css +6056 -0
  308. package/resources/themes/vela-blue/theme.css +4 -9
  309. package/resources/themes/vela-green/theme.css +4 -9
  310. package/resources/themes/vela-orange/theme.css +4 -9
  311. package/resources/themes/vela-purple/theme.css +5 -9
  312. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-300.woff +0 -0
  313. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-300.woff2 +0 -0
  314. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-600.woff +0 -0
  315. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-600.woff2 +0 -0
  316. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-700.woff +0 -0
  317. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-700.woff2 +0 -0
  318. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-regular.woff +0 -0
  319. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-regular.woff2 +0 -0
  320. package/resources/themes/viva-dark/theme.css +6164 -0
  321. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-300.woff +0 -0
  322. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-300.woff2 +0 -0
  323. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-600.woff +0 -0
  324. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-600.woff2 +0 -0
  325. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-700.woff +0 -0
  326. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-700.woff2 +0 -0
  327. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-regular.woff +0 -0
  328. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-regular.woff2 +0 -0
  329. package/resources/themes/viva-light/theme.css +6164 -0
  330. package/ripple/ripple.d.ts +29 -1
  331. package/row/row.d.ts +37 -3
  332. package/scrollpanel/scrollpanel.d.ts +45 -1
  333. package/scrolltop/scrolltop.d.ts +70 -10
  334. package/selectbutton/selectbutton.cjs.js +3 -0
  335. package/selectbutton/selectbutton.cjs.min.js +1 -1
  336. package/selectbutton/selectbutton.d.ts +111 -32
  337. package/selectbutton/selectbutton.esm.js +4 -1
  338. package/selectbutton/selectbutton.esm.min.js +1 -1
  339. package/selectbutton/selectbutton.js +3 -0
  340. package/selectbutton/selectbutton.min.js +1 -1
  341. package/selectitem/selectitem.d.ts +34 -0
  342. package/sidebar/sidebar.cjs.js +13 -1
  343. package/sidebar/sidebar.cjs.min.js +1 -1
  344. package/sidebar/sidebar.d.ts +120 -22
  345. package/sidebar/sidebar.esm.js +13 -1
  346. package/sidebar/sidebar.esm.min.js +1 -1
  347. package/sidebar/sidebar.js +13 -1
  348. package/sidebar/sidebar.min.js +1 -1
  349. package/skeleton/skeleton.d.ts +61 -11
  350. package/slidemenu/slidemenu.d.ts +132 -18
  351. package/slider/slider.d.ts +101 -18
  352. package/speeddial/speeddial.d.ts +149 -20
  353. package/splitbutton/splitbutton.cjs.js +3 -2
  354. package/splitbutton/splitbutton.cjs.min.js +1 -1
  355. package/splitbutton/splitbutton.d.ts +131 -23
  356. package/splitbutton/splitbutton.esm.js +3 -2
  357. package/splitbutton/splitbutton.esm.min.js +1 -1
  358. package/splitbutton/splitbutton.js +3 -2
  359. package/splitbutton/splitbutton.min.js +1 -1
  360. package/splitter/splitter.d.ts +98 -12
  361. package/steps/steps.d.ts +67 -6
  362. package/styleclass/styleclass.d.ts +77 -12
  363. package/tabmenu/tabmenu.d.ts +62 -5
  364. package/tabview/tabview.cjs.js +1 -1
  365. package/tabview/tabview.cjs.min.js +1 -1
  366. package/tabview/tabview.d.ts +213 -27
  367. package/tabview/tabview.esm.js +1 -1
  368. package/tabview/tabview.esm.min.js +1 -1
  369. package/tabview/tabview.js +1 -1
  370. package/tabview/tabview.min.js +1 -1
  371. package/tag/tag.d.ts +50 -6
  372. package/terminal/terminal.cjs.js +3 -0
  373. package/terminal/terminal.cjs.min.js +1 -1
  374. package/terminal/terminal.d.ts +45 -3
  375. package/terminal/terminal.esm.js +4 -1
  376. package/terminal/terminal.esm.min.js +1 -1
  377. package/terminal/terminal.js +3 -0
  378. package/terminal/terminal.min.js +1 -1
  379. package/terminalservice/terminalservice.d.ts +42 -4
  380. package/tieredmenu/tieredmenu.cjs.js +3 -1
  381. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  382. package/tieredmenu/tieredmenu.d.ts +77 -12
  383. package/tieredmenu/tieredmenu.esm.js +3 -1
  384. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  385. package/tieredmenu/tieredmenu.js +3 -1
  386. package/tieredmenu/tieredmenu.min.js +1 -1
  387. package/timeline/timeline.cjs.js +6 -10
  388. package/timeline/timeline.cjs.min.js +1 -1
  389. package/timeline/timeline.d.ts +62 -13
  390. package/timeline/timeline.esm.js +6 -10
  391. package/timeline/timeline.esm.min.js +1 -1
  392. package/timeline/timeline.js +6 -10
  393. package/timeline/timeline.min.js +1 -1
  394. package/toast/toast.cjs.js +4 -1
  395. package/toast/toast.cjs.min.js +1 -1
  396. package/toast/toast.d.ts +134 -27
  397. package/toast/toast.esm.js +4 -1
  398. package/toast/toast.esm.min.js +1 -1
  399. package/toast/toast.js +4 -1
  400. package/toast/toast.min.js +1 -1
  401. package/togglebutton/togglebutton.cjs.js +4 -1
  402. package/togglebutton/togglebutton.cjs.min.js +1 -1
  403. package/togglebutton/togglebutton.d.ts +122 -15
  404. package/togglebutton/togglebutton.esm.js +5 -2
  405. package/togglebutton/togglebutton.esm.min.js +1 -1
  406. package/togglebutton/togglebutton.js +4 -1
  407. package/togglebutton/togglebutton.min.js +1 -1
  408. package/toolbar/toolbar.cjs.js +13 -7
  409. package/toolbar/toolbar.cjs.min.js +1 -1
  410. package/toolbar/toolbar.d.ts +55 -5
  411. package/toolbar/toolbar.esm.js +13 -7
  412. package/toolbar/toolbar.esm.min.js +1 -1
  413. package/toolbar/toolbar.js +13 -7
  414. package/toolbar/toolbar.min.css +1 -1
  415. package/toolbar/toolbar.min.js +1 -1
  416. package/tooltip/tooltip.d.ts +73 -9
  417. package/tooltip/tooltipoptions.d.ts +350 -31
  418. package/tree/tree.d.ts +435 -71
  419. package/treenode/treenode.d.ts +62 -13
  420. package/treeselect/treeselect.cjs.js +7 -1
  421. package/treeselect/treeselect.cjs.min.js +1 -1
  422. package/treeselect/treeselect.d.ts +326 -77
  423. package/treeselect/treeselect.esm.js +8 -2
  424. package/treeselect/treeselect.esm.min.js +1 -1
  425. package/treeselect/treeselect.js +7 -1
  426. package/treeselect/treeselect.min.js +1 -1
  427. package/treetable/treetable.cjs.js +3 -1
  428. package/treetable/treetable.cjs.min.js +1 -1
  429. package/treetable/treetable.d.ts +501 -112
  430. package/treetable/treetable.esm.js +3 -1
  431. package/treetable/treetable.esm.min.js +1 -1
  432. package/treetable/treetable.js +3 -1
  433. package/treetable/treetable.min.js +1 -1
  434. package/tristatecheckbox/tristatecheckbox.cjs.js +3 -0
  435. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  436. package/tristatecheckbox/tristatecheckbox.d.ts +72 -20
  437. package/tristatecheckbox/tristatecheckbox.esm.js +4 -1
  438. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  439. package/tristatecheckbox/tristatecheckbox.js +3 -0
  440. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  441. package/ts-helpers.d.ts +24 -0
  442. package/utils/utils.cjs.js +27 -11
  443. package/utils/utils.cjs.min.js +1 -1
  444. package/utils/utils.d.ts +8 -1
  445. package/utils/utils.esm.js +27 -11
  446. package/utils/utils.esm.min.js +1 -1
  447. package/utils/utils.js +27 -11
  448. package/utils/utils.min.js +1 -1
  449. package/virtualscroller/virtualscroller.d.ts +351 -59
  450. package/web-types.json +22 -4
@@ -1,113 +1,367 @@
1
+ /**
2
+ *
3
+ * Dropdown also known as Select, is used to choose an item from a collection of options.
4
+ *
5
+ * [Live Demo](https://www.primefaces.org/primereact/dropdown/)
6
+ *
7
+ * @module dropdown
8
+ *
9
+ */
1
10
  import * as React from 'react';
2
11
  import { CSSTransitionProps } from '../csstransition';
3
12
  import { SelectItemOptionsType } from '../selectitem/selectitem';
4
- import TooltipOptions from '../tooltip/tooltipoptions';
13
+ import { TooltipOptions } from '../tooltip/tooltipoptions';
14
+ import { FormEvent } from '../ts-helpers';
15
+ import { IconType } from '../utils';
5
16
  import { VirtualScrollerProps } from '../virtualscroller';
6
17
 
7
- type DropdownOptionGroupTemplateType = React.ReactNode | ((option: any, index: number) => React.ReactNode);
18
+ /**
19
+ * Custom change event.
20
+ * @see {@link DropdownProps.onChange}
21
+ * @extends {FormEvent}
22
+ * @event
23
+ */
24
+ interface DropdownChangeEvent extends FormEvent {}
8
25
 
9
- type DropdownValueTemplateType = React.ReactNode | ((option: any, props: DropdownProps) => React.ReactNode);
10
-
11
- type DropdownItemTemplateType = React.ReactNode | ((option: any) => React.ReactNode);
12
-
13
- type DropdownFilterTemplateType = React.ReactNode | ((options: DropdownFilterOptions) => React.ReactNode);
14
-
15
- type DropdownEmptyMessageType = React.ReactNode | ((props: DropdownProps) => React.ReactNode);
16
-
17
- type DropdownEmptyFilterMessageType = React.ReactNode | ((props: DropdownProps) => React.ReactNode);
18
-
19
- type DropdownOptionDisabledType = string | ((option: any) => boolean);
20
-
21
- type DropdownAppendToType = 'self' | HTMLElement | undefined | null;
22
-
23
- interface DropdownChangeTargetOptions {
24
- name: string;
25
- id: string;
26
- value: any;
27
- }
28
-
29
- interface DropdownChangeParams {
30
- originalEvent: React.SyntheticEvent;
31
- value: any;
32
- stopPropagation(): void;
33
- preventDefault(): void;
34
- target: DropdownChangeTargetOptions;
35
- }
36
-
37
- interface DropdownFilterParams {
26
+ /**
27
+ * Custom filter event
28
+ * @see {@link DropdownProps.onFilter}
29
+ * @event
30
+ */
31
+ interface DropdownFilterEvent {
32
+ /**
33
+ * Browser event
34
+ */
38
35
  originalEvent: React.SyntheticEvent;
36
+ /**
37
+ * Filter value
38
+ */
39
39
  filter: string;
40
40
  }
41
41
 
42
+ /**
43
+ * Custom filter options
44
+ * @see {@link DropdownProps.filterTemplate}
45
+ * @group Misc
46
+ */
42
47
  interface DropdownFilterOptions {
43
- filter?: (event?: KeyboardEvent) => void;
48
+ /**
49
+ * Used to filter options
50
+ * @param {React.KeyboardEvent<HTMLElement>} event - Browser event
51
+ */
52
+ filter?: (event?: React.KeyboardEvent<HTMLElement>) => void;
53
+ /**
54
+ * Used to reset the filtered options
55
+ */
44
56
  reset?: () => void;
45
57
  }
46
58
 
59
+ /**
60
+ * Defines valid properties in Dropdown component. In addition to these, all properties of HTMLDivElement can be used in this component.
61
+ * @group Properties
62
+ */
47
63
  export interface DropdownProps extends Omit<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLDivElement>, HTMLDivElement>, 'onChange' | 'ref'> {
48
- appendTo?: DropdownAppendToType;
49
- ariaLabel?: string;
50
- ariaLabelledBy?: string;
51
- autoFocus?: boolean;
52
- children?: React.ReactNode;
53
- className?: string;
54
- dataKey?: string;
55
- disabled?: boolean;
56
- dropdownIcon?: string;
57
- editable?: boolean;
58
- emptyFilterMessage?: DropdownEmptyFilterMessageType;
59
- emptyMessage?: DropdownEmptyMessageType;
60
- filter?: boolean;
61
- filterBy?: string;
62
- filterInputAutoFocus?: boolean;
63
- filterLocale?: string;
64
- filterMatchMode?: string;
65
- filterPlaceholder?: string;
66
- filterTemplate?: DropdownFilterTemplateType;
67
- focusInputRef?: React.Ref<HTMLInputElement>;
68
- id?: string;
69
- inputId?: string;
70
- inputRef?: React.Ref<HTMLSelectElement>;
71
- itemTemplate?: DropdownItemTemplateType;
72
- maxLength?: number;
73
- name?: string;
74
- optionDisabled?: DropdownOptionDisabledType;
75
- optionGroupChildren?: string;
76
- optionGroupLabel?: string;
77
- optionGroupTemplate?: DropdownOptionGroupTemplateType;
78
- optionLabel?: string;
79
- optionValue?: string;
80
- options?: SelectItemOptionsType;
81
- panelClassName?: string;
82
- panelStyle?: React.CSSProperties;
83
- placeholder?: string;
84
- required?: boolean;
85
- resetFilterOnHide?: boolean;
86
- scrollHeight?: string;
87
- showClear?: boolean;
88
- showFilterClear?: boolean;
89
- showOnFocus?: boolean;
90
- style?: React.CSSProperties;
91
- tabIndex?: number;
92
- tooltip?: string;
93
- tooltipOptions?: TooltipOptions;
94
- transitionOptions?: CSSTransitionProps;
64
+ /**
65
+ * DOM element instance where the overlay panel should be mounted. Valid values are any DOM Element and "self". The "self" value is used to render a component where it is located.
66
+ * @defaultValue document.body
67
+ */
68
+ appendTo?: 'self' | HTMLElement | undefined | null;
69
+ /**
70
+ * Used to define a string that labels the component.
71
+ */
72
+ ariaLabel?: string | undefined;
73
+ /**
74
+ * Establishes relationships between the component and label(s) where its value should be one or more element IDs.
75
+ */
76
+ ariaLabelledBy?: string | undefined;
77
+ /**
78
+ * When present, it specifies that the component should automatically get focus on load.
79
+ * @defaultValue false
80
+ */
81
+ autoFocus?: boolean | undefined;
82
+ /**
83
+ * Style class of the component.
84
+ */
85
+ className?: string | undefined;
86
+ /**
87
+ * Icon class of the dropdown icon.
88
+ * @defaultValue pi pi-times
89
+ */
90
+ clearIcon?: IconType<DropdownProps> | undefined;
91
+ /**
92
+ * A property to uniquely match the value in options for better performance.
93
+ */
94
+ dataKey?: string | undefined;
95
+ /**
96
+ * When present, it specifies that the component should be disabled.
97
+ * @defaultValue false
98
+ */
99
+ disabled?: boolean | undefined;
100
+ /**
101
+ * Icon class of the dropdown icon.
102
+ * @defaultValue pi pi-chevron-down
103
+ */
104
+ dropdownIcon?: IconType<DropdownProps> | undefined;
105
+ /**
106
+ * When present, custom value instead of predefined options can be entered using the editable input field.
107
+ * @defaultValue false
108
+ */
109
+ editable?: boolean | undefined;
110
+ /**
111
+ * Template to display when filtering does not return any results.
112
+ * @defaultValue No available options
113
+ */
114
+ emptyFilterMessage?: React.ReactNode | ((props: DropdownProps) => React.ReactNode) | undefined;
115
+ /**
116
+ * Text to display when there are no options available.
117
+ * @defaultValue No results found
118
+ */
119
+ emptyMessage?: React.ReactNode | ((props: DropdownProps) => React.ReactNode) | undefined;
120
+ /**
121
+ * When specified, displays an input field to filter the items on keyup.
122
+ * @defaultValue false
123
+ */
124
+ filter?: boolean | undefined;
125
+ /**
126
+ * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.
127
+ * @defaultValue label
128
+ */
129
+ filterBy?: 'label' | string | undefined;
130
+ /**
131
+ * When the panel is opened, it specifies that the filter input should focus automatically.
132
+ * @defaultValue true
133
+ */
134
+ filterInputAutoFocus?: boolean | undefined;
135
+ /**
136
+ * Locale to use in filtering. The default locale is the host environment's current locale.
137
+ */
138
+ filterLocale?: string | undefined;
139
+ /**
140
+ * Defines how the items are filtered.
141
+ * @defaultValue contains
142
+ */
143
+ filterMatchMode?: 'contains' | 'startsWith' | 'endsWith' | 'equals' | 'notEquals' | undefined;
144
+ /**
145
+ * Placeholder text to show when filter input is empty.
146
+ */
147
+ filterPlaceholder?: string | undefined;
148
+ /**
149
+ * The template of filter element.
150
+ */
151
+ filterTemplate?: React.ReactNode | ((options: DropdownFilterOptions) => React.ReactNode) | undefined;
152
+ /**
153
+ * Reference of the focusable input element.
154
+ */
155
+ focusInputRef?: React.Ref<HTMLInputElement> | undefined;
156
+ /**
157
+ * Unique identifier of the element.
158
+ */
159
+ id?: string | undefined;
160
+ /**
161
+ * Identifier of the focusable input.
162
+ */
163
+ inputId?: string | undefined;
164
+ /**
165
+ * Reference of the input element.
166
+ */
167
+ inputRef?: React.Ref<HTMLSelectElement> | undefined;
168
+ /**
169
+ * The template of items.
170
+ */
171
+ itemTemplate?: React.ReactNode | ((option: any) => React.ReactNode) | undefined;
172
+ /**
173
+ * Maximum number of characters to be typed on an editable input.
174
+ */
175
+ maxLength?: number | undefined;
176
+ /**
177
+ * Name of the input element.
178
+ */
179
+ name?: string | undefined;
180
+ /**
181
+ * Property name or getter function to use as the disabled flag of an option, defaults to false when not defined.
182
+ */
183
+ optionDisabled?: string | ((option: any) => boolean) | undefined;
184
+ /**
185
+ * Property name or getter function that refers to the children options of option group.
186
+ */
187
+ optionGroupChildren?: string | undefined;
188
+ /**
189
+ * Property name or getter function to use as the label of an option group.
190
+ */
191
+ optionGroupLabel?: string | undefined;
192
+ /**
193
+ * Template of an option group item.
194
+ */
195
+ optionGroupTemplate?: React.ReactNode | ((option: any, index: number) => React.ReactNode) | undefined;
196
+ /**
197
+ * Name of the label field of an option when arbitrary objects are used as options instead of SelectItems.
198
+ */
199
+ optionLabel?: string | undefined;
200
+ /**
201
+ * Name of the value field of an option when arbitrary objects are used as options instead of SelectItems.
202
+ */
203
+ optionValue?: string | undefined;
204
+ /**
205
+ * An array of selectitems to display as the available options.
206
+ * @type {SelectItemOptionsType}
207
+ */
208
+ options?: SelectItemOptionsType | undefined;
209
+ /**
210
+ * Style class of the overlay panel element.
211
+ */
212
+ panelClassName?: string | undefined;
213
+ /**
214
+ * Inline style of the overlay panel element.
215
+ */
216
+ panelStyle?: React.CSSProperties | undefined;
217
+ /**
218
+ * Default text to display when no option is selected.
219
+ */
220
+ placeholder?: string | undefined;
221
+ /**
222
+ * When present, it specifies that an input field must be filled out before submitting the form.
223
+ * @defaultValue false
224
+ */
225
+ required?: boolean | undefined;
226
+ /**
227
+ * Clears the filter value when hiding the dropdown.
228
+ * @defaultValue false
229
+ */
230
+ resetFilterOnHide?: boolean | undefined;
231
+ /**
232
+ * Height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value.
233
+ * @defaultValue 200px
234
+ */
235
+ scrollHeight?: string | undefined;
236
+ /**
237
+ * When enabled, a clear icon is displayed to clear the value.
238
+ * @defaultValue false
239
+ */
240
+ showClear?: boolean | undefined;
241
+ /**
242
+ * When enabled, a clear icon is displayed to clear the filtered value.
243
+ * @defaultValue false
244
+ */
245
+ showFilterClear?: boolean | undefined;
246
+ /**
247
+ * When enabled, overlay panel will be visible with input focus.
248
+ * @defaultValue false
249
+ */
250
+ showOnFocus?: boolean | undefined;
251
+ /**
252
+ * Inline style of the element.
253
+ */
254
+ style?: React.CSSProperties | undefined;
255
+ /**
256
+ * Index of the element in tabbing order.
257
+ */
258
+ tabIndex?: number | undefined;
259
+ /**
260
+ * Content of the tooltip.
261
+ */
262
+ tooltip?: string | undefined;
263
+ /**
264
+ * Configuration of the tooltip, refer to the tooltip documentation for more information.
265
+ * @type {TooltipOptions}
266
+ */
267
+ tooltipOptions?: TooltipOptions | undefined;
268
+ /**
269
+ * The properties of CSSTransition can be customized, except for "nodeRef" and "in" properties.
270
+ * @type {CSSTransitionProps}
271
+ */
272
+ transitionOptions?: CSSTransitionProps | undefined;
273
+ /**
274
+ * Value of the component.
275
+ */
95
276
  value?: any;
96
- valueTemplate?: DropdownValueTemplateType;
97
- virtualScrollerOptions?: VirtualScrollerProps;
98
- onChange?(e: DropdownChangeParams): void;
277
+ /**
278
+ * The template of selected item.
279
+ */
280
+ valueTemplate?: React.ReactNode | ((option: any, props: DropdownProps) => React.ReactNode) | undefined;
281
+ /**
282
+ * Whether to use the virtualScroller feature. The properties of VirtualScroller component can be used like an object in it.
283
+ * @type {VirtualScrollerProps}
284
+ */
285
+ virtualScrollerOptions?: VirtualScrollerProps | undefined;
286
+ /**
287
+ * Callback to invoke on value change
288
+ * @param {DropdownChangeEvent} event - Custom change event
289
+ */
290
+ onChange?(event: DropdownChangeEvent): void;
291
+ /**
292
+ * Callback to invoke when the element receives focus.
293
+ * @param {React.FocusEvent<HTMLInputElement>} event - Browser event
294
+ */
99
295
  onFocus?(event: React.FocusEvent<HTMLInputElement>): void;
296
+ /**
297
+ * Callback to invoke when the element loses focus.
298
+ * @param {React.FocusEvent<HTMLInputElement>} event - Browser event
299
+ */
100
300
  onBlur?(event: React.FocusEvent<HTMLInputElement>): void;
301
+ /**
302
+ * Callback to invoke to when a mouse button is pressed.
303
+ * @param {React.MouseEvent<HTMLElement>} event - Browser event
304
+ */
101
305
  onMouseDown?(event: React.MouseEvent<HTMLElement>): void;
306
+ /**
307
+ * Callback to invoke on right-click.
308
+ * @param {React.MouseEvent<HTMLElement>} event - Browser event
309
+ */
102
310
  onContextMenu?(event: React.MouseEvent<HTMLElement>): void;
311
+ /**
312
+ * Callback to invoke when the overlay is shown.
313
+ */
103
314
  onShow?(): void;
315
+ /**
316
+ * Callback to invoke when the overlay is hidden.
317
+ */
104
318
  onHide?(): void;
105
- onFilter?(e: DropdownFilterParams): void;
319
+ /**
320
+ * Callback to invoke when the value is filtered.
321
+ * @param {DropdownFilterEvent} event - Custom filter event
322
+ */
323
+ onFilter?(event: DropdownFilterEvent): void;
324
+ /**
325
+ * Used to get the child elements of the component.
326
+ * @readonly
327
+ */
328
+ children?: React.ReactNode | undefined;
106
329
  }
107
330
 
331
+ /**
332
+ * **PrimeReact - Dropdown**
333
+ *
334
+ * _Dropdown also known as Select, is used to choose an item from a collection of options._
335
+ *
336
+ * [Live Demo](https://www.primefaces.org/primereact/dropdown/)
337
+ * --- ---
338
+ * ![PrimeReact](https://www.primefaces.org/primereact/images/logo-100.png)
339
+ *
340
+ * @group Component
341
+ */
108
342
  export declare class Dropdown extends React.Component<DropdownProps, any> {
343
+ /**
344
+ * Used to focus the component.
345
+ */
346
+ public focus(): void;
347
+ /**
348
+ * Used to get container element.
349
+ * @return {HTMLDivElement} Container element
350
+ */
109
351
  public getElement(): HTMLDivElement;
352
+ /**
353
+ * Used to get input element.
354
+ * @return {HTMLInputElement} Input element
355
+ */
110
356
  public getInput(): HTMLInputElement;
357
+ /**
358
+ * Used to get focusable input element.
359
+ * @return {HTMLInputElement} Input element
360
+ */
111
361
  public getFocusInput(): HTMLInputElement;
362
+ /**
363
+ * Used to get overlay element.
364
+ * @return {HTMLElement} Overlay element
365
+ */
112
366
  public getOverlay(): HTMLElement;
113
367
  }
@@ -3,7 +3,7 @@ import PrimeReact, { localeOption, FilterService } from 'primereact/api';
3
3
  import { useOverlayListener, useMountEffect, useUpdateEffect, useUnmountEffect } from 'primereact/hooks';
4
4
  import { OverlayService } from 'primereact/overlayservice';
5
5
  import { Tooltip } from 'primereact/tooltip';
6
- import { classNames, ObjectUtils, DomHandler, ZIndexUtils } from 'primereact/utils';
6
+ import { classNames, ObjectUtils, DomHandler, ZIndexUtils, IconUtils } from 'primereact/utils';
7
7
  import { CSSTransition } from 'primereact/csstransition';
8
8
  import { Portal } from 'primereact/portal';
9
9
  import { VirtualScroller } from 'primereact/virtualscroller';
@@ -349,7 +349,10 @@ var DropdownPanel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(funct
349
349
  }
350
350
  };
351
351
  var createElement = function createElement() {
352
- var className = classNames('p-dropdown-panel p-component', props.panelClassName);
352
+ var className = classNames('p-dropdown-panel p-component', props.panelClassName, {
353
+ 'p-input-filled': PrimeReact.inputStyle === 'filled',
354
+ 'p-ripple-disabled': PrimeReact.ripple === false
355
+ });
353
356
  var filter = createFilter();
354
357
  var content = createContent();
355
358
  return /*#__PURE__*/React.createElement(CSSTransition, {
@@ -463,6 +466,12 @@ var Dropdown = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
463
466
  if (props.disabled) {
464
467
  return;
465
468
  }
469
+ props.onClick && props.onClick(event);
470
+
471
+ // do not continue if the user defined click wants to prevent it
472
+ if (event.defaultPrevented) {
473
+ return;
474
+ }
466
475
  if (DomHandler.hasClass(event.target, 'p-dropdown-clear-icon') || event.target.tagName === 'INPUT') {
467
476
  return;
468
477
  } else if (!overlayRef.current || !(overlayRef.current && overlayRef.current.contains(event.target))) {
@@ -889,6 +898,9 @@ var Dropdown = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
889
898
  props: props,
890
899
  show: show,
891
900
  hide: hide,
901
+ focus: function focus() {
902
+ return DomHandler.focus(focusInputRef.current);
903
+ },
892
904
  getElement: function getElement() {
893
905
  return elementRef.current;
894
906
  },
@@ -918,10 +930,10 @@ var Dropdown = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
918
930
  }
919
931
  }, [overlayVisibleState, props.value]);
920
932
  useUpdateEffect(function () {
921
- if (overlayVisibleState && props.filter) {
933
+ if (overlayVisibleState && filterState && props.filter) {
922
934
  alignOverlay();
923
935
  }
924
- }, [overlayVisibleState, props.filter]);
936
+ }, [overlayVisibleState, filterState, props.filter]);
925
937
  useUpdateEffect(function () {
926
938
  if (filterState && (!props.options || props.options.length === 0)) {
927
939
  setFilterState('');
@@ -1008,15 +1020,20 @@ var Dropdown = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
1008
1020
  };
1009
1021
  var createClearIcon = function createClearIcon() {
1010
1022
  if (props.value != null && props.showClear && !props.disabled) {
1011
- return /*#__PURE__*/React.createElement("i", {
1012
- className: "p-dropdown-clear-icon pi pi-times",
1013
- onClick: clear
1014
- });
1023
+ var iconClassName = classNames('p-dropdown-clear-icon p-clickable');
1024
+ var iconProps = {
1025
+ className: iconClassName,
1026
+ onPointerUp: clear
1027
+ };
1028
+ return IconUtils.getJSXIcon(props.clearIcon, iconProps);
1015
1029
  }
1016
1030
  return null;
1017
1031
  };
1018
1032
  var createDropdownIcon = function createDropdownIcon() {
1019
- var iconClassName = classNames('p-dropdown-trigger-icon p-clickable', props.dropdownIcon);
1033
+ var iconClassName = classNames('p-dropdown-trigger-icon p-clickable');
1034
+ var icon = IconUtils.getJSXIcon(props.dropdownIcon, {
1035
+ className: iconClassName
1036
+ });
1020
1037
  var ariaLabel = props.placeholder || props.ariaLabel;
1021
1038
  return /*#__PURE__*/React.createElement("div", {
1022
1039
  className: "p-dropdown-trigger",
@@ -1024,9 +1041,7 @@ var Dropdown = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
1024
1041
  "aria-haspopup": "listbox",
1025
1042
  "aria-expanded": overlayVisibleState,
1026
1043
  "aria-label": ariaLabel
1027
- }, /*#__PURE__*/React.createElement("span", {
1028
- className: iconClassName
1029
- }));
1044
+ }, icon);
1030
1045
  };
1031
1046
  var visibleOptions = getVisibleOptions();
1032
1047
  var selectedOption = getSelectedOption();
@@ -1093,6 +1108,7 @@ Dropdown.defaultProps = {
1093
1108
  ariaLabelledBy: null,
1094
1109
  autoFocus: false,
1095
1110
  className: null,
1111
+ clearIcon: 'pi pi-times',
1096
1112
  dataKey: null,
1097
1113
  disabled: false,
1098
1114
  dropdownIcon: 'pi pi-chevron-down',
@@ -1 +1 @@
1
- import*as e from"react";import t,{localeOption as n,FilterService as r}from"primereact/api";import{useOverlayListener as o,useMountEffect as l,useUpdateEffect as i,useUnmountEffect as a}from"primereact/hooks";import{OverlayService as u}from"primereact/overlayservice";import{Tooltip as c}from"primereact/tooltip";import{classNames as p,ObjectUtils as s,DomHandler as f,ZIndexUtils as d}from"primereact/utils";import{CSSTransition as m}from"primereact/csstransition";import{Portal as v}from"primereact/portal";import{VirtualScroller as b}from"primereact/virtualscroller";import{Ripple as g}from"primereact/ripple";function y(){return y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},y.apply(this,arguments)}function h(e){return h="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},h(e)}function w(e,t){if("object"!==h(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==h(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function O(e){var t=w(e,"string");return"symbol"===h(t)?t:String(t)}function E(e,t,n){return(t=O(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function C(e){if(Array.isArray(e))return e}function S(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,l,i,a=[],u=!0,c=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=l.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw o}}return a}}function F(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function I(e,t){if(e){if("string"==typeof e)return F(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)?F(e,t):void 0}}function x(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function D(e,t){return C(e)||S(e,t)||I(e,t)||x()}var N=e.memo((function(t){var n=p("p-dropdown-item",{"p-highlight":t.selected,"p-disabled":t.disabled,"p-dropdown-item-empty":!t.label||0===t.label.length},t.option&&t.option.className),r=t.template?s.getJSXElement(t.template,t.option):t.label;return e.createElement("li",{className:n,style:t.style,onClick:function(e){t.onClick&&t.onClick({originalEvent:e,option:t.option})},"aria-label":t.label,key:t.label,role:"option","aria-selected":t.selected},r,e.createElement(g,null))}));function L(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function j(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?L(Object(n),!0).forEach((function(t){E(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):L(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}N.displayName="DropdownItem";var k=e.memo(e.forwardRef((function(t,r){var o,l,i,a=e.useRef(null),u=e.useRef(null),c=!(t.visibleOptions&&t.visibleOptions.length)&&t.hasFilter,d={filter:function(e){return w(e)},reset:function(){return t.resetFilter()}},g=function(){t.onEnter((function(){if(a.current){var e=t.getSelectedOptionIndex();-1!==e&&setTimeout((function(){return a.current.scrollToIndex(e)}),0)}}))},h=function(){t.onEntered((function(){t.filter&&t.filterInputAutoFocus&&f.focus(u.current,!1)}))},w=function(e){a.current&&a.current.scrollToIndex(0),t.onFilterInputChange&&t.onFilterInputChange(e)},O=function(n,r){return t.getOptionGroupChildren(n).map((function(n,o){var l=t.getOptionLabel(n),i=o+"_"+t.getOptionRenderKey(n),a=t.isOptionDisabled(n);return e.createElement(N,{key:i,label:l,option:n,style:r,template:t.itemTemplate,selected:t.isSelected(n),disabled:a,onClick:t.onOptionClick})}))},E=function(r,o){var l=s.getJSXElement(r,t)||n(o?"emptyFilterMessage":"emptyMessage");return e.createElement("li",{className:"p-dropdown-empty-message"},l)},C=function(n,r){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},l={height:o.props?o.props.itemSize:void 0};if(t.optionGroupLabel){var i=t.optionGroupTemplate?s.getJSXElement(t.optionGroupTemplate,n,r):t.getOptionGroupLabel(n),a=O(n,l),u=r+"_"+t.getOptionGroupRenderKey(n);return e.createElement(e.Fragment,{key:u},e.createElement("li",{className:"p-dropdown-item-group",style:l},i),a)}var c=t.getOptionLabel(n),p=r+"_"+t.getOptionRenderKey(n),f=t.isOptionDisabled(n);return e.createElement(N,{key:p,label:c,option:n,style:l,template:t.itemTemplate,selected:t.isSelected(n),disabled:f,onClick:t.onOptionClick})},S=function(){if(t.showFilterClear&&t.filterValue){var r=n("clear");return e.createElement("i",{className:"p-dropdown-filter-clear-icon pi pi-times","aria-label":r,onClick:function(){return t.onFilterClearIconClick((function(){return f.focus(u.current)}))}})}return null},F=function(){if(t.filter){var n=S(),r=p("p-dropdown-filter-container",{"p-dropdown-clearable-filter":!!n}),o=e.createElement("div",{className:r},e.createElement("input",{ref:u,type:"text",autoComplete:"off",className:"p-dropdown-filter p-inputtext p-component",placeholder:t.filterPlaceholder,onKeyDown:t.onFilterInputKeyDown,onChange:w,value:t.filterValue}),n,e.createElement("i",{className:"p-dropdown-filter-icon pi pi-search"}));if(t.filterTemplate)o=s.getJSXElement(t.filterTemplate,{className:r,element:o,filterOptions:d,filterInputKeyDown:t.onFilterInputKeyDown,filterInputChange:w,filterIconClassName:"p-dropdown-filter-icon pi pi-search",clearIcon:n,props:t});return e.createElement("div",{className:"p-dropdown-header"},o)}return null},I=function(){if(t.virtualScrollerOptions){var n=j(j({},t.virtualScrollerOptions),{style:j(j({},t.virtualScrollerOptions.style),{height:t.scrollHeight}),className:p("p-dropdown-items-wrapper",t.virtualScrollerOptions.className),items:t.visibleOptions,autoSize:!0,onLazyLoad:function(e){return t.virtualScrollerOptions.onLazyLoad(j(j({},e),{filter:t.filterValue}))},itemTemplate:function(e,t){return e&&C(e,t.index,t)},contentTemplate:function(t){var n=p("p-dropdown-items",t.className),r=c?E():t.children;return e.createElement("ul",{ref:t.contentRef,className:n,role:"listbox"},r)}});return e.createElement(b,y({ref:a},n))}var r=s.isNotEmpty(t.visibleOptions)?t.visibleOptions.map(C):t.hasFilter?E(t.emptyFilterMessage,!0):E(t.emptyMessage);return e.createElement("div",{className:"p-dropdown-items-wrapper",style:{maxHeight:t.scrollHeight||"auto"}},e.createElement("ul",{className:"p-dropdown-items",role:"listbox"},r))},x=(o=p("p-dropdown-panel p-component",t.panelClassName),l=F(),i=I(),e.createElement(m,{nodeRef:r,classNames:"p-connected-overlay",in:t.in,timeout:{enter:120,exit:100},options:t.transitionOptions,unmountOnExit:!0,onEnter:g,onEntering:t.onEntering,onEntered:h,onExit:t.onExit,onExited:t.onExited},e.createElement("div",{ref:r,className:o,style:t.panelStyle,onClick:t.onClick},l,i)));return e.createElement(v,{element:x,appendTo:t.appendTo})})));function P(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function T(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){E(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 R(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=G(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,i=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){a=!0,l=e},f:function(){try{i||null==n.return||n.return()}finally{if(a)throw l}}}}function G(e,t){if(e){if("string"==typeof e)return M(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)?M(e,t):void 0}}function M(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}k.displayName="DropdownPanel";var K=e.memo(e.forwardRef((function(n,m){var v=D(e.useState(""),2),b=v[0],g=v[1],w=D(e.useState(!1),2),O=w[0],E=w[1],C=D(e.useState(!1),2),S=C[0],F=C[1],I=e.useRef(null),x=e.useRef(null),N=e.useRef(n.inputRef),L=e.useRef(n.focusInputRef),j=e.useRef(null),P=e.useRef(null),G=e.useRef(null),M=n.virtualScrollerOptions&&n.virtualScrollerOptions.lazy,A=s.isNotEmpty(b),V=n.appendTo||t.appendTo,H=D(o({target:I,overlay:x,listener:function(e,t){t.valid&&("outside"===t.type?!_(e)&&me():me())},when:S}),2),B=H[0],z=H[1],_=function(e){return f.hasClass(e.target,"p-dropdown-clear-icon")||f.hasClass(e.target,"p-dropdown-filter-clear-icon")},q=function(e){n.showOnFocus&&!S&&de(),E(!0),n.onFocus&&n.onFocus(e)},J=function(e){E(!1),n.onBlur&&setTimeout((function(){var t=N.current?N.current.value:void 0;n.onBlur({originalEvent:e.originalEvent,value:t,stopPropagation:function(){},preventDefault:function(){},target:{name:n.name,id:n.id,value:t}})}),200)},X=function(e){switch(e.which){case 40:$(e);break;case 38:U(e);break;case 32:case 13:S?me():de(),e.preventDefault();break;case 27:case 9:me();break;default:ee(e)}},U=function(e){if(Se){var t=Z(pe());t&&ce({originalEvent:e,option:t})}e.preventDefault()},$=function(e){if(Se)if(!S&&e.altKey)de();else{var t=W(pe());t&&ce({originalEvent:e,option:t})}e.preventDefault()},W=function e(t){if(n.optionGroupLabel){var r=-1===t?0:t.group,o=-1===t?-1:t.option,l=Y(we(Se[r]),o);return l||(r+1!==Se.length?e({group:r+1,option:-1}):null)}return Y(Se,t)},Y=function e(t,n){var r=n+1;if(r===t.length)return null;var o=t[r];return he(o)?e(r):o},Z=function e(t){if(-1===t)return null;if(n.optionGroupLabel){var r=t.group,o=t.option,l=Q(we(Se[r]),o);return l||(r>0?e({group:r-1,option:we(Se[r-1]).length}):null)}return Q(Se,t)},Q=function(e,t){var n=t-1;if(n<0)return null;var r=e[n];return he(r)?Z(n):r},ee=function(e){j.current&&clearTimeout(j.current);var t=e.key;if("Shift"!==t&&"Control"!==t&&"Alt"!==t){if(P.current=G.current===t?t:P.current?P.current+t:t,G.current=t,P.current){var r=pe(),o=n.optionGroupLabel?re(r):te(r+1);o&&ce({originalEvent:e,option:o})}j.current=setTimeout((function(){P.current=null}),250)}},te=function(e){return P.current?ne(e,Se.length)||ne(0,e):null},ne=function(e,t){for(var n=e;n<t;n++){var r=Se[n];if(oe(r))return r}return null},re=function(e){for(var t=-1===e?{group:0,option:-1}:e,n=t.group;n<Se.length;n++)for(var r=we(Se[n]),o=t.group===n?t.option+1:0;o<r.length;o++)if(oe(r[o]))return r[o];for(var l=0;l<=t.group;l++)for(var i=we(Se[l]),a=0;a<(t.group===l?t.option:i.length);a++)if(oe(i[a]))return i[a];return null},oe=function(e){var t=ge(e);return!!t&&(t=t.toLocaleLowerCase(n.filterLocale)).startsWith(P.current.toLocaleLowerCase(n.filterLocale))},le=function(e){n.onChange&&n.onChange({originalEvent:e.originalEvent,value:e.target.value,stopPropagation:function(){},preventDefault:function(){},target:{name:n.name,id:n.id,value:e.target.value}})},ie=function(e){E(!0),me(),n.onFocus&&n.onFocus(e)},ae=function(e){g(""),n.onFilter&&n.onFilter({filter:""}),e&&e()},ue=function(e){n.onChange&&n.onChange({originalEvent:e,value:void 0,stopPropagation:function(){},preventDefault:function(){},target:{name:n.name,id:n.id,value:void 0}}),be()},ce=function(e){if(Fe!==e.option){be(e.option);var t=ye(e.option);n.onChange&&n.onChange({originalEvent:e.originalEvent,value:t,stopPropagation:function(){},preventDefault:function(){},target:{name:n.name,id:n.id,value:t}})}},pe=function(e){if(e=e||Se,null!=n.value&&e){if(!n.optionGroupLabel)return fe(n.value,e);for(var t=0;t<e.length;t++){var r=fe(n.value,we(e[t]));if(-1!==r)return{group:t,option:r}}}return-1},se=function(){return n.optionValue?null:n.dataKey},fe=function(e,t){var n=se();return t.findIndex((function(t){return s.equals(e,ye(t),n)}))},de=function(){F(!0)},me=function(){F(!1)},ve=function(){f.alignOverlay(x.current,N.current.parentElement,n.appendTo||t.appendTo)},be=function(e){N.current&&(N.current.value=e?ge(e):n.value||"")},ge=function(e){return n.optionLabel?s.resolveFieldData(e,n.optionLabel):e&&void 0!==e.label?e.label:e},ye=function(e){return n.optionValue?s.resolveFieldData(e,n.optionValue):e&&void 0!==e.value?e.value:e},he=function(e){return n.optionDisabled?s.isFunction(n.optionDisabled)?n.optionDisabled(e):s.resolveFieldData(e,n.optionDisabled):!(!e||void 0===e.disabled)&&e.disabled},we=function(e){return s.resolveFieldData(e,n.optionGroupChildren)},Oe=function(){if(n.editable&&N.current){var e=Fe?ge(Fe):null;N.current.value=e||n.value||""}};e.useImperativeHandle(m,(function(){return{props:n,show:de,hide:me,getElement:function(){return I.current},getOverlay:function(){return x.current},getInput:function(){return N.current},getFocusInput:function(){return L.current}}})),e.useEffect((function(){s.combinedRefs(N,n.inputRef),s.combinedRefs(L,n.focusInputRef)}),[N,n.inputRef,L,n.focusInputRef]),l((function(){n.autoFocus&&f.focus(L.current,n.autoFocus)})),i((function(){var e;S&&n.value&&(e=f.findSingle(x.current,"li.p-highlight"))&&e.scrollIntoView&&e.scrollIntoView({block:"nearest",inline:"nearest"})}),[S,n.value]),i((function(){S&&n.filter&&ve()}),[S,n.filter]),i((function(){!b||n.options&&0!==n.options.length||g(""),Oe(),N.current&&(N.current.selectedIndex=1)})),a((function(){d.clear(x.current)}));var Ee,Ce,Se=function(){if(A&&!M){var e=b.trim().toLocaleLowerCase(n.filterLocale),t=n.filterBy?n.filterBy.split(","):[n.optionLabel||"label"];if(n.optionGroupLabel){var o,l=[],i=R(n.options);try{for(i.s();!(o=i.n()).done;){var a=o.value,u=r.filter(we(a),t,e,n.filterMatchMode,n.filterLocale);u&&u.length&&l.push(T(T({},a),{items:u}))}}catch(e){i.e(e)}finally{i.f()}return l}return r.filter(n.options,t,e,n.filterMatchMode,n.filterLocale)}return n.options}(),Fe=-1!==(Ee=pe(n.options))?n.optionGroupLabel?we(n.options[Ee.group])[Ee.option]:n.options[Ee]:null,Ie=s.isNotEmpty(n.tooltip),xe=s.findDiffKeys(n,K.defaultProps),De=s.reduceKeys(xe,f.ARIA_PROPS),Ne=p("p-dropdown p-component p-inputwrapper",{"p-disabled":n.disabled,"p-focus":O,"p-dropdown-clearable":n.showClear&&!n.disabled,"p-inputwrapper-filled":s.isNotEmpty(n.value),"p-inputwrapper-focus":O||S},n.className),Le=function(){var t={value:"",label:n.placeholder};if(Fe){var r=ye(Fe);t={value:"object"===h(r)?n.options.findIndex((function(e){return e===r})):r,label:ge(Fe)}}return e.createElement("div",{className:"p-hidden-accessible p-dropdown-hidden-select"},e.createElement("select",{ref:N,required:n.required,defaultValue:t.value,name:n.name,tabIndex:-1,"aria-hidden":"true"},e.createElement("option",{value:t.value},t.label)))}(),je=e.createElement("div",{className:"p-hidden-accessible"},e.createElement("input",y({ref:L,id:n.inputId,type:"text",readOnly:!0,"aria-haspopup":"listbox",onFocus:q,onBlur:J,onKeyDown:X,disabled:n.disabled,tabIndex:n.tabIndex},De))),ke=function(){var t=s.isNotEmpty(Fe)?ge(Fe):null;if(n.editable)return e.createElement("input",y({ref:N,type:"text",defaultValue:t||n.value||"",className:"p-dropdown-label p-inputtext",disabled:n.disabled,placeholder:n.placeholder,maxLength:n.maxLength,onInput:le,onFocus:ie,onBlur:J,"aria-haspopup":"listbox"},De));var r=p("p-dropdown-label p-inputtext",{"p-placeholder":null===t&&n.placeholder,"p-dropdown-label-empty":null===t&&!n.placeholder}),o=n.valueTemplate?s.getJSXElement(n.valueTemplate,Fe,n):t||n.placeholder||"empty";return e.createElement("span",{ref:N,className:r},o)}(),Pe=(Ce=p("p-dropdown-trigger-icon p-clickable",n.dropdownIcon),e.createElement("div",{className:"p-dropdown-trigger",role:"button","aria-haspopup":"listbox","aria-expanded":S,"aria-label":n.placeholder||n.ariaLabel},e.createElement("span",{className:Ce}))),Te=null!=n.value&&n.showClear&&!n.disabled?e.createElement("i",{className:"p-dropdown-clear-icon pi pi-times",onClick:ue}):null;return e.createElement(e.Fragment,null,e.createElement("div",y({ref:I,id:n.id,className:Ne,style:n.style},xe,{onClick:function(e){n.disabled||f.hasClass(e.target,"p-dropdown-clear-icon")||"INPUT"===e.target.tagName||x.current&&x.current&&x.current.contains(e.target)||(f.focus(L.current),S?me():de())},onMouseDown:n.onMouseDown,onContextMenu:n.onContextMenu}),je,Le,ke,Te,Pe,e.createElement(k,y({ref:x,visibleOptions:Se},n,{appendTo:V,onClick:function(e){u.emit("overlay-click",{originalEvent:e,target:I.current})},onOptionClick:function(e){e.option.disabled||(ce(e),f.focus(L.current)),me()},filterValue:b,hasFilter:A,onFilterClearIconClick:function(e){ae(e)},resetFilter:ae,onFilterInputKeyDown:function(e){switch(e.which){case 40:$(e);break;case 38:U(e);break;case 13:case 27:me(),e.preventDefault()}},onFilterInputChange:function(e){var t=e.target.value;g(t),n.onFilter&&n.onFilter({originalEvent:e,filter:t})},getOptionLabel:ge,getOptionRenderKey:function(e){return n.dataKey?s.resolveFieldData(e,n.dataKey):ge(e)},isOptionDisabled:he,getOptionGroupChildren:we,getOptionGroupLabel:function(e){return s.resolveFieldData(e,n.optionGroupLabel)},getOptionGroupRenderKey:function(e){return s.resolveFieldData(e,n.optionGroupLabel)},isSelected:function(e){return s.equals(n.value,ye(e),se())},getSelectedOptionIndex:pe,in:S,onEnter:function(e){d.set("overlay",x.current,t.autoZIndex,t.zIndex.overlay),ve(),e&&e()},onEntered:function(e){e&&e(),B(),n.onShow&&n.onShow()},onExit:function(){z()},onExited:function(){n.filter&&n.resetFilterOnHide&&ae(),d.clear(x.current),n.onHide&&n.onHide()}}))),Ie&&e.createElement(c,y({target:I,content:n.tooltip},n.tooltipOptions)))})));K.displayName="Dropdown",K.defaultProps={__TYPE:"Dropdown",appendTo:null,ariaLabel:null,ariaLabelledBy:null,autoFocus:!1,className:null,dataKey:null,disabled:!1,dropdownIcon:"pi pi-chevron-down",editable:!1,emptyFilterMessage:null,emptyMessage:null,filter:!1,filterBy:null,filterInputAutoFocus:!0,filterLocale:void 0,filterMatchMode:"contains",filterPlaceholder:null,filterTemplate:null,focusInputRef:null,id:null,inputId:null,inputRef:null,itemTemplate:null,maxLength:null,name:null,onBlur:null,onChange:null,onContextMenu:null,onFilter:null,onFocus:null,onHide:null,onMouseDown:null,onShow:null,optionDisabled:null,optionGroupChildren:null,optionGroupLabel:null,optionGroupTemplate:null,optionLabel:null,optionValue:null,options:null,panelClassName:null,panelStyle:null,placeholder:null,required:!1,resetFilterOnHide:!1,scrollHeight:"200px",showClear:!1,showFilterClear:!1,showOnFocus:!1,style:null,tabIndex:null,tooltip:null,tooltipOptions:null,transitionOptions:null,value:null,valueTemplate:null,virtualScrollerOptions:null};export{K as Dropdown};
1
+ import*as e from"react";import t,{localeOption as n,FilterService as r}from"primereact/api";import{useOverlayListener as o,useMountEffect as l,useUpdateEffect as i,useUnmountEffect as a}from"primereact/hooks";import{OverlayService as u}from"primereact/overlayservice";import{Tooltip as c}from"primereact/tooltip";import{classNames as p,ObjectUtils as s,DomHandler as f,ZIndexUtils as d,IconUtils as m}from"primereact/utils";import{CSSTransition as v}from"primereact/csstransition";import{Portal as b}from"primereact/portal";import{VirtualScroller as g}from"primereact/virtualscroller";import{Ripple as y}from"primereact/ripple";function h(){return h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},h.apply(this,arguments)}function w(e){return w="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},w(e)}function O(e,t){if("object"!==w(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==w(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function E(e){var t=O(e,"string");return"symbol"===w(t)?t:String(t)}function C(e,t,n){return(t=E(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function S(e){if(Array.isArray(e))return e}function I(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,l,i,a=[],u=!0,c=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=l.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw o}}return a}}function F(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function x(e,t){if(e){if("string"==typeof e)return F(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)?F(e,t):void 0}}function D(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function N(e,t){return S(e)||I(e,t)||x(e,t)||D()}var L=e.memo((function(t){var n=p("p-dropdown-item",{"p-highlight":t.selected,"p-disabled":t.disabled,"p-dropdown-item-empty":!t.label||0===t.label.length},t.option&&t.option.className),r=t.template?s.getJSXElement(t.template,t.option):t.label;return e.createElement("li",{className:n,style:t.style,onClick:function(e){t.onClick&&t.onClick({originalEvent:e,option:t.option})},"aria-label":t.label,key:t.label,role:"option","aria-selected":t.selected},r,e.createElement(y,null))}));function j(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function k(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?j(Object(n),!0).forEach((function(t){C(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):j(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}L.displayName="DropdownItem";var P=e.memo(e.forwardRef((function(r,o){var l,i,a,u=e.useRef(null),c=e.useRef(null),d=!(r.visibleOptions&&r.visibleOptions.length)&&r.hasFilter,m={filter:function(e){return O(e)},reset:function(){return r.resetFilter()}},y=function(){r.onEnter((function(){if(u.current){var e=r.getSelectedOptionIndex();-1!==e&&setTimeout((function(){return u.current.scrollToIndex(e)}),0)}}))},w=function(){r.onEntered((function(){r.filter&&r.filterInputAutoFocus&&f.focus(c.current,!1)}))},O=function(e){u.current&&u.current.scrollToIndex(0),r.onFilterInputChange&&r.onFilterInputChange(e)},E=function(t,n){return r.getOptionGroupChildren(t).map((function(t,o){var l=r.getOptionLabel(t),i=o+"_"+r.getOptionRenderKey(t),a=r.isOptionDisabled(t);return e.createElement(L,{key:i,label:l,option:t,style:n,template:r.itemTemplate,selected:r.isSelected(t),disabled:a,onClick:r.onOptionClick})}))},C=function(t,o){var l=s.getJSXElement(t,r)||n(o?"emptyFilterMessage":"emptyMessage");return e.createElement("li",{className:"p-dropdown-empty-message"},l)},S=function(t,n){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},l={height:o.props?o.props.itemSize:void 0};if(r.optionGroupLabel){var i=r.optionGroupTemplate?s.getJSXElement(r.optionGroupTemplate,t,n):r.getOptionGroupLabel(t),a=E(t,l),u=n+"_"+r.getOptionGroupRenderKey(t);return e.createElement(e.Fragment,{key:u},e.createElement("li",{className:"p-dropdown-item-group",style:l},i),a)}var c=r.getOptionLabel(t),p=n+"_"+r.getOptionRenderKey(t),f=r.isOptionDisabled(t);return e.createElement(L,{key:p,label:c,option:t,style:l,template:r.itemTemplate,selected:r.isSelected(t),disabled:f,onClick:r.onOptionClick})},I=function(){if(r.showFilterClear&&r.filterValue){var t=n("clear");return e.createElement("i",{className:"p-dropdown-filter-clear-icon pi pi-times","aria-label":t,onClick:function(){return r.onFilterClearIconClick((function(){return f.focus(c.current)}))}})}return null},F=function(){if(r.filter){var t=I(),n=p("p-dropdown-filter-container",{"p-dropdown-clearable-filter":!!t}),o=e.createElement("div",{className:n},e.createElement("input",{ref:c,type:"text",autoComplete:"off",className:"p-dropdown-filter p-inputtext p-component",placeholder:r.filterPlaceholder,onKeyDown:r.onFilterInputKeyDown,onChange:O,value:r.filterValue}),t,e.createElement("i",{className:"p-dropdown-filter-icon pi pi-search"}));if(r.filterTemplate)o=s.getJSXElement(r.filterTemplate,{className:n,element:o,filterOptions:m,filterInputKeyDown:r.onFilterInputKeyDown,filterInputChange:O,filterIconClassName:"p-dropdown-filter-icon pi pi-search",clearIcon:t,props:r});return e.createElement("div",{className:"p-dropdown-header"},o)}return null},x=function(){if(r.virtualScrollerOptions){var t=k(k({},r.virtualScrollerOptions),{style:k(k({},r.virtualScrollerOptions.style),{height:r.scrollHeight}),className:p("p-dropdown-items-wrapper",r.virtualScrollerOptions.className),items:r.visibleOptions,autoSize:!0,onLazyLoad:function(e){return r.virtualScrollerOptions.onLazyLoad(k(k({},e),{filter:r.filterValue}))},itemTemplate:function(e,t){return e&&S(e,t.index,t)},contentTemplate:function(t){var n=p("p-dropdown-items",t.className),r=d?C():t.children;return e.createElement("ul",{ref:t.contentRef,className:n,role:"listbox"},r)}});return e.createElement(g,h({ref:u},t))}var n=s.isNotEmpty(r.visibleOptions)?r.visibleOptions.map(S):r.hasFilter?C(r.emptyFilterMessage,!0):C(r.emptyMessage);return e.createElement("div",{className:"p-dropdown-items-wrapper",style:{maxHeight:r.scrollHeight||"auto"}},e.createElement("ul",{className:"p-dropdown-items",role:"listbox"},n))},D=(l=p("p-dropdown-panel p-component",r.panelClassName,{"p-input-filled":"filled"===t.inputStyle,"p-ripple-disabled":!1===t.ripple}),i=F(),a=x(),e.createElement(v,{nodeRef:o,classNames:"p-connected-overlay",in:r.in,timeout:{enter:120,exit:100},options:r.transitionOptions,unmountOnExit:!0,onEnter:y,onEntering:r.onEntering,onEntered:w,onExit:r.onExit,onExited:r.onExited},e.createElement("div",{ref:o,className:l,style:r.panelStyle,onClick:r.onClick},i,a)));return e.createElement(b,{element:D,appendTo:r.appendTo})})));function T(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function R(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?T(Object(n),!0).forEach((function(t){C(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):T(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function G(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=M(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,i=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){a=!0,l=e},f:function(){try{i||null==n.return||n.return()}finally{if(a)throw l}}}}function M(e,t){if(e){if("string"==typeof e)return K(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)?K(e,t):void 0}}function K(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}P.displayName="DropdownPanel";var A=e.memo(e.forwardRef((function(n,v){var b=N(e.useState(""),2),g=b[0],y=b[1],O=N(e.useState(!1),2),E=O[0],C=O[1],S=N(e.useState(!1),2),I=S[0],F=S[1],x=e.useRef(null),D=e.useRef(null),L=e.useRef(n.inputRef),j=e.useRef(n.focusInputRef),k=e.useRef(null),T=e.useRef(null),M=e.useRef(null),K=n.virtualScrollerOptions&&n.virtualScrollerOptions.lazy,V=s.isNotEmpty(g),H=n.appendTo||t.appendTo,B=N(o({target:x,overlay:D,listener:function(e,t){t.valid&&("outside"===t.type?!z(e)&&ve():ve())},when:I}),2),J=B[0],X=B[1],z=function(e){return f.hasClass(e.target,"p-dropdown-clear-icon")||f.hasClass(e.target,"p-dropdown-filter-clear-icon")},_=function(e){n.showOnFocus&&!I&&me(),C(!0),n.onFocus&&n.onFocus(e)},q=function(e){C(!1),n.onBlur&&setTimeout((function(){var t=L.current?L.current.value:void 0;n.onBlur({originalEvent:e.originalEvent,value:t,stopPropagation:function(){},preventDefault:function(){},target:{name:n.name,id:n.id,value:t}})}),200)},U=function(e){switch(e.which){case 40:W(e);break;case 38:$(e);break;case 32:case 13:I?ve():me(),e.preventDefault();break;case 27:case 9:ve();break;default:te(e)}},$=function(e){if(Fe){var t=Q(se());t&&pe({originalEvent:e,option:t})}e.preventDefault()},W=function(e){if(Fe)if(!I&&e.altKey)me();else{var t=Y(se());t&&pe({originalEvent:e,option:t})}e.preventDefault()},Y=function e(t){if(n.optionGroupLabel){var r=-1===t?0:t.group,o=-1===t?-1:t.option,l=Z(Oe(Fe[r]),o);return l||(r+1!==Fe.length?e({group:r+1,option:-1}):null)}return Z(Fe,t)},Z=function e(t,n){var r=n+1;if(r===t.length)return null;var o=t[r];return we(o)?e(r):o},Q=function e(t){if(-1===t)return null;if(n.optionGroupLabel){var r=t.group,o=t.option,l=ee(Oe(Fe[r]),o);return l||(r>0?e({group:r-1,option:Oe(Fe[r-1]).length}):null)}return ee(Fe,t)},ee=function(e,t){var n=t-1;if(n<0)return null;var r=e[n];return we(r)?Q(n):r},te=function(e){k.current&&clearTimeout(k.current);var t=e.key;if("Shift"!==t&&"Control"!==t&&"Alt"!==t){if(T.current=M.current===t?t:T.current?T.current+t:t,M.current=t,T.current){var r=se(),o=n.optionGroupLabel?oe(r):ne(r+1);o&&pe({originalEvent:e,option:o})}k.current=setTimeout((function(){T.current=null}),250)}},ne=function(e){return T.current?re(e,Fe.length)||re(0,e):null},re=function(e,t){for(var n=e;n<t;n++){var r=Fe[n];if(le(r))return r}return null},oe=function(e){for(var t=-1===e?{group:0,option:-1}:e,n=t.group;n<Fe.length;n++)for(var r=Oe(Fe[n]),o=t.group===n?t.option+1:0;o<r.length;o++)if(le(r[o]))return r[o];for(var l=0;l<=t.group;l++)for(var i=Oe(Fe[l]),a=0;a<(t.group===l?t.option:i.length);a++)if(le(i[a]))return i[a];return null},le=function(e){var t=ye(e);return!!t&&(t=t.toLocaleLowerCase(n.filterLocale)).startsWith(T.current.toLocaleLowerCase(n.filterLocale))},ie=function(e){n.onChange&&n.onChange({originalEvent:e.originalEvent,value:e.target.value,stopPropagation:function(){},preventDefault:function(){},target:{name:n.name,id:n.id,value:e.target.value}})},ae=function(e){C(!0),ve(),n.onFocus&&n.onFocus(e)},ue=function(e){y(""),n.onFilter&&n.onFilter({filter:""}),e&&e()},ce=function(e){n.onChange&&n.onChange({originalEvent:e,value:void 0,stopPropagation:function(){},preventDefault:function(){},target:{name:n.name,id:n.id,value:void 0}}),ge()},pe=function(e){if(xe!==e.option){ge(e.option);var t=he(e.option);n.onChange&&n.onChange({originalEvent:e.originalEvent,value:t,stopPropagation:function(){},preventDefault:function(){},target:{name:n.name,id:n.id,value:t}})}},se=function(e){if(e=e||Fe,null!=n.value&&e){if(!n.optionGroupLabel)return de(n.value,e);for(var t=0;t<e.length;t++){var r=de(n.value,Oe(e[t]));if(-1!==r)return{group:t,option:r}}}return-1},fe=function(){return n.optionValue?null:n.dataKey},de=function(e,t){var n=fe();return t.findIndex((function(t){return s.equals(e,he(t),n)}))},me=function(){F(!0)},ve=function(){F(!1)},be=function(){f.alignOverlay(D.current,L.current.parentElement,n.appendTo||t.appendTo)},ge=function(e){L.current&&(L.current.value=e?ye(e):n.value||"")},ye=function(e){return n.optionLabel?s.resolveFieldData(e,n.optionLabel):e&&void 0!==e.label?e.label:e},he=function(e){return n.optionValue?s.resolveFieldData(e,n.optionValue):e&&void 0!==e.value?e.value:e},we=function(e){return n.optionDisabled?s.isFunction(n.optionDisabled)?n.optionDisabled(e):s.resolveFieldData(e,n.optionDisabled):!(!e||void 0===e.disabled)&&e.disabled},Oe=function(e){return s.resolveFieldData(e,n.optionGroupChildren)},Ee=function(){if(n.editable&&L.current){var e=xe?ye(xe):null;L.current.value=e||n.value||""}};e.useImperativeHandle(v,(function(){return{props:n,show:me,hide:ve,focus:function(){return f.focus(j.current)},getElement:function(){return x.current},getOverlay:function(){return D.current},getInput:function(){return L.current},getFocusInput:function(){return j.current}}})),e.useEffect((function(){s.combinedRefs(L,n.inputRef),s.combinedRefs(j,n.focusInputRef)}),[L,n.inputRef,j,n.focusInputRef]),l((function(){n.autoFocus&&f.focus(j.current,n.autoFocus)})),i((function(){var e;I&&n.value&&(e=f.findSingle(D.current,"li.p-highlight"))&&e.scrollIntoView&&e.scrollIntoView({block:"nearest",inline:"nearest"})}),[I,n.value]),i((function(){I&&g&&n.filter&&be()}),[I,g,n.filter]),i((function(){!g||n.options&&0!==n.options.length||y(""),Ee(),L.current&&(L.current.selectedIndex=1)})),a((function(){d.clear(D.current)}));var Ce,Se,Ie,Fe=function(){if(V&&!K){var e=g.trim().toLocaleLowerCase(n.filterLocale),t=n.filterBy?n.filterBy.split(","):[n.optionLabel||"label"];if(n.optionGroupLabel){var o,l=[],i=G(n.options);try{for(i.s();!(o=i.n()).done;){var a=o.value,u=r.filter(Oe(a),t,e,n.filterMatchMode,n.filterLocale);u&&u.length&&l.push(R(R({},a),{items:u}))}}catch(e){i.e(e)}finally{i.f()}return l}return r.filter(n.options,t,e,n.filterMatchMode,n.filterLocale)}return n.options}(),xe=-1!==(Ce=se(n.options))?n.optionGroupLabel?Oe(n.options[Ce.group])[Ce.option]:n.options[Ce]:null,De=s.isNotEmpty(n.tooltip),Ne=s.findDiffKeys(n,A.defaultProps),Le=s.reduceKeys(Ne,f.ARIA_PROPS),je=p("p-dropdown p-component p-inputwrapper",{"p-disabled":n.disabled,"p-focus":E,"p-dropdown-clearable":n.showClear&&!n.disabled,"p-inputwrapper-filled":s.isNotEmpty(n.value),"p-inputwrapper-focus":E||I},n.className),ke=function(){var t={value:"",label:n.placeholder};if(xe){var r=he(xe);t={value:"object"===w(r)?n.options.findIndex((function(e){return e===r})):r,label:ye(xe)}}return e.createElement("div",{className:"p-hidden-accessible p-dropdown-hidden-select"},e.createElement("select",{ref:L,required:n.required,defaultValue:t.value,name:n.name,tabIndex:-1,"aria-hidden":"true"},e.createElement("option",{value:t.value},t.label)))}(),Pe=e.createElement("div",{className:"p-hidden-accessible"},e.createElement("input",h({ref:j,id:n.inputId,type:"text",readOnly:!0,"aria-haspopup":"listbox",onFocus:_,onBlur:q,onKeyDown:U,disabled:n.disabled,tabIndex:n.tabIndex},Le))),Te=function(){var t=s.isNotEmpty(xe)?ye(xe):null;if(n.editable)return e.createElement("input",h({ref:L,type:"text",defaultValue:t||n.value||"",className:"p-dropdown-label p-inputtext",disabled:n.disabled,placeholder:n.placeholder,maxLength:n.maxLength,onInput:ie,onFocus:ae,onBlur:q,"aria-haspopup":"listbox"},Le));var r=p("p-dropdown-label p-inputtext",{"p-placeholder":null===t&&n.placeholder,"p-dropdown-label-empty":null===t&&!n.placeholder}),o=n.valueTemplate?s.getJSXElement(n.valueTemplate,xe,n):t||n.placeholder||"empty";return e.createElement("span",{ref:L,className:r},o)}(),Re=(Se=p("p-dropdown-trigger-icon p-clickable"),Ie=m.getJSXIcon(n.dropdownIcon,{className:Se}),e.createElement("div",{className:"p-dropdown-trigger",role:"button","aria-haspopup":"listbox","aria-expanded":I,"aria-label":n.placeholder||n.ariaLabel},Ie)),Ge=function(){if(null!=n.value&&n.showClear&&!n.disabled){var e=p("p-dropdown-clear-icon p-clickable");return m.getJSXIcon(n.clearIcon,{className:e,onPointerUp:ce})}return null}();return e.createElement(e.Fragment,null,e.createElement("div",h({ref:x,id:n.id,className:je,style:n.style},Ne,{onClick:function(e){n.disabled||(n.onClick&&n.onClick(e),e.defaultPrevented||f.hasClass(e.target,"p-dropdown-clear-icon")||"INPUT"===e.target.tagName||D.current&&D.current&&D.current.contains(e.target)||(f.focus(j.current),I?ve():me()))},onMouseDown:n.onMouseDown,onContextMenu:n.onContextMenu}),Pe,ke,Te,Ge,Re,e.createElement(P,h({ref:D,visibleOptions:Fe},n,{appendTo:H,onClick:function(e){u.emit("overlay-click",{originalEvent:e,target:x.current})},onOptionClick:function(e){e.option.disabled||(pe(e),f.focus(j.current)),ve()},filterValue:g,hasFilter:V,onFilterClearIconClick:function(e){ue(e)},resetFilter:ue,onFilterInputKeyDown:function(e){switch(e.which){case 40:W(e);break;case 38:$(e);break;case 13:case 27:ve(),e.preventDefault()}},onFilterInputChange:function(e){var t=e.target.value;y(t),n.onFilter&&n.onFilter({originalEvent:e,filter:t})},getOptionLabel:ye,getOptionRenderKey:function(e){return n.dataKey?s.resolveFieldData(e,n.dataKey):ye(e)},isOptionDisabled:we,getOptionGroupChildren:Oe,getOptionGroupLabel:function(e){return s.resolveFieldData(e,n.optionGroupLabel)},getOptionGroupRenderKey:function(e){return s.resolveFieldData(e,n.optionGroupLabel)},isSelected:function(e){return s.equals(n.value,he(e),fe())},getSelectedOptionIndex:se,in:I,onEnter:function(e){d.set("overlay",D.current,t.autoZIndex,t.zIndex.overlay),be(),e&&e()},onEntered:function(e){e&&e(),J(),n.onShow&&n.onShow()},onExit:function(){X()},onExited:function(){n.filter&&n.resetFilterOnHide&&ue(),d.clear(D.current),n.onHide&&n.onHide()}}))),De&&e.createElement(c,h({target:x,content:n.tooltip},n.tooltipOptions)))})));A.displayName="Dropdown",A.defaultProps={__TYPE:"Dropdown",appendTo:null,ariaLabel:null,ariaLabelledBy:null,autoFocus:!1,className:null,clearIcon:"pi pi-times",dataKey:null,disabled:!1,dropdownIcon:"pi pi-chevron-down",editable:!1,emptyFilterMessage:null,emptyMessage:null,filter:!1,filterBy:null,filterInputAutoFocus:!0,filterLocale:void 0,filterMatchMode:"contains",filterPlaceholder:null,filterTemplate:null,focusInputRef:null,id:null,inputId:null,inputRef:null,itemTemplate:null,maxLength:null,name:null,onBlur:null,onChange:null,onContextMenu:null,onFilter:null,onFocus:null,onHide:null,onMouseDown:null,onShow:null,optionDisabled:null,optionGroupChildren:null,optionGroupLabel:null,optionGroupTemplate:null,optionLabel:null,optionValue:null,options:null,panelClassName:null,panelStyle:null,placeholder:null,required:!1,resetFilterOnHide:!1,scrollHeight:"200px",showClear:!1,showFilterClear:!1,showOnFocus:!1,style:null,tabIndex:null,tooltip:null,tooltipOptions:null,transitionOptions:null,value:null,valueTemplate:null,virtualScrollerOptions:null};export{A as Dropdown};