primereact 8.7.2 → 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 (751) hide show
  1. package/accordion/accordion.cjs.js +56 -57
  2. package/accordion/accordion.cjs.min.js +1 -1
  3. package/accordion/accordion.d.ts +168 -25
  4. package/accordion/accordion.esm.js +56 -57
  5. package/accordion/accordion.esm.min.js +1 -1
  6. package/accordion/accordion.js +56 -57
  7. package/accordion/accordion.min.js +1 -1
  8. package/api/api.cjs.js +31 -69
  9. package/api/api.cjs.min.js +1 -1
  10. package/api/api.d.ts +11 -3
  11. package/api/api.esm.js +31 -69
  12. package/api/api.esm.min.js +1 -1
  13. package/api/api.js +31 -69
  14. package/api/api.min.js +1 -1
  15. package/autocomplete/autocomplete.cjs.js +100 -157
  16. package/autocomplete/autocomplete.cjs.min.js +1 -1
  17. package/autocomplete/autocomplete.d.ts +385 -80
  18. package/autocomplete/autocomplete.esm.js +100 -157
  19. package/autocomplete/autocomplete.esm.min.js +1 -1
  20. package/autocomplete/autocomplete.js +100 -157
  21. package/autocomplete/autocomplete.min.js +1 -1
  22. package/avatar/avatar.cjs.js +86 -14
  23. package/avatar/avatar.cjs.min.js +1 -1
  24. package/avatar/avatar.d.ts +77 -14
  25. package/avatar/avatar.esm.js +86 -14
  26. package/avatar/avatar.esm.min.js +1 -1
  27. package/avatar/avatar.js +86 -14
  28. package/avatar/avatar.min.js +1 -1
  29. package/avatargroup/avatargroup.cjs.js +0 -2
  30. package/avatargroup/avatargroup.d.ts +33 -1
  31. package/avatargroup/avatargroup.esm.js +0 -2
  32. package/avatargroup/avatargroup.js +0 -2
  33. package/badge/badge.cjs.js +27 -3
  34. package/badge/badge.cjs.min.js +1 -1
  35. package/badge/badge.d.ts +48 -8
  36. package/badge/badge.esm.js +27 -3
  37. package/badge/badge.esm.min.js +1 -1
  38. package/badge/badge.js +27 -3
  39. package/badge/badge.min.js +1 -1
  40. package/blockui/blockui.cjs.js +40 -54
  41. package/blockui/blockui.cjs.min.js +1 -1
  42. package/blockui/blockui.d.ts +71 -8
  43. package/blockui/blockui.esm.js +40 -54
  44. package/blockui/blockui.esm.min.js +1 -1
  45. package/blockui/blockui.js +40 -54
  46. package/blockui/blockui.min.js +1 -1
  47. package/breadcrumb/breadcrumb.cjs.js +6 -29
  48. package/breadcrumb/breadcrumb.d.ts +41 -3
  49. package/breadcrumb/breadcrumb.esm.js +6 -29
  50. package/breadcrumb/breadcrumb.js +6 -29
  51. package/button/button.cjs.js +29 -11
  52. package/button/button.cjs.min.js +1 -1
  53. package/button/button.d.ts +67 -15
  54. package/button/button.esm.js +29 -11
  55. package/button/button.esm.min.js +1 -1
  56. package/button/button.js +29 -11
  57. package/button/button.min.js +1 -1
  58. package/calendar/calendar.cjs.js +203 -668
  59. package/calendar/calendar.cjs.min.js +1 -1
  60. package/calendar/calendar.d.ts +585 -110
  61. package/calendar/calendar.esm.js +203 -668
  62. package/calendar/calendar.esm.min.js +1 -1
  63. package/calendar/calendar.js +203 -668
  64. package/calendar/calendar.min.js +1 -1
  65. package/captcha/captcha.cjs.js +7 -21
  66. package/captcha/captcha.cjs.min.js +1 -1
  67. package/captcha/captcha.d.ts +77 -7
  68. package/captcha/captcha.esm.js +7 -21
  69. package/captcha/captcha.esm.min.js +1 -1
  70. package/captcha/captcha.js +7 -21
  71. package/captcha/captcha.min.js +1 -1
  72. package/card/card.cjs.js +0 -6
  73. package/card/card.d.ts +45 -7
  74. package/card/card.esm.js +0 -6
  75. package/card/card.js +0 -6
  76. package/carousel/carousel.cjs.js +42 -130
  77. package/carousel/carousel.cjs.min.js +1 -1
  78. package/carousel/carousel.d.ts +138 -22
  79. package/carousel/carousel.esm.js +42 -130
  80. package/carousel/carousel.esm.min.js +1 -1
  81. package/carousel/carousel.js +42 -130
  82. package/carousel/carousel.min.js +1 -1
  83. package/cascadeselect/cascadeselect.cjs.js +54 -133
  84. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  85. package/cascadeselect/cascadeselect.d.ts +177 -29
  86. package/cascadeselect/cascadeselect.esm.js +54 -133
  87. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  88. package/cascadeselect/cascadeselect.js +54 -133
  89. package/cascadeselect/cascadeselect.min.js +1 -1
  90. package/chart/chart.cjs.js +6 -7
  91. package/chart/chart.cjs.min.js +1 -1
  92. package/chart/chart.d.ts +88 -10
  93. package/chart/chart.esm.js +6 -7
  94. package/chart/chart.esm.min.js +1 -1
  95. package/chart/chart.js +6 -7
  96. package/chart/chart.min.js +1 -1
  97. package/checkbox/checkbox.cjs.js +31 -41
  98. package/checkbox/checkbox.cjs.min.js +1 -1
  99. package/checkbox/checkbox.d.ts +137 -33
  100. package/checkbox/checkbox.esm.js +32 -42
  101. package/checkbox/checkbox.esm.min.js +1 -1
  102. package/checkbox/checkbox.js +31 -41
  103. package/checkbox/checkbox.min.css +1 -1
  104. package/checkbox/checkbox.min.js +1 -1
  105. package/chip/chip.cjs.js +26 -41
  106. package/chip/chip.cjs.min.js +1 -1
  107. package/chip/chip.d.ts +75 -7
  108. package/chip/chip.esm.js +26 -41
  109. package/chip/chip.esm.min.js +1 -1
  110. package/chip/chip.js +26 -41
  111. package/chip/chip.min.js +1 -1
  112. package/chips/chips.cjs.js +39 -79
  113. package/chips/chips.cjs.min.js +1 -1
  114. package/chips/chips.d.ts +188 -36
  115. package/chips/chips.esm.js +39 -79
  116. package/chips/chips.esm.min.js +1 -1
  117. package/chips/chips.js +39 -79
  118. package/chips/chips.min.js +1 -1
  119. package/colorpicker/colorpicker.cjs.js +81 -144
  120. package/colorpicker/colorpicker.cjs.min.js +1 -1
  121. package/colorpicker/colorpicker.d.ts +150 -31
  122. package/colorpicker/colorpicker.esm.js +81 -144
  123. package/colorpicker/colorpicker.esm.min.js +1 -1
  124. package/colorpicker/colorpicker.js +81 -144
  125. package/colorpicker/colorpicker.min.js +1 -1
  126. package/column/column.d.ts +736 -134
  127. package/columngroup/columngroup.d.ts +30 -1
  128. package/confirmdialog/confirmdialog.cjs.js +60 -60
  129. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  130. package/confirmdialog/confirmdialog.d.ts +142 -18
  131. package/confirmdialog/confirmdialog.esm.js +60 -60
  132. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  133. package/confirmdialog/confirmdialog.js +60 -60
  134. package/confirmdialog/confirmdialog.min.js +1 -1
  135. package/confirmpopup/confirmpopup.cjs.js +78 -95
  136. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  137. package/confirmpopup/confirmpopup.d.ts +165 -22
  138. package/confirmpopup/confirmpopup.esm.js +78 -95
  139. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  140. package/confirmpopup/confirmpopup.js +78 -95
  141. package/confirmpopup/confirmpopup.min.js +1 -1
  142. package/contextmenu/contextmenu.cjs.js +79 -121
  143. package/contextmenu/contextmenu.cjs.min.js +1 -1
  144. package/contextmenu/contextmenu.d.ts +79 -11
  145. package/contextmenu/contextmenu.esm.js +79 -121
  146. package/contextmenu/contextmenu.esm.min.js +1 -1
  147. package/contextmenu/contextmenu.js +79 -121
  148. package/contextmenu/contextmenu.min.js +1 -1
  149. package/core/core.js +1048 -2092
  150. package/core/core.min.js +15 -15
  151. package/csstransition/csstransition.cjs.js +27 -13
  152. package/csstransition/csstransition.cjs.min.js +1 -1
  153. package/csstransition/csstransition.d.ts +31 -1
  154. package/csstransition/csstransition.esm.js +27 -13
  155. package/csstransition/csstransition.esm.min.js +1 -1
  156. package/csstransition/csstransition.js +27 -13
  157. package/csstransition/csstransition.min.js +1 -1
  158. package/datascroller/datascroller.cjs.js +32 -64
  159. package/datascroller/datascroller.cjs.min.js +1 -1
  160. package/datascroller/datascroller.d.ts +102 -16
  161. package/datascroller/datascroller.esm.js +32 -64
  162. package/datascroller/datascroller.esm.min.js +1 -1
  163. package/datascroller/datascroller.js +32 -64
  164. package/datascroller/datascroller.min.js +1 -1
  165. package/datatable/datatable.cjs.js +345 -1092
  166. package/datatable/datatable.cjs.min.js +1 -1
  167. package/datatable/datatable.d.ts +1259 -226
  168. package/datatable/datatable.esm.js +345 -1092
  169. package/datatable/datatable.esm.min.js +1 -1
  170. package/datatable/datatable.js +345 -1092
  171. package/datatable/datatable.min.js +1 -1
  172. package/dataview/dataview.cjs.js +56 -68
  173. package/dataview/dataview.cjs.min.js +1 -1
  174. package/dataview/dataview.d.ts +222 -43
  175. package/dataview/dataview.esm.js +56 -68
  176. package/dataview/dataview.esm.min.js +1 -1
  177. package/dataview/dataview.js +56 -68
  178. package/dataview/dataview.min.js +1 -1
  179. package/deferredcontent/deferredcontent.cjs.js +37 -46
  180. package/deferredcontent/deferredcontent.cjs.min.js +1 -1
  181. package/deferredcontent/deferredcontent.d.ts +37 -1
  182. package/deferredcontent/deferredcontent.esm.js +37 -46
  183. package/deferredcontent/deferredcontent.esm.min.js +1 -1
  184. package/deferredcontent/deferredcontent.js +37 -46
  185. package/deferredcontent/deferredcontent.min.js +1 -1
  186. package/dialog/dialog.cjs.js +99 -191
  187. package/dialog/dialog.cjs.min.js +1 -1
  188. package/dialog/dialog.d.ts +282 -51
  189. package/dialog/dialog.esm.js +100 -192
  190. package/dialog/dialog.esm.min.js +1 -1
  191. package/dialog/dialog.js +99 -191
  192. package/dialog/dialog.min.css +1 -1
  193. package/dialog/dialog.min.js +1 -1
  194. package/divider/divider.cjs.js +0 -2
  195. package/divider/divider.d.ts +47 -10
  196. package/divider/divider.esm.js +0 -2
  197. package/divider/divider.js +0 -2
  198. package/dock/dock.cjs.js +31 -53
  199. package/dock/dock.cjs.min.js +1 -1
  200. package/dock/dock.d.ts +68 -12
  201. package/dock/dock.esm.js +31 -53
  202. package/dock/dock.esm.min.js +1 -1
  203. package/dock/dock.js +31 -53
  204. package/dock/dock.min.js +1 -1
  205. package/dropdown/dropdown.cjs.js +98 -209
  206. package/dropdown/dropdown.cjs.min.js +1 -1
  207. package/dropdown/dropdown.d.ts +338 -83
  208. package/dropdown/dropdown.esm.js +99 -210
  209. package/dropdown/dropdown.esm.min.js +1 -1
  210. package/dropdown/dropdown.js +98 -209
  211. package/dropdown/dropdown.min.js +1 -1
  212. package/editor/editor.cjs.js +31 -22
  213. package/editor/editor.cjs.min.js +1 -1
  214. package/editor/editor.d.ts +129 -12
  215. package/editor/editor.esm.js +31 -22
  216. package/editor/editor.esm.min.js +1 -1
  217. package/editor/editor.js +31 -22
  218. package/editor/editor.min.js +1 -1
  219. package/fieldset/fieldset.cjs.js +29 -51
  220. package/fieldset/fieldset.cjs.min.js +1 -1
  221. package/fieldset/fieldset.d.ts +85 -7
  222. package/fieldset/fieldset.esm.js +29 -51
  223. package/fieldset/fieldset.esm.min.js +1 -1
  224. package/fieldset/fieldset.js +29 -51
  225. package/fieldset/fieldset.min.js +1 -1
  226. package/fileupload/fileupload.cjs.js +49 -128
  227. package/fileupload/fileupload.cjs.min.js +1 -1
  228. package/fileupload/fileupload.d.ts +425 -62
  229. package/fileupload/fileupload.esm.js +49 -128
  230. package/fileupload/fileupload.esm.min.js +1 -1
  231. package/fileupload/fileupload.js +49 -128
  232. package/fileupload/fileupload.min.js +1 -1
  233. package/galleria/galleria.cjs.js +57 -166
  234. package/galleria/galleria.cjs.min.js +1 -1
  235. package/galleria/galleria.d.ts +198 -30
  236. package/galleria/galleria.esm.js +57 -166
  237. package/galleria/galleria.esm.min.js +1 -1
  238. package/galleria/galleria.js +57 -166
  239. package/galleria/galleria.min.js +1 -1
  240. package/gmap/gmap.cjs.js +2 -23
  241. package/gmap/gmap.d.ts +91 -5
  242. package/gmap/gmap.esm.js +2 -23
  243. package/gmap/gmap.js +2 -23
  244. package/hooks/hooks.cjs.js +101 -131
  245. package/hooks/hooks.cjs.min.js +1 -1
  246. package/hooks/hooks.d.ts +114 -7
  247. package/hooks/hooks.esm.js +101 -131
  248. package/hooks/hooks.esm.min.js +1 -1
  249. package/hooks/hooks.js +101 -131
  250. package/hooks/hooks.min.js +1 -1
  251. package/image/image.cjs.js +41 -67
  252. package/image/image.cjs.min.js +1 -1
  253. package/image/image.d.ts +91 -11
  254. package/image/image.esm.js +41 -67
  255. package/image/image.esm.min.js +1 -1
  256. package/image/image.js +41 -67
  257. package/image/image.min.js +1 -1
  258. package/inplace/inplace.cjs.js +26 -45
  259. package/inplace/inplace.cjs.min.js +1 -1
  260. package/inplace/inplace.d.ts +101 -9
  261. package/inplace/inplace.esm.js +26 -45
  262. package/inplace/inplace.esm.min.js +1 -1
  263. package/inplace/inplace.js +26 -45
  264. package/inplace/inplace.min.js +1 -1
  265. package/inputmask/inputmask.cjs.js +22 -113
  266. package/inputmask/inputmask.cjs.min.js +1 -1
  267. package/inputmask/inputmask.d.ts +120 -28
  268. package/inputmask/inputmask.esm.js +23 -114
  269. package/inputmask/inputmask.esm.min.js +1 -1
  270. package/inputmask/inputmask.js +22 -113
  271. package/inputmask/inputmask.min.js +1 -1
  272. package/inputnumber/inputnumber.cjs.js +93 -267
  273. package/inputnumber/inputnumber.cjs.min.js +1 -1
  274. package/inputnumber/inputnumber.d.ts +266 -58
  275. package/inputnumber/inputnumber.esm.js +94 -268
  276. package/inputnumber/inputnumber.esm.min.js +1 -1
  277. package/inputnumber/inputnumber.js +93 -267
  278. package/inputnumber/inputnumber.min.js +1 -1
  279. package/inputswitch/inputswitch.cjs.js +30 -38
  280. package/inputswitch/inputswitch.cjs.min.js +1 -1
  281. package/inputswitch/inputswitch.d.ts +118 -27
  282. package/inputswitch/inputswitch.esm.js +31 -39
  283. package/inputswitch/inputswitch.esm.min.js +1 -1
  284. package/inputswitch/inputswitch.js +30 -38
  285. package/inputswitch/inputswitch.min.js +1 -1
  286. package/inputtext/inputtext.cjs.js +0 -11
  287. package/inputtext/inputtext.d.ts +58 -9
  288. package/inputtext/inputtext.esm.js +0 -11
  289. package/inputtext/inputtext.js +0 -11
  290. package/inputtextarea/inputtextarea.cjs.js +0 -20
  291. package/inputtextarea/inputtextarea.d.ts +53 -9
  292. package/inputtextarea/inputtextarea.esm.js +0 -20
  293. package/inputtextarea/inputtextarea.js +0 -20
  294. package/keyfilter/keyfilter.cjs.js +4 -15
  295. package/keyfilter/keyfilter.esm.js +4 -15
  296. package/keyfilter/keyfilter.js +4 -15
  297. package/keyfilter/keyfilteroptions.d.ts +15 -0
  298. package/knob/knob.cjs.js +74 -106
  299. package/knob/knob.cjs.min.js +1 -1
  300. package/knob/knob.d.ts +127 -20
  301. package/knob/knob.esm.js +74 -106
  302. package/knob/knob.esm.min.js +1 -1
  303. package/knob/knob.js +74 -106
  304. package/knob/knob.min.js +1 -1
  305. package/listbox/listbox.cjs.js +97 -125
  306. package/listbox/listbox.cjs.min.js +1 -1
  307. package/listbox/listbox.d.ts +270 -42
  308. package/listbox/listbox.esm.js +98 -126
  309. package/listbox/listbox.esm.min.js +1 -1
  310. package/listbox/listbox.js +97 -125
  311. package/listbox/listbox.min.js +1 -1
  312. package/megamenu/megamenu.cjs.js +36 -99
  313. package/megamenu/megamenu.cjs.min.js +1 -1
  314. package/megamenu/megamenu.d.ts +50 -11
  315. package/megamenu/megamenu.esm.js +36 -99
  316. package/megamenu/megamenu.esm.min.js +1 -1
  317. package/megamenu/megamenu.js +36 -99
  318. package/megamenu/megamenu.min.js +1 -1
  319. package/mention/mention.cjs.js +85 -138
  320. package/mention/mention.cjs.min.js +1 -1
  321. package/mention/mention.d.ts +187 -33
  322. package/mention/mention.esm.js +85 -138
  323. package/mention/mention.esm.min.js +1 -1
  324. package/mention/mention.js +85 -138
  325. package/mention/mention.min.js +1 -1
  326. package/menu/menu.cjs.js +41 -73
  327. package/menu/menu.cjs.min.js +1 -1
  328. package/menu/menu.d.ts +89 -12
  329. package/menu/menu.esm.js +41 -73
  330. package/menu/menu.esm.min.js +1 -1
  331. package/menu/menu.js +41 -73
  332. package/menu/menu.min.css +1 -1
  333. package/menu/menu.min.js +1 -1
  334. package/menubar/menubar.cjs.js +49 -99
  335. package/menubar/menubar.cjs.min.js +1 -1
  336. package/menubar/menubar.d.ts +53 -8
  337. package/menubar/menubar.esm.js +49 -99
  338. package/menubar/menubar.esm.min.js +1 -1
  339. package/menubar/menubar.js +49 -99
  340. package/menubar/menubar.min.js +1 -1
  341. package/menuitem/menuitem.d.ts +114 -19
  342. package/message/message.cjs.js +0 -7
  343. package/message/message.d.ts +50 -11
  344. package/message/message.esm.js +0 -7
  345. package/message/message.js +0 -7
  346. package/messages/messages.cjs.js +39 -67
  347. package/messages/messages.cjs.min.js +1 -1
  348. package/messages/messages.d.ts +91 -11
  349. package/messages/messages.esm.js +39 -67
  350. package/messages/messages.esm.min.js +1 -1
  351. package/messages/messages.js +39 -67
  352. package/messages/messages.min.js +1 -1
  353. package/multiselect/multiselect.cjs.js +148 -212
  354. package/multiselect/multiselect.cjs.min.js +1 -1
  355. package/multiselect/multiselect.d.ts +433 -81
  356. package/multiselect/multiselect.esm.js +149 -213
  357. package/multiselect/multiselect.esm.min.js +1 -1
  358. package/multiselect/multiselect.js +148 -212
  359. package/multiselect/multiselect.min.css +1 -1
  360. package/multiselect/multiselect.min.js +1 -1
  361. package/multistatecheckbox/multistatecheckbox.cjs.js +61 -53
  362. package/multistatecheckbox/multistatecheckbox.cjs.min.js +1 -1
  363. package/multistatecheckbox/multistatecheckbox.d.ts +157 -22
  364. package/multistatecheckbox/multistatecheckbox.esm.js +62 -54
  365. package/multistatecheckbox/multistatecheckbox.esm.min.js +1 -1
  366. package/multistatecheckbox/multistatecheckbox.js +61 -53
  367. package/multistatecheckbox/multistatecheckbox.min.js +1 -1
  368. package/orderlist/orderlist.cjs.js +38 -103
  369. package/orderlist/orderlist.cjs.min.js +1 -1
  370. package/orderlist/orderlist.d.ts +113 -16
  371. package/orderlist/orderlist.esm.js +38 -103
  372. package/orderlist/orderlist.esm.min.js +1 -1
  373. package/orderlist/orderlist.js +38 -103
  374. package/orderlist/orderlist.min.css +1 -1
  375. package/orderlist/orderlist.min.js +1 -1
  376. package/organizationchart/organizationchart.cjs.js +26 -52
  377. package/organizationchart/organizationchart.cjs.min.js +1 -1
  378. package/organizationchart/organizationchart.d.ts +107 -16
  379. package/organizationchart/organizationchart.esm.js +26 -52
  380. package/organizationchart/organizationchart.esm.min.js +1 -1
  381. package/organizationchart/organizationchart.js +26 -52
  382. package/organizationchart/organizationchart.min.js +1 -1
  383. package/overlaypanel/overlaypanel.cjs.js +44 -80
  384. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  385. package/overlaypanel/overlaypanel.d.ts +89 -15
  386. package/overlaypanel/overlaypanel.esm.js +44 -80
  387. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  388. package/overlaypanel/overlaypanel.js +44 -80
  389. package/overlaypanel/overlaypanel.min.css +1 -1
  390. package/overlaypanel/overlaypanel.min.js +1 -1
  391. package/overlayservice/overlayservice.d.ts +52 -7
  392. package/package.json +2 -2
  393. package/paginator/paginator.cjs.js +46 -87
  394. package/paginator/paginator.cjs.min.js +1 -1
  395. package/paginator/paginator.d.ts +409 -44
  396. package/paginator/paginator.esm.js +46 -87
  397. package/paginator/paginator.esm.min.js +1 -1
  398. package/paginator/paginator.js +46 -87
  399. package/paginator/paginator.min.js +1 -1
  400. package/panel/panel.cjs.js +29 -50
  401. package/panel/panel.cjs.min.js +1 -1
  402. package/panel/panel.d.ts +142 -16
  403. package/panel/panel.esm.js +29 -50
  404. package/panel/panel.esm.min.js +1 -1
  405. package/panel/panel.js +29 -50
  406. package/panel/panel.min.js +1 -1
  407. package/panelmenu/panelmenu.cjs.js +35 -81
  408. package/panelmenu/panelmenu.cjs.min.js +1 -1
  409. package/panelmenu/panelmenu.d.ts +46 -4
  410. package/panelmenu/panelmenu.esm.js +35 -81
  411. package/panelmenu/panelmenu.esm.min.js +1 -1
  412. package/panelmenu/panelmenu.js +35 -81
  413. package/panelmenu/panelmenu.min.js +1 -1
  414. package/password/password.cjs.js +61 -108
  415. package/password/password.cjs.min.js +1 -1
  416. package/password/password.d.ts +177 -37
  417. package/password/password.esm.js +61 -108
  418. package/password/password.esm.min.js +1 -1
  419. package/password/password.js +61 -108
  420. package/password/password.min.css +1 -1
  421. package/password/password.min.js +1 -1
  422. package/picklist/picklist.cjs.js +48 -159
  423. package/picklist/picklist.cjs.min.js +1 -1
  424. package/picklist/picklist.d.ts +272 -46
  425. package/picklist/picklist.esm.js +48 -159
  426. package/picklist/picklist.esm.min.js +1 -1
  427. package/picklist/picklist.js +48 -159
  428. package/picklist/picklist.min.js +1 -1
  429. package/portal/portal.cjs.js +26 -31
  430. package/portal/portal.cjs.min.js +1 -1
  431. package/portal/portal.esm.js +26 -31
  432. package/portal/portal.esm.min.js +1 -1
  433. package/portal/portal.js +26 -31
  434. package/portal/portal.min.js +1 -1
  435. package/primereact.all.cjs.js +2541 -7484
  436. package/primereact.all.cjs.min.js +1 -1
  437. package/primereact.all.esm.js +2541 -7484
  438. package/primereact.all.esm.min.js +1 -1
  439. package/primereact.all.js +2541 -7484
  440. package/primereact.all.min.js +1 -1
  441. package/progressbar/progressbar.cjs.js +0 -7
  442. package/progressbar/progressbar.d.ts +60 -11
  443. package/progressbar/progressbar.esm.js +0 -7
  444. package/progressbar/progressbar.js +0 -7
  445. package/progressspinner/progressspinner.cjs.js +0 -2
  446. package/progressspinner/progressspinner.d.ts +47 -4
  447. package/progressspinner/progressspinner.esm.js +0 -2
  448. package/progressspinner/progressspinner.js +0 -2
  449. package/radiobutton/radiobutton.cjs.js +35 -41
  450. package/radiobutton/radiobutton.cjs.min.js +1 -1
  451. package/radiobutton/radiobutton.d.ts +99 -29
  452. package/radiobutton/radiobutton.esm.js +35 -41
  453. package/radiobutton/radiobutton.esm.min.js +1 -1
  454. package/radiobutton/radiobutton.js +35 -41
  455. package/radiobutton/radiobutton.min.js +1 -1
  456. package/rating/rating.cjs.js +27 -14
  457. package/rating/rating.cjs.min.js +1 -1
  458. package/rating/rating.d.ts +101 -24
  459. package/rating/rating.esm.js +27 -14
  460. package/rating/rating.esm.min.js +1 -1
  461. package/rating/rating.js +27 -14
  462. package/rating/rating.min.js +1 -1
  463. package/resources/primereact.css +121 -64
  464. package/resources/primereact.min.css +1 -1
  465. package/resources/themes/arya-blue/theme.css +5 -9
  466. package/resources/themes/arya-green/theme.css +4 -10
  467. package/resources/themes/arya-orange/theme.css +4 -9
  468. package/resources/themes/arya-purple/theme.css +4 -9
  469. package/resources/themes/bootstrap4-dark-blue/theme.css +4 -9
  470. package/resources/themes/bootstrap4-dark-purple/theme.css +4 -9
  471. package/resources/themes/bootstrap4-light-blue/theme.css +4 -9
  472. package/resources/themes/bootstrap4-light-purple/theme.css +4 -10
  473. package/resources/themes/fluent-light/theme.css +4 -10
  474. package/resources/themes/lara-dark-blue/theme.css +4 -9
  475. package/resources/themes/lara-dark-indigo/theme.css +4 -10
  476. package/resources/themes/lara-dark-purple/theme.css +4 -9
  477. package/resources/themes/lara-dark-teal/theme.css +4 -10
  478. package/resources/themes/lara-light-blue/theme.css +4 -9
  479. package/resources/themes/lara-light-indigo/theme.css +4 -9
  480. package/resources/themes/lara-light-purple/theme.css +4 -9
  481. package/resources/themes/lara-light-teal/theme.css +4 -9
  482. package/resources/themes/luna-amber/theme.css +5 -9
  483. package/resources/themes/luna-blue/theme.css +4 -9
  484. package/resources/themes/luna-green/theme.css +5 -9
  485. package/resources/themes/luna-pink/theme.css +4 -9
  486. package/resources/themes/md-dark-deeppurple/theme.css +4 -9
  487. package/resources/themes/md-dark-indigo/theme.css +5 -9
  488. package/resources/themes/md-light-deeppurple/theme.css +5 -9
  489. package/resources/themes/md-light-indigo/theme.css +5 -9
  490. package/resources/themes/mdc-dark-deeppurple/theme.css +5 -9
  491. package/resources/themes/mdc-dark-indigo/theme.css +4 -9
  492. package/resources/themes/mdc-light-deeppurple/theme.css +5 -9
  493. package/resources/themes/mdc-light-indigo/theme.css +4 -9
  494. package/resources/themes/mira/fonts/Inter-Bold.woff +0 -0
  495. package/resources/themes/mira/fonts/Inter-Bold.woff2 +0 -0
  496. package/resources/themes/mira/fonts/Inter-Medium.woff +0 -0
  497. package/resources/themes/mira/fonts/Inter-Medium.woff2 +0 -0
  498. package/resources/themes/mira/fonts/Inter-Regular.woff +0 -0
  499. package/resources/themes/mira/fonts/Inter-Regular.woff2 +0 -0
  500. package/resources/themes/mira/fonts/Inter-SemiBold.woff +0 -0
  501. package/resources/themes/mira/fonts/Inter-SemiBold.woff2 +0 -0
  502. package/resources/themes/mira/theme.css +6237 -0
  503. package/resources/themes/nano/theme.css +6009 -0
  504. package/resources/themes/nova/theme.css +4 -9
  505. package/resources/themes/nova-accent/theme.css +5 -9
  506. package/resources/themes/nova-alt/theme.css +4 -9
  507. package/resources/themes/rhea/theme.css +5 -9
  508. package/resources/themes/saga-blue/theme.css +4 -9
  509. package/resources/themes/saga-green/theme.css +5 -9
  510. package/resources/themes/saga-orange/theme.css +5 -9
  511. package/resources/themes/saga-purple/theme.css +5 -9
  512. package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-300.woff +0 -0
  513. package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-300.woff2 +0 -0
  514. package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-700.woff +0 -0
  515. package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-700.woff2 +0 -0
  516. package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-regular.woff +0 -0
  517. package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-regular.woff2 +0 -0
  518. package/resources/themes/soho-dark/theme.css +6002 -0
  519. package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-300.woff +0 -0
  520. package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-300.woff2 +0 -0
  521. package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-700.woff +0 -0
  522. package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-700.woff2 +0 -0
  523. package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-regular.woff +0 -0
  524. package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-regular.woff2 +0 -0
  525. package/resources/themes/soho-light/theme.css +6056 -0
  526. package/resources/themes/vela-blue/theme.css +4 -9
  527. package/resources/themes/vela-green/theme.css +4 -9
  528. package/resources/themes/vela-orange/theme.css +4 -9
  529. package/resources/themes/vela-purple/theme.css +5 -9
  530. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-300.woff +0 -0
  531. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-300.woff2 +0 -0
  532. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-600.woff +0 -0
  533. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-600.woff2 +0 -0
  534. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-700.woff +0 -0
  535. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-700.woff2 +0 -0
  536. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-regular.woff +0 -0
  537. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-regular.woff2 +0 -0
  538. package/resources/themes/viva-dark/theme.css +6164 -0
  539. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-300.woff +0 -0
  540. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-300.woff2 +0 -0
  541. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-600.woff +0 -0
  542. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-600.woff2 +0 -0
  543. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-700.woff +0 -0
  544. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-700.woff2 +0 -0
  545. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-regular.woff +0 -0
  546. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-regular.woff2 +0 -0
  547. package/resources/themes/viva-light/theme.css +6164 -0
  548. package/ripple/ripple.cjs.js +0 -12
  549. package/ripple/ripple.d.ts +29 -1
  550. package/ripple/ripple.esm.js +0 -12
  551. package/ripple/ripple.js +0 -12
  552. package/row/row.cjs.js +0 -2
  553. package/row/row.d.ts +37 -3
  554. package/row/row.esm.js +0 -2
  555. package/row/row.js +0 -2
  556. package/scrollpanel/scrollpanel.cjs.js +2 -16
  557. package/scrollpanel/scrollpanel.d.ts +45 -1
  558. package/scrollpanel/scrollpanel.esm.js +2 -16
  559. package/scrollpanel/scrollpanel.js +2 -16
  560. package/scrolltop/scrolltop.cjs.js +44 -57
  561. package/scrolltop/scrolltop.cjs.min.js +1 -1
  562. package/scrolltop/scrolltop.d.ts +70 -10
  563. package/scrolltop/scrolltop.esm.js +44 -57
  564. package/scrolltop/scrolltop.esm.min.js +1 -1
  565. package/scrolltop/scrolltop.js +44 -57
  566. package/scrolltop/scrolltop.min.js +1 -1
  567. package/selectbutton/selectbutton.cjs.js +29 -53
  568. package/selectbutton/selectbutton.cjs.min.js +1 -1
  569. package/selectbutton/selectbutton.d.ts +111 -32
  570. package/selectbutton/selectbutton.esm.js +30 -54
  571. package/selectbutton/selectbutton.esm.min.js +1 -1
  572. package/selectbutton/selectbutton.js +29 -53
  573. package/selectbutton/selectbutton.min.js +1 -1
  574. package/selectitem/selectitem.d.ts +34 -0
  575. package/sidebar/sidebar.cjs.js +65 -84
  576. package/sidebar/sidebar.cjs.min.js +1 -1
  577. package/sidebar/sidebar.d.ts +120 -22
  578. package/sidebar/sidebar.esm.js +65 -84
  579. package/sidebar/sidebar.esm.min.js +1 -1
  580. package/sidebar/sidebar.js +65 -84
  581. package/sidebar/sidebar.min.css +1 -1
  582. package/sidebar/sidebar.min.js +1 -1
  583. package/skeleton/skeleton.cjs.js +0 -2
  584. package/skeleton/skeleton.d.ts +61 -11
  585. package/skeleton/skeleton.esm.js +0 -2
  586. package/skeleton/skeleton.js +0 -2
  587. package/slidemenu/slidemenu.cjs.js +73 -87
  588. package/slidemenu/slidemenu.cjs.min.js +1 -1
  589. package/slidemenu/slidemenu.d.ts +132 -18
  590. package/slidemenu/slidemenu.esm.js +73 -87
  591. package/slidemenu/slidemenu.esm.min.js +1 -1
  592. package/slidemenu/slidemenu.js +73 -87
  593. package/slidemenu/slidemenu.min.js +1 -1
  594. package/slider/slider.cjs.js +61 -96
  595. package/slider/slider.cjs.min.js +1 -1
  596. package/slider/slider.d.ts +101 -18
  597. package/slider/slider.esm.js +61 -96
  598. package/slider/slider.esm.min.js +1 -1
  599. package/slider/slider.js +61 -96
  600. package/slider/slider.min.js +1 -1
  601. package/speeddial/speeddial.cjs.js +70 -89
  602. package/speeddial/speeddial.cjs.min.js +1 -1
  603. package/speeddial/speeddial.d.ts +149 -20
  604. package/speeddial/speeddial.esm.js +70 -89
  605. package/speeddial/speeddial.esm.min.js +1 -1
  606. package/speeddial/speeddial.js +70 -89
  607. package/speeddial/speeddial.min.js +1 -1
  608. package/splitbutton/splitbutton.cjs.js +48 -81
  609. package/splitbutton/splitbutton.cjs.min.js +1 -1
  610. package/splitbutton/splitbutton.d.ts +131 -23
  611. package/splitbutton/splitbutton.esm.js +48 -81
  612. package/splitbutton/splitbutton.esm.min.js +1 -1
  613. package/splitbutton/splitbutton.js +48 -81
  614. package/splitbutton/splitbutton.min.js +1 -1
  615. package/splitter/splitter.cjs.js +72 -85
  616. package/splitter/splitter.cjs.min.js +1 -1
  617. package/splitter/splitter.d.ts +98 -12
  618. package/splitter/splitter.esm.js +72 -85
  619. package/splitter/splitter.esm.min.js +1 -1
  620. package/splitter/splitter.js +72 -85
  621. package/splitter/splitter.min.js +1 -1
  622. package/steps/steps.cjs.js +0 -14
  623. package/steps/steps.d.ts +67 -6
  624. package/steps/steps.esm.js +0 -14
  625. package/steps/steps.js +0 -14
  626. package/styleclass/styleclass.cjs.js +75 -111
  627. package/styleclass/styleclass.cjs.min.js +1 -1
  628. package/styleclass/styleclass.d.ts +77 -12
  629. package/styleclass/styleclass.esm.js +75 -111
  630. package/styleclass/styleclass.esm.min.js +1 -1
  631. package/styleclass/styleclass.js +75 -111
  632. package/styleclass/styleclass.min.js +1 -1
  633. package/tabmenu/tabmenu.cjs.js +33 -54
  634. package/tabmenu/tabmenu.cjs.min.js +1 -1
  635. package/tabmenu/tabmenu.d.ts +62 -5
  636. package/tabmenu/tabmenu.esm.js +33 -54
  637. package/tabmenu/tabmenu.esm.min.js +1 -1
  638. package/tabmenu/tabmenu.js +33 -54
  639. package/tabmenu/tabmenu.min.js +1 -1
  640. package/tabview/tabview.cjs.js +84 -103
  641. package/tabview/tabview.cjs.min.js +1 -1
  642. package/tabview/tabview.d.ts +213 -27
  643. package/tabview/tabview.esm.js +84 -103
  644. package/tabview/tabview.esm.min.js +1 -1
  645. package/tabview/tabview.js +84 -103
  646. package/tabview/tabview.min.js +1 -1
  647. package/tag/tag.cjs.js +27 -4
  648. package/tag/tag.cjs.min.js +1 -1
  649. package/tag/tag.d.ts +50 -6
  650. package/tag/tag.esm.js +27 -4
  651. package/tag/tag.esm.min.js +1 -1
  652. package/tag/tag.js +27 -4
  653. package/tag/tag.min.js +1 -1
  654. package/terminal/terminal.cjs.js +40 -63
  655. package/terminal/terminal.cjs.min.js +1 -1
  656. package/terminal/terminal.d.ts +45 -3
  657. package/terminal/terminal.esm.js +41 -64
  658. package/terminal/terminal.esm.min.js +1 -1
  659. package/terminal/terminal.js +40 -63
  660. package/terminal/terminal.min.js +1 -1
  661. package/terminalservice/terminalservice.d.ts +42 -4
  662. package/tieredmenu/tieredmenu.cjs.js +68 -111
  663. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  664. package/tieredmenu/tieredmenu.d.ts +77 -12
  665. package/tieredmenu/tieredmenu.esm.js +68 -111
  666. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  667. package/tieredmenu/tieredmenu.js +68 -111
  668. package/tieredmenu/tieredmenu.min.js +1 -1
  669. package/timeline/timeline.cjs.js +33 -17
  670. package/timeline/timeline.cjs.min.js +1 -1
  671. package/timeline/timeline.d.ts +62 -13
  672. package/timeline/timeline.esm.js +33 -17
  673. package/timeline/timeline.esm.min.js +1 -1
  674. package/timeline/timeline.js +33 -17
  675. package/timeline/timeline.min.js +1 -1
  676. package/toast/toast.cjs.js +85 -100
  677. package/toast/toast.cjs.min.js +1 -1
  678. package/toast/toast.d.ts +134 -27
  679. package/toast/toast.esm.js +85 -100
  680. package/toast/toast.esm.min.js +1 -1
  681. package/toast/toast.js +85 -100
  682. package/toast/toast.min.js +1 -1
  683. package/togglebutton/togglebutton.cjs.js +4 -8
  684. package/togglebutton/togglebutton.cjs.min.js +1 -1
  685. package/togglebutton/togglebutton.d.ts +122 -15
  686. package/togglebutton/togglebutton.esm.js +5 -9
  687. package/togglebutton/togglebutton.esm.min.js +1 -1
  688. package/togglebutton/togglebutton.js +4 -8
  689. package/togglebutton/togglebutton.min.js +1 -1
  690. package/toolbar/toolbar.cjs.js +13 -9
  691. package/toolbar/toolbar.cjs.min.js +1 -1
  692. package/toolbar/toolbar.d.ts +55 -5
  693. package/toolbar/toolbar.esm.js +13 -9
  694. package/toolbar/toolbar.esm.min.js +1 -1
  695. package/toolbar/toolbar.js +13 -9
  696. package/toolbar/toolbar.min.css +1 -1
  697. package/toolbar/toolbar.min.js +1 -1
  698. package/tooltip/tooltip.cjs.js +111 -164
  699. package/tooltip/tooltip.cjs.min.js +1 -1
  700. package/tooltip/tooltip.d.ts +73 -9
  701. package/tooltip/tooltip.esm.js +111 -164
  702. package/tooltip/tooltip.esm.min.js +1 -1
  703. package/tooltip/tooltip.js +111 -164
  704. package/tooltip/tooltip.min.css +1 -1
  705. package/tooltip/tooltip.min.js +1 -1
  706. package/tooltip/tooltipoptions.d.ts +350 -31
  707. package/tree/tree.cjs.js +68 -223
  708. package/tree/tree.cjs.min.js +1 -1
  709. package/tree/tree.d.ts +435 -71
  710. package/tree/tree.esm.js +68 -223
  711. package/tree/tree.esm.min.js +1 -1
  712. package/tree/tree.js +68 -223
  713. package/tree/tree.min.js +1 -1
  714. package/treenode/treenode.d.ts +62 -12
  715. package/treeselect/treeselect.cjs.js +124 -168
  716. package/treeselect/treeselect.cjs.min.js +1 -1
  717. package/treeselect/treeselect.d.ts +327 -77
  718. package/treeselect/treeselect.esm.js +125 -169
  719. package/treeselect/treeselect.esm.min.js +1 -1
  720. package/treeselect/treeselect.js +124 -168
  721. package/treeselect/treeselect.min.js +1 -1
  722. package/treetable/treetable.cjs.js +143 -461
  723. package/treetable/treetable.cjs.min.js +1 -1
  724. package/treetable/treetable.d.ts +501 -112
  725. package/treetable/treetable.esm.js +143 -461
  726. package/treetable/treetable.esm.min.js +1 -1
  727. package/treetable/treetable.js +143 -461
  728. package/treetable/treetable.min.js +1 -1
  729. package/tristatecheckbox/tristatecheckbox.cjs.js +32 -39
  730. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  731. package/tristatecheckbox/tristatecheckbox.d.ts +72 -20
  732. package/tristatecheckbox/tristatecheckbox.esm.js +33 -40
  733. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  734. package/tristatecheckbox/tristatecheckbox.js +32 -39
  735. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  736. package/ts-helpers.d.ts +24 -0
  737. package/utils/utils.cjs.js +137 -339
  738. package/utils/utils.cjs.min.js +1 -1
  739. package/utils/utils.d.ts +8 -1
  740. package/utils/utils.esm.js +137 -339
  741. package/utils/utils.esm.min.js +1 -1
  742. package/utils/utils.js +137 -339
  743. package/utils/utils.min.js +1 -1
  744. package/virtualscroller/virtualscroller.cjs.js +108 -204
  745. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  746. package/virtualscroller/virtualscroller.d.ts +351 -59
  747. package/virtualscroller/virtualscroller.esm.js +108 -204
  748. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  749. package/virtualscroller/virtualscroller.js +108 -204
  750. package/virtualscroller/virtualscroller.min.js +1 -1
  751. package/web-types.json +173 -41
@@ -17,20 +17,45 @@ function _extends() {
17
17
  _extends = Object.assign ? Object.assign.bind() : function (target) {
18
18
  for (var i = 1; i < arguments.length; i++) {
19
19
  var source = arguments[i];
20
-
21
20
  for (var key in source) {
22
21
  if (Object.prototype.hasOwnProperty.call(source, key)) {
23
22
  target[key] = source[key];
24
23
  }
25
24
  }
26
25
  }
27
-
28
26
  return target;
29
27
  };
30
28
  return _extends.apply(this, arguments);
31
29
  }
32
30
 
31
+ function _typeof(obj) {
32
+ "@babel/helpers - typeof";
33
+
34
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
35
+ return typeof obj;
36
+ } : function (obj) {
37
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
38
+ }, _typeof(obj);
39
+ }
40
+
41
+ function _toPrimitive(input, hint) {
42
+ if (_typeof(input) !== "object" || input === null) return input;
43
+ var prim = input[Symbol.toPrimitive];
44
+ if (prim !== undefined) {
45
+ var res = prim.call(input, hint || "default");
46
+ if (_typeof(res) !== "object") return res;
47
+ throw new TypeError("@@toPrimitive must return a primitive value.");
48
+ }
49
+ return (hint === "string" ? String : Number)(input);
50
+ }
51
+
52
+ function _toPropertyKey(arg) {
53
+ var key = _toPrimitive(arg, "string");
54
+ return _typeof(key) === "symbol" ? key : String(key);
55
+ }
56
+
33
57
  function _defineProperty(obj, key, value) {
58
+ key = _toPropertyKey(key);
34
59
  if (key in obj) {
35
60
  Object.defineProperty(obj, key, {
36
61
  value: value,
@@ -41,17 +66,14 @@ function _defineProperty(obj, key, value) {
41
66
  } else {
42
67
  obj[key] = value;
43
68
  }
44
-
45
69
  return obj;
46
70
  }
47
71
 
48
72
  function _arrayLikeToArray(arr, len) {
49
73
  if (len == null || len > arr.length) len = arr.length;
50
-
51
74
  for (var i = 0, arr2 = new Array(len); i < len; i++) {
52
75
  arr2[i] = arr[i];
53
76
  }
54
-
55
77
  return arr2;
56
78
  }
57
79
 
@@ -85,33 +107,33 @@ function _arrayWithHoles(arr) {
85
107
  }
86
108
 
87
109
  function _iterableToArrayLimit(arr, i) {
88
- var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
89
-
90
- if (_i == null) return;
91
- var _arr = [];
92
- var _n = true;
93
- var _d = false;
94
-
95
- var _s, _e;
96
-
97
- try {
98
- for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
99
- _arr.push(_s.value);
100
-
101
- if (i && _arr.length === i) break;
102
- }
103
- } catch (err) {
104
- _d = true;
105
- _e = err;
106
- } finally {
110
+ var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
111
+ if (null != _i) {
112
+ var _s,
113
+ _e,
114
+ _x,
115
+ _r,
116
+ _arr = [],
117
+ _n = !0,
118
+ _d = !1;
107
119
  try {
108
- if (!_n && _i["return"] != null) _i["return"]();
120
+ if (_x = (_i = _i.call(arr)).next, 0 === i) {
121
+ if (Object(_i) !== _i) return;
122
+ _n = !1;
123
+ } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {
124
+ ;
125
+ }
126
+ } catch (err) {
127
+ _d = !0, _e = err;
109
128
  } finally {
110
- if (_d) throw _e;
129
+ try {
130
+ if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
131
+ } finally {
132
+ if (_d) throw _e;
133
+ }
111
134
  }
135
+ return _arr;
112
136
  }
113
-
114
- return _arr;
115
137
  }
116
138
 
117
139
  function _nonIterableRest() {
@@ -127,13 +149,11 @@ function _objectWithoutPropertiesLoose(source, excluded) {
127
149
  var target = {};
128
150
  var sourceKeys = Object.keys(source);
129
151
  var key, i;
130
-
131
152
  for (i = 0; i < sourceKeys.length; i++) {
132
153
  key = sourceKeys[i];
133
154
  if (excluded.indexOf(key) >= 0) continue;
134
155
  target[key] = source[key];
135
156
  }
136
-
137
157
  return target;
138
158
  }
139
159
 
@@ -141,10 +161,8 @@ function _objectWithoutProperties(source, excluded) {
141
161
  if (source == null) return {};
142
162
  var target = _objectWithoutPropertiesLoose(source, excluded);
143
163
  var key, i;
144
-
145
164
  if (Object.getOwnPropertySymbols) {
146
165
  var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
147
-
148
166
  for (i = 0; i < sourceSymbolKeys.length; i++) {
149
167
  key = sourceSymbolKeys[i];
150
168
  if (excluded.indexOf(key) >= 0) continue;
@@ -152,38 +170,33 @@ function _objectWithoutProperties(source, excluded) {
152
170
  target[key] = source[key];
153
171
  }
154
172
  }
155
-
156
173
  return target;
157
174
  }
158
175
 
159
176
  var RowCheckbox = /*#__PURE__*/React.memo(function (props) {
160
177
  var _React$useState = React.useState(false),
161
- _React$useState2 = _slicedToArray(_React$useState, 2),
162
- focusedState = _React$useState2[0],
163
- setFocusedState = _React$useState2[1];
164
-
178
+ _React$useState2 = _slicedToArray(_React$useState, 2),
179
+ focusedState = _React$useState2[0],
180
+ setFocusedState = _React$useState2[1];
165
181
  var onFocus = function onFocus() {
166
182
  setFocusedState(true);
167
183
  };
168
-
169
184
  var onBlur = function onBlur() {
170
185
  setFocusedState(false);
171
186
  };
172
-
173
187
  var onClick = function onClick(event) {
174
188
  if (!props.disabled) {
175
189
  setFocusedState(true);
176
190
  props.onChange(event);
177
191
  }
178
192
  };
179
-
180
193
  var onKeyDown = function onKeyDown(event) {
181
- if (event.code === 'Space') {
194
+ if (event.code === 'Space' || event.key === ' ') {
195
+ // event.key is for Android support
182
196
  onClick(event);
183
197
  event.preventDefault();
184
198
  }
185
199
  };
186
-
187
200
  var className = classNames('p-checkbox p-component', {
188
201
  'p-checkbox-focused': focusedState
189
202
  });
@@ -216,38 +229,32 @@ RowCheckbox.displayName = 'RowCheckbox';
216
229
 
217
230
  var RowRadioButton = /*#__PURE__*/React.memo(function (props) {
218
231
  var _React$useState = React.useState(false),
219
- _React$useState2 = _slicedToArray(_React$useState, 2),
220
- focusedState = _React$useState2[0],
221
- setFocusedState = _React$useState2[1];
222
-
232
+ _React$useState2 = _slicedToArray(_React$useState, 2),
233
+ focusedState = _React$useState2[0],
234
+ setFocusedState = _React$useState2[1];
223
235
  var inputRef = React.useRef(null);
224
-
225
236
  var onFocus = function onFocus() {
226
237
  setFocusedState(true);
227
238
  };
228
-
229
239
  var onBlur = function onBlur() {
230
240
  setFocusedState(false);
231
241
  };
232
-
233
242
  var onClick = function onClick(event) {
234
243
  if (!props.disabled) {
235
244
  props.onChange(event);
236
245
  DomHandler.focus(inputRef.current);
237
246
  }
238
247
  };
239
-
240
248
  var onKeyDown = function onKeyDown(event) {
241
- if (event.code === 'Space') {
249
+ if (event.code === 'Space' || event.key === ' ') {
250
+ // event.key is for Android support
242
251
  onClick(event);
243
252
  event.preventDefault();
244
253
  }
245
254
  };
246
-
247
255
  var onChange = function onChange(event) {
248
256
  onClick(event);
249
257
  };
250
-
251
258
  var className = classNames('p-radiobutton p-component', {
252
259
  'p-radiobutton-focused': focusedState
253
260
  });
@@ -283,87 +290,70 @@ var RowRadioButton = /*#__PURE__*/React.memo(function (props) {
283
290
  RowRadioButton.displayName = 'RowRadioButton';
284
291
 
285
292
  function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
286
-
287
293
  function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$7(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
288
294
  var BodyCell = /*#__PURE__*/React.memo(function (props) {
289
295
  var _React$useState = React.useState(props.editing),
290
- _React$useState2 = _slicedToArray(_React$useState, 2),
291
- editingState = _React$useState2[0],
292
- setEditingState = _React$useState2[1];
293
-
296
+ _React$useState2 = _slicedToArray(_React$useState, 2),
297
+ editingState = _React$useState2[0],
298
+ setEditingState = _React$useState2[1];
294
299
  var _React$useState3 = React.useState(props.rowData),
295
- _React$useState4 = _slicedToArray(_React$useState3, 2),
296
- editingRowDataState = _React$useState4[0],
297
- setEditingRowDataState = _React$useState4[1];
298
-
300
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
301
+ editingRowDataState = _React$useState4[0],
302
+ setEditingRowDataState = _React$useState4[1];
299
303
  var _React$useState5 = React.useState({}),
300
- _React$useState6 = _slicedToArray(_React$useState5, 2),
301
- styleObjectState = _React$useState6[0],
302
- setStyleObjectState = _React$useState6[1];
303
-
304
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
305
+ styleObjectState = _React$useState6[0],
306
+ setStyleObjectState = _React$useState6[1];
304
307
  var elementRef = React.useRef(null);
305
308
  var keyHelperRef = React.useRef(null);
306
309
  var overlayEventListener = React.useRef(null);
307
310
  var selfClick = React.useRef(false);
308
311
  var tabindexTimeout = React.useRef(null);
309
312
  var initFocusTimeout = React.useRef(null);
310
-
311
313
  var getColumnProp = function getColumnProp(prop) {
312
314
  return props.column ? props.column.props[prop] : null;
313
315
  };
314
-
315
316
  var field = getColumnProp('field') || "field_".concat(props.index);
316
- var editingKey = props.dataKey ? props.rowData[props.dataKey] || props.rowIndex : props.rowIndex;
317
-
317
+ var editingKey = props.dataKey ? props.rowData && props.rowData[props.dataKey] || props.rowIndex : props.rowIndex;
318
318
  var _useEventListener = useEventListener({
319
- type: 'click',
320
- listener: function listener(e) {
321
- if (!selfClick.current && isOutsideClicked(e.target)) {
322
- switchCellToViewMode(e, true);
323
- }
324
-
325
- selfClick.current = false;
326
- },
327
- options: true
328
- }),
329
- _useEventListener2 = _slicedToArray(_useEventListener, 2),
330
- bindDocumentClickListener = _useEventListener2[0],
331
- unbindDocumentClickListener = _useEventListener2[1];
332
-
319
+ type: 'click',
320
+ listener: function listener(e) {
321
+ if (!selfClick.current && isOutsideClicked(e.target)) {
322
+ switchCellToViewMode(e, true);
323
+ }
324
+ selfClick.current = false;
325
+ },
326
+ options: true
327
+ }),
328
+ _useEventListener2 = _slicedToArray(_useEventListener, 2),
329
+ bindDocumentClickListener = _useEventListener2[0],
330
+ unbindDocumentClickListener = _useEventListener2[1];
333
331
  if (props.editMode === 'row' && props.editing !== editingState) {
334
332
  setEditingState(props.editing);
335
333
  }
336
-
337
334
  var isEditable = function isEditable() {
338
335
  return getColumnProp('editor');
339
336
  };
340
-
341
337
  var isSelected = function isSelected() {
342
338
  return props.selection ? props.selection instanceof Array ? findIndex(props.selection) > -1 : equals(props.selection) : false;
343
339
  };
344
-
345
340
  var equalsData = function equalsData(data) {
346
341
  return props.compareSelectionBy === 'equals' ? data === props.rowData : ObjectUtils.equals(data, props.rowData, props.dataKey);
347
342
  };
348
-
349
343
  var equals = function equals(selectedCell) {
350
- return (selectedCell.rowIndex === props.rowIndex || equalsData(selectedCell.rowData)) && (selectedCell.field === field || selectedCell.cellIndex === props.index);
344
+ return selectedCell && (selectedCell.rowIndex === props.rowIndex || equalsData(selectedCell.rowData)) && (selectedCell.field === field || selectedCell.cellIndex === props.index);
351
345
  };
352
-
353
346
  var isOutsideClicked = function isOutsideClicked(target) {
354
347
  return elementRef.current && !(elementRef.current.isSameNode(target) || elementRef.current.contains(target));
355
348
  };
356
-
357
349
  var getVirtualScrollerOption = function getVirtualScrollerOption(option) {
358
350
  return props.virtualScrollerOptions ? props.virtualScrollerOptions[option] : null;
359
351
  };
360
-
361
352
  var getStyle = function getStyle() {
362
353
  var bodyStyle = getColumnProp('bodyStyle');
363
354
  var columnStyle = getColumnProp('style');
364
355
  return getColumnProp('frozen') ? Object.assign({}, columnStyle, bodyStyle, styleObjectState) : Object.assign({}, columnStyle, bodyStyle);
365
356
  };
366
-
367
357
  var getCellParams = function getCellParams() {
368
358
  return {
369
359
  value: resolveFieldData(),
@@ -376,42 +366,34 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
376
366
  props: props
377
367
  };
378
368
  };
379
-
380
369
  var getCellCallbackParams = function getCellCallbackParams(event) {
381
370
  var params = getCellParams();
382
371
  return _objectSpread$7({
383
372
  originalEvent: event
384
373
  }, params);
385
374
  };
386
-
387
375
  var resolveFieldData = function resolveFieldData(data) {
388
376
  return ObjectUtils.resolveFieldData(data || props.rowData, field);
389
377
  };
390
-
391
378
  var getEditingRowData = function getEditingRowData() {
392
379
  return props.editingMeta && props.editingMeta[editingKey] ? props.editingMeta[editingKey].data : props.rowData;
393
380
  };
394
-
395
381
  var getTabIndex = function getTabIndex(cellSelected) {
396
382
  return props.allowCellSelection ? cellSelected ? 0 : props.rowIndex === 0 && props.index === 0 ? props.tabIndex : -1 : null;
397
383
  };
398
-
399
384
  var findIndex = function findIndex(collection) {
400
385
  return (collection || []).findIndex(function (data) {
401
386
  return equals(data);
402
387
  });
403
388
  };
404
-
405
389
  var closeCell = function closeCell(event) {
406
390
  var params = getCellCallbackParams(event);
407
391
  var onBeforeCellEditHide = getColumnProp('onBeforeCellEditHide');
408
-
409
392
  if (onBeforeCellEditHide) {
410
393
  onBeforeCellEditHide(params);
411
394
  }
412
- /* When using the 'tab' key, the focus event of the next cell is not called in IE. */
413
-
414
395
 
396
+ /* When using the 'tab' key, the focus event of the next cell is not called in IE. */
415
397
  setTimeout(function () {
416
398
  setEditingState(false);
417
399
  unbindDocumentClickListener();
@@ -420,71 +402,57 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
420
402
  selfClick.current = false;
421
403
  }, 1);
422
404
  };
423
-
424
405
  var switchCellToViewMode = function switchCellToViewMode(event, submit) {
425
406
  var callbackParams = getCellCallbackParams(event);
426
407
  var newRowData = editingRowDataState;
427
408
  var newValue = resolveFieldData(newRowData);
428
-
429
409
  var params = _objectSpread$7(_objectSpread$7({}, callbackParams), {}, {
430
410
  newRowData: newRowData,
431
411
  newValue: newValue
432
412
  });
433
-
434
413
  var onCellEditCancel = getColumnProp('onCellEditCancel');
435
414
  var cellEditValidator = getColumnProp('cellEditValidator');
436
415
  var onCellEditComplete = getColumnProp('onCellEditComplete');
437
-
438
416
  if (!submit && onCellEditCancel) {
439
417
  onCellEditCancel(params);
440
418
  }
441
-
442
419
  var valid = true;
443
-
444
420
  if (cellEditValidator) {
445
421
  valid = cellEditValidator(params);
446
422
  }
447
-
448
423
  if (valid) {
449
424
  if (submit && onCellEditComplete) {
450
425
  onCellEditComplete(params);
451
426
  }
452
-
453
427
  closeCell(event);
454
428
  } else {
455
429
  event.preventDefault();
456
430
  }
457
431
  };
458
-
459
432
  var findNextSelectableCell = function findNextSelectableCell(cell) {
460
433
  var nextCell = cell.nextElementSibling;
461
434
  return nextCell ? DomHandler.hasClass(nextCell, 'p-selectable-cell') ? nextCell : findNextSelectableCell(nextCell) : null;
462
435
  };
463
-
464
436
  var findPrevSelectableCell = function findPrevSelectableCell(cell) {
465
437
  var prevCell = cell.previousElementSibling;
466
438
  return prevCell ? DomHandler.hasClass(prevCell, 'p-selectable-cell') ? prevCell : findPrevSelectableCell(prevCell) : null;
467
439
  };
468
-
469
440
  var findDownSelectableCell = function findDownSelectableCell(cell) {
470
441
  var downRow = cell.parentElement.nextElementSibling;
471
442
  var downCell = downRow ? downRow.children[props.index] : null;
472
443
  return downRow && downCell ? DomHandler.hasClass(downRow, 'p-selectable-row') && DomHandler.hasClass(downCell, 'p-selectable-cell') ? downCell : findDownSelectableCell(downCell) : null;
473
444
  };
474
-
475
445
  var findUpSelectableCell = function findUpSelectableCell(cell) {
476
446
  var upRow = cell.parentElement.previousElementSibling;
477
447
  var upCell = upRow ? upRow.children[props.index] : null;
478
448
  return upRow && upCell ? DomHandler.hasClass(upRow, 'p-selectable-row') && DomHandler.hasClass(upCell, 'p-selectable-cell') ? upCell : findUpSelectableCell(upCell) : null;
479
449
  };
480
-
481
450
  var changeTabIndex = function changeTabIndex(currentCell, nextCell) {
482
451
  if (currentCell && nextCell) {
483
452
  currentCell.tabIndex = -1;
484
453
  nextCell.tabIndex = props.tabIndex;
485
454
  }
486
455
  };
487
-
488
456
  var focusOnElement = function focusOnElement() {
489
457
  clearTimeout(tabindexTimeout.current);
490
458
  tabindexTimeout.current = setTimeout(function () {
@@ -492,11 +460,9 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
492
460
  var focusableEl = props.editMode === 'cell' ? DomHandler.getFirstFocusableElement(elementRef.current, ':not(.p-cell-editor-key-helper)') : DomHandler.findSingle(elementRef.current, '.p-row-editor-save');
493
461
  focusableEl && focusableEl.focus();
494
462
  }
495
-
496
463
  keyHelperRef.current && (keyHelperRef.current.tabIndex = editingState ? -1 : 0);
497
464
  }, 1);
498
465
  };
499
-
500
466
  var focusOnInit = function focusOnInit() {
501
467
  clearTimeout(initFocusTimeout.current);
502
468
  initFocusTimeout.current = setTimeout(function () {
@@ -504,197 +470,163 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
504
470
  focusableEl && focusableEl.focus();
505
471
  }, 1);
506
472
  };
507
-
508
473
  var updateStickyPosition = function updateStickyPosition() {
509
474
  if (getColumnProp('frozen')) {
510
475
  var styleObject = _objectSpread$7({}, styleObjectState);
511
-
512
476
  var align = getColumnProp('alignFrozen');
513
-
514
477
  if (align === 'right') {
515
478
  var right = 0;
516
- var next = elementRef.current.nextElementSibling;
517
-
479
+ var next = elementRef.current && elementRef.current.nextElementSibling;
518
480
  if (next) {
519
481
  right = DomHandler.getOuterWidth(next) + parseFloat(next.style.right || 0);
520
482
  }
521
-
522
483
  styleObject['right'] = right + 'px';
523
484
  } else {
524
485
  var left = 0;
525
- var prev = elementRef.current.previousElementSibling;
526
-
486
+ var prev = elementRef.current && elementRef.current.previousElementSibling;
527
487
  if (prev) {
528
488
  left = DomHandler.getOuterWidth(prev) + parseFloat(prev.style.left || 0);
529
489
  }
530
-
531
490
  styleObject['left'] = left + 'px';
532
491
  }
533
-
534
492
  var isSameStyle = styleObjectState['left'] === styleObject['left'] && styleObjectState['right'] === styleObject['right'];
535
493
  !isSameStyle && setStyleObjectState(styleObject);
536
494
  }
537
495
  };
538
-
539
496
  var editorCallback = function editorCallback(val) {
540
497
  var editingRowData = _objectSpread$7({}, editingRowDataState);
541
-
542
498
  editingRowData[field] = val;
543
- setEditingRowDataState(editingRowData); // update editing meta for complete methods on row mode
499
+ setEditingRowDataState(editingRowData);
544
500
 
545
- props.editingMeta[editingKey].data[field] = val;
501
+ // update editing meta for complete methods on row mode
502
+ var currentData = getEditingRowData();
503
+ if (currentData) {
504
+ currentData[field] = val;
505
+ }
546
506
  };
547
-
548
507
  var onClick = function onClick(event) {
549
508
  var params = getCellCallbackParams(event);
550
-
551
509
  if (props.editMode !== 'row' && isEditable() && !editingState && (props.selectOnEdit || !props.selectOnEdit && props.selected)) {
552
510
  selfClick.current = true;
553
511
  var onBeforeCellEditShow = getColumnProp('onBeforeCellEditShow');
554
512
  var onCellEditInit = getColumnProp('onCellEditInit');
555
513
  var cellEditValidatorEvent = getColumnProp('cellEditValidatorEvent');
556
-
557
514
  if (onBeforeCellEditShow) {
558
515
  onBeforeCellEditShow(params);
559
- } // If the data is sorted using sort icon, it has been added to wait for the sort operation when any cell is wanted to be opened.
560
-
516
+ }
561
517
 
518
+ // If the data is sorted using sort icon, it has been added to wait for the sort operation when any cell is wanted to be opened.
562
519
  setTimeout(function () {
563
520
  setEditingState(true);
564
-
565
521
  if (onCellEditInit) {
566
522
  onCellEditInit(params);
567
523
  }
568
-
569
524
  if (cellEditValidatorEvent === 'click') {
570
525
  bindDocumentClickListener();
571
-
572
526
  overlayEventListener.current = function (e) {
573
527
  if (!isOutsideClicked(e.target)) {
574
528
  selfClick.current = true;
575
529
  }
576
530
  };
577
-
578
531
  OverlayService.on('overlay-click', overlayEventListener.current);
579
532
  }
580
533
  }, 1);
581
534
  }
582
-
583
535
  if (props.allowCellSelection && props.onClick) {
584
536
  props.onClick(params);
585
537
  }
586
538
  };
587
-
588
539
  var onMouseDown = function onMouseDown(event) {
589
540
  var params = getCellCallbackParams(event);
590
541
  props.onMouseDown && props.onMouseDown(params);
591
542
  };
592
-
593
543
  var onMouseUp = function onMouseUp(event) {
594
544
  var params = getCellCallbackParams(event);
595
545
  props.onMouseUp && props.onMouseUp(params);
596
546
  };
597
-
598
547
  var onKeyDown = function onKeyDown(event) {
599
548
  if (props.editMode !== 'row') {
600
549
  if (event.which === 13 || event.which === 9) {
601
550
  // tab || enter
602
551
  switchCellToViewMode(event, true);
603
552
  }
604
-
605
553
  if (event.which === 27) {
606
554
  // escape
607
555
  switchCellToViewMode(event, false);
608
556
  }
609
557
  }
610
-
611
558
  if (props.allowCellSelection) {
612
559
  var target = event.target,
613
- cell = event.currentTarget;
614
-
560
+ cell = event.currentTarget;
615
561
  switch (event.which) {
616
562
  //left arrow
617
563
  case 37:
618
564
  var prevCell = findPrevSelectableCell(cell);
619
-
620
565
  if (prevCell) {
621
566
  changeTabIndex(cell, prevCell);
622
567
  prevCell.focus();
623
568
  }
624
-
625
569
  event.preventDefault();
626
570
  break;
627
- //right arrow
628
571
 
572
+ //right arrow
629
573
  case 39:
630
574
  var nextCell = findNextSelectableCell(cell);
631
-
632
575
  if (nextCell) {
633
576
  changeTabIndex(cell, nextCell);
634
577
  nextCell.focus();
635
578
  }
636
-
637
579
  event.preventDefault();
638
580
  break;
639
- //up arrow
640
581
 
582
+ //up arrow
641
583
  case 38:
642
584
  var upCell = findUpSelectableCell(cell);
643
-
644
585
  if (upCell) {
645
586
  changeTabIndex(cell, upCell);
646
587
  upCell.focus();
647
588
  }
648
-
649
589
  event.preventDefault();
650
590
  break;
651
- //down arrow
652
591
 
592
+ //down arrow
653
593
  case 40:
654
594
  var downCell = findDownSelectableCell(cell);
655
-
656
595
  if (downCell) {
657
596
  changeTabIndex(cell, downCell);
658
597
  downCell.focus();
659
598
  }
660
-
661
599
  event.preventDefault();
662
600
  break;
663
- //enter
664
601
 
602
+ //enter
665
603
  case 13:
666
604
  // @deprecated
667
605
  if (!DomHandler.isClickable(target)) {
668
606
  onClick(event);
669
607
  event.preventDefault();
670
608
  }
671
-
672
609
  break;
673
- //space
674
610
 
611
+ //space
675
612
  case 32:
676
613
  if (!DomHandler.isClickable(target) && !target.readOnly) {
677
614
  onClick(event);
678
615
  event.preventDefault();
679
616
  }
680
-
681
617
  break;
682
618
  }
683
619
  }
684
620
  };
685
-
686
621
  var onBlur = function onBlur(event) {
687
622
  selfClick.current = false;
688
-
689
623
  if (props.editMode !== 'row' && editingState && getColumnProp('cellEditValidatorEvent') === 'blur') {
690
624
  switchCellToViewMode(event, true);
691
625
  }
692
626
  };
693
-
694
627
  var onEditorFocus = function onEditorFocus(event) {
695
628
  onClick(event);
696
629
  };
697
-
698
630
  var onRadioChange = function onRadioChange(event) {
699
631
  props.onRadioChange({
700
632
  originalEvent: event,
@@ -702,7 +634,6 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
702
634
  index: props.rowIndex
703
635
  });
704
636
  };
705
-
706
637
  var onCheckboxChange = function onCheckboxChange(event) {
707
638
  props.onCheckboxChange({
708
639
  originalEvent: event,
@@ -710,7 +641,6 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
710
641
  index: props.rowIndex
711
642
  });
712
643
  };
713
-
714
644
  var onRowToggle = function onRowToggle(event) {
715
645
  props.onRowToggle({
716
646
  originalEvent: event,
@@ -718,7 +648,6 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
718
648
  });
719
649
  event.preventDefault();
720
650
  };
721
-
722
651
  var onRowEditInit = function onRowEditInit(event) {
723
652
  props.onRowEditInit({
724
653
  originalEvent: event,
@@ -728,7 +657,6 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
728
657
  index: props.rowIndex
729
658
  });
730
659
  };
731
-
732
660
  var onRowEditSave = function onRowEditSave(event) {
733
661
  props.onRowEditSave({
734
662
  originalEvent: event,
@@ -739,7 +667,6 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
739
667
  });
740
668
  focusOnInit();
741
669
  };
742
-
743
670
  var onRowEditCancel = function onRowEditCancel(event) {
744
671
  props.onRowEditCancel({
745
672
  originalEvent: event,
@@ -750,12 +677,10 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
750
677
  });
751
678
  focusOnInit();
752
679
  };
753
-
754
680
  React.useEffect(function () {
755
681
  if (getColumnProp('frozen')) {
756
682
  updateStickyPosition();
757
683
  }
758
-
759
684
  if (props.editMode === 'cell' || props.editMode === 'row') {
760
685
  focusOnElement();
761
686
  }
@@ -765,17 +690,16 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
765
690
  setEditingRowDataState(getEditingRowData());
766
691
  }
767
692
  }, [props.editingMeta]);
768
- useUpdateEffect(function () {
693
+ React.useEffect(function () {
769
694
  if (props.editMode === 'cell' || props.editMode === 'row') {
770
695
  var callbackParams = getCellCallbackParams();
771
-
772
696
  var params = _objectSpread$7(_objectSpread$7({}, callbackParams), {}, {
773
697
  editing: editingState,
774
698
  editingKey: editingKey
775
699
  });
776
-
777
700
  props.onEditingMetaChange(params);
778
701
  }
702
+ // eslint-disable-next-line react-hooks/exhaustive-deps
779
703
  }, [editingState]);
780
704
  useUnmountEffect(function () {
781
705
  if (overlayEventListener.current) {
@@ -783,7 +707,6 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
783
707
  overlayEventListener.current = null;
784
708
  }
785
709
  });
786
-
787
710
  var createLoading = function createLoading() {
788
711
  var options = getVirtualScrollerOption('getLoaderOptions')(props.rowIndex, {
789
712
  cellIndex: props.index,
@@ -797,7 +720,6 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
797
720
  var content = ObjectUtils.getJSXElement(getVirtualScrollerOption('loadingTemplate'), options);
798
721
  return /*#__PURE__*/React.createElement("td", null, content);
799
722
  };
800
-
801
723
  var createElement = function createElement() {
802
724
  var content, editorKeyHelper;
803
725
  var cellSelected = props.allowCellSelection && isSelected();
@@ -839,20 +761,17 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
839
761
  }, ObjectUtils.getJSXElement(header, {
840
762
  props: props.tableProps
841
763
  }));
842
-
843
764
  if (selectionMode) {
844
765
  var showSelection = props.showSelectionElement ? props.showSelectionElement(props.rowData, {
845
766
  rowIndex: props.rowIndex,
846
767
  props: props.tableProps
847
768
  }) : true;
848
769
  var label;
849
-
850
770
  if (showSelection) {
851
771
  var ariaLabelField = props.selectionAriaLabel || props.tableProps.dataKey;
852
772
  var ariaLabelText = ObjectUtils.resolveFieldData(props.rowData, ariaLabelField);
853
773
  label = "".concat(props.selected ? ariaLabel('unselectLabel') : ariaLabel('selectLabel'), " ").concat(ariaLabelText);
854
774
  }
855
-
856
775
  content = showSelection && /*#__PURE__*/React.createElement(React.Fragment, null, selectionMode === 'single' && /*#__PURE__*/React.createElement(RowRadioButton, {
857
776
  checked: props.selected,
858
777
  onChange: onRadioChange,
@@ -876,13 +795,9 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
876
795
  } else if (expander) {
877
796
  var iconClassName = classNames('p-row-toggler-icon', props.expanded ? props.expandedRowIcon : props.collapsedRowIcon);
878
797
  var ariaControls = "".concat(props.tableSelector, "_content_").concat(props.rowIndex, "_expanded");
879
-
880
798
  var _ariaLabelField = props.selectionAriaLabel || props.tableProps.dataKey;
881
-
882
799
  var _ariaLabelText = ObjectUtils.resolveFieldData(props.rowData, _ariaLabelField);
883
-
884
800
  var _label = "".concat(props.expanded ? ariaLabel('collapseLabel') : ariaLabel('expandLabel'), " ").concat(_ariaLabelText);
885
-
886
801
  var expanderProps = {
887
802
  onClick: onRowToggle,
888
803
  className: 'p-row-toggler p-link',
@@ -900,7 +815,6 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
900
815
  className: expanderProps.iconClassName,
901
816
  "aria-hidden": "true"
902
817
  }), /*#__PURE__*/React.createElement(Ripple, null));
903
-
904
818
  if (body) {
905
819
  expanderProps['element'] = content;
906
820
  content = ObjectUtils.getJSXElement(body, props.rowData, {
@@ -914,7 +828,6 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
914
828
  }
915
829
  } else if (isRowEditor && rowEditor) {
916
830
  var rowEditorProps = {};
917
-
918
831
  if (editingState) {
919
832
  rowEditorProps = {
920
833
  editing: true,
@@ -959,7 +872,6 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
959
872
  className: rowEditorProps.initIconClassName
960
873
  }), /*#__PURE__*/React.createElement(Ripple, null));
961
874
  }
962
-
963
875
  if (body) {
964
876
  rowEditorProps['element'] = content;
965
877
  content = ObjectUtils.getJSXElement(body, props.rowData, {
@@ -993,9 +905,7 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
993
905
  } else {
994
906
  content = value;
995
907
  }
996
-
997
908
  content = typeof content == 'boolean' ? content.toString() : content;
998
-
999
909
  if (!isRowEditor && editor) {
1000
910
  /* eslint-disable */
1001
911
  editorKeyHelper = /*#__PURE__*/React.createElement("a", {
@@ -1021,108 +931,87 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
1021
931
  onMouseUp: onMouseUp
1022
932
  }, editorKeyHelper, title, content);
1023
933
  };
1024
-
1025
934
  return getVirtualScrollerOption('loading') ? createLoading() : createElement();
1026
935
  });
1027
936
  BodyCell.displayName = 'BodyCell';
1028
937
 
1029
938
  function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1030
-
1031
939
  function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1032
940
  var BodyRow = /*#__PURE__*/React.memo(function (props) {
1033
941
  var _React$useState = React.useState(false),
1034
- _React$useState2 = _slicedToArray(_React$useState, 2),
1035
- editingState = _React$useState2[0],
1036
- setEditingState = _React$useState2[1];
1037
-
942
+ _React$useState2 = _slicedToArray(_React$useState, 2),
943
+ editingState = _React$useState2[0],
944
+ setEditingState = _React$useState2[1];
1038
945
  var editing = props.onRowEditChange ? props.editing : editingState;
1039
-
1040
946
  var isFocusable = function isFocusable() {
1041
947
  return props.selectionMode && props.selectionModeInColumn !== 'single' && props.selectionModeInColumn !== 'multiple';
1042
948
  };
1043
-
1044
949
  var isGrouped = function isGrouped(column) {
1045
950
  if (props.groupRowsBy && getColumnProp(column, 'field')) {
1046
951
  return Array.isArray(props.groupRowsBy) ? props.groupRowsBy.indexOf(column.props.field) > -1 : props.groupRowsBy === column.props.field;
1047
952
  }
1048
-
1049
953
  return false;
1050
954
  };
1051
-
1052
955
  var equals = function equals(data1, data2) {
1053
956
  return props.compareSelectionBy === 'equals' ? data1 === data2 : ObjectUtils.equals(data1, data2, props.dataKey);
1054
957
  };
1055
-
1056
958
  var getColumnProp = function getColumnProp(col, prop) {
1057
959
  return col ? col.props[prop] : null;
1058
960
  };
1059
-
1060
961
  var getTabIndex = function getTabIndex() {
1061
962
  return isFocusable() && !props.allowCellSelection ? props.index === 0 ? props.tabIndex : -1 : null;
1062
963
  };
1063
-
1064
964
  var findIndex = function findIndex(collection, rowData) {
1065
965
  return (collection || []).findIndex(function (data) {
1066
966
  return equals(rowData, data);
1067
967
  });
1068
968
  };
1069
-
1070
969
  var changeTabIndex = function changeTabIndex(currentRow, nextRow) {
1071
970
  if (currentRow && nextRow) {
1072
971
  currentRow.tabIndex = -1;
1073
972
  nextRow.tabIndex = props.tabIndex;
1074
973
  }
1075
974
  };
1076
-
1077
975
  var findNextSelectableRow = function findNextSelectableRow(row) {
1078
976
  var nextRow = row.nextElementSibling;
1079
977
  return nextRow ? DomHandler.hasClass(nextRow, 'p-selectable-row') ? nextRow : findNextSelectableRow(nextRow) : null;
1080
978
  };
1081
-
1082
979
  var findPrevSelectableRow = function findPrevSelectableRow(row) {
1083
980
  var prevRow = row.previousElementSibling;
1084
981
  return prevRow ? DomHandler.hasClass(prevRow, 'p-selectable-row') ? prevRow : findPrevSelectableRow(prevRow) : null;
1085
982
  };
1086
-
1087
983
  var shouldRenderBodyCell = function shouldRenderBodyCell(value, column, i) {
1088
984
  if (getColumnProp(column, 'hidden')) {
1089
985
  return false;
1090
986
  } else if (props.rowGroupMode && props.rowGroupMode === 'rowspan' && isGrouped(column)) {
1091
987
  var prevRowData = value[i - 1];
1092
-
1093
988
  if (prevRowData) {
1094
989
  var currentRowFieldData = ObjectUtils.resolveFieldData(value[i], getColumnProp(column, 'field'));
1095
990
  var previousRowFieldData = ObjectUtils.resolveFieldData(prevRowData, getColumnProp(column, 'field'));
1096
991
  return currentRowFieldData !== previousRowFieldData;
1097
992
  }
1098
993
  }
1099
-
1100
994
  return true;
1101
995
  };
1102
-
1103
996
  var calculateRowGroupSize = function calculateRowGroupSize(value, column, index) {
1104
997
  if (isGrouped(column)) {
1105
998
  var currentRowFieldData = ObjectUtils.resolveFieldData(value[index], getColumnProp(column, 'field'));
1106
999
  var nextRowFieldData = currentRowFieldData;
1107
1000
  var groupRowSpan = 0;
1108
-
1109
1001
  while (currentRowFieldData === nextRowFieldData) {
1110
1002
  groupRowSpan++;
1111
1003
  var nextRowData = value[++index];
1112
-
1113
1004
  if (nextRowData) {
1114
1005
  nextRowFieldData = ObjectUtils.resolveFieldData(nextRowData, getColumnProp(column, 'field'));
1115
1006
  } else {
1116
1007
  break;
1117
1008
  }
1118
1009
  }
1119
-
1120
1010
  return groupRowSpan === 1 ? null : groupRowSpan;
1121
1011
  } else {
1122
1012
  return null;
1123
1013
  }
1124
1014
  };
1125
-
1126
1015
  var onClick = function onClick(event) {
1127
1016
  props.onRowClick({
1128
1017
  originalEvent: event,
@@ -1130,7 +1019,6 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
1130
1019
  index: props.index
1131
1020
  });
1132
1021
  };
1133
-
1134
1022
  var onDoubleClick = function onDoubleClick(event) {
1135
1023
  props.onRowDoubleClick({
1136
1024
  originalEvent: event,
@@ -1138,7 +1026,6 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
1138
1026
  index: props.index
1139
1027
  });
1140
1028
  };
1141
-
1142
1029
  var onRightClick = function onRightClick(event) {
1143
1030
  props.onRowRightClick({
1144
1031
  originalEvent: event,
@@ -1146,63 +1033,67 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
1146
1033
  index: props.index
1147
1034
  });
1148
1035
  };
1149
-
1036
+ var onMouseEnter = function onMouseEnter(event) {
1037
+ props.onRowMouseEnter({
1038
+ originalEvent: event,
1039
+ data: props.rowData,
1040
+ index: props.index
1041
+ });
1042
+ };
1043
+ var onMouseLeave = function onMouseLeave(event) {
1044
+ props.onRowMouseLeave({
1045
+ originalEvent: event,
1046
+ data: props.rowData,
1047
+ index: props.index
1048
+ });
1049
+ };
1150
1050
  var onTouchEnd = function onTouchEnd(event) {
1151
1051
  props.onRowTouchEnd(event);
1152
1052
  };
1153
-
1154
1053
  var onKeyDown = function onKeyDown(event) {
1155
1054
  if (isFocusable() && !props.allowCellSelection) {
1156
1055
  var target = event.target,
1157
- row = event.currentTarget;
1158
-
1056
+ row = event.currentTarget;
1159
1057
  switch (event.which) {
1160
1058
  //down arrow
1161
1059
  case 40:
1162
1060
  var nextRow = findNextSelectableRow(row);
1163
-
1164
1061
  if (nextRow) {
1165
1062
  changeTabIndex(row, nextRow);
1166
1063
  nextRow.focus();
1167
1064
  }
1168
-
1169
1065
  event.preventDefault();
1170
1066
  break;
1171
- //up arrow
1172
1067
 
1068
+ //up arrow
1173
1069
  case 38:
1174
1070
  var prevRow = findPrevSelectableRow(row);
1175
-
1176
1071
  if (prevRow) {
1177
1072
  changeTabIndex(row, prevRow);
1178
1073
  prevRow.focus();
1179
1074
  }
1180
-
1181
1075
  event.preventDefault();
1182
1076
  break;
1183
- //enter
1184
1077
 
1078
+ //enter
1185
1079
  case 13:
1186
1080
  // @deprecated
1187
1081
  if (!DomHandler.isClickable(target)) {
1188
1082
  onClick(event);
1189
1083
  event.preventDefault();
1190
1084
  }
1191
-
1192
1085
  break;
1193
- //space
1194
1086
 
1087
+ //space
1195
1088
  case 32:
1196
1089
  if (!DomHandler.isClickable(target) && !target.readOnly) {
1197
1090
  onClick(event);
1198
1091
  event.preventDefault();
1199
1092
  }
1200
-
1201
1093
  break;
1202
1094
  }
1203
1095
  }
1204
1096
  };
1205
-
1206
1097
  var onMouseDown = function onMouseDown(event) {
1207
1098
  props.onRowMouseDown({
1208
1099
  originalEvent: event,
@@ -1210,7 +1101,6 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
1210
1101
  index: props.index
1211
1102
  });
1212
1103
  };
1213
-
1214
1104
  var onMouseUp = function onMouseUp(event) {
1215
1105
  props.onRowMouseUp({
1216
1106
  originalEvent: event,
@@ -1218,7 +1108,6 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
1218
1108
  index: props.index
1219
1109
  });
1220
1110
  };
1221
-
1222
1111
  var onDragStart = function onDragStart(event) {
1223
1112
  props.onRowDragStart({
1224
1113
  originalEvent: event,
@@ -1226,7 +1115,6 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
1226
1115
  index: props.index
1227
1116
  });
1228
1117
  };
1229
-
1230
1118
  var onDragOver = function onDragOver(event) {
1231
1119
  props.onRowDragOver({
1232
1120
  originalEvent: event,
@@ -1234,7 +1122,6 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
1234
1122
  index: props.index
1235
1123
  });
1236
1124
  };
1237
-
1238
1125
  var onDragLeave = function onDragLeave(event) {
1239
1126
  props.onRowDragLeave({
1240
1127
  originalEvent: event,
@@ -1242,7 +1129,6 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
1242
1129
  index: props.index
1243
1130
  });
1244
1131
  };
1245
-
1246
1132
  var onDragEnd = function onDragEnd(event) {
1247
1133
  props.onRowDragEnd({
1248
1134
  originalEvent: event,
@@ -1250,7 +1136,6 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
1250
1136
  index: props.index
1251
1137
  });
1252
1138
  };
1253
-
1254
1139
  var onDrop = function onDrop(event) {
1255
1140
  props.onRowDrop({
1256
1141
  originalEvent: event,
@@ -1258,23 +1143,20 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
1258
1143
  index: props.index
1259
1144
  });
1260
1145
  };
1261
-
1262
1146
  var onEditChange = function onEditChange(e, isEditing) {
1263
1147
  if (props.onRowEditChange) {
1264
1148
  var editingRows;
1265
1149
  var dataKey = props.dataKey;
1266
1150
  var originalEvent = e.originalEvent,
1267
- data = e.data,
1268
- index = e.index,
1269
- newData = e.newData;
1270
-
1151
+ data = e.data,
1152
+ index = e.index,
1153
+ newData = e.newData;
1271
1154
  if (dataKey) {
1272
1155
  var dataKeyValue = String(ObjectUtils.resolveFieldData(data, dataKey));
1273
1156
  editingRows = props.editingRows ? _objectSpread$6({}, props.editingRows) : {};
1274
-
1275
1157
  if (!isEditing) {
1276
- delete editingRows[dataKeyValue]; // if the key value was changed, stop editing for the new key value too
1277
-
1158
+ delete editingRows[dataKeyValue];
1159
+ // if the key value was changed, stop editing for the new key value too
1278
1160
  var newDataKeyValue = String(ObjectUtils.resolveFieldData(newData, dataKey));
1279
1161
  delete editingRows[newDataKeyValue];
1280
1162
  } else {
@@ -1287,7 +1169,6 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
1287
1169
  return i !== editingRowIndex;
1288
1170
  });else editingRows.push(data);
1289
1171
  }
1290
-
1291
1172
  props.onRowEditChange({
1292
1173
  originalEvent: originalEvent,
1293
1174
  data: editingRows,
@@ -1297,10 +1178,8 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
1297
1178
  setEditingState(isEditing);
1298
1179
  }
1299
1180
  };
1300
-
1301
1181
  var onEditInit = function onEditInit(e) {
1302
1182
  var event = e.originalEvent;
1303
-
1304
1183
  if (props.onRowEditInit) {
1305
1184
  props.onRowEditInit({
1306
1185
  originalEvent: event,
@@ -1308,18 +1187,15 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
1308
1187
  index: props.index
1309
1188
  });
1310
1189
  }
1311
-
1312
1190
  onEditChange(e, true);
1313
1191
  event.preventDefault();
1314
1192
  };
1315
-
1316
1193
  var onEditSave = function onEditSave(e) {
1317
1194
  var event = e.originalEvent,
1318
- newData = e.newData;
1195
+ newData = e.newData;
1319
1196
  var valid = props.rowEditValidator ? props.rowEditValidator(newData, {
1320
1197
  props: props.tableProps
1321
1198
  }) : true;
1322
-
1323
1199
  if (props.onRowEditSave) {
1324
1200
  props.onRowEditSave({
1325
1201
  originalEvent: event,
@@ -1328,21 +1204,16 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
1328
1204
  valid: valid
1329
1205
  });
1330
1206
  }
1331
-
1332
1207
  if (valid) {
1333
1208
  if (props.onRowEditComplete) {
1334
1209
  props.onRowEditComplete(e);
1335
1210
  }
1336
-
1337
1211
  onEditChange(e, false);
1338
1212
  }
1339
-
1340
1213
  event.preventDefault();
1341
1214
  };
1342
-
1343
1215
  var onEditCancel = function onEditCancel(e) {
1344
1216
  var event = e.originalEvent;
1345
-
1346
1217
  if (props.onRowEditCancel) {
1347
1218
  props.onRowEditCancel({
1348
1219
  originalEvent: event,
@@ -1350,11 +1221,9 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
1350
1221
  index: props.index
1351
1222
  });
1352
1223
  }
1353
-
1354
1224
  onEditChange(e, false);
1355
1225
  event.preventDefault();
1356
1226
  };
1357
-
1358
1227
  var createContent = function createContent() {
1359
1228
  return props.columns.map(function (col, i) {
1360
1229
  if (shouldRenderBodyCell(props.value, col, props.index)) {
@@ -1403,16 +1272,14 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
1403
1272
  virtualScrollerOptions: props.virtualScrollerOptions
1404
1273
  });
1405
1274
  }
1406
-
1407
1275
  return null;
1408
1276
  });
1409
1277
  };
1410
-
1411
1278
  var rowClassName = ObjectUtils.getPropValue(props.rowClassName, props.rowData, {
1412
1279
  props: props.tableProps
1413
1280
  });
1414
1281
  var className = classNames(rowClassName, {
1415
- 'p-highlight': !props.allowCellSelection && props.selected,
1282
+ 'p-highlight': !props.allowCellSelection && props.selected || props.contextMenuSelected,
1416
1283
  'p-highlight-contextmenu': props.contextMenuSelected,
1417
1284
  'p-selectable-row': props.allowRowSelection && props.isSelectable({
1418
1285
  data: props.rowData,
@@ -1432,6 +1299,8 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
1432
1299
  style: style,
1433
1300
  onMouseDown: onMouseDown,
1434
1301
  onMouseUp: onMouseUp,
1302
+ onMouseEnter: onMouseEnter,
1303
+ onMouseLeave: onMouseLeave,
1435
1304
  onClick: onClick,
1436
1305
  onDoubleClick: onDoubleClick,
1437
1306
  onContextMenu: onRightClick,
@@ -1453,7 +1322,6 @@ var RowTogglerButton = /*#__PURE__*/React.memo(function (props) {
1453
1322
  data: props.rowData
1454
1323
  });
1455
1324
  };
1456
-
1457
1325
  var iconClassName = classNames('p-row-toggler-icon', props.expanded ? props.expandedRowIcon : props.collapsedRowIcon);
1458
1326
  var label = props.expanded ? ariaLabel('collapseLabel') : ariaLabel('expandLabel');
1459
1327
  return /*#__PURE__*/React.createElement("button", {
@@ -1470,16 +1338,13 @@ var RowTogglerButton = /*#__PURE__*/React.memo(function (props) {
1470
1338
  RowTogglerButton.displayName = 'RowTogglerButton';
1471
1339
 
1472
1340
  var _excluded = ["originalEvent"];
1473
-
1474
1341
  function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1475
-
1476
1342
  function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1477
1343
  var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (props, ref) {
1478
1344
  var _React$useState = React.useState({}),
1479
- _React$useState2 = _slicedToArray(_React$useState, 2),
1480
- rowGroupHeaderStyleObjectState = _React$useState2[0],
1481
- setRowGroupHeaderStyleObjectState = _React$useState2[1];
1482
-
1345
+ _React$useState2 = _slicedToArray(_React$useState, 2),
1346
+ rowGroupHeaderStyleObjectState = _React$useState2[0],
1347
+ setRowGroupHeaderStyleObjectState = _React$useState2[1];
1483
1348
  var elementRef = React.useRef(null);
1484
1349
  var refCallback = React.useCallback(function (el) {
1485
1350
  elementRef.current = el;
@@ -1501,53 +1366,41 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
1501
1366
  var isCheckboxSelectionMode = props.selectionMode === 'checkbox';
1502
1367
  var isRadioSelectionModeInColumn = props.selectionModeInColumn === 'single';
1503
1368
  var isCheckboxSelectionModeInColumn = props.selectionModeInColumn === 'multiple';
1504
-
1505
1369
  var equals = function equals(data1, data2) {
1506
1370
  if (allowCellSelection()) return (data1.rowIndex === data2.rowIndex || data1.rowData === data2.rowData) && (data1.field === data2.field || data1.cellIndex === data2.cellIndex);else return props.compareSelectionBy === 'equals' ? data1 === data2 : ObjectUtils.equals(data1, data2, props.dataKey);
1507
1371
  };
1508
-
1509
1372
  var isSelectionEnabled = function isSelectionEnabled() {
1510
1373
  return props.selectionMode || props.selectionModeInColumn !== null || props.columns && props.columns.some(function (col) {
1511
1374
  return col && !!col.props.selectionMode;
1512
1375
  });
1513
1376
  };
1514
-
1515
1377
  var isSingleSelection = function isSingleSelection() {
1516
1378
  return props.selectionMode === 'single' && !isCheckboxSelectionModeInColumn || !isRadioSelectionMode && isRadioSelectionModeInColumn;
1517
1379
  };
1518
-
1519
1380
  var isMultipleSelection = function isMultipleSelection() {
1520
1381
  return props.selectionMode === 'multiple' && !isRadioSelectionModeInColumn || isCheckboxSelectionModeInColumn;
1521
1382
  };
1522
-
1523
1383
  var isRadioOnlySelection = function isRadioOnlySelection() {
1524
1384
  return isRadioSelectionMode && isRadioSelectionModeInColumn;
1525
1385
  };
1526
-
1527
1386
  var isCheckboxOnlySelection = function isCheckboxOnlySelection() {
1528
1387
  return isCheckboxSelectionMode && isCheckboxSelectionModeInColumn;
1529
1388
  };
1530
-
1531
1389
  var isSelected = function isSelected(rowData) {
1532
1390
  if (rowData && props.selection) {
1533
1391
  return props.selection instanceof Array ? findIndex(props.selection, rowData) > -1 : equals(rowData, props.selection);
1534
1392
  }
1535
-
1536
1393
  return false;
1537
1394
  };
1538
-
1539
1395
  var isContextMenuSelected = function isContextMenuSelected(rowData) {
1540
1396
  if (rowData && props.contextMenuSelection) {
1541
1397
  return equals(rowData, props.contextMenuSelection);
1542
1398
  }
1543
-
1544
1399
  return false;
1545
1400
  };
1546
-
1547
1401
  var isSelectable = function isSelectable(options) {
1548
1402
  return props.isDataSelectable ? props.isDataSelectable(options) : true;
1549
1403
  };
1550
-
1551
1404
  var isRowExpanded = function isRowExpanded(rowData) {
1552
1405
  if (rowData && props.expandedRows) {
1553
1406
  if (isSubheaderGrouping && props.expandableRowGroups) {
@@ -1556,10 +1409,8 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
1556
1409
  if (props.dataKey) return props.expandedRows ? props.expandedRows[ObjectUtils.resolveFieldData(rowData, props.dataKey)] !== undefined : false;else return findIndex(props.expandedRows, rowData) !== -1;
1557
1410
  }
1558
1411
  }
1559
-
1560
1412
  return false;
1561
1413
  };
1562
-
1563
1414
  var isRowGroupExpanded = function isRowGroupExpanded(rowData) {
1564
1415
  if (props.dataKey === props.groupRowsBy) return Object.keys(props.expandedRows).some(function (data) {
1565
1416
  return ObjectUtils.equals(data, ObjectUtils.resolveFieldData(rowData, props.dataKey));
@@ -1567,80 +1418,62 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
1567
1418
  return ObjectUtils.equals(data, rowData, props.groupRowsBy);
1568
1419
  });
1569
1420
  };
1570
-
1571
1421
  var isRowEditing = function isRowEditing(rowData) {
1572
1422
  if (props.editMode === 'row' && rowData && props.editingRows) {
1573
1423
  if (props.dataKey) return props.editingRows ? props.editingRows[ObjectUtils.resolveFieldData(rowData, props.dataKey)] !== undefined : false;else return findIndex(props.editingRows, rowData) !== -1;
1574
1424
  }
1575
-
1576
1425
  return false;
1577
1426
  };
1578
-
1579
1427
  var allowDrag = function allowDrag(event) {
1580
1428
  return props.dragSelection && isMultipleSelection() && !event.originalEvent.shiftKey;
1581
1429
  };
1582
-
1583
1430
  var allowRowDrag = function allowRowDrag(event) {
1584
1431
  return !allowCellSelection() && allowDrag(event) || props.reorderableRows;
1585
1432
  };
1586
-
1587
1433
  var allowCellDrag = function allowCellDrag(event) {
1588
1434
  return allowCellSelection() && allowDrag(event);
1589
1435
  };
1590
-
1591
1436
  var allowSelection = function allowSelection(event) {
1592
1437
  return !DomHandler.isClickable(event.originalEvent.target);
1593
1438
  };
1594
-
1595
1439
  var allowMetaKeySelection = function allowMetaKeySelection(event) {
1596
1440
  return !rowTouched.current && (!props.metaKeySelection || props.metaKeySelection && (event.originalEvent.metaKey || event.originalEvent.ctrlKey));
1597
1441
  };
1598
-
1599
1442
  var allowRangeSelection = function allowRangeSelection(event) {
1600
1443
  return isMultipleSelection() && event.originalEvent.shiftKey && anchorRowIndex.current !== null;
1601
1444
  };
1602
-
1603
1445
  var allowRowSelection = function allowRowSelection() {
1604
1446
  return (props.selectionMode || props.selectionModeInColumn) && !isRadioOnlySelection() && !isCheckboxOnlySelection();
1605
1447
  };
1606
-
1607
1448
  var allowCellSelection = function allowCellSelection() {
1608
1449
  return props.cellSelection && !isRadioSelectionModeInColumn && !isCheckboxSelectionModeInColumn;
1609
1450
  };
1610
-
1611
1451
  var getColumnsLength = function getColumnsLength() {
1612
1452
  return props.columns ? props.columns.length : 0;
1613
1453
  };
1614
-
1615
1454
  var getVirtualScrollerOption = function getVirtualScrollerOption(option, options) {
1616
1455
  options = options || props.virtualScrollerOptions;
1617
1456
  return options ? options[option] : null;
1618
1457
  };
1619
-
1620
1458
  var findIndex = function findIndex(collection, rowData) {
1621
1459
  return (collection || []).findIndex(function (data) {
1622
1460
  return equals(rowData, data);
1623
1461
  });
1624
1462
  };
1625
-
1626
1463
  var rowGroupHeaderStyle = function rowGroupHeaderStyle() {
1627
1464
  if (props.scrollable) {
1628
1465
  return {
1629
1466
  top: rowGroupHeaderStyleObjectState['top']
1630
1467
  };
1631
1468
  }
1632
-
1633
1469
  return null;
1634
1470
  };
1635
-
1636
1471
  var getRowKey = function getRowKey(rowData, index) {
1637
- return props.dataKey ? ObjectUtils.resolveFieldData(rowData, props.dataKey) + '_' + index : index;
1472
+ return props.dataKey ? ObjectUtils.resolveFieldData(rowData, props.dataKey) : index;
1638
1473
  };
1639
-
1640
1474
  var shouldRenderRowGroupHeader = function shouldRenderRowGroupHeader(value, rowData, i) {
1641
1475
  var currentRowFieldData = ObjectUtils.resolveFieldData(rowData, props.groupRowsBy);
1642
1476
  var prevRowData = value[i - 1];
1643
-
1644
1477
  if (prevRowData) {
1645
1478
  var previousRowFieldData = ObjectUtils.resolveFieldData(prevRowData, props.groupRowsBy);
1646
1479
  return currentRowFieldData !== previousRowFieldData;
@@ -1648,14 +1481,12 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
1648
1481
  return true;
1649
1482
  }
1650
1483
  };
1651
-
1652
1484
  var shouldRenderRowGroupFooter = function shouldRenderRowGroupFooter(value, rowData, i, expanded) {
1653
1485
  if (props.expandableRowGroups && !expanded) {
1654
1486
  return false;
1655
1487
  } else {
1656
1488
  var currentRowFieldData = ObjectUtils.resolveFieldData(rowData, props.groupRowsBy);
1657
1489
  var nextRowData = value[i + 1];
1658
-
1659
1490
  if (nextRowData) {
1660
1491
  var nextRowFieldData = ObjectUtils.resolveFieldData(nextRowData, props.groupRowsBy);
1661
1492
  return currentRowFieldData !== nextRowFieldData;
@@ -1664,44 +1495,36 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
1664
1495
  }
1665
1496
  }
1666
1497
  };
1667
-
1668
1498
  var updateFrozenRowStickyPosition = function updateFrozenRowStickyPosition() {
1669
1499
  elementRef.current.style.top = DomHandler.getOuterHeight(elementRef.current.previousElementSibling) + 'px';
1670
1500
  };
1671
-
1672
1501
  var updateFrozenRowGroupHeaderStickyPosition = function updateFrozenRowGroupHeaderStickyPosition() {
1673
1502
  var tableHeaderHeight = DomHandler.getOuterHeight(elementRef.current.previousElementSibling);
1674
1503
  var top = tableHeaderHeight + 'px';
1675
-
1676
1504
  if (rowGroupHeaderStyleObjectState.top !== top) {
1677
1505
  setRowGroupHeaderStyleObjectState({
1678
1506
  top: top
1679
1507
  });
1680
1508
  }
1681
1509
  };
1682
-
1683
1510
  var updateVirtualScrollerPosition = function updateVirtualScrollerPosition() {
1684
1511
  var tableHeaderHeight = DomHandler.getOuterHeight(elementRef.current.previousElementSibling);
1685
1512
  elementRef.current.style.top = (elementRef.current.style.top || 0) + tableHeaderHeight + 'px';
1686
1513
  };
1687
-
1688
1514
  var onSingleSelection = function onSingleSelection(_ref) {
1689
1515
  var originalEvent = _ref.originalEvent,
1690
- data = _ref.data,
1691
- index = _ref.index,
1692
- toggleable = _ref.toggleable,
1693
- type = _ref.type;
1694
-
1516
+ data = _ref.data,
1517
+ index = _ref.index,
1518
+ toggleable = _ref.toggleable,
1519
+ type = _ref.type;
1695
1520
  if (!isSelectable({
1696
1521
  data: data,
1697
1522
  index: index
1698
1523
  })) {
1699
1524
  return;
1700
1525
  }
1701
-
1702
1526
  var selected = isSelected(data);
1703
1527
  var selection = props.selection;
1704
-
1705
1528
  if (selected) {
1706
1529
  if (toggleable) {
1707
1530
  selection = null;
@@ -1719,9 +1542,7 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
1719
1542
  type: type
1720
1543
  });
1721
1544
  }
1722
-
1723
1545
  focusOnElement(originalEvent, true);
1724
-
1725
1546
  if (props.onSelectionChange && selection !== props.selection) {
1726
1547
  props.onSelectionChange({
1727
1548
  originalEvent: originalEvent,
@@ -1730,24 +1551,20 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
1730
1551
  });
1731
1552
  }
1732
1553
  };
1733
-
1734
1554
  var onMultipleSelection = function onMultipleSelection(_ref2) {
1735
1555
  var originalEvent = _ref2.originalEvent,
1736
- data = _ref2.data,
1737
- index = _ref2.index,
1738
- toggleable = _ref2.toggleable,
1739
- type = _ref2.type;
1740
-
1556
+ data = _ref2.data,
1557
+ index = _ref2.index,
1558
+ toggleable = _ref2.toggleable,
1559
+ type = _ref2.type;
1741
1560
  if (!isSelectable({
1742
1561
  data: data,
1743
1562
  index: index
1744
1563
  })) {
1745
1564
  return;
1746
1565
  }
1747
-
1748
1566
  var selected = isSelected(data);
1749
1567
  var selection = props.selection || [];
1750
-
1751
1568
  if (selected) {
1752
1569
  if (toggleable) {
1753
1570
  var selectionIndex = findIndex(selection, data);
@@ -1782,9 +1599,7 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
1782
1599
  type: type
1783
1600
  });
1784
1601
  }
1785
-
1786
1602
  focusOnElement(originalEvent, true);
1787
-
1788
1603
  if (props.onSelectionChange && selection !== props.selection) {
1789
1604
  props.onSelectionChange({
1790
1605
  originalEvent: originalEvent,
@@ -1793,12 +1608,10 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
1793
1608
  });
1794
1609
  }
1795
1610
  };
1796
-
1797
1611
  var onRangeSelection = function onRangeSelection(event, type) {
1798
1612
  DomHandler.clearSelection();
1799
1613
  rangeRowIndex.current = allowCellSelection() ? event.rowIndex : event.index;
1800
1614
  var selection = selectRange(event);
1801
-
1802
1615
  if (props.onSelectionChange && selection !== props.selection) {
1803
1616
  props.onSelectionChange({
1804
1617
  originalEvent: event.originalEvent,
@@ -1806,15 +1619,12 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
1806
1619
  type: type
1807
1620
  });
1808
1621
  }
1809
-
1810
1622
  anchorRowIndex.current = rangeRowIndex.current;
1811
1623
  anchorCellIndex.current = event.cellIndex;
1812
1624
  focusOnElement(event.originalEvent, false);
1813
1625
  };
1814
-
1815
1626
  var selectRange = function selectRange(event) {
1816
1627
  var rangeStart, rangeEnd;
1817
-
1818
1628
  if (rangeRowIndex.current > anchorRowIndex.current) {
1819
1629
  rangeStart = anchorRowIndex.current;
1820
1630
  rangeEnd = rangeRowIndex.current;
@@ -1824,29 +1634,23 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
1824
1634
  } else {
1825
1635
  rangeStart = rangeEnd = rangeRowIndex.current;
1826
1636
  }
1827
-
1828
1637
  if (props.paginator) {
1829
1638
  rangeStart = Math.max(rangeStart - props.first, 0);
1830
1639
  rangeEnd -= props.first;
1831
1640
  }
1832
-
1833
1641
  return allowCellSelection() ? selectRangeOnCell(event, rangeStart, rangeEnd) : selectRangeOnRow(event, rangeStart, rangeEnd);
1834
1642
  };
1835
-
1836
1643
  var selectRangeOnRow = function selectRangeOnRow(event, rowRangeStart, rowRangeEnd) {
1837
1644
  var value = props.value;
1838
1645
  var selection = [];
1839
-
1840
1646
  for (var i = rowRangeStart; i <= rowRangeEnd; i++) {
1841
1647
  var rangeRowData = value[i];
1842
-
1843
1648
  if (!isSelectable({
1844
1649
  data: rangeRowData,
1845
1650
  index: i
1846
1651
  })) {
1847
1652
  continue;
1848
1653
  }
1849
-
1850
1654
  selection.push(rangeRowData);
1851
1655
  onSelect({
1852
1656
  originalEvent: event.originalEvent,
@@ -1854,15 +1658,12 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
1854
1658
  type: 'row'
1855
1659
  });
1856
1660
  }
1857
-
1858
1661
  return selection;
1859
1662
  };
1860
-
1861
1663
  var selectRangeOnCell = function selectRangeOnCell(event, rowRangeStart, rowRangeEnd) {
1862
1664
  var cellRangeStart,
1863
- cellRangeEnd,
1864
- cellIndex = event.cellIndex;
1865
-
1665
+ cellRangeEnd,
1666
+ cellIndex = event.cellIndex;
1866
1667
  if (cellIndex > anchorCellIndex.current) {
1867
1668
  cellRangeStart = anchorCellIndex.current;
1868
1669
  cellRangeEnd = cellIndex;
@@ -1872,20 +1673,15 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
1872
1673
  } else {
1873
1674
  cellRangeStart = cellRangeEnd = cellIndex;
1874
1675
  }
1875
-
1876
1676
  var value = props.value;
1877
1677
  var selection = [];
1878
-
1879
1678
  for (var i = rowRangeStart; i <= rowRangeEnd; i++) {
1880
1679
  var rowData = value[i];
1881
1680
  var columns = props.columns;
1882
1681
  var rowIndex = props.paginator ? i + props.first : i;
1883
-
1884
1682
  for (var j = cellRangeStart; j <= cellRangeEnd; j++) {
1885
1683
  var field = columns[j].props.field;
1886
-
1887
1684
  var _value = ObjectUtils.resolveFieldData(rowData, field);
1888
-
1889
1685
  var rangeRowData = {
1890
1686
  value: _value,
1891
1687
  field: field,
@@ -1894,14 +1690,12 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
1894
1690
  cellIndex: j,
1895
1691
  selected: true
1896
1692
  };
1897
-
1898
1693
  if (!isSelectable({
1899
1694
  data: rangeRowData,
1900
1695
  index: i
1901
1696
  })) {
1902
1697
  continue;
1903
1698
  }
1904
-
1905
1699
  selection.push(rangeRowData);
1906
1700
  onSelect({
1907
1701
  originalEvent: event.originalEvent,
@@ -1910,10 +1704,8 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
1910
1704
  });
1911
1705
  }
1912
1706
  }
1913
-
1914
1707
  return selection;
1915
1708
  };
1916
-
1917
1709
  var onSelect = function onSelect(event) {
1918
1710
  if (allowCellSelection()) props.onCellSelect && props.onCellSelect(_objectSpread$5(_objectSpread$5({
1919
1711
  originalEvent: event.originalEvent
@@ -1921,7 +1713,6 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
1921
1713
  type: event.type
1922
1714
  }));else props.onRowSelect && props.onRowSelect(event);
1923
1715
  };
1924
-
1925
1716
  var onUnselect = function onUnselect(event) {
1926
1717
  if (allowCellSelection()) props.onCellUnselect && props.onCellUnselect(_objectSpread$5(_objectSpread$5({
1927
1718
  originalEvent: event.originalEvent
@@ -1929,7 +1720,6 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
1929
1720
  type: event.type
1930
1721
  }));else props.onRowUnselect && props.onRowUnselect(event);
1931
1722
  };
1932
-
1933
1723
  var enableDragSelection = function enableDragSelection(event) {
1934
1724
  if (props.dragSelection && !dragSelectionHelper.current) {
1935
1725
  dragSelectionHelper.current = document.createElement('div');
@@ -1943,10 +1733,8 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
1943
1733
  bindDragSelectionEvents();
1944
1734
  }
1945
1735
  };
1946
-
1947
1736
  var focusOnElement = function focusOnElement(event, isFocused) {
1948
1737
  var target = event.currentTarget;
1949
-
1950
1738
  if (!allowCellSelection() && props.selectionAutoFocus) {
1951
1739
  if (isCheckboxSelectionModeInColumn) {
1952
1740
  var checkbox = DomHandler.findSingle(target, 'td.p-selection-column .p-checkbox-box');
@@ -1956,32 +1744,25 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
1956
1744
  radio && radio.focus();
1957
1745
  }
1958
1746
  }
1959
-
1960
1747
  !isFocused && target && target.focus();
1961
1748
  };
1962
-
1963
1749
  var changeTabIndex = function changeTabIndex(event, type) {
1964
1750
  var target = event.currentTarget;
1965
1751
  var isSelectable = DomHandler.hasClass(target, type === 'cell' ? 'p-selectable-cell' : 'p-selectable-row');
1966
-
1967
1752
  if (isSelectable) {
1968
1753
  var selector = type === 'cell' ? 'tr > td' : 'tr';
1969
1754
  var tabbableEl = DomHandler.findSingle(elementRef.current, "".concat(selector, "[tabindex=\"").concat(props.tabIndex, "\"]"));
1970
-
1971
1755
  if (tabbableEl && target) {
1972
1756
  tabbableEl.tabIndex = -1;
1973
1757
  target.tabIndex = props.tabIndex;
1974
1758
  }
1975
1759
  }
1976
1760
  };
1977
-
1978
1761
  var onRowClick = function onRowClick(event) {
1979
1762
  if (allowCellSelection() || !allowSelection(event)) {
1980
1763
  return;
1981
1764
  }
1982
-
1983
1765
  props.onRowClick && props.onRowClick(event);
1984
-
1985
1766
  if (allowRowSelection()) {
1986
1767
  if (allowRangeSelection(event)) {
1987
1768
  onRangeSelection(event, 'row');
@@ -1990,7 +1771,6 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
1990
1771
  anchorRowIndex.current = event.index;
1991
1772
  rangeRowIndex.current = event.index;
1992
1773
  anchorRowFirst.current = props.first;
1993
-
1994
1774
  if (isSingleSelection()) {
1995
1775
  onSingleSelection(_objectSpread$5(_objectSpread$5({}, event), {}, {
1996
1776
  toggleable: toggleable,
@@ -2003,57 +1783,51 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2003
1783
  }));
2004
1784
  }
2005
1785
  }
2006
-
2007
1786
  changeTabIndex(event.originalEvent, 'row');
2008
1787
  } else {
2009
1788
  focusOnElement(event.originalEvent);
2010
1789
  }
2011
-
2012
1790
  rowTouched.current = false;
2013
1791
  };
2014
-
2015
1792
  var onRowDoubleClick = function onRowDoubleClick(e) {
2016
1793
  var event = e.originalEvent;
2017
-
2018
1794
  if (DomHandler.isClickable(event.target)) {
2019
1795
  return;
2020
1796
  }
2021
-
2022
1797
  if (props.onRowDoubleClick) {
2023
1798
  props.onRowDoubleClick(e);
2024
1799
  }
2025
1800
  };
2026
-
2027
1801
  var onRowRightClick = function onRowRightClick(event) {
2028
1802
  if (props.onContextMenu || props.onContextMenuSelectionChange) {
2029
1803
  DomHandler.clearSelection();
2030
-
2031
1804
  if (props.onContextMenuSelectionChange) {
2032
1805
  props.onContextMenuSelectionChange({
2033
1806
  originalEvent: event.originalEvent,
2034
1807
  value: event.data
2035
1808
  });
2036
1809
  }
2037
-
2038
1810
  if (props.onContextMenu) {
2039
1811
  props.onContextMenu({
2040
1812
  originalEvent: event.originalEvent,
2041
1813
  data: event.data
2042
1814
  });
2043
1815
  }
2044
-
2045
1816
  event.originalEvent.preventDefault();
2046
1817
  }
2047
1818
  };
2048
-
1819
+ var onRowMouseEnter = function onRowMouseEnter(event) {
1820
+ props.onRowMouseEnter && props.onRowMouseEnter(event);
1821
+ };
1822
+ var onRowMouseLeave = function onRowMouseLeave(event) {
1823
+ props.onRowMouseLeave && props.onRowMouseLeave(event);
1824
+ };
2049
1825
  var onRowTouchEnd = function onRowTouchEnd() {
2050
1826
  rowTouched.current = true;
2051
1827
  };
2052
-
2053
1828
  var onRowMouseDown = function onRowMouseDown(e) {
2054
1829
  var event = e.originalEvent;
2055
1830
  if (DomHandler.hasClass(event.target, 'p-datatable-reorderablerow-handle')) event.currentTarget.draggable = true;else event.currentTarget.draggable = false;
2056
-
2057
1831
  if (allowRowDrag(e)) {
2058
1832
  enableDragSelection(event);
2059
1833
  anchorRowIndex.current = e.index;
@@ -2061,27 +1835,21 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2061
1835
  anchorRowFirst.current = props.first;
2062
1836
  }
2063
1837
  };
2064
-
2065
1838
  var onRowMouseUp = function onRowMouseUp(event) {
2066
1839
  var isSameRow = event.index === anchorRowIndex.current;
2067
-
2068
1840
  if (allowRowDrag(event) && !isSameRow) {
2069
1841
  onRangeSelection(event, 'row');
2070
1842
  }
2071
1843
  };
2072
-
2073
1844
  var onRowToggle = function onRowToggle(event) {
2074
1845
  var expandedRows;
2075
1846
  var dataKey = props.dataKey;
2076
1847
  var hasDataKey = props.groupRowsBy ? dataKey === props.groupRowsBy : !!dataKey;
2077
-
2078
1848
  if (hasDataKey) {
2079
1849
  var dataKeyValue = String(ObjectUtils.resolveFieldData(event.data, dataKey));
2080
1850
  expandedRows = props.expandedRows ? _objectSpread$5({}, props.expandedRows) : {};
2081
-
2082
1851
  if (expandedRows[dataKeyValue] != null) {
2083
1852
  delete expandedRows[dataKeyValue];
2084
-
2085
1853
  if (props.onRowCollapse) {
2086
1854
  props.onRowCollapse({
2087
1855
  originalEvent: event,
@@ -2090,7 +1858,6 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2090
1858
  }
2091
1859
  } else {
2092
1860
  expandedRows[dataKeyValue] = true;
2093
-
2094
1861
  if (props.onRowExpand) {
2095
1862
  props.onRowExpand({
2096
1863
  originalEvent: event,
@@ -2101,12 +1868,10 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2101
1868
  } else {
2102
1869
  var expandedRowIndex = findIndex(props.expandedRows, event.data);
2103
1870
  expandedRows = props.expandedRows ? _toConsumableArray(props.expandedRows) : [];
2104
-
2105
1871
  if (expandedRowIndex !== -1) {
2106
1872
  expandedRows = expandedRows.filter(function (_, i) {
2107
1873
  return i !== expandedRowIndex;
2108
1874
  });
2109
-
2110
1875
  if (props.onRowCollapse) {
2111
1876
  props.onRowCollapse({
2112
1877
  originalEvent: event,
@@ -2115,7 +1880,6 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2115
1880
  }
2116
1881
  } else {
2117
1882
  expandedRows.push(event.data);
2118
-
2119
1883
  if (props.onRowExpand) {
2120
1884
  props.onRowExpand({
2121
1885
  originalEvent: event,
@@ -2124,18 +1888,15 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2124
1888
  }
2125
1889
  }
2126
1890
  }
2127
-
2128
1891
  if (props.onRowToggle) {
2129
1892
  props.onRowToggle({
2130
1893
  data: expandedRows
2131
1894
  });
2132
1895
  }
2133
1896
  };
2134
-
2135
1897
  var onRowDragStart = function onRowDragStart(e) {
2136
1898
  var event = e.originalEvent,
2137
- index = e.index;
2138
-
1899
+ index = e.index;
2139
1900
  if (allowRowDrag(event)) {
2140
1901
  rowDragging.current = true;
2141
1902
  draggedRowIndex.current = index;
@@ -2145,15 +1906,13 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2145
1906
 
2146
1907
  var onRowDragOver = function onRowDragOver(e) {
2147
1908
  var event = e.originalEvent,
2148
- index = e.index;
2149
-
1909
+ index = e.index;
2150
1910
  if (rowDragging.current && draggedRowIndex.current !== index) {
2151
1911
  var rowElement = event.currentTarget;
2152
1912
  var rowY = DomHandler.getOffset(rowElement).top + DomHandler.getWindowScrollTop();
2153
1913
  var pageY = event.pageY + window.scrollY;
2154
1914
  var rowMidY = rowY + DomHandler.getOuterHeight(rowElement) / 2;
2155
1915
  var prevRowElement = rowElement.previousElementSibling;
2156
-
2157
1916
  if (pageY < rowMidY) {
2158
1917
  DomHandler.removeClass(rowElement, 'p-datatable-dragpoint-bottom');
2159
1918
  droppedRowIndex.current = index;
@@ -2164,23 +1923,18 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2164
1923
  DomHandler.addClass(rowElement, 'p-datatable-dragpoint-bottom');
2165
1924
  }
2166
1925
  }
2167
-
2168
1926
  event.preventDefault();
2169
1927
  };
2170
-
2171
1928
  var onRowDragLeave = function onRowDragLeave(e) {
2172
1929
  var event = e.originalEvent;
2173
1930
  var rowElement = event.currentTarget;
2174
1931
  var prevRowElement = rowElement.previousElementSibling;
2175
-
2176
1932
  if (prevRowElement) {
2177
1933
  DomHandler.removeClass(prevRowElement, 'p-datatable-dragpoint-bottom');
2178
1934
  }
2179
-
2180
1935
  DomHandler.removeClass(rowElement, 'p-datatable-dragpoint-bottom');
2181
1936
  DomHandler.removeClass(rowElement, 'p-datatable-dragpoint-top');
2182
1937
  };
2183
-
2184
1938
  var onRowDragEnd = function onRowDragEnd(e) {
2185
1939
  var event = e.originalEvent;
2186
1940
  rowDragging.current = false;
@@ -2188,51 +1942,43 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2188
1942
  droppedRowIndex.current = null;
2189
1943
  event.currentTarget.draggable = false;
2190
1944
  };
2191
-
2192
1945
  var onRowDrop = function onRowDrop(e) {
2193
1946
  var event = e.originalEvent;
2194
-
2195
1947
  if (droppedRowIndex.current != null) {
2196
1948
  var dropIndex = draggedRowIndex.current > droppedRowIndex.current ? droppedRowIndex.current : droppedRowIndex.current === 0 ? 0 : droppedRowIndex.current - 1;
2197
-
2198
- var val = _toConsumableArray(props.value);
2199
-
1949
+ var val = _toConsumableArray(props.tableProps.value);
2200
1950
  ObjectUtils.reorderArray(val, draggedRowIndex.current, dropIndex);
2201
-
2202
1951
  if (props.onRowReorder) {
2203
1952
  props.onRowReorder({
2204
1953
  originalEvent: event,
2205
1954
  value: val,
2206
1955
  dragIndex: draggedRowIndex.current,
2207
- dropIndex: droppedRowIndex.current
1956
+ dropIndex: dropIndex
2208
1957
  });
2209
1958
  }
2210
- } //cleanup
2211
-
1959
+ }
2212
1960
 
1961
+ //cleanup
2213
1962
  onRowDragLeave(e);
2214
1963
  onRowDragEnd(e);
2215
1964
  event.preventDefault();
2216
1965
  };
2217
-
2218
1966
  var onRadioChange = function onRadioChange(event) {
2219
1967
  onSingleSelection(_objectSpread$5(_objectSpread$5({}, event), {}, {
2220
1968
  toggleable: true,
2221
1969
  type: 'radio'
2222
1970
  }));
2223
1971
  };
2224
-
2225
1972
  var onCheckboxChange = function onCheckboxChange(event) {
2226
1973
  onMultipleSelection(_objectSpread$5(_objectSpread$5({}, event), {}, {
2227
1974
  toggleable: true,
2228
1975
  type: 'checkbox'
2229
1976
  }));
2230
1977
  };
2231
-
2232
1978
  var onDragSelectionMouseMove = function onDragSelectionMouseMove(event) {
2233
1979
  var _initialDragPosition$ = initialDragPosition.current,
2234
- x = _initialDragPosition$.x,
2235
- y = _initialDragPosition$.y;
1980
+ x = _initialDragPosition$.x,
1981
+ y = _initialDragPosition$.y;
2236
1982
  var dx = event.clientX - x;
2237
1983
  var dy = event.clientY - y;
2238
1984
  if (dy < 0) dragSelectionHelper.current.style.top = "".concat(event.pageY + 5, "px");
@@ -2241,38 +1987,30 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2241
1987
  dragSelectionHelper.current.style.width = "".concat(Math.abs(dx), "px");
2242
1988
  event.preventDefault();
2243
1989
  };
2244
-
2245
1990
  var onDragSelectionMouseUp = function onDragSelectionMouseUp() {
2246
1991
  if (dragSelectionHelper.current) {
2247
1992
  dragSelectionHelper.current.remove();
2248
1993
  dragSelectionHelper.current = null;
2249
1994
  }
2250
-
2251
1995
  document.removeEventListener('mousemove', onDragSelectionMouseMove);
2252
1996
  document.removeEventListener('mouseup', onDragSelectionMouseUp);
2253
1997
  };
2254
-
2255
1998
  var onCellClick = function onCellClick(event) {
2256
1999
  if (!allowSelection(event)) {
2257
2000
  return;
2258
2001
  }
2259
-
2260
2002
  props.onCellClick && props.onCellClick(event);
2261
-
2262
2003
  if (allowCellSelection()) {
2263
2004
  if (allowRangeSelection(event)) {
2264
2005
  onRangeSelection(event, 'cell');
2265
2006
  } else {
2266
2007
  var toggleable = allowMetaKeySelection(event);
2267
-
2268
2008
  var originalEvent = event.originalEvent,
2269
- data = _objectWithoutProperties(event, _excluded);
2270
-
2009
+ data = _objectWithoutProperties(event, _excluded);
2271
2010
  anchorRowIndex.current = event.rowIndex;
2272
2011
  rangeRowIndex.current = event.rowIndex;
2273
2012
  anchorRowFirst.current = props.first;
2274
2013
  anchorCellIndex.current = event.cellIndex;
2275
-
2276
2014
  if (isSingleSelection()) {
2277
2015
  onSingleSelection({
2278
2016
  originalEvent: originalEvent,
@@ -2291,13 +2029,10 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2291
2029
  });
2292
2030
  }
2293
2031
  }
2294
-
2295
2032
  changeTabIndex(event.originalEvent, 'cell');
2296
2033
  }
2297
-
2298
2034
  rowTouched.current = false;
2299
2035
  };
2300
-
2301
2036
  var onCellMouseDown = function onCellMouseDown(event) {
2302
2037
  if (allowCellDrag(event)) {
2303
2038
  enableDragSelection(event.originalEvent);
@@ -2307,30 +2042,24 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2307
2042
  anchorCellIndex.current = event.cellIndex;
2308
2043
  }
2309
2044
  };
2310
-
2311
2045
  var onCellMouseUp = function onCellMouseUp(event) {
2312
2046
  var isSameCell = event.rowIndex === anchorRowIndex.current && event.cellIndex === anchorCellIndex.current;
2313
-
2314
2047
  if (allowCellDrag(event) && !isSameCell) {
2315
2048
  onRangeSelection(event, 'cell');
2316
2049
  }
2317
2050
  };
2318
-
2319
2051
  var bindDragSelectionEvents = function bindDragSelectionEvents() {
2320
2052
  document.addEventListener('mousemove', onDragSelectionMouseMove);
2321
2053
  document.addEventListener('mouseup', onDragSelectionMouseUp);
2322
2054
  document.body.appendChild(dragSelectionHelper.current);
2323
2055
  };
2324
-
2325
2056
  var unbindDragSelectionEvents = function unbindDragSelectionEvents() {
2326
2057
  onDragSelectionMouseUp();
2327
2058
  };
2328
-
2329
2059
  React.useEffect(function () {
2330
2060
  if (props.frozenRow) {
2331
2061
  updateFrozenRowStickyPosition();
2332
2062
  }
2333
-
2334
2063
  if (props.scrollable && props.rowGroupMode === 'subheader') {
2335
2064
  updateFrozenRowGroupHeaderStickyPosition();
2336
2065
  }
@@ -2355,16 +2084,13 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2355
2084
  unbindDragSelectionEvents();
2356
2085
  }
2357
2086
  });
2358
-
2359
2087
  var createEmptyContent = function createEmptyContent() {
2360
2088
  if (!props.loading) {
2361
2089
  var colSpan = getColumnsLength();
2362
-
2363
2090
  var _content = ObjectUtils.getJSXElement(props.emptyMessage, {
2364
2091
  props: props.tableProps,
2365
2092
  frozen: props.frozenRow
2366
2093
  }) || localeOption('emptyMessage');
2367
-
2368
2094
  return /*#__PURE__*/React.createElement("tr", {
2369
2095
  className: "p-datatable-emptymessage",
2370
2096
  role: "row"
@@ -2373,12 +2099,11 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2373
2099
  role: "cell"
2374
2100
  }, _content));
2375
2101
  }
2376
-
2377
2102
  return null;
2378
2103
  };
2379
-
2380
2104
  var createGroupHeader = function createGroupHeader(rowData, index, expanded, colSpan) {
2381
2105
  if (isSubheaderGrouping && shouldRenderRowGroupHeader(props.value, rowData, index - props.first)) {
2106
+ var _options;
2382
2107
  var style = rowGroupHeaderStyle();
2383
2108
  var toggler = props.expandableRowGroups && /*#__PURE__*/React.createElement(RowTogglerButton, {
2384
2109
  onClick: onRowToggle,
@@ -2387,35 +2112,33 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2387
2112
  expandedRowIcon: props.expandedRowIcon,
2388
2113
  collapsedRowIcon: props.collapsedRowIcon
2389
2114
  });
2115
+ var options = (_options = {
2116
+ index: index
2117
+ }, _defineProperty(_options, "index", index), _defineProperty(_options, "props", props.tableProps), _defineProperty(_options, "customRendering", false), _options);
2118
+ var _content2 = ObjectUtils.getJSXElement(props.rowGroupHeaderTemplate, rowData, options);
2390
2119
 
2391
- var _content2 = ObjectUtils.getJSXElement(props.rowGroupHeaderTemplate, rowData, {
2392
- index: index,
2393
- props: props.tableProps
2394
- });
2395
-
2120
+ // check if the user wants complete control of the rendering
2121
+ if (!options.customRendering) {
2122
+ _content2 = /*#__PURE__*/React.createElement("td", {
2123
+ colSpan: colSpan
2124
+ }, toggler, /*#__PURE__*/React.createElement("span", {
2125
+ className: "p-rowgroup-header-name"
2126
+ }, _content2));
2127
+ }
2396
2128
  return /*#__PURE__*/React.createElement("tr", {
2397
2129
  className: "p-rowgroup-header",
2398
2130
  style: style,
2399
2131
  role: "row"
2400
- }, /*#__PURE__*/React.createElement("td", {
2401
- colSpan: colSpan
2402
- }, toggler, /*#__PURE__*/React.createElement("span", {
2403
- className: "p-rowgroup-header-name"
2404
- }, _content2)));
2132
+ }, _content2);
2405
2133
  }
2406
-
2407
2134
  return null;
2408
2135
  };
2409
-
2410
2136
  var createRow = function createRow(rowData, index, expanded) {
2411
2137
  if (!props.expandableRowGroups || expanded) {
2412
2138
  var selected = isSelectionEnabled() ? isSelected(rowData) : false;
2413
2139
  var contextMenuSelected = isContextMenuSelected(rowData);
2414
-
2415
2140
  var _allowRowSelection = allowRowSelection();
2416
-
2417
2141
  var _allowCellSelection = allowCellSelection();
2418
-
2419
2142
  var editing = isRowEditing(rowData);
2420
2143
  return /*#__PURE__*/React.createElement(BodyRow, {
2421
2144
  tableProps: props.tableProps,
@@ -2429,6 +2152,8 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2429
2152
  onRowClick: onRowClick,
2430
2153
  onRowDoubleClick: onRowDoubleClick,
2431
2154
  onRowRightClick: onRowRightClick,
2155
+ onRowMouseEnter: onRowMouseEnter,
2156
+ onRowMouseLeave: onRowMouseLeave,
2432
2157
  tabIndex: props.tabIndex,
2433
2158
  isSelectable: isSelectable,
2434
2159
  onRowTouchEnd: onRowTouchEnd,
@@ -2479,7 +2204,6 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2479
2204
  });
2480
2205
  }
2481
2206
  };
2482
-
2483
2207
  var createExpansion = function createExpansion(rowData, index, expanded, colSpan) {
2484
2208
  if (expanded && !(isSubheaderGrouping && props.expandableRowGroups)) {
2485
2209
  var id = "".concat(props.tableSelector, "_content_").concat(index, "_expanded");
@@ -2487,27 +2211,23 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2487
2211
  index: index,
2488
2212
  customRendering: false
2489
2213
  };
2214
+ var _content3 = ObjectUtils.getJSXElement(props.rowExpansionTemplate, rowData, options);
2490
2215
 
2491
- var _content3 = ObjectUtils.getJSXElement(props.rowExpansionTemplate, rowData, options); // check if the user wants complete control of the rendering
2492
-
2493
-
2216
+ // check if the user wants complete control of the rendering
2494
2217
  if (!options.customRendering) {
2495
2218
  _content3 = /*#__PURE__*/React.createElement("td", {
2496
2219
  role: "cell",
2497
2220
  colSpan: colSpan
2498
2221
  }, _content3);
2499
2222
  }
2500
-
2501
2223
  return /*#__PURE__*/React.createElement("tr", {
2502
2224
  id: id,
2503
2225
  className: "p-datatable-row-expansion",
2504
2226
  role: "row"
2505
2227
  }, _content3);
2506
2228
  }
2507
-
2508
2229
  return null;
2509
2230
  };
2510
-
2511
2231
  var createGroupFooter = function createGroupFooter(rowData, index, expanded, colSpan) {
2512
2232
  if (isSubheaderGrouping && shouldRenderRowGroupFooter(props.value, rowData, index - props.first, expanded)) {
2513
2233
  var _content4 = ObjectUtils.getJSXElement(props.rowGroupFooterTemplate, rowData, {
@@ -2515,16 +2235,13 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2515
2235
  colSpan: colSpan,
2516
2236
  props: props.tableProps
2517
2237
  });
2518
-
2519
2238
  return /*#__PURE__*/React.createElement("tr", {
2520
2239
  className: "p-rowgroup-footer",
2521
2240
  role: "row"
2522
2241
  }, _content4);
2523
2242
  }
2524
-
2525
2243
  return null;
2526
2244
  };
2527
-
2528
2245
  var createContent = function createContent() {
2529
2246
  return props.value.map(function (rowData, i) {
2530
2247
  var index = getVirtualScrollerOption('getItemOptions') ? getVirtualScrollerOption('getItemOptions')(i).index : props.first + i;
@@ -2540,7 +2257,6 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2540
2257
  }, groupHeader, row, expansion, groupFooter);
2541
2258
  });
2542
2259
  };
2543
-
2544
2260
  var className = classNames('p-datatable-tbody', props.className);
2545
2261
  var content = props.empty ? createEmptyContent() : createContent();
2546
2262
  return /*#__PURE__*/React.createElement("tbody", {
@@ -2551,57 +2267,44 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2551
2267
  TableBody.displayName = 'TableBody';
2552
2268
 
2553
2269
  function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2554
-
2555
2270
  function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2556
2271
  var FooterCell = /*#__PURE__*/React.memo(function (props) {
2557
2272
  var _React$useState = React.useState({}),
2558
- _React$useState2 = _slicedToArray(_React$useState, 2),
2559
- styleObjectState = _React$useState2[0],
2560
- setStyleObjectState = _React$useState2[1];
2561
-
2273
+ _React$useState2 = _slicedToArray(_React$useState, 2),
2274
+ styleObjectState = _React$useState2[0],
2275
+ setStyleObjectState = _React$useState2[1];
2562
2276
  var elementRef = React.useRef(null);
2563
-
2564
2277
  var getColumnProp = function getColumnProp(prop) {
2565
2278
  return props.column.props[prop];
2566
2279
  };
2567
-
2568
2280
  var getStyle = function getStyle() {
2569
2281
  var footerStyle = getColumnProp('footerStyle');
2570
2282
  var columnStyle = getColumnProp('style');
2571
2283
  return getColumnProp('frozen') ? Object.assign({}, columnStyle, footerStyle, styleObjectState) : Object.assign({}, columnStyle, footerStyle);
2572
2284
  };
2573
-
2574
2285
  var updateStickyPosition = function updateStickyPosition() {
2575
2286
  if (getColumnProp('frozen')) {
2576
2287
  var styleObject = _objectSpread$4({}, styleObjectState);
2577
-
2578
2288
  var _align = getColumnProp('alignFrozen');
2579
-
2580
2289
  if (_align === 'right') {
2581
2290
  var right = 0;
2582
2291
  var next = elementRef.current.nextElementSibling;
2583
-
2584
2292
  if (next) {
2585
2293
  right = DomHandler.getOuterWidth(next) + parseFloat(next.style.right || 0);
2586
2294
  }
2587
-
2588
2295
  styleObject['right'] = right + 'px';
2589
2296
  } else {
2590
2297
  var left = 0;
2591
2298
  var prev = elementRef.current.previousElementSibling;
2592
-
2593
2299
  if (prev) {
2594
2300
  left = DomHandler.getOuterWidth(prev) + parseFloat(prev.style.left || 0);
2595
2301
  }
2596
-
2597
2302
  styleObject['left'] = left + 'px';
2598
2303
  }
2599
-
2600
2304
  var isSameStyle = styleObjectState['left'] === styleObject['left'] && styleObjectState['right'] === styleObject['right'];
2601
2305
  !isSameStyle && setStyleObjectState(styleObject);
2602
2306
  }
2603
2307
  };
2604
-
2605
2308
  React.useEffect(function () {
2606
2309
  if (getColumnProp('frozen')) {
2607
2310
  updateStickyPosition();
@@ -2634,12 +2337,10 @@ var TableFooter = /*#__PURE__*/React.memo(function (props) {
2634
2337
  return col && col.props.footer;
2635
2338
  }) : false;
2636
2339
  };
2637
-
2638
2340
  var createGroupFooterCells = function createGroupFooterCells(row) {
2639
2341
  var columns = React.Children.toArray(row.props.children);
2640
2342
  return createFooterCells(columns);
2641
2343
  };
2642
-
2643
2344
  var createFooterCells = function createFooterCells(columns) {
2644
2345
  return React.Children.map(columns, function (col, i) {
2645
2346
  var isVisible = col ? !col.props.hidden : true;
@@ -2651,7 +2352,6 @@ var TableFooter = /*#__PURE__*/React.memo(function (props) {
2651
2352
  });
2652
2353
  });
2653
2354
  };
2654
-
2655
2355
  var createContent = function createContent() {
2656
2356
  if (props.footerColumnGroup) {
2657
2357
  var rows = React.Children.toArray(props.footerColumnGroup.props.children);
@@ -2662,85 +2362,69 @@ var TableFooter = /*#__PURE__*/React.memo(function (props) {
2662
2362
  }, createGroupFooterCells(row));
2663
2363
  });
2664
2364
  }
2665
-
2666
2365
  return /*#__PURE__*/React.createElement("tr", {
2667
2366
  role: "row"
2668
2367
  }, createFooterCells(props.columns));
2669
2368
  };
2670
-
2671
2369
  if (hasFooter()) {
2672
2370
  var content = createContent();
2673
2371
  return /*#__PURE__*/React.createElement("tfoot", {
2674
2372
  className: "p-datatable-tfoot"
2675
2373
  }, content);
2676
2374
  }
2677
-
2678
2375
  return null;
2679
2376
  });
2680
2377
  TableFooter.displayName = 'TableFooter';
2681
2378
 
2682
2379
  function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2683
-
2684
2380
  function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2685
2381
  var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
2686
2382
  var _React$useState = React.useState(false),
2687
- _React$useState2 = _slicedToArray(_React$useState, 2),
2688
- overlayVisibleState = _React$useState2[0],
2689
- setOverlayVisibleState = _React$useState2[1];
2690
-
2383
+ _React$useState2 = _slicedToArray(_React$useState, 2),
2384
+ overlayVisibleState = _React$useState2[0],
2385
+ setOverlayVisibleState = _React$useState2[1];
2691
2386
  var overlayRef = React.useRef(null);
2692
2387
  var iconRef = React.useRef(null);
2693
2388
  var selfClick = React.useRef(false);
2694
2389
  var overlayEventListener = React.useRef(null);
2695
-
2696
2390
  var getColumnProp = function getColumnProp(prop) {
2697
2391
  return props.column.props[prop];
2698
2392
  };
2699
-
2700
2393
  var field = getColumnProp('filterField') || getColumnProp('field');
2701
2394
  var filterModel = props.filters[field];
2702
2395
  var filterStoreModel = props.filtersStore && props.filtersStore[field];
2703
-
2704
2396
  var _useOverlayListener = useOverlayListener({
2705
- target: iconRef,
2706
- overlay: overlayRef,
2707
- listener: function listener(event, _ref) {
2708
- var type = _ref.type,
2397
+ target: iconRef,
2398
+ overlay: overlayRef,
2399
+ listener: function listener(event, _ref) {
2400
+ var type = _ref.type,
2709
2401
  valid = _ref.valid;
2710
-
2711
- if (valid) {
2712
- type === 'outside' ? !selfClick.current && !isTargetClicked(event.target) && hide() : hide();
2713
- }
2714
-
2715
- selfClick.current = false;
2716
- },
2717
- when: overlayVisibleState
2718
- }),
2719
- _useOverlayListener2 = _slicedToArray(_useOverlayListener, 2),
2720
- bindOverlayListener = _useOverlayListener2[0],
2721
- unbindOverlayListener = _useOverlayListener2[1];
2722
-
2402
+ if (valid) {
2403
+ type === 'outside' ? !selfClick.current && !isTargetClicked(event.target) && hide() : hide();
2404
+ }
2405
+ selfClick.current = false;
2406
+ },
2407
+ when: overlayVisibleState
2408
+ }),
2409
+ _useOverlayListener2 = _slicedToArray(_useOverlayListener, 2),
2410
+ bindOverlayListener = _useOverlayListener2[0],
2411
+ unbindOverlayListener = _useOverlayListener2[1];
2723
2412
  var hasFilter = function hasFilter() {
2724
2413
  if (!filterStoreModel || !filterModel) return false;
2725
2414
  return filterStoreModel.operator ? !isFilterBlank(filterModel.constraints[0].value) : !isFilterBlank(filterModel.value);
2726
2415
  };
2727
-
2728
2416
  var hasRowFilter = function hasRowFilter() {
2729
2417
  return filterModel && !isFilterBlank(filterModel.value);
2730
2418
  };
2731
-
2732
2419
  var isFilterBlank = function isFilterBlank(filter) {
2733
2420
  return ObjectUtils.isEmpty(filter);
2734
2421
  };
2735
-
2736
2422
  var isRowMatchModeSelected = function isRowMatchModeSelected(matchMode) {
2737
2423
  return filterModel && filterModel.matchMode === matchMode;
2738
2424
  };
2739
-
2740
2425
  var showMenuButton = function showMenuButton() {
2741
2426
  return getColumnProp('showFilterMenu') && (props.display === 'row' ? getColumnProp('dataType') !== 'boolean' : true);
2742
2427
  };
2743
-
2744
2428
  var matchModes = function matchModes() {
2745
2429
  return getColumnProp('filterMatchModeOptions') || PrimeReact.filterMatchModeOptions[findDataType()].map(function (key) {
2746
2430
  return {
@@ -2749,31 +2433,24 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
2749
2433
  };
2750
2434
  });
2751
2435
  };
2752
-
2753
2436
  var isShowMatchModes = function isShowMatchModes() {
2754
2437
  return getColumnProp('dataType') !== 'boolean' && getColumnProp('showFilterMatchModes') && matchModes() && getColumnProp('showFilterMenuOptions');
2755
2438
  };
2756
-
2757
2439
  var isShowOperator = function isShowOperator() {
2758
2440
  return getColumnProp('showFilterOperator') && filterModel && filterModel.operator && getColumnProp('showFilterMenuOptions');
2759
2441
  };
2760
-
2761
2442
  var showRemoveIcon = function showRemoveIcon() {
2762
2443
  return fieldConstraints().length > 1;
2763
2444
  };
2764
-
2765
2445
  var isShowAddConstraint = function isShowAddConstraint() {
2766
2446
  return getColumnProp('showAddButton') && filterModel && filterModel.operator && fieldConstraints() && fieldConstraints().length < getColumnProp('maxConstraints') && getColumnProp('showFilterMenuOptions');
2767
2447
  };
2768
-
2769
2448
  var isOutsideClicked = function isOutsideClicked(target) {
2770
2449
  return !isTargetClicked(target) && overlayRef.current && !(overlayRef.current.isSameNode(target) || overlayRef.current.contains(target));
2771
2450
  };
2772
-
2773
2451
  var isTargetClicked = function isTargetClicked(target) {
2774
2452
  return iconRef.current && (iconRef.current.isSameNode(target) || iconRef.current.contains(target));
2775
2453
  };
2776
-
2777
2454
  var getDefaultConstraint = function getDefaultConstraint() {
2778
2455
  if (filterStoreModel) {
2779
2456
  if (filterStoreModel.operator) {
@@ -2788,17 +2465,14 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
2788
2465
  }
2789
2466
  }
2790
2467
  };
2791
-
2792
2468
  var findDataType = function findDataType() {
2793
2469
  var dataType = getColumnProp('dataType');
2794
2470
  var matchMode = getColumnProp('filterMatchMode');
2795
-
2796
2471
  var hasMatchMode = function hasMatchMode(key) {
2797
2472
  return PrimeReact.filterMatchModeOptions[key].some(function (mode) {
2798
2473
  return mode === matchMode;
2799
2474
  });
2800
2475
  };
2801
-
2802
2476
  if (matchMode === 'custom' && !hasMatchMode(dataType)) {
2803
2477
  PrimeReact.filterMatchModeOptions[dataType].push(FilterMatchMode.CUSTOM);
2804
2478
  return dataType;
@@ -2807,16 +2481,12 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
2807
2481
  return hasMatchMode(key);
2808
2482
  }) || dataType;
2809
2483
  }
2810
-
2811
2484
  return dataType;
2812
2485
  };
2813
-
2814
2486
  var clearFilter = function clearFilter() {
2815
2487
  var filterClearCallback = getColumnProp('onFilterClear');
2816
2488
  var defaultConstraint = getDefaultConstraint();
2817
-
2818
2489
  var filters = _objectSpread$3({}, props.filters);
2819
-
2820
2490
  if (filters[field].operator) {
2821
2491
  filters[field].constraints.splice(1);
2822
2492
  filters[field].operator = defaultConstraint.operator;
@@ -2828,13 +2498,11 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
2828
2498
  filters[field].value = null;
2829
2499
  filters[field].matchMode = defaultConstraint.matchMode;
2830
2500
  }
2831
-
2832
2501
  filterClearCallback && filterClearCallback();
2833
2502
  props.onFilterChange(filters);
2834
2503
  props.onFilterApply();
2835
2504
  hide();
2836
2505
  };
2837
-
2838
2506
  var applyFilter = function applyFilter() {
2839
2507
  var filterApplyClickCallback = getColumnProp('onFilterApplyClick');
2840
2508
  filterApplyClickCallback && filterApplyClickCallback({
@@ -2844,20 +2512,17 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
2844
2512
  props.onFilterApply();
2845
2513
  hide();
2846
2514
  };
2847
-
2848
2515
  var toggleMenu = function toggleMenu() {
2849
2516
  setOverlayVisibleState(function (prevVisible) {
2850
2517
  return !prevVisible;
2851
2518
  });
2852
2519
  };
2853
-
2854
2520
  var onToggleButtonKeyDown = function onToggleButtonKeyDown(event) {
2855
2521
  switch (event.key) {
2856
2522
  case 'Escape':
2857
2523
  case 'Tab':
2858
2524
  hide();
2859
2525
  break;
2860
-
2861
2526
  case 'ArrowDown':
2862
2527
  if (overlayVisibleState) {
2863
2528
  var focusable = DomHandler.getFirstFocusableElement(overlayRef.current);
@@ -2867,41 +2532,38 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
2867
2532
  setOverlayVisibleState(true);
2868
2533
  event.preventDefault();
2869
2534
  }
2870
-
2871
2535
  break;
2872
2536
  }
2873
2537
  };
2874
-
2875
2538
  var onContentKeyDown = function onContentKeyDown(event) {
2876
2539
  if (event.key === 'Escape') {
2877
2540
  hide();
2878
2541
  iconRef.current && iconRef.current.focus();
2879
2542
  }
2880
2543
  };
2881
-
2882
2544
  var onInputChange = function onInputChange(event, index) {
2883
2545
  var filters = _objectSpread$3({}, props.filters);
2884
-
2885
2546
  var value = event.target.value;
2886
-
2887
2547
  if (props.display === 'menu') {
2888
2548
  filters[field].constraints[index].value = value;
2889
2549
  } else {
2890
2550
  filters[field].value = value;
2891
2551
  }
2892
-
2893
2552
  props.onFilterChange(filters);
2894
-
2895
2553
  if (!getColumnProp('showApplyButton') || props.display === 'row') {
2896
2554
  props.onFilterApply();
2897
2555
  }
2898
2556
  };
2899
-
2557
+ var onInputKeydown = function onInputKeydown(event, _index) {
2558
+ if (event.key === 'Enter') {
2559
+ if (!getColumnProp('showApplyButton') || props.display === 'menu') {
2560
+ applyFilter();
2561
+ }
2562
+ }
2563
+ };
2900
2564
  var onRowMatchModeChange = function onRowMatchModeChange(matchMode) {
2901
2565
  var filterMatchModeChangeCallback = getColumnProp('onFilterMatchModeChange');
2902
-
2903
2566
  var filters = _objectSpread$3({}, props.filters);
2904
-
2905
2567
  filters[field].matchMode = matchMode;
2906
2568
  filterMatchModeChangeCallback && filterMatchModeChangeCallback({
2907
2569
  field: field,
@@ -2911,65 +2573,50 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
2911
2573
  props.onFilterApply();
2912
2574
  hide();
2913
2575
  };
2914
-
2915
2576
  var onRowMatchModeKeyDown = function onRowMatchModeKeyDown(event, matchMode, clear) {
2916
2577
  var item = event.target;
2917
-
2918
2578
  switch (event.key) {
2919
2579
  case 'ArrowDown':
2920
2580
  var nextItem = findNextItem(item);
2921
-
2922
2581
  if (nextItem) {
2923
2582
  item.removeAttribute('tabindex');
2924
2583
  nextItem.tabIndex = 0;
2925
2584
  nextItem.focus();
2926
2585
  }
2927
-
2928
2586
  event.preventDefault();
2929
2587
  break;
2930
-
2931
2588
  case 'ArrowUp':
2932
2589
  var prevItem = findPrevItem(item);
2933
-
2934
2590
  if (prevItem) {
2935
2591
  item.removeAttribute('tabindex');
2936
2592
  prevItem.tabIndex = 0;
2937
2593
  prevItem.focus();
2938
2594
  }
2939
-
2940
2595
  event.preventDefault();
2941
2596
  break;
2942
-
2943
2597
  case 'Enter':
2944
2598
  clear ? clearFilter() : onRowMatchModeChange(matchMode.value);
2945
2599
  event.preventDefault();
2946
2600
  break;
2947
2601
  }
2948
2602
  };
2949
-
2950
2603
  var onOperatorChange = function onOperatorChange(e) {
2951
2604
  var filterOperationChangeCallback = getColumnProp('onFilterOperatorChange');
2952
2605
  var value = e.value;
2953
-
2954
2606
  var filters = _objectSpread$3({}, props.filters);
2955
-
2956
2607
  filters[field].operator = value;
2957
2608
  props.onFilterChange(filters);
2958
2609
  filterOperationChangeCallback && filterOperationChangeCallback({
2959
2610
  field: field,
2960
2611
  operator: value
2961
2612
  });
2962
-
2963
2613
  if (!getColumnProp('showApplyButton')) {
2964
2614
  props.onFilterApply();
2965
2615
  }
2966
2616
  };
2967
-
2968
2617
  var onMenuMatchModeChange = function onMenuMatchModeChange(value, index) {
2969
2618
  var filterMatchModeChangeCallback = getColumnProp('onFilterMatchModeChange');
2970
-
2971
2619
  var filters = _objectSpread$3({}, props.filters);
2972
-
2973
2620
  filters[field].constraints[index].matchMode = value;
2974
2621
  props.onFilterChange(filters);
2975
2622
  filterMatchModeChangeCallback && filterMatchModeChangeCallback({
@@ -2977,18 +2624,14 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
2977
2624
  matchMode: value,
2978
2625
  index: index
2979
2626
  });
2980
-
2981
2627
  if (!getColumnProp('showApplyButton')) {
2982
2628
  props.onFilterApply();
2983
2629
  }
2984
2630
  };
2985
-
2986
2631
  var addConstraint = function addConstraint() {
2987
2632
  var filterConstraintAddCallback = getColumnProp('onFilterConstraintAdd');
2988
2633
  var defaultConstraint = getDefaultConstraint();
2989
-
2990
2634
  var filters = _objectSpread$3({}, props.filters);
2991
-
2992
2635
  var newConstraint = {
2993
2636
  value: null,
2994
2637
  matchMode: defaultConstraint.matchMode
@@ -2999,43 +2642,34 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
2999
2642
  constraint: newConstraint
3000
2643
  });
3001
2644
  props.onFilterChange(filters);
3002
-
3003
2645
  if (!getColumnProp('showApplyButton')) {
3004
2646
  props.onFilterApply();
3005
2647
  }
3006
2648
  };
3007
-
3008
2649
  var removeConstraint = function removeConstraint(index) {
3009
2650
  var filterConstraintRemoveCallback = getColumnProp('onFilterConstraintRemove');
3010
-
3011
2651
  var filters = _objectSpread$3({}, props.filters);
3012
-
3013
2652
  var removedConstraint = filters[field].constraints.splice(index, 1);
3014
2653
  filterConstraintRemoveCallback && filterConstraintRemoveCallback({
3015
2654
  field: field,
3016
2655
  constraint: removedConstraint
3017
2656
  });
3018
2657
  props.onFilterChange(filters);
3019
-
3020
2658
  if (!getColumnProp('showApplyButton')) {
3021
2659
  props.onFilterApply();
3022
2660
  }
3023
2661
  };
3024
-
3025
2662
  var findNextItem = function findNextItem(item) {
3026
2663
  var nextItem = item.nextElementSibling;
3027
2664
  return nextItem ? DomHandler.hasClass(nextItem, 'p-column-filter-separator') ? findNextItem(nextItem) : nextItem : item.parentElement.firstElementChild;
3028
2665
  };
3029
-
3030
2666
  var findPrevItem = function findPrevItem(item) {
3031
2667
  var prevItem = item.previousElementSibling;
3032
2668
  return prevItem ? DomHandler.hasClass(prevItem, 'p-column-filter-separator') ? findPrevItem(prevItem) : prevItem : item.parentElement.lastElementChild;
3033
2669
  };
3034
-
3035
2670
  var hide = function hide() {
3036
2671
  setOverlayVisibleState(false);
3037
2672
  };
3038
-
3039
2673
  var onContentClick = function onContentClick(event) {
3040
2674
  selfClick.current = true;
3041
2675
  OverlayService.emit('overlay-click', {
@@ -3043,51 +2677,40 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3043
2677
  target: overlayRef.current
3044
2678
  });
3045
2679
  };
3046
-
3047
2680
  var onContentMouseDown = function onContentMouseDown() {
3048
2681
  selfClick.current = true;
3049
2682
  };
3050
-
3051
2683
  var onOverlayEnter = function onOverlayEnter() {
3052
2684
  ZIndexUtils.set('overlay', overlayRef.current, PrimeReact.autoZIndex, PrimeReact.zIndex['overlay']);
3053
2685
  DomHandler.alignOverlay(overlayRef.current, iconRef.current, PrimeReact.appendTo, false);
3054
-
3055
2686
  overlayEventListener.current = function (e) {
3056
2687
  if (!isOutsideClicked(e.target)) {
3057
2688
  selfClick.current = true;
3058
2689
  }
3059
2690
  };
3060
-
3061
2691
  OverlayService.on('overlay-click', overlayEventListener.current);
3062
2692
  };
3063
-
3064
2693
  var onOverlayEntered = function onOverlayEntered() {
3065
2694
  bindOverlayListener();
3066
2695
  };
3067
-
3068
2696
  var onOverlayExit = function onOverlayExit() {
3069
2697
  onOverlayHide();
3070
2698
  };
3071
-
3072
2699
  var onOverlayExited = function onOverlayExited() {
3073
2700
  ZIndexUtils.clear(overlayRef.current);
3074
2701
  };
3075
-
3076
2702
  var onOverlayHide = function onOverlayHide() {
3077
2703
  unbindOverlayListener();
3078
2704
  OverlayService.off('overlay-click', overlayEventListener.current);
3079
2705
  overlayEventListener.current = null;
3080
2706
  selfClick.current = false;
3081
2707
  };
3082
-
3083
2708
  var fieldConstraints = function fieldConstraints() {
3084
2709
  return filterModel ? filterModel.constraints || [filterModel] : [];
3085
2710
  };
3086
-
3087
2711
  var operator = function operator() {
3088
2712
  return filterModel.operator;
3089
2713
  };
3090
-
3091
2714
  var operatorOptions = function operatorOptions() {
3092
2715
  return [{
3093
2716
  label: localeOption('matchAll'),
@@ -3097,50 +2720,38 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3097
2720
  value: FilterOperator.OR
3098
2721
  }];
3099
2722
  };
3100
-
3101
2723
  var filterLabel = function filterLabel() {
3102
2724
  return localeOption('filter');
3103
2725
  };
3104
-
3105
2726
  var noFilterLabel = function noFilterLabel() {
3106
2727
  return localeOption('noFilter');
3107
2728
  };
3108
-
3109
2729
  var removeRuleButtonLabel = function removeRuleButtonLabel() {
3110
2730
  return localeOption('removeRule');
3111
2731
  };
3112
-
3113
2732
  var addRuleButtonLabel = function addRuleButtonLabel() {
3114
2733
  return localeOption('addRule');
3115
2734
  };
3116
-
3117
2735
  var clearButtonLabel = function clearButtonLabel() {
3118
2736
  return localeOption('clear');
3119
2737
  };
3120
-
3121
2738
  var applyButtonLabel = function applyButtonLabel() {
3122
2739
  return localeOption('apply');
3123
2740
  };
3124
-
3125
2741
  var filterCallback = function filterCallback(value) {
3126
2742
  var index = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
3127
-
3128
2743
  var filters = _objectSpread$3({}, props.filters);
3129
-
3130
2744
  var meta = filters[field];
3131
2745
  props.display === 'menu' && meta && meta.operator ? filters[field].constraints[index].value = value : filters[field].value = value;
3132
2746
  props.onFilterChange(filters);
3133
2747
  };
3134
-
3135
2748
  var filterApplyCallback = function filterApplyCallback() {
3136
2749
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
3137
2750
  args[_key] = arguments[_key];
3138
2751
  }
3139
-
3140
2752
  args && filterCallback(args[0], args[1]);
3141
2753
  props.onFilterApply();
3142
2754
  };
3143
-
3144
2755
  useUpdateEffect(function () {
3145
2756
  if (props.display === 'menu' && overlayVisibleState) {
3146
2757
  DomHandler.alignOverlay(overlayRef.current, iconRef.current, PrimeReact.appendTo, false);
@@ -3151,13 +2762,11 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3151
2762
  OverlayService.off('overlay-click', overlayEventListener.current);
3152
2763
  overlayEventListener.current = null;
3153
2764
  }
3154
-
3155
2765
  if (overlayRef.current) {
3156
2766
  ZIndexUtils.clear(overlayRef.current);
3157
2767
  onOverlayHide();
3158
2768
  }
3159
2769
  });
3160
-
3161
2770
  var createFilterElement = function createFilterElement(model, index) {
3162
2771
  var value = model ? model.value : null;
3163
2772
  return getColumnProp('filterElement') ? ObjectUtils.getJSXElement(getColumnProp('filterElement'), {
@@ -3173,12 +2782,14 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3173
2782
  onChange: function onChange(e) {
3174
2783
  return onInputChange(e, index);
3175
2784
  },
2785
+ onKeyDown: function onKeyDown(e) {
2786
+ return onInputKeydown(e);
2787
+ },
3176
2788
  className: "p-column-filter",
3177
2789
  placeholder: getColumnProp('filterPlaceholder'),
3178
2790
  maxLength: getColumnProp('filterMaxLength')
3179
2791
  });
3180
2792
  };
3181
-
3182
2793
  var createRowFilterElement = function createRowFilterElement() {
3183
2794
  if (props.display === 'row') {
3184
2795
  var content = createFilterElement(filterModel, 0);
@@ -3186,21 +2797,17 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3186
2797
  className: "p-fluid p-column-filter-element"
3187
2798
  }, content);
3188
2799
  }
3189
-
3190
2800
  return null;
3191
2801
  };
3192
-
3193
2802
  var createMenuFilterElement = function createMenuFilterElement(fieldConstraint, index) {
3194
2803
  return props.display === 'menu' ? createFilterElement(fieldConstraint, index) : null;
3195
2804
  };
3196
-
3197
2805
  var createMenuButton = function createMenuButton() {
3198
2806
  if (showMenuButton()) {
3199
2807
  var _className = classNames('p-column-filter-menu-button p-link', {
3200
2808
  'p-column-filter-menu-button-open': overlayVisibleState,
3201
2809
  'p-column-filter-menu-button-active': hasFilter()
3202
2810
  });
3203
-
3204
2811
  var label = filterLabel();
3205
2812
  return /*#__PURE__*/React.createElement("button", {
3206
2813
  ref: iconRef,
@@ -3216,16 +2823,13 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3216
2823
  "aria-hidden": "true"
3217
2824
  }), /*#__PURE__*/React.createElement(Ripple, null));
3218
2825
  }
3219
-
3220
2826
  return null;
3221
2827
  };
3222
-
3223
2828
  var createClearButton = function createClearButton() {
3224
2829
  if (getColumnProp('showClearButton') && props.display === 'row') {
3225
2830
  var _className2 = classNames('p-column-filter-clear-button p-link', {
3226
2831
  'p-hidden-space': !hasRowFilter()
3227
2832
  });
3228
-
3229
2833
  var clearLabel = clearButtonLabel();
3230
2834
  return /*#__PURE__*/React.createElement("button", {
3231
2835
  className: _className2,
@@ -3237,21 +2841,17 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3237
2841
  "aria-hidden": "true"
3238
2842
  }), /*#__PURE__*/React.createElement(Ripple, null));
3239
2843
  }
3240
-
3241
2844
  return null;
3242
2845
  };
3243
-
3244
2846
  var createRowItems = function createRowItems() {
3245
2847
  if (isShowMatchModes()) {
3246
2848
  var _matchModes = matchModes();
3247
-
3248
2849
  var _noFilterLabel = noFilterLabel();
3249
-
3250
2850
  return /*#__PURE__*/React.createElement("ul", {
3251
2851
  className: "p-column-filter-row-items"
3252
2852
  }, _matchModes.map(function (matchMode, i) {
3253
2853
  var value = matchMode.value,
3254
- label = matchMode.label;
2854
+ label = matchMode.label;
3255
2855
  var className = classNames('p-column-filter-row-item', {
3256
2856
  'p-highlight': isRowMatchModeSelected(value)
3257
2857
  });
@@ -3277,10 +2877,8 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3277
2877
  }
3278
2878
  }, _noFilterLabel));
3279
2879
  }
3280
-
3281
2880
  return null;
3282
2881
  };
3283
-
3284
2882
  var createOperator = function createOperator() {
3285
2883
  if (isShowOperator()) {
3286
2884
  var options = operatorOptions();
@@ -3294,10 +2892,8 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3294
2892
  className: "p-column-filter-operator-dropdown"
3295
2893
  }));
3296
2894
  }
3297
-
3298
2895
  return null;
3299
2896
  };
3300
-
3301
2897
  var createMatchModeDropdown = function createMatchModeDropdown(constraint, index) {
3302
2898
  if (isShowMatchModes()) {
3303
2899
  var options = matchModes();
@@ -3310,10 +2906,8 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3310
2906
  className: "p-column-filter-matchmode-dropdown"
3311
2907
  });
3312
2908
  }
3313
-
3314
2909
  return null;
3315
2910
  };
3316
-
3317
2911
  var createRemoveButton = function createRemoveButton(index) {
3318
2912
  if (showRemoveIcon()) {
3319
2913
  var removeRuleLabel = removeRuleButtonLabel();
@@ -3327,13 +2921,10 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3327
2921
  label: removeRuleLabel
3328
2922
  });
3329
2923
  }
3330
-
3331
2924
  return null;
3332
2925
  };
3333
-
3334
2926
  var createConstraints = function createConstraints() {
3335
2927
  var _fieldConstraints = fieldConstraints();
3336
-
3337
2928
  return /*#__PURE__*/React.createElement("div", {
3338
2929
  className: "p-column-filter-constraints"
3339
2930
  }, _fieldConstraints.map(function (fieldConstraint, i) {
@@ -3346,7 +2937,6 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3346
2937
  }, matchModeDropdown, menuFilterElement, /*#__PURE__*/React.createElement("div", null, removeButton));
3347
2938
  }));
3348
2939
  };
3349
-
3350
2940
  var createAddRule = function createAddRule() {
3351
2941
  if (isShowAddConstraint()) {
3352
2942
  var addRuleLabel = addRuleButtonLabel();
@@ -3360,10 +2950,8 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3360
2950
  onClick: addConstraint
3361
2951
  }));
3362
2952
  }
3363
-
3364
2953
  return null;
3365
2954
  };
3366
-
3367
2955
  var createFilterClearButton = function createFilterClearButton() {
3368
2956
  if (getColumnProp('showClearButton')) {
3369
2957
  if (!getColumnProp('filterClear')) {
@@ -3375,17 +2963,14 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3375
2963
  label: clearLabel
3376
2964
  });
3377
2965
  }
3378
-
3379
2966
  return ObjectUtils.getJSXElement(getColumnProp('filterClear'), {
3380
2967
  field: field,
3381
2968
  filterModel: filterModel,
3382
2969
  filterClearCallback: clearFilter
3383
2970
  });
3384
2971
  }
3385
-
3386
2972
  return null;
3387
2973
  };
3388
-
3389
2974
  var createFilterApplyButton = function createFilterApplyButton() {
3390
2975
  if (getColumnProp('showApplyButton')) {
3391
2976
  if (!getColumnProp('filterApply')) {
@@ -3397,17 +2982,14 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3397
2982
  label: applyLabel
3398
2983
  });
3399
2984
  }
3400
-
3401
2985
  return ObjectUtils.getJSXElement(getColumnProp('filterApply'), {
3402
2986
  field: field,
3403
2987
  filterModel: filterModel,
3404
2988
  filterApplyCallback: applyFilter
3405
2989
  });
3406
2990
  }
3407
-
3408
2991
  return null;
3409
2992
  };
3410
-
3411
2993
  var createButtonBar = function createButtonBar() {
3412
2994
  var clearButton = createFilterClearButton();
3413
2995
  var applyButton = createFilterApplyButton();
@@ -3415,7 +2997,6 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3415
2997
  className: "p-column-filter-buttonbar"
3416
2998
  }, clearButton, applyButton);
3417
2999
  };
3418
-
3419
3000
  var createItems = function createItems() {
3420
3001
  var operator = createOperator();
3421
3002
  var constraints = createConstraints();
@@ -3423,7 +3004,6 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3423
3004
  var buttonBar = createButtonBar();
3424
3005
  return /*#__PURE__*/React.createElement(React.Fragment, null, operator, constraints, addRule, buttonBar);
3425
3006
  };
3426
-
3427
3007
  var createOverlay = function createOverlay() {
3428
3008
  var style = getColumnProp('filterMenuStyle');
3429
3009
  var className = classNames('p-column-filter-overlay p-component p-fluid', getColumnProp('filterMenuClassName'), {
@@ -3464,7 +3044,6 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3464
3044
  onMouseDown: onContentMouseDown
3465
3045
  }, filterHeader, items, filterFooter)));
3466
3046
  };
3467
-
3468
3047
  var className = classNames('p-column-filter p-fluid', {
3469
3048
  'p-column-filter-row': props.display === 'row',
3470
3049
  'p-column-filter-menu': props.display === 'menu'
@@ -3481,18 +3060,15 @@ ColumnFilter.displayName = 'ColumnFilter';
3481
3060
 
3482
3061
  var HeaderCheckbox = /*#__PURE__*/React.memo(function (props) {
3483
3062
  var _React$useState = React.useState(false),
3484
- _React$useState2 = _slicedToArray(_React$useState, 2),
3485
- focusedState = _React$useState2[0],
3486
- setFocusedState = _React$useState2[1];
3487
-
3063
+ _React$useState2 = _slicedToArray(_React$useState, 2),
3064
+ focusedState = _React$useState2[0],
3065
+ setFocusedState = _React$useState2[1];
3488
3066
  var onFocus = function onFocus() {
3489
3067
  setFocusedState(true);
3490
3068
  };
3491
-
3492
3069
  var onBlur = function onBlur() {
3493
3070
  setFocusedState(false);
3494
3071
  };
3495
-
3496
3072
  var onClick = function onClick(event) {
3497
3073
  if (!props.disabled) {
3498
3074
  setFocusedState(true);
@@ -3502,14 +3078,13 @@ var HeaderCheckbox = /*#__PURE__*/React.memo(function (props) {
3502
3078
  });
3503
3079
  }
3504
3080
  };
3505
-
3506
3081
  var onKeyDown = function onKeyDown(event) {
3507
- if (event.code === 'Space') {
3082
+ if (event.code === 'Space' || event.key === ' ') {
3083
+ // event.key is for Android support
3508
3084
  onClick(event);
3509
3085
  event.preventDefault();
3510
3086
  }
3511
3087
  };
3512
-
3513
3088
  var boxClassName = classNames('p-checkbox-box p-component', {
3514
3089
  'p-highlight': props.checked,
3515
3090
  'p-disabled': props.disabled,
@@ -3537,130 +3112,102 @@ var HeaderCheckbox = /*#__PURE__*/React.memo(function (props) {
3537
3112
  HeaderCheckbox.displayName = 'HeaderCheckbox';
3538
3113
 
3539
3114
  function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3540
-
3541
3115
  function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3542
3116
  var HeaderCell = /*#__PURE__*/React.memo(function (props) {
3543
3117
  var _React$useState = React.useState({}),
3544
- _React$useState2 = _slicedToArray(_React$useState, 2),
3545
- styleObjectState = _React$useState2[0],
3546
- setStyleObjectState = _React$useState2[1];
3547
-
3118
+ _React$useState2 = _slicedToArray(_React$useState, 2),
3119
+ styleObjectState = _React$useState2[0],
3120
+ setStyleObjectState = _React$useState2[1];
3548
3121
  var elementRef = React.useRef(null);
3549
3122
  var prevColumn = usePrevious(props.column);
3550
-
3551
3123
  var isBadgeVisible = function isBadgeVisible() {
3552
3124
  return props.multiSortMeta && props.multiSortMeta.length > 1;
3553
3125
  };
3554
-
3555
3126
  var isSortableDisabled = function isSortableDisabled() {
3556
3127
  return !getColumnProp('sortable') || getColumnProp('sortable') && (props.allSortableDisabled || getColumnProp('sortableDisabled'));
3557
3128
  };
3558
-
3559
3129
  var getColumnProp = function getColumnProp() {
3560
3130
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
3561
3131
  args[_key] = arguments[_key];
3562
3132
  }
3563
-
3564
3133
  return props.column ? typeof args[0] === 'string' ? props.column.props[args[0]] : (args[0] || props.column).props[args[1]] : null;
3565
3134
  };
3566
-
3567
3135
  var getStyle = function getStyle() {
3568
3136
  var headerStyle = getColumnProp('headerStyle');
3569
3137
  var columnStyle = getColumnProp('style');
3570
3138
  return getColumnProp('frozen') ? Object.assign({}, columnStyle, headerStyle, styleObjectState) : Object.assign({}, columnStyle, headerStyle);
3571
3139
  };
3572
-
3573
3140
  var getMultiSortMetaIndex = function getMultiSortMetaIndex() {
3574
3141
  return props.multiSortMeta.findIndex(function (meta) {
3575
3142
  return meta.field === getColumnProp('field') || meta.field === getColumnProp('sortField');
3576
3143
  });
3577
3144
  };
3578
-
3579
3145
  var getSortMeta = function getSortMeta() {
3580
3146
  var sorted = false;
3581
3147
  var sortOrder = 0;
3582
3148
  var metaIndex = -1;
3583
-
3584
3149
  if (props.sortMode === 'single') {
3585
3150
  sorted = props.sortField && (props.sortField === getColumnProp('field') || props.sortField === getColumnProp('sortField'));
3586
3151
  sortOrder = sorted ? props.sortOrder : 0;
3587
3152
  } else if (props.sortMode === 'multiple') {
3588
3153
  metaIndex = getMultiSortMetaIndex();
3589
-
3590
3154
  if (metaIndex > -1) {
3591
3155
  sorted = true;
3592
3156
  sortOrder = props.multiSortMeta[metaIndex].order;
3593
3157
  }
3594
3158
  }
3595
-
3596
3159
  return {
3597
3160
  sorted: sorted,
3598
3161
  sortOrder: sortOrder,
3599
3162
  metaIndex: metaIndex
3600
3163
  };
3601
3164
  };
3602
-
3603
3165
  var getAriaSort = function getAriaSort(_ref) {
3604
3166
  var sorted = _ref.sorted,
3605
- sortOrder = _ref.sortOrder;
3606
-
3167
+ sortOrder = _ref.sortOrder;
3607
3168
  if (getColumnProp('sortable')) {
3608
3169
  var sortIcon = sorted ? sortOrder < 0 ? 'pi-sort-amount-down' : 'pi-sort-amount-up-alt' : 'pi-sort-alt';
3609
3170
  if (sortIcon === 'pi-sort-amount-down') return 'descending';else if (sortIcon === 'pi-sort-amount-up-alt') return 'ascending';else return 'none';
3610
3171
  }
3611
-
3612
3172
  return null;
3613
3173
  };
3614
-
3615
3174
  var updateStickyPosition = function updateStickyPosition() {
3616
3175
  if (getColumnProp('frozen')) {
3617
3176
  var styleObject = _objectSpread$2({}, styleObjectState);
3618
-
3619
3177
  var align = getColumnProp('alignFrozen');
3620
-
3621
3178
  if (align === 'right') {
3622
3179
  var right = 0;
3623
3180
  var next = elementRef.current.nextElementSibling;
3624
-
3625
3181
  if (next) {
3626
3182
  right = DomHandler.getOuterWidth(next) + parseFloat(next.style.right || 0);
3627
3183
  }
3628
-
3629
3184
  styleObject['right'] = right + 'px';
3630
3185
  } else {
3631
3186
  var left = 0;
3632
3187
  var prev = elementRef.current.previousElementSibling;
3633
-
3634
3188
  if (prev) {
3635
3189
  left = DomHandler.getOuterWidth(prev) + parseFloat(prev.style.left || 0);
3636
3190
  }
3637
-
3638
3191
  styleObject['left'] = left + 'px';
3639
3192
  }
3640
-
3641
3193
  var filterRow = elementRef.current.parentElement.nextElementSibling;
3642
-
3643
3194
  if (filterRow) {
3644
3195
  var index = DomHandler.index(elementRef.current);
3645
3196
  filterRow.children[index].style.left = styleObject['left'];
3646
3197
  filterRow.children[index].style.right = styleObject['right'];
3647
3198
  }
3648
-
3649
3199
  var isSameStyle = styleObjectState['left'] === styleObject['left'] && styleObjectState['right'] === styleObject['right'];
3650
3200
  !isSameStyle && setStyleObjectState(styleObject);
3651
3201
  }
3652
3202
  };
3653
-
3654
3203
  var updateSortableDisabled = function updateSortableDisabled(prevColumn) {
3655
3204
  if (getColumnProp(prevColumn, 'sortableDisabled') !== getColumnProp('sortableDisabled') || getColumnProp(prevColumn, 'sortable') !== getColumnProp('sortable')) {
3656
3205
  props.onSortableChange();
3657
3206
  }
3658
3207
  };
3659
-
3660
3208
  var onClick = function onClick(event) {
3661
3209
  if (!isSortableDisabled()) {
3662
3210
  var targetNode = event.target;
3663
-
3664
3211
  if (DomHandler.hasClass(targetNode, 'p-sortable-column') || DomHandler.hasClass(targetNode, 'p-column-title') || DomHandler.hasClass(targetNode, 'p-column-header-content') || DomHandler.hasClass(targetNode, 'p-sortable-column-icon') || DomHandler.hasClass(targetNode.parentElement, 'p-sortable-column-icon')) {
3665
3212
  DomHandler.clearSelection();
3666
3213
  props.onSortChange({
@@ -3671,56 +3218,48 @@ var HeaderCell = /*#__PURE__*/React.memo(function (props) {
3671
3218
  }
3672
3219
  }
3673
3220
  };
3674
-
3675
3221
  var onMouseDown = function onMouseDown(event) {
3676
3222
  props.onColumnMouseDown({
3677
3223
  originalEvent: event,
3678
3224
  column: props.column
3679
3225
  });
3680
3226
  };
3681
-
3682
3227
  var onKeyDown = function onKeyDown(event) {
3683
3228
  if (event.key === 'Enter' && event.currentTarget === elementRef.current && DomHandler.hasClass(event.currentTarget, 'p-sortable-column')) {
3684
3229
  onClick(event);
3685
3230
  event.preventDefault();
3686
3231
  }
3687
3232
  };
3688
-
3689
3233
  var onDragStart = function onDragStart(event) {
3690
3234
  props.onColumnDragStart({
3691
3235
  originalEvent: event,
3692
3236
  column: props.column
3693
3237
  });
3694
3238
  };
3695
-
3696
3239
  var onDragOver = function onDragOver(event) {
3697
3240
  props.onColumnDragOver({
3698
3241
  originalEvent: event,
3699
3242
  column: props.column
3700
3243
  });
3701
3244
  };
3702
-
3703
3245
  var onDragLeave = function onDragLeave(event) {
3704
3246
  props.onColumnDragLeave({
3705
3247
  originalEvent: event,
3706
3248
  column: props.column
3707
3249
  });
3708
3250
  };
3709
-
3710
3251
  var onDrop = function onDrop(event) {
3711
3252
  props.onColumnDrop({
3712
3253
  originalEvent: event,
3713
3254
  column: props.column
3714
3255
  });
3715
3256
  };
3716
-
3717
3257
  var onResizerMouseDown = function onResizerMouseDown(event) {
3718
3258
  props.onColumnResizeStart({
3719
3259
  originalEvent: event,
3720
3260
  column: props.column
3721
3261
  });
3722
3262
  };
3723
-
3724
3263
  var onResizerClick = function onResizerClick(event) {
3725
3264
  if (props.onColumnResizerClick) {
3726
3265
  props.onColumnResizerClick({
@@ -3731,7 +3270,6 @@ var HeaderCell = /*#__PURE__*/React.memo(function (props) {
3731
3270
  event.preventDefault();
3732
3271
  }
3733
3272
  };
3734
-
3735
3273
  var onResizerDoubleClick = function onResizerDoubleClick(event) {
3736
3274
  if (props.onColumnResizerDoubleClick) {
3737
3275
  props.onColumnResizerDoubleClick({
@@ -3742,15 +3280,12 @@ var HeaderCell = /*#__PURE__*/React.memo(function (props) {
3742
3280
  event.preventDefault();
3743
3281
  }
3744
3282
  };
3745
-
3746
3283
  React.useEffect(function () {
3747
3284
  if (getColumnProp('frozen')) {
3748
3285
  updateStickyPosition();
3749
3286
  }
3750
-
3751
3287
  updateSortableDisabled(prevColumn);
3752
3288
  });
3753
-
3754
3289
  var createResizer = function createResizer() {
3755
3290
  if (props.resizableColumns && !getColumnProp('frozen')) {
3756
3291
  return /*#__PURE__*/React.createElement("span", {
@@ -3760,10 +3295,8 @@ var HeaderCell = /*#__PURE__*/React.memo(function (props) {
3760
3295
  onDoubleClick: onResizerDoubleClick
3761
3296
  });
3762
3297
  }
3763
-
3764
3298
  return null;
3765
3299
  };
3766
-
3767
3300
  var createTitle = function createTitle() {
3768
3301
  var title = ObjectUtils.getJSXElement(getColumnProp('header'), {
3769
3302
  props: props.tableProps
@@ -3772,11 +3305,9 @@ var HeaderCell = /*#__PURE__*/React.memo(function (props) {
3772
3305
  className: "p-column-title"
3773
3306
  }, title);
3774
3307
  };
3775
-
3776
3308
  var createSortIcon = function createSortIcon(_ref2) {
3777
3309
  var sorted = _ref2.sorted,
3778
- sortOrder = _ref2.sortOrder;
3779
-
3310
+ sortOrder = _ref2.sortOrder;
3780
3311
  if (getColumnProp('sortable')) {
3781
3312
  var sortIcon = sorted ? sortOrder < 0 ? 'pi-sort-amount-down' : 'pi-sort-amount-up-alt' : 'pi-sort-alt';
3782
3313
  var className = classNames('p-sortable-column-icon pi pi-fw', sortIcon);
@@ -3784,23 +3315,18 @@ var HeaderCell = /*#__PURE__*/React.memo(function (props) {
3784
3315
  className: className
3785
3316
  });
3786
3317
  }
3787
-
3788
3318
  return null;
3789
3319
  };
3790
-
3791
3320
  var createBadge = function createBadge(_ref3) {
3792
3321
  var metaIndex = _ref3.metaIndex;
3793
-
3794
3322
  if (metaIndex !== -1 && isBadgeVisible()) {
3795
3323
  var value = props.groupRowsBy && props.groupRowsBy === props.groupRowSortField ? metaIndex : metaIndex + 1;
3796
3324
  return /*#__PURE__*/React.createElement("span", {
3797
3325
  className: "p-sortable-column-badge"
3798
3326
  }, value);
3799
3327
  }
3800
-
3801
3328
  return null;
3802
3329
  };
3803
-
3804
3330
  var createCheckbox = function createCheckbox() {
3805
3331
  if (props.showSelectAll && getColumnProp('selectionMode') === 'multiple' && props.filterDisplay !== 'row') {
3806
3332
  var allRowsSelected = props.allRowsSelected(props.value);
@@ -3810,10 +3336,8 @@ var HeaderCell = /*#__PURE__*/React.memo(function (props) {
3810
3336
  disabled: props.empty
3811
3337
  });
3812
3338
  }
3813
-
3814
3339
  return null;
3815
3340
  };
3816
-
3817
3341
  var createFilter = function createFilter() {
3818
3342
  if (props.filterDisplay === 'menu' && getColumnProp('filter')) {
3819
3343
  return /*#__PURE__*/React.createElement(ColumnFilter, {
@@ -3825,10 +3349,8 @@ var HeaderCell = /*#__PURE__*/React.memo(function (props) {
3825
3349
  filtersStore: props.filtersStore
3826
3350
  });
3827
3351
  }
3828
-
3829
3352
  return null;
3830
3353
  };
3831
-
3832
3354
  var createHeader = function createHeader(sortMeta) {
3833
3355
  var title = createTitle();
3834
3356
  var sortIcon = createSortIcon(sortMeta);
@@ -3839,10 +3361,8 @@ var HeaderCell = /*#__PURE__*/React.memo(function (props) {
3839
3361
  className: "p-column-header-content"
3840
3362
  }, title, sortIcon, badge, checkbox, filter);
3841
3363
  };
3842
-
3843
3364
  var createElement = function createElement() {
3844
3365
  var _isSortableDisabled = isSortableDisabled();
3845
-
3846
3366
  var sortMeta = getSortMeta();
3847
3367
  var style = getStyle();
3848
3368
  var align = getColumnProp('alignHeader') || getColumnProp('align');
@@ -3886,34 +3406,28 @@ var HeaderCell = /*#__PURE__*/React.memo(function (props) {
3886
3406
  content: headerTooltip
3887
3407
  }, headerTooltipOptions)));
3888
3408
  };
3889
-
3890
3409
  var element = createElement();
3891
3410
  return element;
3892
3411
  });
3893
3412
  HeaderCell.displayName = 'HeaderCell';
3894
3413
 
3895
3414
  function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3896
-
3897
3415
  function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3898
3416
  var TableHeader = /*#__PURE__*/React.memo(function (props) {
3899
3417
  var _React$useState = React.useState([]),
3900
- _React$useState2 = _slicedToArray(_React$useState, 2),
3901
- sortableDisabledFieldsState = _React$useState2[0],
3902
- setSortableDisabledFieldsState = _React$useState2[1];
3903
-
3418
+ _React$useState2 = _slicedToArray(_React$useState, 2),
3419
+ sortableDisabledFieldsState = _React$useState2[0],
3420
+ setSortableDisabledFieldsState = _React$useState2[1];
3904
3421
  var _React$useState3 = React.useState(false),
3905
- _React$useState4 = _slicedToArray(_React$useState3, 2),
3906
- allSortableDisabledState = _React$useState4[0],
3907
- setAllSortableDisabledState = _React$useState4[1];
3908
-
3422
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
3423
+ allSortableDisabledState = _React$useState4[0],
3424
+ setAllSortableDisabledState = _React$useState4[1];
3909
3425
  var isSingleSort = props.sortMode === 'single';
3910
3426
  var isMultipleSort = props.sortMode === 'multiple';
3911
3427
  var isAllSortableDisabled = isSingleSort && allSortableDisabledState;
3912
-
3913
3428
  var isColumnSorted = function isColumnSorted(column) {
3914
3429
  return props.sortField !== null ? column.props.field === props.sortField || column.props.sortField === props.sortField : false;
3915
3430
  };
3916
-
3917
3431
  var updateSortableDisabled = function updateSortableDisabled() {
3918
3432
  if (isSingleSort || isMultipleSort && props.onSortChange) {
3919
3433
  var sortableDisabledFields = [];
@@ -3921,7 +3435,6 @@ var TableHeader = /*#__PURE__*/React.memo(function (props) {
3921
3435
  props.columns.forEach(function (column) {
3922
3436
  if (column.props.sortableDisabled) {
3923
3437
  sortableDisabledFields.push(column.props.sortField || column.props.field);
3924
-
3925
3438
  if (!allSortableDisabled && isColumnSorted(column)) {
3926
3439
  allSortableDisabled = true;
3927
3440
  }
@@ -3931,24 +3444,19 @@ var TableHeader = /*#__PURE__*/React.memo(function (props) {
3931
3444
  setAllSortableDisabledState(allSortableDisabled);
3932
3445
  }
3933
3446
  };
3934
-
3935
3447
  var onSortableChange = function onSortableChange() {
3936
3448
  updateSortableDisabled();
3937
3449
  };
3938
-
3939
3450
  var onCheckboxChange = function onCheckboxChange(e) {
3940
3451
  props.onColumnCheckboxChange(e, props.value);
3941
3452
  };
3942
-
3943
3453
  useMountEffect(function () {
3944
3454
  updateSortableDisabled();
3945
3455
  });
3946
-
3947
3456
  var createGroupHeaderCells = function createGroupHeaderCells(row) {
3948
3457
  var columns = React.Children.toArray(row.props.children);
3949
3458
  return createHeaderCells(columns);
3950
3459
  };
3951
-
3952
3460
  var createHeaderCells = function createHeaderCells(columns) {
3953
3461
  return React.Children.map(columns, function (col, i) {
3954
3462
  var isVisible = col ? !col.props.hidden : true;
@@ -3991,7 +3499,6 @@ var TableHeader = /*#__PURE__*/React.memo(function (props) {
3991
3499
  });
3992
3500
  });
3993
3501
  };
3994
-
3995
3502
  var createCheckbox = function createCheckbox(selectionMode) {
3996
3503
  if (props.showSelectAll && selectionMode === 'multiple') {
3997
3504
  var allRowsSelected = props.allRowsSelected(props.value);
@@ -4001,10 +3508,8 @@ var TableHeader = /*#__PURE__*/React.memo(function (props) {
4001
3508
  disabled: props.empty
4002
3509
  });
4003
3510
  }
4004
-
4005
3511
  return null;
4006
3512
  };
4007
-
4008
3513
  var createFilter = function createFilter(column, filter) {
4009
3514
  if (filter) {
4010
3515
  return /*#__PURE__*/React.createElement(ColumnFilter, {
@@ -4016,28 +3521,23 @@ var TableHeader = /*#__PURE__*/React.memo(function (props) {
4016
3521
  onFilterApply: props.onFilterApply
4017
3522
  });
4018
3523
  }
4019
-
4020
3524
  return null;
4021
3525
  };
4022
-
4023
3526
  var createFilterCells = function createFilterCells() {
4024
3527
  return React.Children.map(props.columns, function (col, i) {
4025
3528
  var isVisible = !col.props.hidden;
4026
-
4027
3529
  if (isVisible) {
4028
3530
  var _col$props = col.props,
4029
- filterHeaderStyle = _col$props.filterHeaderStyle,
4030
- style = _col$props.style,
4031
- filterHeaderClassName = _col$props.filterHeaderClassName,
4032
- className = _col$props.className,
4033
- frozen = _col$props.frozen,
4034
- columnKey = _col$props.columnKey,
4035
- field = _col$props.field,
4036
- selectionMode = _col$props.selectionMode,
4037
- filter = _col$props.filter;
4038
-
3531
+ filterHeaderStyle = _col$props.filterHeaderStyle,
3532
+ style = _col$props.style,
3533
+ filterHeaderClassName = _col$props.filterHeaderClassName,
3534
+ className = _col$props.className,
3535
+ frozen = _col$props.frozen,
3536
+ columnKey = _col$props.columnKey,
3537
+ field = _col$props.field,
3538
+ selectionMode = _col$props.selectionMode,
3539
+ filter = _col$props.filter;
4039
3540
  var colStyle = _objectSpread$1(_objectSpread$1({}, filterHeaderStyle || {}), style || {});
4040
-
4041
3541
  var colClassName = classNames('p-filter-column', filterHeaderClassName, className, {
4042
3542
  'p-frozen-column': frozen
4043
3543
  });
@@ -4050,11 +3550,9 @@ var TableHeader = /*#__PURE__*/React.memo(function (props) {
4050
3550
  className: colClassName
4051
3551
  }, checkbox, filterRow);
4052
3552
  }
4053
-
4054
3553
  return null;
4055
3554
  });
4056
3555
  };
4057
-
4058
3556
  var createContent = function createContent() {
4059
3557
  if (props.headerColumnGroup) {
4060
3558
  var rows = React.Children.toArray(props.headerColumnGroup.props.children);
@@ -4074,7 +3572,6 @@ var TableHeader = /*#__PURE__*/React.memo(function (props) {
4074
3572
  return /*#__PURE__*/React.createElement(React.Fragment, null, headerRow, filterRow);
4075
3573
  }
4076
3574
  };
4077
-
4078
3575
  var content = createContent();
4079
3576
  return /*#__PURE__*/React.createElement("thead", {
4080
3577
  className: "p-datatable-thead"
@@ -4083,69 +3580,56 @@ var TableHeader = /*#__PURE__*/React.memo(function (props) {
4083
3580
  TableHeader.displayName = 'TableHeader';
4084
3581
 
4085
3582
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4086
-
4087
3583
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4088
3584
  var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4089
3585
  var _React$useState = React.useState(props.first),
4090
- _React$useState2 = _slicedToArray(_React$useState, 2),
4091
- firstState = _React$useState2[0],
4092
- setFirstState = _React$useState2[1];
4093
-
3586
+ _React$useState2 = _slicedToArray(_React$useState, 2),
3587
+ firstState = _React$useState2[0],
3588
+ setFirstState = _React$useState2[1];
4094
3589
  var _React$useState3 = React.useState(props.rows),
4095
- _React$useState4 = _slicedToArray(_React$useState3, 2),
4096
- rowsState = _React$useState4[0],
4097
- setRowsState = _React$useState4[1];
4098
-
3590
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
3591
+ rowsState = _React$useState4[0],
3592
+ setRowsState = _React$useState4[1];
4099
3593
  var _React$useState5 = React.useState(props.sortField),
4100
- _React$useState6 = _slicedToArray(_React$useState5, 2),
4101
- sortFieldState = _React$useState6[0],
4102
- setSortFieldState = _React$useState6[1];
4103
-
3594
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
3595
+ sortFieldState = _React$useState6[0],
3596
+ setSortFieldState = _React$useState6[1];
4104
3597
  var _React$useState7 = React.useState(props.sortOrder),
4105
- _React$useState8 = _slicedToArray(_React$useState7, 2),
4106
- sortOrderState = _React$useState8[0],
4107
- setSortOrderState = _React$useState8[1];
4108
-
3598
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
3599
+ sortOrderState = _React$useState8[0],
3600
+ setSortOrderState = _React$useState8[1];
4109
3601
  var _React$useState9 = React.useState(props.multiSortMeta),
4110
- _React$useState10 = _slicedToArray(_React$useState9, 2),
4111
- multiSortMetaState = _React$useState10[0],
4112
- setMultiSortMetaState = _React$useState10[1];
4113
-
3602
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
3603
+ multiSortMetaState = _React$useState10[0],
3604
+ setMultiSortMetaState = _React$useState10[1];
4114
3605
  var _React$useState11 = React.useState(props.filters),
4115
- _React$useState12 = _slicedToArray(_React$useState11, 2),
4116
- filtersState = _React$useState12[0],
4117
- setFiltersState = _React$useState12[1];
4118
-
3606
+ _React$useState12 = _slicedToArray(_React$useState11, 2),
3607
+ filtersState = _React$useState12[0],
3608
+ setFiltersState = _React$useState12[1];
4119
3609
  var _React$useState13 = React.useState([]),
4120
- _React$useState14 = _slicedToArray(_React$useState13, 2),
4121
- columnOrderState = _React$useState14[0],
4122
- setColumnOrderState = _React$useState14[1];
4123
-
3610
+ _React$useState14 = _slicedToArray(_React$useState13, 2),
3611
+ columnOrderState = _React$useState14[0],
3612
+ setColumnOrderState = _React$useState14[1];
4124
3613
  var _React$useState15 = React.useState(null),
4125
- _React$useState16 = _slicedToArray(_React$useState15, 2),
4126
- groupRowsSortMetaState = _React$useState16[0],
4127
- setGroupRowsSortMetaState = _React$useState16[1];
4128
-
3614
+ _React$useState16 = _slicedToArray(_React$useState15, 2),
3615
+ groupRowsSortMetaState = _React$useState16[0],
3616
+ setGroupRowsSortMetaState = _React$useState16[1];
4129
3617
  var _React$useState17 = React.useState({}),
4130
- _React$useState18 = _slicedToArray(_React$useState17, 2),
4131
- editingMetaState = _React$useState18[0],
4132
- setEditingMetaState = _React$useState18[1];
4133
-
3618
+ _React$useState18 = _slicedToArray(_React$useState17, 2),
3619
+ editingMetaState = _React$useState18[0],
3620
+ setEditingMetaState = _React$useState18[1];
4134
3621
  var _React$useState19 = React.useState(null),
4135
- _React$useState20 = _slicedToArray(_React$useState19, 2),
4136
- attributeSelectorState = _React$useState20[0],
4137
- setAttributeSelectorState = _React$useState20[1];
4138
-
3622
+ _React$useState20 = _slicedToArray(_React$useState19, 2),
3623
+ attributeSelectorState = _React$useState20[0],
3624
+ setAttributeSelectorState = _React$useState20[1];
4139
3625
  var _React$useState21 = React.useState(props.rows),
4140
- _React$useState22 = _slicedToArray(_React$useState21, 2),
4141
- d_rowsState = _React$useState22[0],
4142
- setD_rowsState = _React$useState22[1];
4143
-
3626
+ _React$useState22 = _slicedToArray(_React$useState21, 2),
3627
+ d_rowsState = _React$useState22[0],
3628
+ setD_rowsState = _React$useState22[1];
4144
3629
  var _React$useState23 = React.useState({}),
4145
- _React$useState24 = _slicedToArray(_React$useState23, 2),
4146
- d_filtersState = _React$useState24[0],
4147
- setD_filtersState = _React$useState24[1];
4148
-
3630
+ _React$useState24 = _slicedToArray(_React$useState23, 2),
3631
+ d_filtersState = _React$useState24[0],
3632
+ setD_filtersState = _React$useState24[1];
4149
3633
  var elementRef = React.useRef(null);
4150
3634
  var tableRef = React.useRef(null);
4151
3635
  var wrapperRef = React.useRef(null);
@@ -4172,92 +3656,74 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4172
3656
  var columnSortFunction = React.useRef(null);
4173
3657
  var columnField = React.useRef(null);
4174
3658
  var filterTimeout = React.useRef(null);
4175
-
4176
3659
  if (props.rows !== d_rowsState && !props.onPage) {
4177
3660
  setRowsState(props.rows);
4178
3661
  setD_rowsState(props.rows);
4179
3662
  }
4180
-
4181
3663
  var _useEventListener = useEventListener({
4182
- type: 'mousemove',
4183
- listener: function listener(event) {
4184
- if (columnResizing.current) {
4185
- onColumnResize(event);
3664
+ type: 'mousemove',
3665
+ listener: function listener(event) {
3666
+ if (columnResizing.current) {
3667
+ onColumnResize(event);
3668
+ }
4186
3669
  }
4187
- }
4188
- }),
4189
- _useEventListener2 = _slicedToArray(_useEventListener, 2),
4190
- bindDocumentMouseMoveListener = _useEventListener2[0],
4191
- unbindDocumentMouseMoveListener = _useEventListener2[1];
4192
-
3670
+ }),
3671
+ _useEventListener2 = _slicedToArray(_useEventListener, 2),
3672
+ bindDocumentMouseMoveListener = _useEventListener2[0],
3673
+ unbindDocumentMouseMoveListener = _useEventListener2[1];
4193
3674
  var _useEventListener3 = useEventListener({
4194
- type: 'mouseup',
4195
- listener: function listener() {
4196
- if (columnResizing.current) {
4197
- columnResizing.current = false;
4198
- onColumnResizeEnd();
3675
+ type: 'mouseup',
3676
+ listener: function listener() {
3677
+ if (columnResizing.current) {
3678
+ columnResizing.current = false;
3679
+ onColumnResizeEnd();
3680
+ }
4199
3681
  }
4200
- }
4201
- }),
4202
- _useEventListener4 = _slicedToArray(_useEventListener3, 2),
4203
- bindDocumentMouseUpListener = _useEventListener4[0],
4204
- unbindDocumentMouseUpListener = _useEventListener4[1];
4205
-
3682
+ }),
3683
+ _useEventListener4 = _slicedToArray(_useEventListener3, 2),
3684
+ bindDocumentMouseUpListener = _useEventListener4[0],
3685
+ unbindDocumentMouseUpListener = _useEventListener4[1];
4206
3686
  var isCustomStateStorage = function isCustomStateStorage() {
4207
3687
  return props.stateStorage === 'custom';
4208
3688
  };
4209
-
4210
3689
  var isStateful = function isStateful() {
4211
3690
  return props.stateKey != null || isCustomStateStorage();
4212
3691
  };
4213
-
4214
3692
  var isVirtualScrollerDisabled = function isVirtualScrollerDisabled() {
4215
3693
  return ObjectUtils.isEmpty(props.virtualScrollerOptions) || !props.scrollable;
4216
3694
  };
4217
-
4218
3695
  var isEquals = function isEquals(data1, data2) {
4219
3696
  return props.compareSelectionBy === 'equals' ? data1 === data2 : ObjectUtils.equals(data1, data2, props.dataKey);
4220
3697
  };
4221
-
4222
3698
  var hasFilter = function hasFilter() {
4223
3699
  return ObjectUtils.isNotEmpty(getFilters()) || props.globalFilter;
4224
3700
  };
4225
-
4226
3701
  var getFirst = function getFirst() {
4227
3702
  return props.onPage ? props.first : firstState;
4228
3703
  };
4229
-
4230
3704
  var getRows = function getRows() {
4231
3705
  return props.onPage ? props.rows : rowsState;
4232
3706
  };
4233
-
4234
3707
  var getSortField = function getSortField() {
4235
3708
  return props.onSort ? props.sortField : sortFieldState;
4236
3709
  };
4237
-
4238
3710
  var getSortOrder = function getSortOrder() {
4239
3711
  return props.onSort ? props.sortOrder : sortOrderState;
4240
3712
  };
4241
-
4242
3713
  var getMultiSortMeta = function getMultiSortMeta() {
4243
3714
  return (props.onSort ? props.multiSortMeta : multiSortMetaState) || [];
4244
3715
  };
4245
-
4246
3716
  var getFilters = function getFilters() {
4247
3717
  return props.onFilter ? props.filters : filtersState;
4248
3718
  };
4249
-
4250
3719
  var getColumnProp = function getColumnProp(col, prop) {
4251
3720
  return col.props[prop];
4252
3721
  };
4253
-
4254
3722
  var getColumns = function getColumns(ignoreReorderable) {
4255
3723
  var columns = React.Children.toArray(props.children);
4256
-
4257
3724
  if (!columns) {
4258
3725
  return null;
4259
3726
  }
4260
-
4261
3727
  if (!ignoreReorderable && props.reorderableColumns && columnOrderState) {
4262
3728
  var orderedColumns = columnOrderState.reduce(function (arr, columnKey) {
4263
3729
  var column = findColumnByKey(columns, columnKey);
@@ -4268,95 +3734,72 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4268
3734
  return orderedColumns.indexOf(col) < 0;
4269
3735
  })));
4270
3736
  }
4271
-
4272
3737
  return columns;
4273
3738
  };
4274
-
4275
3739
  var getStorage = function getStorage() {
4276
3740
  switch (props.stateStorage) {
4277
3741
  case 'local':
4278
3742
  return window.localStorage;
4279
-
4280
3743
  case 'session':
4281
3744
  return window.sessionStorage;
4282
-
4283
3745
  case 'custom':
4284
3746
  return null;
4285
-
4286
3747
  default:
4287
3748
  throw new Error(props.stateStorage + ' is not a valid value for the state storage, supported values are "local", "session" and "custom".');
4288
3749
  }
4289
3750
  };
4290
-
4291
3751
  var saveState = function saveState() {
4292
3752
  var state = {};
4293
-
4294
3753
  if (props.paginator) {
4295
3754
  state.first = getFirst();
4296
3755
  state.rows = getRows();
4297
3756
  }
4298
-
4299
3757
  var sortField = getSortField();
4300
-
4301
3758
  if (sortField) {
4302
3759
  state.sortField = sortField;
4303
3760
  state.sortOrder = getSortOrder();
4304
3761
  }
4305
-
4306
3762
  var multiSortMeta = getMultiSortMeta();
4307
-
4308
3763
  if (multiSortMeta) {
4309
3764
  state.multiSortMeta = multiSortMeta;
4310
3765
  }
4311
-
4312
3766
  if (hasFilter()) {
4313
3767
  state.filters = getFilters();
4314
3768
  }
4315
-
4316
3769
  if (props.resizableColumns) {
4317
3770
  saveColumnWidths(state);
4318
3771
  }
4319
-
4320
3772
  if (props.reorderableColumns) {
4321
3773
  state.columnOrder = columnOrderState;
4322
3774
  }
4323
-
4324
3775
  if (props.expandedRows) {
4325
3776
  state.expandedRows = props.expandedRows;
4326
3777
  }
4327
-
4328
3778
  if (props.selection && props.onSelectionChange) {
4329
3779
  state.selection = props.selection;
4330
3780
  }
4331
-
4332
3781
  if (isCustomStateStorage()) {
4333
3782
  if (props.customSaveState) {
4334
3783
  props.customSaveState(state);
4335
3784
  }
4336
3785
  } else {
4337
3786
  var storage = getStorage();
4338
-
4339
3787
  if (ObjectUtils.isNotEmpty(state)) {
4340
3788
  storage.setItem(props.stateKey, JSON.stringify(state));
4341
3789
  }
4342
3790
  }
4343
-
4344
3791
  if (props.onStateSave) {
4345
3792
  props.onStateSave(state);
4346
3793
  }
4347
3794
  };
4348
-
4349
3795
  var clearState = function clearState() {
4350
3796
  var storage = getStorage();
4351
-
4352
3797
  if (storage && props.stateKey) {
4353
3798
  storage.removeItem(props.stateKey);
4354
3799
  }
4355
3800
  };
4356
-
4357
3801
  var restoreState = function restoreState() {
4358
3802
  var restoredState = {};
4359
-
4360
3803
  if (isCustomStateStorage()) {
4361
3804
  if (props.customRestoreState) {
4362
3805
  restoredState = props.customRestoreState();
@@ -4365,26 +3808,20 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4365
3808
  var storage = getStorage();
4366
3809
  var stateString = storage.getItem(props.stateKey);
4367
3810
  var dateFormat = /\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/;
4368
-
4369
3811
  var reviver = function reviver(key, value) {
4370
3812
  return typeof value === 'string' && dateFormat.test(value) ? new Date(value) : value;
4371
3813
  };
4372
-
4373
3814
  if (stateString) {
4374
3815
  restoredState = JSON.parse(stateString, reviver);
4375
3816
  }
4376
3817
  }
4377
-
4378
3818
  _restoreState(restoredState);
4379
3819
  };
4380
-
4381
3820
  var restoreTableState = function restoreTableState(restoredState) {
4382
3821
  _restoreState(restoredState);
4383
3822
  };
4384
-
4385
3823
  var _restoreState = function _restoreState() {
4386
3824
  var restoredState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4387
-
4388
3825
  if (ObjectUtils.isNotEmpty(restoredState)) {
4389
3826
  if (props.paginator) {
4390
3827
  if (props.onPage) {
@@ -4399,14 +3836,12 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4399
3836
  pageCount: pageCount
4400
3837
  };
4401
3838
  };
4402
-
4403
3839
  props.onPage(createEvent(getOnPageParams(restoredState.first, restoredState.rows)));
4404
3840
  } else {
4405
3841
  setFirstState(restoredState.first);
4406
3842
  setRowsState(restoredState.rows);
4407
3843
  }
4408
3844
  }
4409
-
4410
3845
  if (restoredState.sortField) {
4411
3846
  if (props.onSort) {
4412
3847
  props.onSort(createEvent({
@@ -4418,7 +3853,6 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4418
3853
  setSortOrderState(restoredState.sortOrder);
4419
3854
  }
4420
3855
  }
4421
-
4422
3856
  if (restoredState.multiSortMeta) {
4423
3857
  if (props.onSort) {
4424
3858
  props.onSort(createEvent({
@@ -4428,10 +3862,8 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4428
3862
  setMultiSortMetaState(restoredState.multiSortMeta);
4429
3863
  }
4430
3864
  }
4431
-
4432
3865
  if (restoredState.filters) {
4433
3866
  setD_filtersState(cloneFilters(restoredState.filters));
4434
-
4435
3867
  if (props.onFilter) {
4436
3868
  props.onFilter(createEvent({
4437
3869
  filters: restoredState.filters
@@ -4440,35 +3872,29 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4440
3872
  setFiltersState(cloneFilters(restoredState.filters));
4441
3873
  }
4442
3874
  }
4443
-
4444
3875
  if (props.resizableColumns) {
4445
3876
  columnWidthsState.current = restoredState.columnWidths;
4446
3877
  tableWidthState.current = restoredState.tableWidth;
4447
3878
  restoreColumnWidths();
4448
3879
  }
4449
-
4450
3880
  if (props.reorderableColumns) {
4451
3881
  setColumnOrderState(restoredState.columnOrder);
4452
3882
  }
4453
-
4454
3883
  if (restoredState.expandedRows && props.onRowToggle) {
4455
3884
  props.onRowToggle({
4456
3885
  data: restoredState.expandedRows
4457
3886
  });
4458
3887
  }
4459
-
4460
3888
  if (restoredState.selection && props.onSelectionChange) {
4461
3889
  props.onSelectionChange({
4462
3890
  value: restoredState.selection
4463
3891
  });
4464
3892
  }
4465
-
4466
3893
  if (props.onStateRestore) {
4467
3894
  props.onStateRestore(restoredState);
4468
3895
  }
4469
3896
  }
4470
3897
  };
4471
-
4472
3898
  var saveColumnWidths = function saveColumnWidths(state) {
4473
3899
  var widths = [];
4474
3900
  var headers = DomHandler.find(elementRef.current, '.p-datatable-thead > tr > th');
@@ -4476,22 +3902,18 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4476
3902
  return widths.push(DomHandler.getOuterWidth(header));
4477
3903
  });
4478
3904
  state.columnWidths = widths.join(',');
4479
-
4480
3905
  if (props.columnResizeMode === 'expand') {
4481
3906
  state.tableWidth = DomHandler.getOuterWidth(tableRef.current) + 'px';
4482
3907
  }
4483
3908
  };
4484
-
4485
3909
  var restoreColumnWidths = function restoreColumnWidths() {
4486
3910
  if (columnWidthsState.current) {
4487
3911
  var widths = columnWidthsState.current.split(',');
4488
-
4489
3912
  if (props.columnResizeMode === 'expand' && tableWidthState.current) {
4490
3913
  tableRef.current.style.width = tableWidthState.current;
4491
3914
  tableRef.current.style.minWidth = tableWidthState.current;
4492
3915
  elementRef.current.style.width = tableWidthState.current;
4493
3916
  }
4494
-
4495
3917
  if (ObjectUtils.isNotEmpty(widths)) {
4496
3918
  createStyleElement();
4497
3919
  var innerHTML = '';
@@ -4503,26 +3925,21 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4503
3925
  }
4504
3926
  }
4505
3927
  };
4506
-
4507
3928
  var findParentHeader = function findParentHeader(element) {
4508
3929
  if (element.nodeName === 'TH') {
4509
3930
  return element;
4510
3931
  } else {
4511
3932
  var parent = element.parentElement;
4512
-
4513
3933
  while (parent.nodeName !== 'TH') {
4514
3934
  parent = parent.parentElement;
4515
3935
  if (!parent) break;
4516
3936
  }
4517
-
4518
3937
  return parent;
4519
3938
  }
4520
3939
  };
4521
-
4522
3940
  var getGroupRowSortField = function getGroupRowSortField() {
4523
3941
  return props.sortMode === 'single' ? props.sortField : groupRowsSortMetaState ? groupRowsSortMetaState.field : null;
4524
3942
  };
4525
-
4526
3943
  var getSelectableData = function getSelectableData(val) {
4527
3944
  if (props.showSelectionElement || props.isDataSelectable) {
4528
3945
  return val.filter(function (data, index) {
@@ -4538,17 +3955,14 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4538
3955
  return isSelectable;
4539
3956
  });
4540
3957
  }
4541
-
4542
3958
  return val;
4543
3959
  };
4544
-
4545
3960
  var allRowsSelected = function allRowsSelected(processedData) {
4546
3961
  if (props.onSelectAllChange) {
4547
3962
  return props.selectAll;
4548
3963
  } else {
4549
3964
  var _data = props.selectionPageOnly ? dataToRender(processedData) : processedData;
4550
-
4551
- var val = props.frozenValue ? [].concat(_toConsumableArray(props.frozenValue), _toConsumableArray(_data)) : _data;
3965
+ var val = ObjectUtils.isNotEmpty(props.frozenValue) ? [].concat(_toConsumableArray(props.frozenValue), _toConsumableArray(_data)) : _data;
4552
3966
  var selectableVal = getSelectableData(val);
4553
3967
  return selectableVal && props.selection && selectableVal.every(function (sv) {
4554
3968
  return props.selection.some(function (s) {
@@ -4557,7 +3971,6 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4557
3971
  });
4558
3972
  }
4559
3973
  };
4560
-
4561
3974
  var getSelectionModeInColumn = function getSelectionModeInColumn(columns) {
4562
3975
  if (columns) {
4563
3976
  var col = columns.find(function (c) {
@@ -4565,31 +3978,24 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4565
3978
  });
4566
3979
  return col ? col.props.selectionMode : null;
4567
3980
  }
4568
-
4569
3981
  return null;
4570
3982
  };
4571
-
4572
3983
  var findColumnByKey = function findColumnByKey(columns, key) {
4573
3984
  return ObjectUtils.isNotEmpty(columns) ? columns.find(function (col) {
4574
3985
  return col.props.columnKey === key || col.props.field === key;
4575
3986
  }) : null;
4576
3987
  };
4577
-
4578
3988
  var getTotalRecords = function getTotalRecords(data) {
4579
3989
  return props.lazy ? props.totalRecords : data ? data.length : 0;
4580
3990
  };
4581
-
4582
3991
  var onEditingMetaChange = function onEditingMetaChange(e) {
4583
3992
  var rowData = e.rowData,
4584
- field = e.field,
4585
- editingKey = e.editingKey;
4586
- e.rowIndex;
4587
- var editing = e.editing;
4588
-
3993
+ field = e.field,
3994
+ editingKey = e.editingKey;
3995
+ e.rowIndex;
3996
+ var editing = e.editing;
4589
3997
  var editingMeta = _objectSpread({}, editingMetaState);
4590
-
4591
3998
  var meta = editingMeta[editingKey];
4592
-
4593
3999
  if (editing) {
4594
4000
  !meta && (meta = editingMeta[editingKey] = {
4595
4001
  data: _objectSpread({}, rowData),
@@ -4602,19 +4008,16 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4602
4008
  });
4603
4009
  !fields.length ? delete editingMeta[editingKey] : meta['fields'] = fields;
4604
4010
  }
4605
-
4606
4011
  setEditingMetaState(editingMeta);
4607
4012
  };
4608
-
4609
4013
  var clearEditingMetaData = function clearEditingMetaData() {
4610
4014
  if (props.editMode && ObjectUtils.isNotEmpty(editingMetaState)) {
4611
4015
  setEditingMetaState({});
4612
4016
  }
4613
4017
  };
4614
-
4615
4018
  var onColumnResizeStart = function onColumnResizeStart(e) {
4616
4019
  var event = e.originalEvent,
4617
- column = e.column;
4020
+ column = e.column;
4618
4021
  var containerLeft = DomHandler.getOffset(elementRef.current).left;
4619
4022
  resizeColumn.current = column;
4620
4023
  resizeColumnElement.current = event.currentTarget.parentElement;
@@ -4622,7 +4025,6 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4622
4025
  lastResizeHelperX.current = event.pageX - containerLeft + elementRef.current.scrollLeft;
4623
4026
  bindColumnResizeEvents();
4624
4027
  };
4625
-
4626
4028
  var onColumnResize = function onColumnResize(event) {
4627
4029
  var containerLeft = DomHandler.getOffset(elementRef.current).left;
4628
4030
  DomHandler.addClass(elementRef.current, 'p-unselectable-text');
@@ -4631,42 +4033,33 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4631
4033
  resizeHelperRef.current.style.left = event.pageX - containerLeft + elementRef.current.scrollLeft + 'px';
4632
4034
  resizeHelperRef.current.style.display = 'block';
4633
4035
  };
4634
-
4635
4036
  var onColumnResizeEnd = function onColumnResizeEnd() {
4636
4037
  var delta = resizeHelperRef.current.offsetLeft - lastResizeHelperX.current;
4637
4038
  var columnWidth = resizeColumnElement.current.offsetWidth;
4638
4039
  var newColumnWidth = columnWidth + delta;
4639
4040
  var minWidth = resizeColumnElement.current.style.minWidth || 15;
4640
-
4641
4041
  if (columnWidth + delta > parseInt(minWidth, 10)) {
4642
4042
  if (props.columnResizeMode === 'fit') {
4643
4043
  var nextColumn = resizeColumnElement.current.nextElementSibling;
4644
4044
  var nextColumnWidth = nextColumn.offsetWidth - delta;
4645
-
4646
4045
  if (newColumnWidth > 15 && nextColumnWidth > 15) {
4647
4046
  resizeTableCells(newColumnWidth, nextColumnWidth);
4648
4047
  }
4649
4048
  } else if (props.columnResizeMode === 'expand') {
4650
4049
  var tableWidth = tableRef.current.offsetWidth + delta + 'px';
4651
-
4652
4050
  var updateTableWidth = function updateTableWidth(el) {
4653
4051
  !!el && (el.style.width = el.style.minWidth = tableWidth);
4654
4052
  };
4655
-
4656
4053
  updateTableWidth(tableRef.current);
4657
-
4658
4054
  if (!isVirtualScrollerDisabled()) {
4659
4055
  updateTableWidth(bodyRef.current);
4660
4056
  updateTableWidth(frozenBodyRef.current);
4661
-
4662
4057
  if (wrapperRef.current) {
4663
4058
  updateTableWidth(DomHandler.findSingle(wrapperRef.current, '.p-virtualscroller-content'));
4664
4059
  }
4665
4060
  }
4666
-
4667
4061
  resizeTableCells(newColumnWidth);
4668
4062
  }
4669
-
4670
4063
  if (props.onColumnResizeEnd) {
4671
4064
  props.onColumnResizeEnd({
4672
4065
  element: resizeColumnElement.current,
@@ -4674,19 +4067,16 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4674
4067
  delta: delta
4675
4068
  });
4676
4069
  }
4677
-
4678
4070
  if (isStateful()) {
4679
4071
  saveState();
4680
4072
  }
4681
4073
  }
4682
-
4683
4074
  resizeHelperRef.current.style.display = 'none';
4684
4075
  resizeColumn.current = null;
4685
4076
  resizeColumnElement.current = null;
4686
4077
  DomHandler.removeClass(elementRef.current, 'p-unselectable-text');
4687
4078
  unbindColumnResizeEvents();
4688
4079
  };
4689
-
4690
4080
  var resizeTableCells = function resizeTableCells(newColumnWidth, nextColumnWidth) {
4691
4081
  var widths = [];
4692
4082
  var colIndex = DomHandler.index(resizeColumnElement.current);
@@ -4704,44 +4094,36 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4704
4094
  });
4705
4095
  styleElement.current.innerHTML = innerHTML;
4706
4096
  };
4707
-
4708
4097
  var bindColumnResizeEvents = function bindColumnResizeEvents() {
4709
4098
  bindDocumentMouseMoveListener();
4710
4099
  bindDocumentMouseUpListener();
4711
4100
  };
4712
-
4713
4101
  var unbindColumnResizeEvents = function unbindColumnResizeEvents() {
4714
4102
  unbindDocumentMouseMoveListener();
4715
4103
  unbindDocumentMouseUpListener();
4716
4104
  };
4717
-
4718
4105
  var onColumnHeaderMouseDown = function onColumnHeaderMouseDown(e) {
4719
4106
  DomHandler.clearSelection();
4720
4107
  var event = e.originalEvent,
4721
- column = e.column;
4722
-
4108
+ column = e.column;
4723
4109
  if (props.reorderableColumns && getColumnProp(column, 'reorderable') !== false && !getColumnProp(column, 'frozen')) {
4724
4110
  if (event.target.nodeName === 'INPUT' || event.target.nodeName === 'TEXTAREA' || DomHandler.hasClass(event.target, 'p-column-resizer')) event.currentTarget.draggable = false;else event.currentTarget.draggable = true;
4725
4111
  }
4726
4112
  };
4727
-
4728
4113
  var onColumnHeaderCheckboxChange = function onColumnHeaderCheckboxChange(e, processedData) {
4729
4114
  if (props.onSelectAllChange) {
4730
4115
  props.onSelectAllChange(e);
4731
4116
  } else {
4732
4117
  var originalEvent = e.originalEvent,
4733
- checked = e.checked;
4734
-
4118
+ checked = e.checked;
4735
4119
  var _data2 = props.selectionPageOnly ? dataToRender(processedData) : processedData;
4736
-
4737
4120
  var selection = props.selectionPageOnly && props.selection ? props.selection.filter(function (s) {
4738
4121
  return !_data2.some(function (d) {
4739
4122
  return isEquals(s, d);
4740
4123
  });
4741
4124
  }) : [];
4742
-
4743
4125
  if (checked) {
4744
- selection = props.frozenValue ? [].concat(_toConsumableArray(selection), _toConsumableArray(props.frozenValue), _toConsumableArray(_data2)) : [].concat(_toConsumableArray(selection), _toConsumableArray(_data2));
4126
+ selection = ObjectUtils.isNotEmpty(props.frozenValue) ? [].concat(_toConsumableArray(selection), _toConsumableArray(props.frozenValue), _toConsumableArray(_data2)) : [].concat(_toConsumableArray(selection), _toConsumableArray(_data2));
4745
4127
  selection = getSelectableData(selection);
4746
4128
  props.onAllRowsSelect && props.onAllRowsSelect({
4747
4129
  originalEvent: originalEvent,
@@ -4755,7 +4137,6 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4755
4137
  type: 'all'
4756
4138
  });
4757
4139
  }
4758
-
4759
4140
  if (props.onSelectionChange) {
4760
4141
  props.onSelectionChange({
4761
4142
  originalEvent: originalEvent,
@@ -4765,16 +4146,13 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4765
4146
  }
4766
4147
  }
4767
4148
  };
4768
-
4769
4149
  var onColumnHeaderDragStart = function onColumnHeaderDragStart(e) {
4770
4150
  var event = e.originalEvent,
4771
- column = e.column;
4772
-
4151
+ column = e.column;
4773
4152
  if (columnResizing.current) {
4774
4153
  event.preventDefault();
4775
4154
  return;
4776
4155
  }
4777
-
4778
4156
  if (!props.reorderableColumns) return;
4779
4157
  colReorderIconWidth.current = DomHandler.getHiddenElementOuterWidth(reorderIndicatorUpRef.current);
4780
4158
  colReorderIconHeight.current = DomHandler.getHiddenElementOuterHeight(reorderIndicatorUpRef.current);
@@ -4785,12 +4163,10 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4785
4163
 
4786
4164
  var onColumnHeaderDragOver = function onColumnHeaderDragOver(e) {
4787
4165
  var event = e.originalEvent,
4788
- column = e.column;
4166
+ column = e.column;
4789
4167
  var dropHeader = findParentHeader(event.currentTarget);
4790
-
4791
4168
  if (props.reorderableColumns && draggedColumnElement.current && dropHeader && !getColumnProp(column, 'frozen')) {
4792
4169
  event.preventDefault();
4793
-
4794
4170
  if (draggedColumnElement.current !== dropHeader) {
4795
4171
  var containerOffset = DomHandler.getOffset(elementRef.current);
4796
4172
  var dropHeaderOffset = DomHandler.getOffset(dropHeader);
@@ -4798,7 +4174,6 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4798
4174
  var columnCenter = dropHeaderOffset.left + dropHeader.offsetWidth / 2;
4799
4175
  reorderIndicatorUpRef.current.style.top = dropHeaderOffset.top - containerOffset.top - (colReorderIconHeight.current - 1) + 'px';
4800
4176
  reorderIndicatorDownRef.current.style.top = dropHeaderOffset.top - containerOffset.top + dropHeader.offsetHeight + 'px';
4801
-
4802
4177
  if (event.pageX > columnCenter) {
4803
4178
  reorderIndicatorUpRef.current.style.left = targetLeft + dropHeader.offsetWidth - Math.ceil(colReorderIconWidth.current / 2) + 'px';
4804
4179
  reorderIndicatorDownRef.current.style.left = targetLeft + dropHeader.offsetWidth - Math.ceil(colReorderIconWidth.current / 2) + 'px';
@@ -4808,69 +4183,53 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4808
4183
  reorderIndicatorDownRef.current.style.left = targetLeft - Math.ceil(colReorderIconWidth.current / 2) + 'px';
4809
4184
  dropPosition.current = -1;
4810
4185
  }
4811
-
4812
4186
  reorderIndicatorUpRef.current.style.display = 'block';
4813
4187
  reorderIndicatorDownRef.current.style.display = 'block';
4814
4188
  }
4815
4189
  }
4816
4190
  };
4817
-
4818
4191
  var onColumnHeaderDragLeave = function onColumnHeaderDragLeave(e) {
4819
4192
  var event = e.originalEvent;
4820
-
4821
4193
  if (props.reorderableColumns && draggedColumnElement.current) {
4822
4194
  event.preventDefault();
4823
4195
  reorderIndicatorUpRef.current.style.display = 'none';
4824
4196
  reorderIndicatorDownRef.current.style.display = 'none';
4825
4197
  }
4826
4198
  };
4827
-
4828
4199
  var onColumnHeaderDrop = function onColumnHeaderDrop(e) {
4829
4200
  var event = e.originalEvent,
4830
- column = e.column;
4201
+ column = e.column;
4831
4202
  event.preventDefault();
4832
-
4833
4203
  if (draggedColumnElement.current) {
4834
4204
  var dragIndex = DomHandler.index(draggedColumnElement.current);
4835
4205
  var dropIndex = DomHandler.index(findParentHeader(event.currentTarget));
4836
4206
  var allowDrop = dragIndex !== dropIndex;
4837
-
4838
4207
  if (allowDrop && (dropIndex - dragIndex === 1 && dropPosition.current === -1 || dragIndex - dropIndex === 1 && dropPosition.current === 1)) {
4839
4208
  allowDrop = false;
4840
4209
  }
4841
-
4842
4210
  if (allowDrop) {
4843
4211
  var _columns = getColumns();
4844
-
4845
4212
  var isSameColumn = function isSameColumn(col1, col2) {
4846
4213
  return col1.props.columnKey || col2.props.columnKey ? ObjectUtils.equals(col1.props, col2.props, 'columnKey') : ObjectUtils.equals(col1.props, col2.props, 'field');
4847
4214
  };
4848
-
4849
4215
  var dragColIndex = _columns.findIndex(function (child) {
4850
4216
  return isSameColumn(child, draggedColumn.current);
4851
4217
  });
4852
-
4853
4218
  var dropColIndex = _columns.findIndex(function (child) {
4854
4219
  return isSameColumn(child, column);
4855
4220
  });
4856
-
4857
4221
  if (dropColIndex < dragColIndex && dropPosition.current === 1) {
4858
4222
  dropColIndex++;
4859
4223
  }
4860
-
4861
4224
  if (dropColIndex > dragColIndex && dropPosition.current === -1) {
4862
4225
  dropColIndex--;
4863
4226
  }
4864
-
4865
4227
  ObjectUtils.reorderArray(_columns, dragColIndex, dropColIndex);
4866
-
4867
4228
  var columnOrder = _columns.reduce(function (orders, col) {
4868
4229
  orders.push(col.props.columnKey || col.props.field);
4869
4230
  return orders;
4870
4231
  }, []);
4871
-
4872
4232
  setColumnOrderState(columnOrder);
4873
-
4874
4233
  if (props.onColReorder) {
4875
4234
  props.onColReorder({
4876
4235
  originalEvent: event,
@@ -4880,7 +4239,6 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4880
4239
  });
4881
4240
  }
4882
4241
  }
4883
-
4884
4242
  reorderIndicatorUpRef.current.style.display = 'none';
4885
4243
  reorderIndicatorDownRef.current.style.display = 'none';
4886
4244
  draggedColumnElement.current.draggable = false;
@@ -4889,11 +4247,9 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4889
4247
  dropPosition.current = null;
4890
4248
  }
4891
4249
  };
4892
-
4893
4250
  var createStyleElement = function createStyleElement() {
4894
4251
  styleElement.current = DomHandler.createInlineStyle(PrimeReact.nonce);
4895
4252
  };
4896
-
4897
4253
  var createResponsiveStyle = function createResponsiveStyle() {
4898
4254
  if (!responsiveStyleElement.current) {
4899
4255
  responsiveStyleElement.current = DomHandler.createInlineStyle(PrimeReact.nonce);
@@ -4901,35 +4257,29 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4901
4257
  responsiveStyleElement.current.innerHTML = innerHTML;
4902
4258
  }
4903
4259
  };
4904
-
4905
4260
  var destroyResponsiveStyle = function destroyResponsiveStyle() {
4906
4261
  responsiveStyleElement.current = DomHandler.removeInlineStyle(responsiveStyleElement.current);
4907
4262
  };
4908
-
4909
4263
  var destroyStyleElement = function destroyStyleElement() {
4910
4264
  styleElement.current = DomHandler.removeInlineStyle(styleElement.current);
4911
4265
  };
4912
-
4913
4266
  var onPageChange = function onPageChange(e) {
4914
4267
  clearEditingMetaData();
4915
-
4916
4268
  if (props.onPage) {
4917
4269
  props.onPage(createEvent(e));
4918
4270
  } else {
4919
4271
  setFirstState(e.first);
4920
4272
  setRowsState(e.rows);
4921
4273
  }
4922
-
4923
4274
  if (props.onValueChange) {
4924
4275
  props.onValueChange(processedData());
4925
4276
  }
4926
4277
  };
4927
-
4928
4278
  var onSortChange = function onSortChange(e) {
4929
4279
  clearEditingMetaData();
4930
4280
  var event = e.originalEvent,
4931
- column = e.column,
4932
- sortableDisabledFields = e.sortableDisabledFields;
4281
+ column = e.column,
4282
+ sortableDisabledFields = e.sortableDisabledFields;
4933
4283
  var sortField = column.props.sortField || column.props.field;
4934
4284
  var sortOrder = props.defaultSortOrder;
4935
4285
  var multiSortMeta;
@@ -4937,7 +4287,6 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4937
4287
  columnSortable.current = column.props.sortable;
4938
4288
  columnSortFunction.current = column.props.sortFunction;
4939
4289
  columnField.current = sortField;
4940
-
4941
4290
  if (props.sortMode === 'multiple') {
4942
4291
  var metaKey = event.metaKey || event.ctrlKey;
4943
4292
  multiSortMeta = _toConsumableArray(getMultiSortMeta());
@@ -4949,7 +4298,6 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4949
4298
  field: sortField,
4950
4299
  order: sortOrder
4951
4300
  };
4952
-
4953
4301
  if (sortOrder) {
4954
4302
  multiSortMeta = metaKey ? multiSortMeta : multiSortMeta.filter(function (meta) {
4955
4303
  return sortableDisabledFields.some(function (field) {
@@ -4960,23 +4308,19 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4960
4308
  } else if (props.removableSort) {
4961
4309
  removeSortMeta(newMetaData, multiSortMeta);
4962
4310
  }
4963
-
4964
4311
  eventMeta = {
4965
4312
  multiSortMeta: multiSortMeta
4966
4313
  };
4967
4314
  } else {
4968
4315
  sortOrder = getSortField() === sortField ? getCalculatedSortOrder(getSortOrder()) : sortOrder;
4969
-
4970
4316
  if (props.removableSort) {
4971
4317
  sortField = sortOrder ? sortField : null;
4972
4318
  }
4973
-
4974
4319
  eventMeta = {
4975
4320
  sortField: sortField,
4976
4321
  sortOrder: sortOrder
4977
4322
  };
4978
4323
  }
4979
-
4980
4324
  if (props.onSort) {
4981
4325
  props.onSort(createEvent(eventMeta));
4982
4326
  } else {
@@ -4985,7 +4329,6 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4985
4329
  setSortOrderState(eventMeta.sortOrder);
4986
4330
  setMultiSortMetaState(eventMeta.multiSortMeta);
4987
4331
  }
4988
-
4989
4332
  if (props.onValueChange) {
4990
4333
  props.onValueChange(processedData({
4991
4334
  sortField: sortField,
@@ -4994,34 +4337,27 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
4994
4337
  }));
4995
4338
  }
4996
4339
  };
4997
-
4998
4340
  var getCalculatedSortOrder = function getCalculatedSortOrder(currentOrder) {
4999
4341
  return props.removableSort ? props.defaultSortOrder === currentOrder ? currentOrder * -1 : 0 : currentOrder * -1;
5000
4342
  };
5001
-
5002
4343
  var compareValuesOnSort = function compareValuesOnSort(value1, value2, order) {
5003
4344
  return ObjectUtils.sort(value1, value2, order, PrimeReact.locale, PrimeReact.nullSortOrder);
5004
4345
  };
5005
-
5006
4346
  var addSortMeta = function addSortMeta(meta, multiSortMeta) {
5007
4347
  var index = multiSortMeta.findIndex(function (sortMeta) {
5008
4348
  return sortMeta.field === meta.field;
5009
4349
  });
5010
4350
  if (index >= 0) multiSortMeta[index] = meta;else multiSortMeta.push(meta);
5011
4351
  };
5012
-
5013
4352
  var removeSortMeta = function removeSortMeta(meta, multiSortMeta) {
5014
4353
  var index = multiSortMeta.findIndex(function (sortMeta) {
5015
4354
  return sortMeta.field === meta.field;
5016
4355
  });
5017
-
5018
4356
  if (index >= 0) {
5019
4357
  multiSortMeta.splice(index, 1);
5020
4358
  }
5021
-
5022
4359
  multiSortMeta = multiSortMeta.length > 0 ? multiSortMeta : null;
5023
4360
  };
5024
-
5025
4361
  var sortSingle = function sortSingle(data, field, order) {
5026
4362
  if (props.groupRowsBy && props.groupRowsBy === props.sortField) {
5027
4363
  var multiSortMeta = [{
@@ -5034,9 +4370,7 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5034
4370
  });
5035
4371
  return sortMultiple(data, multiSortMeta);
5036
4372
  }
5037
-
5038
4373
  var value = _toConsumableArray(data);
5039
-
5040
4374
  if (columnSortable.current && columnSortFunction.current) {
5041
4375
  value = columnSortFunction.current({
5042
4376
  data: data,
@@ -5050,29 +4384,22 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5050
4384
  return compareValuesOnSort(value1, value2, order);
5051
4385
  });
5052
4386
  }
5053
-
5054
4387
  return value;
5055
4388
  };
5056
-
5057
4389
  var sortMultiple = function sortMultiple(data) {
5058
4390
  var multiSortMeta = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
5059
-
5060
4391
  if (props.groupRowsBy && (groupRowsSortMetaState || multiSortMeta.length && props.groupRowsBy === multiSortMeta[0].field)) {
5061
4392
  var groupRowsSortMeta = groupRowsSortMetaState;
5062
4393
  var firstSortMeta = multiSortMeta[0];
5063
-
5064
4394
  if (!groupRowsSortMeta) {
5065
4395
  groupRowsSortMeta = firstSortMeta;
5066
4396
  setGroupRowsSortMetaState(groupRowsSortMeta);
5067
4397
  }
5068
-
5069
4398
  if (firstSortMeta.field !== groupRowsSortMeta.field) {
5070
4399
  multiSortMeta = [groupRowsSortMeta].concat(_toConsumableArray(multiSortMeta));
5071
4400
  }
5072
4401
  }
5073
-
5074
4402
  var value = _toConsumableArray(data);
5075
-
5076
4403
  if (columnSortable.current && columnSortFunction.current) {
5077
4404
  var meta = multiSortMeta.find(function (meta) {
5078
4405
  return meta.field === columnField.current;
@@ -5090,31 +4417,26 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5090
4417
  return multisortField(data1, data2, multiSortMeta, 0);
5091
4418
  });
5092
4419
  }
5093
-
5094
4420
  return value;
5095
4421
  };
5096
-
5097
4422
  var multisortField = function multisortField(data1, data2, multiSortMeta, index) {
5098
4423
  var value1 = ObjectUtils.resolveFieldData(data1, multiSortMeta[index].field);
5099
- var value2 = ObjectUtils.resolveFieldData(data2, multiSortMeta[index].field); // check if they are equal handling dates and locales
4424
+ var value2 = ObjectUtils.resolveFieldData(data2, multiSortMeta[index].field);
5100
4425
 
4426
+ // check if they are equal handling dates and locales
5101
4427
  if (ObjectUtils.compare(value1, value2, PrimeReact.locale) === 0) {
5102
4428
  return multiSortMeta.length - 1 > index ? multisortField(data1, data2, multiSortMeta, index + 1) : 0;
5103
4429
  }
5104
-
5105
4430
  return compareValuesOnSort(value1, value2, multiSortMeta[index].order);
5106
4431
  };
5107
-
5108
4432
  var onFilterChange = function onFilterChange(filters) {
5109
4433
  clearEditingMetaData();
5110
4434
  setD_filtersState(filters);
5111
4435
  };
5112
-
5113
4436
  var onFilterApply = function onFilterApply(filtersToApply) {
5114
4437
  clearTimeout(filterTimeout.current);
5115
4438
  filterTimeout.current = setTimeout(function () {
5116
4439
  var filters = cloneFilters(filtersToApply || d_filtersState);
5117
-
5118
4440
  if (props.onFilter) {
5119
4441
  props.onFilter(createEvent({
5120
4442
  filters: filters
@@ -5123,7 +4445,6 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5123
4445
  setFirstState(0);
5124
4446
  setFiltersState(filters);
5125
4447
  }
5126
-
5127
4448
  if (props.onValueChange) {
5128
4449
  props.onValueChange(processedData({
5129
4450
  filters: filters
@@ -5131,7 +4452,6 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5131
4452
  }
5132
4453
  }, props.filterDelay);
5133
4454
  };
5134
-
5135
4455
  var filterLocal = function filterLocal(data, filters) {
5136
4456
  if (!data) return;
5137
4457
  filters = filters || {};
@@ -5139,7 +4459,6 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5139
4459
  var filteredValue = [];
5140
4460
  var isGlobalFilter = filters['global'] || props.globalFilter;
5141
4461
  var globalFilterFieldsArray;
5142
-
5143
4462
  if (isGlobalFilter) {
5144
4463
  globalFilterFieldsArray = props.globalFilterFields || columns.filter(function (col) {
5145
4464
  return !col.props.excludeGlobalFilter;
@@ -5147,23 +4466,22 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5147
4466
  return col.props.filterField || col.props.field;
5148
4467
  });
5149
4468
  }
5150
-
5151
4469
  for (var i = 0; i < data.length; i++) {
5152
4470
  var localMatch = true;
5153
4471
  var globalMatch = false;
5154
4472
  var localFiltered = false;
5155
-
5156
4473
  for (var prop in filters) {
4474
+ if (prop === 'null') {
4475
+ continue;
4476
+ }
5157
4477
  if (Object.prototype.hasOwnProperty.call(filters, prop) && prop !== 'global') {
5158
4478
  localFiltered = true;
5159
4479
  var filterField = prop;
5160
4480
  var filterMeta = filters[filterField];
5161
-
5162
4481
  if (filterMeta.operator) {
5163
4482
  for (var j = 0; j < filterMeta.constraints.length; j++) {
5164
4483
  var filterConstraint = filterMeta.constraints[j];
5165
4484
  localMatch = executeLocalFilter(filterField, data[i], filterConstraint, j);
5166
-
5167
4485
  if (filterMeta.operator === FilterOperator.OR && localMatch || filterMeta.operator === FilterOperator.AND && !localMatch) {
5168
4486
  break;
5169
4487
  }
@@ -5171,46 +4489,37 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5171
4489
  } else {
5172
4490
  localMatch = executeLocalFilter(filterField, data[i], filterMeta, 0);
5173
4491
  }
5174
-
5175
4492
  if (!localMatch) {
5176
4493
  break;
5177
4494
  }
5178
4495
  }
5179
4496
  }
5180
-
5181
4497
  if (isGlobalFilter && !globalMatch && globalFilterFieldsArray) {
5182
4498
  for (var _j = 0; _j < globalFilterFieldsArray.length; _j++) {
5183
4499
  var globalFilterField = globalFilterFieldsArray[_j];
5184
4500
  var matchMode = filters['global'] ? filters['global'].matchMode : props.globalFilterMatchMode;
5185
4501
  var value = filters['global'] ? filters['global'].value : props.globalFilter;
5186
4502
  globalMatch = FilterService.filters[matchMode](ObjectUtils.resolveFieldData(data[i], globalFilterField), value, props.filterLocale);
5187
-
5188
4503
  if (globalMatch) {
5189
4504
  break;
5190
4505
  }
5191
4506
  }
5192
4507
  }
5193
-
5194
4508
  var matches = void 0;
5195
-
5196
4509
  if (isGlobalFilter) {
5197
4510
  matches = localFiltered ? localFiltered && localMatch && globalMatch : globalMatch;
5198
4511
  } else {
5199
4512
  matches = localFiltered && localMatch;
5200
4513
  }
5201
-
5202
4514
  if (matches) {
5203
4515
  filteredValue.push(data[i]);
5204
4516
  }
5205
4517
  }
5206
-
5207
4518
  if (filteredValue.length === props.value.length) {
5208
4519
  filteredValue = data;
5209
4520
  }
5210
-
5211
4521
  return filteredValue;
5212
4522
  };
5213
-
5214
4523
  var executeLocalFilter = function executeLocalFilter(field, rowData, filterMeta, index) {
5215
4524
  var filterValue = filterMeta.value;
5216
4525
  var filterMatchMode = filterMeta.matchMode === 'custom' ? "custom_".concat(field) : filterMeta.matchMode || FilterMatchMode.STARTS_WITH;
@@ -5218,17 +4527,14 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5218
4527
  var filterConstraint = FilterService.filters[filterMatchMode];
5219
4528
  return ObjectUtils.isFunction(filterConstraint) && filterConstraint(dataFieldValue, filterValue, props.filterLocale, index);
5220
4529
  };
5221
-
5222
4530
  var cloneFilters = function cloneFilters(filters) {
5223
4531
  filters = filters || props.filters;
5224
4532
  var cloned = {};
5225
-
5226
4533
  if (filters) {
5227
4534
  Object.entries(filters).forEach(function (_ref) {
5228
4535
  var _ref2 = _slicedToArray(_ref, 2),
5229
- prop = _ref2[0],
5230
- value = _ref2[1];
5231
-
4536
+ prop = _ref2[0],
4537
+ value = _ref2[1];
5232
4538
  cloned[prop] = value.operator ? {
5233
4539
  operator: value.operator,
5234
4540
  constraints: value.constraints.map(function (constraint) {
@@ -5238,7 +4544,6 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5238
4544
  });
5239
4545
  } else {
5240
4546
  var _columns2 = getColumns();
5241
-
5242
4547
  cloned = _columns2.reduce(function (filters, col) {
5243
4548
  var field = col.props.filterField || col.props.field;
5244
4549
  var filterFunction = col.props.filterFunction;
@@ -5248,19 +4553,16 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5248
4553
  value: null,
5249
4554
  matchMode: matchMode
5250
4555
  };
5251
-
5252
4556
  if (filterFunction) {
5253
4557
  FilterService.register("custom_".concat(field), function () {
5254
4558
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
5255
4559
  args[_key] = arguments[_key];
5256
4560
  }
5257
-
5258
4561
  return filterFunction.apply(void 0, args.concat([{
5259
4562
  column: col
5260
4563
  }]));
5261
4564
  });
5262
4565
  }
5263
-
5264
4566
  filters[field] = props.filterDisplay === 'menu' ? {
5265
4567
  operator: FilterOperator.AND,
5266
4568
  constraints: [constraint]
@@ -5268,15 +4570,11 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5268
4570
  return filters;
5269
4571
  }, {});
5270
4572
  }
5271
-
5272
4573
  return cloned;
5273
4574
  };
5274
-
5275
4575
  var filter = function filter(value, field, matchMode) {
5276
4576
  var index = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
5277
-
5278
4577
  var filters = _objectSpread({}, d_filtersState);
5279
-
5280
4578
  var meta = filters[field];
5281
4579
  var constraint = meta && meta.operator ? meta.constraints[index] : meta;
5282
4580
  constraint = meta ? {
@@ -5290,91 +4588,77 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5290
4588
  setD_filtersState(filters);
5291
4589
  onFilterApply(filters);
5292
4590
  };
5293
-
5294
4591
  var reset = function reset() {
5295
4592
  setD_rowsState(props.rows);
5296
4593
  setD_filtersState(cloneFilters(props.filters));
5297
4594
  setGroupRowsSortMetaState(null);
5298
4595
  setEditingMetaState({});
5299
-
5300
4596
  if (!props.onPage) {
5301
4597
  setFirstState(props.first);
5302
4598
  setRowsState(props.rows);
5303
4599
  }
5304
-
5305
4600
  if (!props.onSort) {
5306
4601
  setSortFieldState(props.sortField);
5307
4602
  setSortOrderState(props.sortOrder);
5308
4603
  setMultiSortMetaState(props.multiSortMeta);
5309
4604
  }
5310
-
5311
4605
  if (!props.onFilter) {
5312
4606
  setFiltersState(props.filters);
5313
4607
  }
5314
-
5315
4608
  resetColumnOrder();
5316
4609
  };
5317
-
5318
4610
  var resetScroll = function resetScroll() {
5319
4611
  if (wrapperRef.current) {
5320
4612
  var scrollableContainer = !isVirtualScrollerDisabled() ? DomHandler.findSingle(wrapperRef.current, '.p-virtualscroller') : wrapperRef.current;
5321
4613
  scrollableContainer.scrollTo(0, 0);
5322
4614
  }
5323
4615
  };
5324
-
5325
4616
  var resetColumnOrder = function resetColumnOrder() {
5326
4617
  var columns = getColumns(true);
5327
4618
  var columnOrder = [];
5328
-
5329
4619
  if (columns) {
5330
4620
  columnOrder = columns.reduce(function (orders, col) {
5331
4621
  orders.push(col.props.columnKey || col.props.field);
5332
4622
  return orders;
5333
4623
  }, []);
5334
4624
  }
5335
-
5336
4625
  setColumnOrderState(columnOrder);
5337
4626
  };
5338
-
5339
4627
  var exportCSV = function exportCSV(options) {
5340
4628
  var data;
5341
4629
  var csv = "\uFEFF";
5342
4630
  var columns = getColumns();
5343
-
5344
4631
  if (options && options.selectionOnly) {
5345
4632
  data = props.selection || [];
5346
4633
  } else {
5347
4634
  data = [].concat(_toConsumableArray(props.frozenValue || []), _toConsumableArray(processedData() || []));
5348
- } //headers
5349
-
4635
+ }
5350
4636
 
4637
+ //headers
5351
4638
  columns.forEach(function (column, i) {
5352
4639
  var _column$props = column.props,
5353
- field = _column$props.field,
5354
- header = _column$props.header,
5355
- exportable = _column$props.exportable;
5356
-
4640
+ field = _column$props.field,
4641
+ header = _column$props.header,
4642
+ exportable = _column$props.exportable;
5357
4643
  if (exportable && field) {
5358
4644
  csv += '"' + (header || field) + '"';
5359
-
5360
4645
  if (i < columns.length - 1) {
5361
4646
  csv += props.csvSeparator;
5362
4647
  }
5363
4648
  }
5364
- }); //body
4649
+ });
5365
4650
 
4651
+ //body
5366
4652
  data.forEach(function (record) {
5367
4653
  csv += '\n';
5368
4654
  columns.forEach(function (column, i) {
5369
4655
  var _column$props2 = column.props,
5370
- colField = _column$props2.field,
5371
- exportField = _column$props2.exportField,
5372
- exportable = _column$props2.exportable;
4656
+ colField = _column$props2.field,
4657
+ exportField = _column$props2.exportField,
4658
+ exportable = _column$props2.exportable;
5373
4659
  var field = exportField || colField;
5374
-
5375
4660
  if (exportable && field) {
5376
4661
  var cellData = ObjectUtils.resolveFieldData(record, field);
5377
-
5378
4662
  if (cellData != null) {
5379
4663
  cellData = props.exportFunction ? props.exportFunction({
5380
4664
  data: cellData,
@@ -5383,9 +4667,7 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5383
4667
  column: column
5384
4668
  }) : String(cellData).replace(/"/g, '""');
5385
4669
  } else cellData = '';
5386
-
5387
4670
  csv += '"' + cellData + '"';
5388
-
5389
4671
  if (i < columns.length - 1) {
5390
4672
  csv += props.csvSeparator;
5391
4673
  }
@@ -5394,13 +4676,11 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5394
4676
  });
5395
4677
  DomHandler.exportCSV(csv, props.exportFilename);
5396
4678
  };
5397
-
5398
4679
  var closeEditingCell = function closeEditingCell() {
5399
4680
  if (props.editMode !== 'row') {
5400
4681
  document.body.click();
5401
4682
  }
5402
4683
  };
5403
-
5404
4684
  var createEvent = function createEvent(event) {
5405
4685
  return _objectSpread({
5406
4686
  first: getFirst(),
@@ -5411,58 +4691,45 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5411
4691
  filters: getFilters()
5412
4692
  }, event);
5413
4693
  };
5414
-
5415
4694
  var processedData = function processedData(localState) {
5416
4695
  var data = props.value || [];
5417
-
5418
4696
  if (!props.lazy) {
5419
4697
  if (data && data.length) {
5420
4698
  var filters = localState && localState.filters || getFilters();
5421
4699
  var sortField = localState && localState.sortField || getSortField();
5422
4700
  var sortOrder = localState && localState.sortOrder || getSortOrder();
5423
4701
  var multiSortMeta = localState && localState.multiSortMeta || getMultiSortMeta();
5424
-
5425
4702
  var _columns3 = getColumns();
5426
-
5427
4703
  var sortColumn = _columns3.find(function (col) {
5428
4704
  return col.props.field === sortField;
5429
4705
  });
5430
-
5431
4706
  if (sortColumn) {
5432
4707
  columnSortable.current = sortColumn.props.sortable;
5433
4708
  columnSortFunction.current = sortColumn.props.sortFunction;
5434
4709
  }
5435
-
5436
4710
  if (ObjectUtils.isNotEmpty(filters) || props.globalFilter) {
5437
4711
  data = filterLocal(data, filters);
5438
4712
  }
5439
-
5440
4713
  if (sortField || ObjectUtils.isNotEmpty(multiSortMeta)) {
5441
4714
  if (props.sortMode === 'single') data = sortSingle(data, sortField, sortOrder);else if (props.sortMode === 'multiple') data = sortMultiple(data, multiSortMeta);
5442
4715
  }
5443
4716
  }
5444
4717
  }
5445
-
5446
4718
  return data;
5447
4719
  };
5448
-
5449
4720
  var dataToRender = function dataToRender(data) {
5450
4721
  if (data && props.paginator) {
5451
4722
  var first = props.lazy ? 0 : getFirst();
5452
4723
  return data.slice(first, first + getRows());
5453
4724
  }
5454
-
5455
4725
  return data;
5456
4726
  };
5457
-
5458
4727
  useMountEffect(function () {
5459
4728
  setAttributeSelectorState(UniqueComponentId());
5460
4729
  setFiltersState(cloneFilters(props.filters));
5461
4730
  setD_filtersState(cloneFilters(props.filters));
5462
-
5463
4731
  if (isStateful()) {
5464
4732
  restoreState();
5465
-
5466
4733
  if (props.resizableColumns) {
5467
4734
  restoreColumnWidths();
5468
4735
  }
@@ -5470,14 +4737,19 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5470
4737
  });
5471
4738
  useUpdateEffect(function () {
5472
4739
  elementRef.current.setAttribute(attributeSelectorState, '');
5473
-
5474
4740
  if (props.responsiveLayout === 'stack' && !props.scrollable) {
5475
4741
  createResponsiveStyle();
5476
4742
  }
5477
4743
  }, [attributeSelectorState]);
5478
4744
  useUpdateEffect(function () {
5479
- setFiltersState(cloneFilters(props.filters));
4745
+ var filters = cloneFilters(props.filters);
4746
+ setFiltersState(filters);
5480
4747
  setD_filtersState(cloneFilters(props.filters));
4748
+ if (props.onValueChange) {
4749
+ props.onValueChange(processedData({
4750
+ filters: filters
4751
+ }));
4752
+ }
5481
4753
  }, [props.filters]);
5482
4754
  useUpdateEffect(function () {
5483
4755
  if (isStateful()) {
@@ -5486,16 +4758,18 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5486
4758
  });
5487
4759
  useUpdateEffect(function () {
5488
4760
  destroyResponsiveStyle();
5489
-
5490
4761
  if (props.responsiveLayout === 'stack' && !props.scrollable) {
5491
4762
  createResponsiveStyle();
5492
4763
  }
5493
- }, [props.responsiveLayout]);
4764
+ }, [props.responsiveLayout, props.scrollable]);
5494
4765
  useUpdateEffect(function () {
5495
4766
  if (props.globalFilter) {
5496
4767
  filter(props.globalFilter, 'global', props.globalFilterMatchMode);
4768
+ } else {
4769
+ // #3819 was filtering but now reset filter state
4770
+ setFiltersState(props.filters);
5497
4771
  }
5498
- }, [props.globalFilter]);
4772
+ }, [props.globalFilter, props.globalFilterMatchMode]);
5499
4773
  useUnmountEffect(function () {
5500
4774
  unbindColumnResizeEvents();
5501
4775
  destroyStyleElement();
@@ -5526,7 +4800,6 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5526
4800
  }
5527
4801
  };
5528
4802
  });
5529
-
5530
4803
  var createLoader = function createLoader() {
5531
4804
  if (props.loading) {
5532
4805
  var iconClassName = classNames('p-datatable-loading-icon pi-spin', props.loadingIcon);
@@ -5536,35 +4809,28 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5536
4809
  className: iconClassName
5537
4810
  }));
5538
4811
  }
5539
-
5540
4812
  return null;
5541
4813
  };
5542
-
5543
4814
  var createHeader = function createHeader() {
5544
4815
  if (props.header) {
5545
4816
  var _content = ObjectUtils.getJSXElement(props.header, {
5546
4817
  props: props
5547
4818
  });
5548
-
5549
4819
  return /*#__PURE__*/React.createElement("div", {
5550
4820
  className: "p-datatable-header"
5551
4821
  }, _content);
5552
4822
  }
5553
-
5554
4823
  return null;
5555
4824
  };
5556
-
5557
4825
  var createTableHeader = function createTableHeader(options, empty) {
5558
4826
  var sortField = getSortField();
5559
4827
  var sortOrder = getSortOrder();
5560
-
5561
4828
  var multiSortMeta = _toConsumableArray(getMultiSortMeta());
5562
-
5563
4829
  var groupRowSortField = getGroupRowSortField();
5564
4830
  var filters = d_filtersState;
5565
4831
  var filtersStore = !props.onFilter && props.filters || getFilters();
5566
4832
  var processedData = options.items,
5567
- columns = options.columns;
4833
+ columns = options.columns;
5568
4834
  return /*#__PURE__*/React.createElement(TableHeader, {
5569
4835
  value: processedData,
5570
4836
  tableProps: props,
@@ -5600,15 +4866,14 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5600
4866
  reorderableColumns: props.reorderableColumns
5601
4867
  });
5602
4868
  };
5603
-
5604
4869
  var createTableBody = function createTableBody(options, selectionModeInColumn, empty, isVirtualScrollerDisabled) {
5605
4870
  var first = getFirst();
5606
4871
  var rows = options.rows,
5607
- columns = options.columns,
5608
- contentRef = options.contentRef,
5609
- className = options.className;
5610
- options.itemSize;
5611
- var frozenBody = props.frozenValue && /*#__PURE__*/React.createElement(TableBody, {
4872
+ columns = options.columns,
4873
+ contentRef = options.contentRef,
4874
+ className = options.className;
4875
+ options.itemSize;
4876
+ var frozenBody = ObjectUtils.isNotEmpty(props.frozenValue) && /*#__PURE__*/React.createElement(TableBody, {
5612
4877
  ref: frozenBodyRef,
5613
4878
  value: props.frozenValue,
5614
4879
  className: "p-datatable-frozen-tbody",
@@ -5623,6 +4888,8 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5623
4888
  tabIndex: props.tabIndex,
5624
4889
  onRowClick: props.onRowClick,
5625
4890
  onRowDoubleClick: props.onRowDoubleClick,
4891
+ onRowMouseEnter: props.onRowMouseEnter,
4892
+ onRowMouseLeave: props.onRowMouseLeave,
5626
4893
  onCellClick: props.onCellClick,
5627
4894
  selection: props.selection,
5628
4895
  onSelectionChange: props.onSelectionChange,
@@ -5693,6 +4960,8 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5693
4960
  tabIndex: props.tabIndex,
5694
4961
  onRowClick: props.onRowClick,
5695
4962
  onRowDoubleClick: props.onRowDoubleClick,
4963
+ onRowMouseEnter: props.onRowMouseEnter,
4964
+ onRowMouseLeave: props.onRowMouseLeave,
5696
4965
  onCellClick: props.onCellClick,
5697
4966
  selection: props.selection,
5698
4967
  onSelectionChange: props.onSelectionChange,
@@ -5750,7 +5019,6 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5750
5019
  });
5751
5020
  return /*#__PURE__*/React.createElement(React.Fragment, null, frozenBody, body);
5752
5021
  };
5753
-
5754
5022
  var createTableFooter = function createTableFooter(options) {
5755
5023
  var columns = options.columns;
5756
5024
  return /*#__PURE__*/React.createElement(TableFooter, {
@@ -5759,12 +5027,9 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5759
5027
  footerColumnGroup: props.footerColumnGroup
5760
5028
  });
5761
5029
  };
5762
-
5763
5030
  var createContent = function createContent(processedData, columns, selectionModeInColumn, empty) {
5764
5031
  if (!columns) return;
5765
-
5766
5032
  var _isVirtualScrollerDisabled = isVirtualScrollerDisabled();
5767
-
5768
5033
  var virtualScrollerOptions = props.virtualScrollerOptions || {};
5769
5034
  return /*#__PURE__*/React.createElement("div", {
5770
5035
  ref: wrapperRef,
@@ -5789,7 +5054,6 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5789
5054
  tableRef.current = el;
5790
5055
  options.spacerRef && options.spacerRef(el);
5791
5056
  };
5792
-
5793
5057
  var tableClassName = classNames('p-datatable-table', props.tableClassName);
5794
5058
  var tableHeader = createTableHeader(options, empty);
5795
5059
  var tableBody = createTableBody(options, selectionModeInColumn, empty, _isVirtualScrollerDisabled);
@@ -5803,21 +5067,17 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5803
5067
  }
5804
5068
  })));
5805
5069
  };
5806
-
5807
5070
  var createFooter = function createFooter() {
5808
5071
  if (props.footer) {
5809
5072
  var _content2 = ObjectUtils.getJSXElement(props.footer, {
5810
5073
  props: props
5811
5074
  });
5812
-
5813
5075
  return /*#__PURE__*/React.createElement("div", {
5814
5076
  className: "p-datatable-footer"
5815
5077
  }, _content2);
5816
5078
  }
5817
-
5818
5079
  return null;
5819
5080
  };
5820
-
5821
5081
  var createPaginator = function createPaginator(position, totalRecords) {
5822
5082
  var className = classNames('p-paginator-' + position, props.paginatorClassName);
5823
5083
  return /*#__PURE__*/React.createElement(Paginator, {
@@ -5836,23 +5096,18 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5836
5096
  dropdownAppendTo: props.paginatorDropdownAppendTo
5837
5097
  });
5838
5098
  };
5839
-
5840
5099
  var createPaginatorTop = function createPaginatorTop(totalRecords) {
5841
5100
  if (props.paginator && props.paginatorPosition !== 'bottom') {
5842
5101
  return createPaginator('top', totalRecords);
5843
5102
  }
5844
-
5845
5103
  return null;
5846
5104
  };
5847
-
5848
5105
  var createPaginatorBottom = function createPaginatorBottom(totalRecords) {
5849
5106
  if (props.paginator && props.paginatorPosition !== 'top') {
5850
5107
  return createPaginator('bottom', totalRecords);
5851
5108
  }
5852
-
5853
5109
  return null;
5854
5110
  };
5855
-
5856
5111
  var createResizeHelper = function createResizeHelper() {
5857
5112
  if (props.resizableColumns) {
5858
5113
  return /*#__PURE__*/React.createElement("div", {
@@ -5863,10 +5118,8 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5863
5118
  }
5864
5119
  });
5865
5120
  }
5866
-
5867
5121
  return null;
5868
5122
  };
5869
-
5870
5123
  var createReorderIndicators = function createReorderIndicators() {
5871
5124
  if (props.reorderableColumns) {
5872
5125
  var style = {
@@ -5883,10 +5136,8 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (props, ref) {
5883
5136
  style: style
5884
5137
  }));
5885
5138
  }
5886
-
5887
5139
  return null;
5888
5140
  };
5889
-
5890
5141
  var data = processedData();
5891
5142
  var columns = getColumns();
5892
5143
  var totalRecords = getTotalRecords(data);
@@ -5996,6 +5247,8 @@ DataTable.defaultProps = {
5996
5247
  onFilter: null,
5997
5248
  onPage: null,
5998
5249
  onRowClick: null,
5250
+ onRowMouseEnter: null,
5251
+ onRowMouseLeave: null,
5999
5252
  onRowCollapse: null,
6000
5253
  onRowDoubleClick: null,
6001
5254
  onRowEditCancel: null,