primereact 9.4.0 → 9.6.0

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 (886) hide show
  1. package/accordion/accordion.cjs.js +2 -1
  2. package/accordion/accordion.cjs.min.js +1 -1
  3. package/accordion/accordion.esm.js +3 -2
  4. package/accordion/accordion.esm.min.js +1 -1
  5. package/accordion/accordion.js +2 -1
  6. package/accordion/accordion.min.js +1 -1
  7. package/api/api.cjs.js +215 -3
  8. package/api/api.cjs.min.js +1 -1
  9. package/api/api.d.ts +882 -8
  10. package/api/api.esm.js +210 -4
  11. package/api/api.esm.min.js +1 -1
  12. package/api/api.js +216 -5
  13. package/api/api.min.js +1 -1
  14. package/autocomplete/autocomplete.cjs.js +148 -89
  15. package/autocomplete/autocomplete.cjs.min.js +1 -1
  16. package/autocomplete/autocomplete.d.ts +138 -2
  17. package/autocomplete/autocomplete.esm.js +150 -91
  18. package/autocomplete/autocomplete.esm.min.js +1 -1
  19. package/autocomplete/autocomplete.js +149 -91
  20. package/autocomplete/autocomplete.min.css +1 -1
  21. package/autocomplete/autocomplete.min.js +1 -1
  22. package/avatar/avatar.cjs.js +3 -1
  23. package/avatar/avatar.cjs.min.js +1 -1
  24. package/avatar/avatar.d.ts +1 -1
  25. package/avatar/avatar.esm.js +3 -1
  26. package/avatar/avatar.esm.min.js +1 -1
  27. package/avatar/avatar.js +4 -3
  28. package/avatar/avatar.min.js +1 -1
  29. package/avatargroup/avatargroup.cjs.js +3 -1
  30. package/avatargroup/avatargroup.cjs.min.js +1 -1
  31. package/avatargroup/avatargroup.esm.js +3 -1
  32. package/avatargroup/avatargroup.esm.min.js +1 -1
  33. package/avatargroup/avatargroup.js +4 -3
  34. package/avatargroup/avatargroup.min.js +1 -1
  35. package/badge/badge.cjs.js +3 -1
  36. package/badge/badge.cjs.min.js +1 -1
  37. package/badge/badge.esm.js +3 -1
  38. package/badge/badge.esm.min.js +1 -1
  39. package/badge/badge.js +4 -3
  40. package/badge/badge.min.js +1 -1
  41. package/blockui/blockui.cjs.js +4 -3
  42. package/blockui/blockui.cjs.min.js +1 -1
  43. package/blockui/blockui.esm.js +4 -3
  44. package/blockui/blockui.esm.min.js +1 -1
  45. package/blockui/blockui.js +5 -4
  46. package/blockui/blockui.min.js +1 -1
  47. package/breadcrumb/breadcrumb.cjs.js +97 -52
  48. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  49. package/breadcrumb/breadcrumb.d.ts +53 -1
  50. package/breadcrumb/breadcrumb.esm.js +97 -52
  51. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  52. package/breadcrumb/breadcrumb.js +96 -53
  53. package/breadcrumb/breadcrumb.min.css +1 -1
  54. package/breadcrumb/breadcrumb.min.js +1 -1
  55. package/button/button.cjs.js +6 -2
  56. package/button/button.cjs.min.js +1 -1
  57. package/button/button.d.ts +6 -0
  58. package/button/button.esm.js +6 -2
  59. package/button/button.esm.min.js +1 -1
  60. package/button/button.js +7 -4
  61. package/button/button.min.js +1 -1
  62. package/calendar/calendar.cjs.js +322 -223
  63. package/calendar/calendar.cjs.min.js +1 -1
  64. package/calendar/calendar.d.ts +272 -3
  65. package/calendar/calendar.esm.js +324 -225
  66. package/calendar/calendar.esm.min.js +1 -1
  67. package/calendar/calendar.js +323 -225
  68. package/calendar/calendar.min.js +1 -1
  69. package/card/card.cjs.js +3 -1
  70. package/card/card.cjs.min.js +1 -1
  71. package/card/card.d.ts +5 -11
  72. package/card/card.esm.js +3 -1
  73. package/card/card.esm.min.js +1 -1
  74. package/card/card.js +4 -3
  75. package/card/card.min.js +1 -1
  76. package/carousel/carousel.cjs.js +154 -92
  77. package/carousel/carousel.cjs.min.js +1 -1
  78. package/carousel/carousel.d.ts +121 -1
  79. package/carousel/carousel.esm.js +156 -94
  80. package/carousel/carousel.esm.min.js +1 -1
  81. package/carousel/carousel.js +155 -94
  82. package/carousel/carousel.min.js +1 -1
  83. package/cascadeselect/cascadeselect.cjs.js +181 -108
  84. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  85. package/cascadeselect/cascadeselect.d.ts +100 -1
  86. package/cascadeselect/cascadeselect.esm.js +183 -110
  87. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  88. package/cascadeselect/cascadeselect.js +180 -108
  89. package/cascadeselect/cascadeselect.min.js +1 -1
  90. package/chart/chart.cjs.js +31 -44
  91. package/chart/chart.cjs.min.js +1 -1
  92. package/chart/chart.d.ts +30 -0
  93. package/chart/chart.esm.js +18 -31
  94. package/chart/chart.esm.min.js +1 -1
  95. package/chart/chart.js +141 -156
  96. package/chart/chart.min.js +1 -1
  97. package/checkbox/checkbox.cjs.js +113 -48
  98. package/checkbox/checkbox.cjs.min.js +1 -1
  99. package/checkbox/checkbox.d.ts +65 -1
  100. package/checkbox/checkbox.esm.js +115 -50
  101. package/checkbox/checkbox.esm.min.js +1 -1
  102. package/checkbox/checkbox.js +113 -50
  103. package/checkbox/checkbox.min.js +1 -1
  104. package/chip/chip.cjs.js +3 -1
  105. package/chip/chip.cjs.min.js +1 -1
  106. package/chip/chip.d.ts +1 -1
  107. package/chip/chip.esm.js +3 -1
  108. package/chip/chip.esm.min.js +1 -1
  109. package/chip/chip.js +4 -3
  110. package/chip/chip.min.js +1 -1
  111. package/chips/chips.cjs.js +84 -55
  112. package/chips/chips.cjs.min.js +1 -1
  113. package/chips/chips.d.ts +78 -6
  114. package/chips/chips.esm.js +85 -56
  115. package/chips/chips.esm.min.js +1 -1
  116. package/chips/chips.js +83 -57
  117. package/chips/chips.min.js +1 -1
  118. package/colorpicker/colorpicker.cjs.js +123 -49
  119. package/colorpicker/colorpicker.cjs.min.js +1 -1
  120. package/colorpicker/colorpicker.d.ts +81 -0
  121. package/colorpicker/colorpicker.esm.js +125 -51
  122. package/colorpicker/colorpicker.esm.min.js +1 -1
  123. package/colorpicker/colorpicker.js +124 -51
  124. package/colorpicker/colorpicker.min.js +1 -1
  125. package/column/column.cjs.js +2 -0
  126. package/column/column.d.ts +298 -1
  127. package/column/column.esm.js +2 -0
  128. package/column/column.js +2 -0
  129. package/columngroup/columngroup.d.ts +28 -0
  130. package/componentbase/componentbase.cjs.js +29 -5
  131. package/componentbase/componentbase.cjs.min.js +1 -1
  132. package/componentbase/componentbase.esm.js +25 -5
  133. package/componentbase/componentbase.esm.min.js +1 -1
  134. package/componentbase/componentbase.js +30 -7
  135. package/componentbase/componentbase.min.js +1 -1
  136. package/confirmdialog/confirmdialog.cjs.js +4 -3
  137. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  138. package/confirmdialog/confirmdialog.esm.js +5 -4
  139. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  140. package/confirmdialog/confirmdialog.js +4 -3
  141. package/confirmdialog/confirmdialog.min.js +1 -1
  142. package/confirmpopup/confirmpopup.cjs.js +5 -4
  143. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  144. package/confirmpopup/confirmpopup.esm.js +6 -5
  145. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  146. package/confirmpopup/confirmpopup.js +5 -4
  147. package/confirmpopup/confirmpopup.min.js +1 -1
  148. package/contextmenu/contextmenu.cjs.js +121 -69
  149. package/contextmenu/contextmenu.cjs.min.js +1 -1
  150. package/contextmenu/contextmenu.d.ts +92 -1
  151. package/contextmenu/contextmenu.esm.js +123 -71
  152. package/contextmenu/contextmenu.esm.min.js +1 -1
  153. package/contextmenu/contextmenu.js +122 -71
  154. package/contextmenu/contextmenu.min.js +1 -1
  155. package/core/core.js +14005 -2381
  156. package/core/core.min.js +47 -47
  157. package/csstransition/csstransition.cjs.js +3 -2
  158. package/csstransition/csstransition.cjs.min.js +1 -1
  159. package/csstransition/csstransition.esm.js +3 -2
  160. package/csstransition/csstransition.esm.min.js +1 -1
  161. package/csstransition/csstransition.js +4 -3
  162. package/csstransition/csstransition.min.js +1 -1
  163. package/datascroller/datascroller.cjs.js +34 -43
  164. package/datascroller/datascroller.cjs.min.js +1 -1
  165. package/datascroller/datascroller.d.ts +51 -1
  166. package/datascroller/datascroller.esm.js +36 -45
  167. package/datascroller/datascroller.esm.min.js +1 -1
  168. package/datascroller/datascroller.js +35 -45
  169. package/datascroller/datascroller.min.js +1 -1
  170. package/datatable/datatable.cjs.js +1089 -649
  171. package/datatable/datatable.cjs.min.js +1 -1
  172. package/datatable/datatable.d.ts +191 -3
  173. package/datatable/datatable.esm.js +1091 -651
  174. package/datatable/datatable.esm.min.js +1 -1
  175. package/datatable/datatable.js +1090 -651
  176. package/datatable/datatable.min.js +1 -1
  177. package/dataview/dataview.cjs.js +125 -109
  178. package/dataview/dataview.cjs.min.js +1 -1
  179. package/dataview/dataview.d.ts +105 -2
  180. package/dataview/dataview.esm.js +127 -111
  181. package/dataview/dataview.esm.min.js +1 -1
  182. package/dataview/dataview.js +123 -108
  183. package/dataview/dataview.min.js +1 -1
  184. package/deferredcontent/deferredcontent.cjs.js +3 -1
  185. package/deferredcontent/deferredcontent.cjs.min.js +1 -1
  186. package/deferredcontent/deferredcontent.esm.js +3 -1
  187. package/deferredcontent/deferredcontent.esm.min.js +1 -1
  188. package/deferredcontent/deferredcontent.js +4 -3
  189. package/deferredcontent/deferredcontent.min.js +1 -1
  190. package/dialog/dialog.cjs.js +6 -5
  191. package/dialog/dialog.cjs.min.js +1 -1
  192. package/dialog/dialog.esm.js +7 -6
  193. package/dialog/dialog.esm.min.js +1 -1
  194. package/dialog/dialog.js +6 -5
  195. package/dialog/dialog.min.js +1 -1
  196. package/divider/divider.cjs.js +3 -1
  197. package/divider/divider.cjs.min.js +1 -1
  198. package/divider/divider.esm.js +3 -1
  199. package/divider/divider.esm.min.js +1 -1
  200. package/divider/divider.js +4 -3
  201. package/divider/divider.min.js +1 -1
  202. package/dock/dock.cjs.js +85 -46
  203. package/dock/dock.cjs.min.js +1 -1
  204. package/dock/dock.d.ts +66 -0
  205. package/dock/dock.esm.js +86 -47
  206. package/dock/dock.esm.min.js +1 -1
  207. package/dock/dock.js +85 -48
  208. package/dock/dock.min.js +1 -1
  209. package/dropdown/dropdown.cjs.js +170 -120
  210. package/dropdown/dropdown.cjs.min.js +1 -1
  211. package/dropdown/dropdown.d.ts +154 -2
  212. package/dropdown/dropdown.esm.js +172 -122
  213. package/dropdown/dropdown.esm.min.js +1 -1
  214. package/dropdown/dropdown.js +170 -121
  215. package/dropdown/dropdown.min.js +1 -1
  216. package/editor/editor.cjs.js +95 -116
  217. package/editor/editor.cjs.min.js +1 -1
  218. package/editor/editor.d.ts +50 -0
  219. package/editor/editor.esm.js +96 -117
  220. package/editor/editor.esm.min.js +1 -1
  221. package/editor/editor.js +95 -118
  222. package/editor/editor.min.js +1 -1
  223. package/fieldset/fieldset.cjs.js +3 -1
  224. package/fieldset/fieldset.cjs.min.js +1 -1
  225. package/fieldset/fieldset.esm.js +3 -1
  226. package/fieldset/fieldset.esm.min.js +1 -1
  227. package/fieldset/fieldset.js +4 -3
  228. package/fieldset/fieldset.min.js +1 -1
  229. package/fileupload/fileupload.cjs.js +234 -191
  230. package/fileupload/fileupload.cjs.min.js +1 -1
  231. package/fileupload/fileupload.d.ts +160 -1
  232. package/fileupload/fileupload.esm.js +235 -192
  233. package/fileupload/fileupload.esm.min.js +1 -1
  234. package/fileupload/fileupload.js +231 -188
  235. package/fileupload/fileupload.min.js +1 -1
  236. package/galleria/galleria.cjs.js +139 -124
  237. package/galleria/galleria.cjs.min.js +1 -1
  238. package/galleria/galleria.d.ts +156 -2
  239. package/galleria/galleria.esm.js +141 -126
  240. package/galleria/galleria.esm.min.js +1 -1
  241. package/galleria/galleria.js +138 -124
  242. package/galleria/galleria.min.js +1 -1
  243. package/hooks/hooks.cjs.js +10 -3
  244. package/hooks/hooks.cjs.min.js +1 -1
  245. package/hooks/hooks.esm.js +7 -3
  246. package/hooks/hooks.esm.min.js +1 -1
  247. package/hooks/hooks.js +11 -5
  248. package/hooks/hooks.min.js +1 -1
  249. package/icons/arrowdown/index.cjs.js +415 -2
  250. package/icons/arrowdown/index.cjs.min.js +1 -1
  251. package/icons/arrowdown/index.esm.js +415 -2
  252. package/icons/arrowdown/index.esm.min.js +1 -1
  253. package/icons/arrowdown/index.js +415 -2
  254. package/icons/arrowdown/index.min.js +1 -1
  255. package/icons/arrowup/index.cjs.js +415 -2
  256. package/icons/arrowup/index.cjs.min.js +1 -1
  257. package/icons/arrowup/index.esm.js +415 -2
  258. package/icons/arrowup/index.esm.min.js +1 -1
  259. package/icons/arrowup/index.js +415 -2
  260. package/icons/arrowup/index.min.js +1 -1
  261. package/icons/ban/index.cjs.js +415 -2
  262. package/icons/ban/index.cjs.min.js +1 -1
  263. package/icons/ban/index.esm.js +415 -2
  264. package/icons/ban/index.esm.min.js +1 -1
  265. package/icons/ban/index.js +415 -2
  266. package/icons/ban/index.min.js +1 -1
  267. package/icons/download/index.cjs.js +415 -2
  268. package/icons/download/index.cjs.min.js +1 -1
  269. package/icons/download/index.esm.js +415 -2
  270. package/icons/download/index.esm.min.js +1 -1
  271. package/icons/download/index.js +415 -2
  272. package/icons/download/index.min.js +1 -1
  273. package/icons/exclamationtriangle/index.cjs.js +415 -2
  274. package/icons/exclamationtriangle/index.cjs.min.js +1 -1
  275. package/icons/exclamationtriangle/index.esm.js +415 -2
  276. package/icons/exclamationtriangle/index.esm.min.js +1 -1
  277. package/icons/exclamationtriangle/index.js +415 -2
  278. package/icons/exclamationtriangle/index.min.js +1 -1
  279. package/icons/eyeslash/index.cjs.js +415 -2
  280. package/icons/eyeslash/index.cjs.min.js +1 -1
  281. package/icons/eyeslash/index.esm.js +415 -2
  282. package/icons/eyeslash/index.esm.min.js +1 -1
  283. package/icons/eyeslash/index.js +415 -2
  284. package/icons/eyeslash/index.min.js +1 -1
  285. package/icons/filter/index.cjs.js +415 -2
  286. package/icons/filter/index.cjs.min.js +1 -1
  287. package/icons/filter/index.esm.js +415 -2
  288. package/icons/filter/index.esm.min.js +1 -1
  289. package/icons/filter/index.js +415 -2
  290. package/icons/filter/index.min.js +1 -1
  291. package/icons/filterslash/index.cjs.js +415 -2
  292. package/icons/filterslash/index.cjs.min.js +1 -1
  293. package/icons/filterslash/index.esm.js +415 -2
  294. package/icons/filterslash/index.esm.min.js +1 -1
  295. package/icons/filterslash/index.js +415 -2
  296. package/icons/filterslash/index.min.js +1 -1
  297. package/icons/infocircle/index.cjs.js +415 -2
  298. package/icons/infocircle/index.cjs.min.js +1 -1
  299. package/icons/infocircle/index.esm.js +415 -2
  300. package/icons/infocircle/index.esm.min.js +1 -1
  301. package/icons/infocircle/index.js +415 -2
  302. package/icons/infocircle/index.min.js +1 -1
  303. package/icons/pencil/index.cjs.js +415 -2
  304. package/icons/pencil/index.cjs.min.js +1 -1
  305. package/icons/pencil/index.esm.js +415 -2
  306. package/icons/pencil/index.esm.min.js +1 -1
  307. package/icons/pencil/index.js +415 -2
  308. package/icons/pencil/index.min.js +1 -1
  309. package/icons/plus/index.cjs.js +415 -2
  310. package/icons/plus/index.cjs.min.js +1 -1
  311. package/icons/plus/index.esm.js +415 -2
  312. package/icons/plus/index.esm.min.js +1 -1
  313. package/icons/plus/index.js +415 -2
  314. package/icons/plus/index.min.js +1 -1
  315. package/icons/refresh/index.cjs.js +415 -2
  316. package/icons/refresh/index.cjs.min.js +1 -1
  317. package/icons/refresh/index.esm.js +415 -2
  318. package/icons/refresh/index.esm.min.js +1 -1
  319. package/icons/refresh/index.js +415 -2
  320. package/icons/refresh/index.min.js +1 -1
  321. package/icons/search/index.cjs.js +415 -2
  322. package/icons/search/index.cjs.min.js +1 -1
  323. package/icons/search/index.esm.js +415 -2
  324. package/icons/search/index.esm.min.js +1 -1
  325. package/icons/search/index.js +415 -2
  326. package/icons/search/index.min.js +1 -1
  327. package/icons/searchminus/index.cjs.js +415 -2
  328. package/icons/searchminus/index.cjs.min.js +1 -1
  329. package/icons/searchminus/index.esm.js +415 -2
  330. package/icons/searchminus/index.esm.min.js +1 -1
  331. package/icons/searchminus/index.js +415 -2
  332. package/icons/searchminus/index.min.js +1 -1
  333. package/icons/searchplus/index.cjs.js +415 -2
  334. package/icons/searchplus/index.cjs.min.js +1 -1
  335. package/icons/searchplus/index.esm.js +415 -2
  336. package/icons/searchplus/index.esm.min.js +1 -1
  337. package/icons/searchplus/index.js +415 -2
  338. package/icons/searchplus/index.min.js +1 -1
  339. package/icons/sortalt/index.cjs.js +415 -2
  340. package/icons/sortalt/index.cjs.min.js +1 -1
  341. package/icons/sortalt/index.esm.js +415 -2
  342. package/icons/sortalt/index.esm.min.js +1 -1
  343. package/icons/sortalt/index.js +415 -2
  344. package/icons/sortalt/index.min.js +1 -1
  345. package/icons/sortamountdown/index.cjs.js +415 -2
  346. package/icons/sortamountdown/index.cjs.min.js +1 -1
  347. package/icons/sortamountdown/index.esm.js +415 -2
  348. package/icons/sortamountdown/index.esm.min.js +1 -1
  349. package/icons/sortamountdown/index.js +415 -2
  350. package/icons/sortamountdown/index.min.js +1 -1
  351. package/icons/sortamountupalt/index.cjs.js +415 -2
  352. package/icons/sortamountupalt/index.cjs.min.js +1 -1
  353. package/icons/sortamountupalt/index.esm.js +415 -2
  354. package/icons/sortamountupalt/index.esm.min.js +1 -1
  355. package/icons/sortamountupalt/index.js +415 -2
  356. package/icons/sortamountupalt/index.min.js +1 -1
  357. package/icons/spinner/index.cjs.js +415 -2
  358. package/icons/spinner/index.cjs.min.js +1 -1
  359. package/icons/spinner/index.esm.js +415 -2
  360. package/icons/spinner/index.esm.min.js +1 -1
  361. package/icons/spinner/index.js +415 -2
  362. package/icons/spinner/index.min.js +1 -1
  363. package/icons/star/index.cjs.js +415 -2
  364. package/icons/star/index.cjs.min.js +1 -1
  365. package/icons/star/index.esm.js +415 -2
  366. package/icons/star/index.esm.min.js +1 -1
  367. package/icons/star/index.js +415 -2
  368. package/icons/star/index.min.js +1 -1
  369. package/icons/starfill/index.cjs.js +415 -2
  370. package/icons/starfill/index.cjs.min.js +1 -1
  371. package/icons/starfill/index.esm.js +415 -2
  372. package/icons/starfill/index.esm.min.js +1 -1
  373. package/icons/starfill/index.js +415 -2
  374. package/icons/starfill/index.min.js +1 -1
  375. package/icons/thlarge/index.cjs.js +415 -2
  376. package/icons/thlarge/index.cjs.min.js +1 -1
  377. package/icons/thlarge/index.esm.js +415 -2
  378. package/icons/thlarge/index.esm.min.js +1 -1
  379. package/icons/thlarge/index.js +415 -2
  380. package/icons/thlarge/index.min.js +1 -1
  381. package/icons/timescircle/index.cjs.js +415 -2
  382. package/icons/timescircle/index.cjs.min.js +1 -1
  383. package/icons/timescircle/index.esm.js +415 -2
  384. package/icons/timescircle/index.esm.min.js +1 -1
  385. package/icons/timescircle/index.js +415 -2
  386. package/icons/timescircle/index.min.js +1 -1
  387. package/icons/trash/index.cjs.js +415 -2
  388. package/icons/trash/index.cjs.min.js +1 -1
  389. package/icons/trash/index.esm.js +415 -2
  390. package/icons/trash/index.esm.min.js +1 -1
  391. package/icons/trash/index.js +415 -2
  392. package/icons/trash/index.min.js +1 -1
  393. package/icons/undo/index.cjs.js +415 -2
  394. package/icons/undo/index.cjs.min.js +1 -1
  395. package/icons/undo/index.esm.js +415 -2
  396. package/icons/undo/index.esm.min.js +1 -1
  397. package/icons/undo/index.js +415 -2
  398. package/icons/undo/index.min.js +1 -1
  399. package/icons/upload/index.cjs.js +415 -2
  400. package/icons/upload/index.cjs.min.js +1 -1
  401. package/icons/upload/index.esm.js +415 -2
  402. package/icons/upload/index.esm.min.js +1 -1
  403. package/icons/upload/index.js +415 -2
  404. package/icons/upload/index.min.js +1 -1
  405. package/icons/windowmaximize/index.cjs.js +415 -2
  406. package/icons/windowmaximize/index.cjs.min.js +1 -1
  407. package/icons/windowmaximize/index.esm.js +415 -2
  408. package/icons/windowmaximize/index.esm.min.js +1 -1
  409. package/icons/windowmaximize/index.js +415 -2
  410. package/icons/windowmaximize/index.min.js +1 -1
  411. package/icons/windowminimize/index.cjs.js +415 -2
  412. package/icons/windowminimize/index.cjs.min.js +1 -1
  413. package/icons/windowminimize/index.esm.js +415 -2
  414. package/icons/windowminimize/index.esm.min.js +1 -1
  415. package/icons/windowminimize/index.js +415 -2
  416. package/icons/windowminimize/index.min.js +1 -1
  417. package/image/image.cjs.js +480 -80
  418. package/image/image.cjs.min.js +1 -1
  419. package/image/image.d.ts +130 -3
  420. package/image/image.esm.js +483 -83
  421. package/image/image.esm.min.js +1 -1
  422. package/image/image.js +481 -82
  423. package/image/image.min.css +1 -1
  424. package/image/image.min.js +1 -1
  425. package/inplace/inplace.cjs.js +2 -1
  426. package/inplace/inplace.cjs.min.js +1 -1
  427. package/inplace/inplace.esm.js +3 -2
  428. package/inplace/inplace.esm.min.js +1 -1
  429. package/inplace/inplace.js +2 -1
  430. package/inplace/inplace.min.js +1 -1
  431. package/inputmask/inputmask.cjs.js +26 -26
  432. package/inputmask/inputmask.cjs.min.js +1 -1
  433. package/inputmask/inputmask.d.ts +7 -2
  434. package/inputmask/inputmask.esm.js +27 -27
  435. package/inputmask/inputmask.esm.min.js +1 -1
  436. package/inputmask/inputmask.js +26 -28
  437. package/inputmask/inputmask.min.js +1 -1
  438. package/inputnumber/inputnumber.cjs.js +68 -48
  439. package/inputnumber/inputnumber.cjs.min.js +1 -1
  440. package/inputnumber/inputnumber.d.ts +62 -1
  441. package/inputnumber/inputnumber.esm.js +66 -49
  442. package/inputnumber/inputnumber.esm.min.js +1 -1
  443. package/inputnumber/inputnumber.js +68 -50
  444. package/inputnumber/inputnumber.min.js +1 -1
  445. package/inputswitch/inputswitch.cjs.js +84 -25
  446. package/inputswitch/inputswitch.cjs.min.js +1 -1
  447. package/inputswitch/inputswitch.d.ts +61 -0
  448. package/inputswitch/inputswitch.esm.js +85 -26
  449. package/inputswitch/inputswitch.esm.min.js +1 -1
  450. package/inputswitch/inputswitch.js +83 -27
  451. package/inputswitch/inputswitch.min.js +1 -1
  452. package/inputtext/inputtext.cjs.js +25 -15
  453. package/inputtext/inputtext.cjs.min.js +1 -1
  454. package/inputtext/inputtext.d.ts +32 -0
  455. package/inputtext/inputtext.esm.js +26 -16
  456. package/inputtext/inputtext.esm.min.js +1 -1
  457. package/inputtext/inputtext.js +25 -17
  458. package/inputtext/inputtext.min.js +1 -1
  459. package/inputtextarea/inputtextarea.cjs.js +25 -15
  460. package/inputtextarea/inputtextarea.cjs.min.js +1 -1
  461. package/inputtextarea/inputtextarea.d.ts +33 -1
  462. package/inputtextarea/inputtextarea.esm.js +26 -16
  463. package/inputtextarea/inputtextarea.esm.min.js +1 -1
  464. package/inputtextarea/inputtextarea.js +25 -17
  465. package/inputtextarea/inputtextarea.min.js +1 -1
  466. package/keyfilter/keyfilter.cjs.js +25 -9
  467. package/keyfilter/keyfilter.cjs.min.js +1 -1
  468. package/keyfilter/keyfilter.esm.js +25 -9
  469. package/keyfilter/keyfilter.esm.min.js +1 -1
  470. package/keyfilter/keyfilter.js +25 -11
  471. package/keyfilter/keyfilter.min.js +1 -1
  472. package/knob/knob.cjs.js +44 -43
  473. package/knob/knob.cjs.min.js +1 -1
  474. package/knob/knob.d.ts +42 -0
  475. package/knob/knob.esm.js +45 -44
  476. package/knob/knob.esm.min.js +1 -1
  477. package/knob/knob.js +44 -45
  478. package/knob/knob.min.js +1 -1
  479. package/listbox/listbox.cjs.js +86 -56
  480. package/listbox/listbox.cjs.min.js +1 -1
  481. package/listbox/listbox.d.ts +103 -3
  482. package/listbox/listbox.esm.js +88 -58
  483. package/listbox/listbox.esm.min.js +1 -1
  484. package/listbox/listbox.js +86 -57
  485. package/listbox/listbox.min.js +1 -1
  486. package/megamenu/megamenu.cjs.js +151 -99
  487. package/megamenu/megamenu.cjs.min.js +1 -1
  488. package/megamenu/megamenu.d.ts +142 -2
  489. package/megamenu/megamenu.esm.js +152 -100
  490. package/megamenu/megamenu.esm.min.js +1 -1
  491. package/megamenu/megamenu.js +149 -98
  492. package/megamenu/megamenu.min.js +1 -1
  493. package/mention/mention.cjs.js +87 -61
  494. package/mention/mention.cjs.min.js +1 -1
  495. package/mention/mention.d.ts +80 -1
  496. package/mention/mention.esm.js +89 -63
  497. package/mention/mention.esm.min.js +1 -1
  498. package/mention/mention.js +88 -63
  499. package/mention/mention.min.js +1 -1
  500. package/menu/menu.cjs.js +99 -59
  501. package/menu/menu.cjs.min.js +1 -1
  502. package/menu/menu.d.ts +71 -0
  503. package/menu/menu.esm.js +101 -61
  504. package/menu/menu.esm.min.js +1 -1
  505. package/menu/menu.js +100 -61
  506. package/menu/menu.min.js +1 -1
  507. package/menubar/menubar.cjs.js +122 -114
  508. package/menubar/menubar.cjs.min.js +1 -1
  509. package/menubar/menubar.d.ts +94 -1
  510. package/menubar/menubar.esm.js +124 -116
  511. package/menubar/menubar.esm.min.js +1 -1
  512. package/menubar/menubar.js +122 -115
  513. package/menubar/menubar.min.js +1 -1
  514. package/message/message.cjs.js +69 -47
  515. package/message/message.cjs.min.js +1 -1
  516. package/message/message.d.ts +35 -2
  517. package/message/message.esm.js +70 -48
  518. package/message/message.esm.min.js +1 -1
  519. package/message/message.js +69 -49
  520. package/message/message.min.js +1 -1
  521. package/messages/messages.cjs.js +65 -63
  522. package/messages/messages.cjs.min.js +1 -1
  523. package/messages/messages.d.ts +51 -2
  524. package/messages/messages.esm.js +66 -64
  525. package/messages/messages.esm.min.js +1 -1
  526. package/messages/messages.js +65 -64
  527. package/messages/messages.min.js +1 -1
  528. package/multiselect/multiselect.cjs.js +249 -193
  529. package/multiselect/multiselect.cjs.min.js +1 -1
  530. package/multiselect/multiselect.d.ts +185 -3
  531. package/multiselect/multiselect.esm.js +252 -196
  532. package/multiselect/multiselect.esm.min.js +1 -1
  533. package/multiselect/multiselect.js +249 -194
  534. package/multiselect/multiselect.min.js +1 -1
  535. package/multistatecheckbox/multistatecheckbox.cjs.js +47 -33
  536. package/multistatecheckbox/multistatecheckbox.cjs.min.js +1 -1
  537. package/multistatecheckbox/multistatecheckbox.d.ts +61 -2
  538. package/multistatecheckbox/multistatecheckbox.esm.js +49 -35
  539. package/multistatecheckbox/multistatecheckbox.esm.min.js +1 -1
  540. package/multistatecheckbox/multistatecheckbox.js +48 -35
  541. package/multistatecheckbox/multistatecheckbox.min.js +1 -1
  542. package/orderlist/orderlist.cjs.js +188 -110
  543. package/orderlist/orderlist.cjs.min.js +1 -1
  544. package/orderlist/orderlist.d.ts +118 -2
  545. package/orderlist/orderlist.esm.js +190 -112
  546. package/orderlist/orderlist.esm.min.js +1 -1
  547. package/orderlist/orderlist.js +186 -109
  548. package/orderlist/orderlist.min.js +1 -1
  549. package/organizationchart/organizationchart.cjs.js +139 -73
  550. package/organizationchart/organizationchart.cjs.min.js +1 -1
  551. package/organizationchart/organizationchart.d.ts +89 -2
  552. package/organizationchart/organizationchart.esm.js +140 -74
  553. package/organizationchart/organizationchart.esm.min.js +1 -1
  554. package/organizationchart/organizationchart.js +139 -75
  555. package/organizationchart/organizationchart.min.js +1 -1
  556. package/overlaypanel/overlaypanel.cjs.js +7 -6
  557. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  558. package/overlaypanel/overlaypanel.d.ts +5 -0
  559. package/overlaypanel/overlaypanel.esm.js +8 -7
  560. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  561. package/overlaypanel/overlaypanel.js +8 -7
  562. package/overlaypanel/overlaypanel.min.js +1 -1
  563. package/package.json +1 -1
  564. package/paginator/paginator.cjs.js +172 -166
  565. package/paginator/paginator.cjs.min.js +1 -1
  566. package/paginator/paginator.d.ts +111 -5
  567. package/paginator/paginator.esm.js +174 -168
  568. package/paginator/paginator.esm.min.js +1 -1
  569. package/paginator/paginator.js +172 -167
  570. package/paginator/paginator.min.js +1 -1
  571. package/panel/panel.cjs.js +3 -1
  572. package/panel/panel.cjs.min.js +1 -1
  573. package/panel/panel.esm.js +3 -1
  574. package/panel/panel.esm.min.js +1 -1
  575. package/panel/panel.js +4 -3
  576. package/panel/panel.min.js +1 -1
  577. package/panelmenu/panelmenu.cjs.js +148 -84
  578. package/panelmenu/panelmenu.cjs.min.js +1 -1
  579. package/panelmenu/panelmenu.d.ts +124 -2
  580. package/panelmenu/panelmenu.esm.js +148 -84
  581. package/panelmenu/panelmenu.esm.min.js +1 -1
  582. package/panelmenu/panelmenu.js +146 -84
  583. package/panelmenu/panelmenu.min.js +1 -1
  584. package/password/password.cjs.js +89 -46
  585. package/password/password.cjs.min.js +1 -1
  586. package/password/password.d.ts +98 -2
  587. package/password/password.esm.js +91 -48
  588. package/password/password.esm.min.js +1 -1
  589. package/password/password.js +88 -46
  590. package/password/password.min.js +1 -1
  591. package/picklist/picklist.cjs.js +146 -82
  592. package/picklist/picklist.cjs.min.js +1 -1
  593. package/picklist/picklist.d.ts +133 -1
  594. package/picklist/picklist.esm.js +148 -84
  595. package/picklist/picklist.esm.min.js +1 -1
  596. package/picklist/picklist.js +143 -80
  597. package/picklist/picklist.min.js +1 -1
  598. package/portal/portal.cjs.js +3 -2
  599. package/portal/portal.cjs.min.js +1 -1
  600. package/portal/portal.esm.js +3 -2
  601. package/portal/portal.esm.min.js +1 -1
  602. package/portal/portal.js +4 -3
  603. package/portal/portal.min.js +1 -1
  604. package/primereact.all.cjs.js +6656 -4389
  605. package/primereact.all.cjs.min.js +1 -1
  606. package/primereact.all.esm.js +6655 -4390
  607. package/primereact.all.esm.min.js +1 -1
  608. package/primereact.all.js +6656 -4389
  609. package/primereact.all.min.js +1 -1
  610. package/progressbar/progressbar.cjs.js +3 -1
  611. package/progressbar/progressbar.cjs.min.js +1 -1
  612. package/progressbar/progressbar.esm.js +3 -1
  613. package/progressbar/progressbar.esm.min.js +1 -1
  614. package/progressbar/progressbar.js +4 -3
  615. package/progressbar/progressbar.min.js +1 -1
  616. package/progressspinner/progressspinner.cjs.js +3 -1
  617. package/progressspinner/progressspinner.cjs.min.js +1 -1
  618. package/progressspinner/progressspinner.esm.js +3 -1
  619. package/progressspinner/progressspinner.esm.min.js +1 -1
  620. package/progressspinner/progressspinner.js +4 -3
  621. package/progressspinner/progressspinner.min.js +1 -1
  622. package/radiobutton/radiobutton.cjs.js +90 -30
  623. package/radiobutton/radiobutton.cjs.min.js +1 -1
  624. package/radiobutton/radiobutton.d.ts +66 -1
  625. package/radiobutton/radiobutton.esm.js +91 -31
  626. package/radiobutton/radiobutton.esm.min.js +1 -1
  627. package/radiobutton/radiobutton.js +89 -32
  628. package/radiobutton/radiobutton.min.js +1 -1
  629. package/rating/rating.cjs.js +47 -36
  630. package/rating/rating.cjs.min.js +1 -1
  631. package/rating/rating.d.ts +64 -1
  632. package/rating/rating.esm.js +48 -37
  633. package/rating/rating.esm.min.js +1 -1
  634. package/rating/rating.js +47 -38
  635. package/rating/rating.min.js +1 -1
  636. package/resources/primereact.css +475 -465
  637. package/resources/primereact.min.css +1 -1
  638. package/resources/themes/arya-blue/theme.css +33 -8
  639. package/resources/themes/arya-green/theme.css +33 -8
  640. package/resources/themes/arya-orange/theme.css +33 -8
  641. package/resources/themes/arya-purple/theme.css +33 -8
  642. package/resources/themes/bootstrap4-dark-blue/theme.css +33 -8
  643. package/resources/themes/bootstrap4-dark-purple/theme.css +33 -8
  644. package/resources/themes/bootstrap4-light-blue/theme.css +33 -8
  645. package/resources/themes/bootstrap4-light-purple/theme.css +33 -8
  646. package/resources/themes/fluent-light/theme.css +33 -8
  647. package/resources/themes/lara-dark-blue/theme.css +33 -8
  648. package/resources/themes/lara-dark-indigo/theme.css +33 -8
  649. package/resources/themes/lara-dark-purple/theme.css +33 -8
  650. package/resources/themes/lara-dark-teal/theme.css +33 -8
  651. package/resources/themes/lara-light-blue/theme.css +33 -8
  652. package/resources/themes/lara-light-indigo/theme.css +33 -8
  653. package/resources/themes/lara-light-purple/theme.css +33 -8
  654. package/resources/themes/lara-light-teal/theme.css +33 -8
  655. package/resources/themes/luna-amber/theme.css +33 -8
  656. package/resources/themes/luna-blue/theme.css +33 -8
  657. package/resources/themes/luna-green/theme.css +33 -8
  658. package/resources/themes/luna-pink/theme.css +33 -8
  659. package/resources/themes/md-dark-deeppurple/theme.css +33 -8
  660. package/resources/themes/md-dark-indigo/theme.css +33 -8
  661. package/resources/themes/md-light-deeppurple/theme.css +33 -8
  662. package/resources/themes/md-light-indigo/theme.css +33 -8
  663. package/resources/themes/mdc-dark-deeppurple/theme.css +33 -8
  664. package/resources/themes/mdc-dark-indigo/theme.css +33 -8
  665. package/resources/themes/mdc-light-deeppurple/theme.css +33 -8
  666. package/resources/themes/mdc-light-indigo/theme.css +33 -8
  667. package/resources/themes/mira/theme.css +33 -8
  668. package/resources/themes/nano/theme.css +33 -8
  669. package/resources/themes/nova/theme.css +33 -8
  670. package/resources/themes/nova-accent/theme.css +33 -8
  671. package/resources/themes/nova-alt/theme.css +33 -8
  672. package/resources/themes/rhea/theme.css +33 -8
  673. package/resources/themes/saga-blue/theme.css +33 -8
  674. package/resources/themes/saga-green/theme.css +33 -8
  675. package/resources/themes/saga-orange/theme.css +33 -8
  676. package/resources/themes/saga-purple/theme.css +33 -8
  677. package/resources/themes/soho-dark/theme.css +33 -8
  678. package/resources/themes/soho-light/theme.css +33 -8
  679. package/resources/themes/tailwind-light/theme.css +45 -20
  680. package/resources/themes/vela-blue/theme.css +33 -8
  681. package/resources/themes/vela-green/theme.css +33 -8
  682. package/resources/themes/vela-orange/theme.css +33 -8
  683. package/resources/themes/vela-purple/theme.css +33 -8
  684. package/resources/themes/viva-dark/theme.css +33 -8
  685. package/resources/themes/viva-light/theme.css +33 -8
  686. package/ripple/ripple.cjs.js +3 -2
  687. package/ripple/ripple.cjs.min.js +1 -1
  688. package/ripple/ripple.esm.js +3 -2
  689. package/ripple/ripple.esm.min.js +1 -1
  690. package/ripple/ripple.js +4 -3
  691. package/ripple/ripple.min.js +1 -1
  692. package/row/row.cjs.js +28 -41
  693. package/row/row.cjs.min.js +1 -1
  694. package/row/row.d.ts +28 -0
  695. package/row/row.esm.js +15 -28
  696. package/row/row.esm.min.js +1 -1
  697. package/row/row.js +49 -64
  698. package/row/row.min.js +1 -1
  699. package/scrollpanel/scrollpanel.cjs.js +3 -1
  700. package/scrollpanel/scrollpanel.cjs.min.js +1 -1
  701. package/scrollpanel/scrollpanel.esm.js +3 -1
  702. package/scrollpanel/scrollpanel.esm.min.js +1 -1
  703. package/scrollpanel/scrollpanel.js +4 -3
  704. package/scrollpanel/scrollpanel.min.js +1 -1
  705. package/scrolltop/scrolltop.cjs.js +9 -7
  706. package/scrolltop/scrolltop.cjs.min.js +1 -1
  707. package/scrolltop/scrolltop.esm.js +11 -9
  708. package/scrolltop/scrolltop.esm.min.js +1 -1
  709. package/scrolltop/scrolltop.js +10 -8
  710. package/scrolltop/scrolltop.min.js +1 -1
  711. package/selectbutton/selectbutton.cjs.js +37 -25
  712. package/selectbutton/selectbutton.cjs.min.js +1 -1
  713. package/selectbutton/selectbutton.d.ts +52 -1
  714. package/selectbutton/selectbutton.esm.js +38 -26
  715. package/selectbutton/selectbutton.esm.min.js +1 -1
  716. package/selectbutton/selectbutton.js +37 -27
  717. package/selectbutton/selectbutton.min.js +1 -1
  718. package/sidebar/sidebar.cjs.js +7 -6
  719. package/sidebar/sidebar.cjs.min.js +1 -1
  720. package/sidebar/sidebar.esm.js +8 -7
  721. package/sidebar/sidebar.esm.min.js +1 -1
  722. package/sidebar/sidebar.js +8 -7
  723. package/sidebar/sidebar.min.js +1 -1
  724. package/skeleton/skeleton.cjs.js +4 -3
  725. package/skeleton/skeleton.cjs.min.js +1 -1
  726. package/skeleton/skeleton.esm.js +4 -3
  727. package/skeleton/skeleton.esm.min.js +1 -1
  728. package/skeleton/skeleton.js +5 -5
  729. package/skeleton/skeleton.min.js +1 -1
  730. package/slidemenu/slidemenu.cjs.js +125 -114
  731. package/slidemenu/slidemenu.cjs.min.js +1 -1
  732. package/slidemenu/slidemenu.d.ts +103 -1
  733. package/slidemenu/slidemenu.esm.js +127 -116
  734. package/slidemenu/slidemenu.esm.min.js +1 -1
  735. package/slidemenu/slidemenu.js +125 -115
  736. package/slidemenu/slidemenu.min.js +1 -1
  737. package/slider/slider.cjs.js +71 -39
  738. package/slider/slider.cjs.min.js +1 -1
  739. package/slider/slider.d.ts +34 -1
  740. package/slider/slider.esm.js +72 -40
  741. package/slider/slider.esm.min.js +1 -1
  742. package/slider/slider.js +71 -41
  743. package/slider/slider.min.js +1 -1
  744. package/speeddial/speeddial.cjs.js +3 -1
  745. package/speeddial/speeddial.cjs.min.js +1 -1
  746. package/speeddial/speeddial.esm.js +3 -1
  747. package/speeddial/speeddial.esm.min.js +1 -1
  748. package/speeddial/speeddial.js +4 -3
  749. package/speeddial/speeddial.min.js +1 -1
  750. package/splitbutton/splitbutton.cjs.js +74 -63
  751. package/splitbutton/splitbutton.cjs.min.js +1 -1
  752. package/splitbutton/splitbutton.d.ts +39 -11
  753. package/splitbutton/splitbutton.esm.js +76 -65
  754. package/splitbutton/splitbutton.esm.min.js +1 -1
  755. package/splitbutton/splitbutton.js +74 -63
  756. package/splitbutton/splitbutton.min.js +1 -1
  757. package/splitter/splitter.cjs.js +3 -1
  758. package/splitter/splitter.cjs.min.js +1 -1
  759. package/splitter/splitter.d.ts +10 -0
  760. package/splitter/splitter.esm.js +3 -1
  761. package/splitter/splitter.esm.min.js +1 -1
  762. package/splitter/splitter.js +4 -3
  763. package/splitter/splitter.min.js +1 -1
  764. package/steps/steps.cjs.js +81 -46
  765. package/steps/steps.cjs.min.js +1 -1
  766. package/steps/steps.d.ts +50 -0
  767. package/steps/steps.esm.js +82 -47
  768. package/steps/steps.esm.min.js +1 -1
  769. package/steps/steps.js +81 -48
  770. package/steps/steps.min.js +1 -1
  771. package/styleclass/styleclass.cjs.js +3 -1
  772. package/styleclass/styleclass.cjs.min.js +1 -1
  773. package/styleclass/styleclass.esm.js +3 -1
  774. package/styleclass/styleclass.esm.min.js +1 -1
  775. package/styleclass/styleclass.js +4 -3
  776. package/styleclass/styleclass.min.js +1 -1
  777. package/tabmenu/tabmenu.cjs.js +86 -48
  778. package/tabmenu/tabmenu.cjs.min.js +1 -1
  779. package/tabmenu/tabmenu.d.ts +62 -0
  780. package/tabmenu/tabmenu.esm.js +87 -49
  781. package/tabmenu/tabmenu.esm.min.js +1 -1
  782. package/tabmenu/tabmenu.js +86 -50
  783. package/tabmenu/tabmenu.min.js +1 -1
  784. package/tabview/tabview.cjs.js +8 -5
  785. package/tabview/tabview.cjs.min.js +1 -1
  786. package/tabview/tabview.esm.js +9 -6
  787. package/tabview/tabview.esm.min.js +1 -1
  788. package/tabview/tabview.js +7 -4
  789. package/tabview/tabview.min.js +1 -1
  790. package/tag/tag.cjs.js +3 -1
  791. package/tag/tag.cjs.min.js +1 -1
  792. package/tag/tag.esm.js +3 -1
  793. package/tag/tag.esm.min.js +1 -1
  794. package/tag/tag.js +4 -3
  795. package/tag/tag.min.js +1 -1
  796. package/terminal/terminal.cjs.js +3 -1
  797. package/terminal/terminal.cjs.min.js +1 -1
  798. package/terminal/terminal.esm.js +3 -1
  799. package/terminal/terminal.esm.min.js +1 -1
  800. package/terminal/terminal.js +4 -3
  801. package/terminal/terminal.min.js +1 -1
  802. package/tieredmenu/tieredmenu.cjs.js +110 -64
  803. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  804. package/tieredmenu/tieredmenu.d.ts +83 -2
  805. package/tieredmenu/tieredmenu.esm.js +112 -66
  806. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  807. package/tieredmenu/tieredmenu.js +111 -66
  808. package/tieredmenu/tieredmenu.min.js +1 -1
  809. package/timeline/timeline.cjs.js +51 -43
  810. package/timeline/timeline.cjs.min.js +1 -1
  811. package/timeline/timeline.d.ts +51 -1
  812. package/timeline/timeline.esm.js +52 -44
  813. package/timeline/timeline.esm.min.js +1 -1
  814. package/timeline/timeline.js +51 -45
  815. package/timeline/timeline.min.js +1 -1
  816. package/toast/toast.cjs.js +118 -75
  817. package/toast/toast.cjs.min.js +1 -1
  818. package/toast/toast.d.ts +122 -4
  819. package/toast/toast.esm.js +120 -77
  820. package/toast/toast.esm.min.js +1 -1
  821. package/toast/toast.js +116 -74
  822. package/toast/toast.min.js +1 -1
  823. package/togglebutton/togglebutton.cjs.js +74 -21
  824. package/togglebutton/togglebutton.cjs.min.js +1 -1
  825. package/togglebutton/togglebutton.d.ts +40 -2
  826. package/togglebutton/togglebutton.esm.js +75 -22
  827. package/togglebutton/togglebutton.esm.min.js +1 -1
  828. package/togglebutton/togglebutton.js +73 -23
  829. package/togglebutton/togglebutton.min.js +1 -1
  830. package/toolbar/toolbar.cjs.js +3 -1
  831. package/toolbar/toolbar.cjs.min.js +1 -1
  832. package/toolbar/toolbar.d.ts +5 -11
  833. package/toolbar/toolbar.esm.js +3 -1
  834. package/toolbar/toolbar.esm.min.js +1 -1
  835. package/toolbar/toolbar.js +4 -3
  836. package/toolbar/toolbar.min.js +1 -1
  837. package/tooltip/tooltip.cjs.js +3 -2
  838. package/tooltip/tooltip.cjs.min.js +1 -1
  839. package/tooltip/tooltip.d.ts +7 -7
  840. package/tooltip/tooltip.esm.js +4 -3
  841. package/tooltip/tooltip.esm.min.js +1 -1
  842. package/tooltip/tooltip.js +3 -2
  843. package/tooltip/tooltip.min.js +1 -1
  844. package/tree/tree.cjs.js +118 -88
  845. package/tree/tree.cjs.min.js +1 -1
  846. package/tree/tree.d.ts +139 -1
  847. package/tree/tree.esm.js +120 -90
  848. package/tree/tree.esm.min.js +1 -1
  849. package/tree/tree.js +116 -87
  850. package/tree/tree.min.js +1 -1
  851. package/treeselect/treeselect.cjs.js +135 -102
  852. package/treeselect/treeselect.cjs.min.js +1 -1
  853. package/treeselect/treeselect.d.ts +143 -2
  854. package/treeselect/treeselect.esm.js +137 -104
  855. package/treeselect/treeselect.esm.min.js +1 -1
  856. package/treeselect/treeselect.js +136 -104
  857. package/treeselect/treeselect.min.js +1 -1
  858. package/treetable/treetable.cjs.js +385 -198
  859. package/treetable/treetable.cjs.min.js +1 -1
  860. package/treetable/treetable.d.ts +305 -2
  861. package/treetable/treetable.esm.js +387 -200
  862. package/treetable/treetable.esm.min.js +1 -1
  863. package/treetable/treetable.js +383 -197
  864. package/treetable/treetable.min.js +1 -1
  865. package/tristatecheckbox/tristatecheckbox.cjs.js +97 -40
  866. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  867. package/tristatecheckbox/tristatecheckbox.d.ts +64 -1
  868. package/tristatecheckbox/tristatecheckbox.esm.js +99 -42
  869. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  870. package/tristatecheckbox/tristatecheckbox.js +97 -42
  871. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  872. package/utils/utils.cjs.js +31 -5
  873. package/utils/utils.cjs.min.js +1 -1
  874. package/utils/utils.d.ts +1 -1
  875. package/utils/utils.esm.js +28 -5
  876. package/utils/utils.esm.min.js +1 -1
  877. package/utils/utils.js +32 -7
  878. package/utils/utils.min.js +1 -1
  879. package/virtualscroller/virtualscroller.cjs.js +43 -29
  880. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  881. package/virtualscroller/virtualscroller.d.ts +78 -1
  882. package/virtualscroller/virtualscroller.esm.js +44 -30
  883. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  884. package/virtualscroller/virtualscroller.js +43 -31
  885. package/virtualscroller/virtualscroller.min.js +1 -1
  886. package/web-types.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
- import PrimeReact, { FilterMatchMode, ariaLabel, localeOption, FilterOperator, FilterService } from 'primereact/api';
3
- import { ObjectUtils, classNames, IconUtils, DomHandler, ZIndexUtils, UniqueComponentId } from 'primereact/utils';
2
+ import PrimeReact, { FilterMatchMode, ariaLabel, localeOption, PrimeReactContext, FilterOperator, FilterService } from 'primereact/api';
3
+ import { ComponentBase } from 'primereact/componentbase';
4
+ import { ObjectUtils, classNames, mergeProps, IconUtils, DomHandler, ZIndexUtils, UniqueComponentId } from 'primereact/utils';
4
5
  import { useEventListener, useUpdateEffect, useUnmountEffect, useOverlayListener, usePrevious, useMountEffect } from 'primereact/hooks';
5
6
  import { ArrowDownIcon } from 'primereact/icons/arrowdown';
6
7
  import { ArrowUpIcon } from 'primereact/icons/arrowup';
@@ -156,7 +157,7 @@ function _slicedToArray(arr, i) {
156
157
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
157
158
  }
158
159
 
159
- var ColumnBase = {
160
+ var ColumnBase = ComponentBase.extend({
160
161
  defaultProps: {
161
162
  __TYPE: 'Column',
162
163
  align: null,
@@ -246,9 +247,9 @@ var ColumnBase = {
246
247
  getCOtherProps: function getCOtherProps(column) {
247
248
  return ObjectUtils.getComponentDiffProps(column, ColumnBase.defaultProps);
248
249
  }
249
- };
250
+ });
250
251
 
251
- var DataTableBase = {
252
+ var DataTableBase = ComponentBase.extend({
252
253
  defaultProps: {
253
254
  __TYPE: 'DataTable',
254
255
  alwaysShowPaginator: true,
@@ -391,14 +392,8 @@ var DataTableBase = {
391
392
  value: null,
392
393
  virtualScrollerOptions: null,
393
394
  children: undefined
394
- },
395
- getProps: function getProps(props) {
396
- return ObjectUtils.getMergedProps(props, DataTableBase.defaultProps);
397
- },
398
- getOtherProps: function getOtherProps(props) {
399
- return ObjectUtils.getDiffProps(props, DataTableBase.defaultProps);
400
395
  }
401
- };
396
+ });
402
397
 
403
398
  function _objectWithoutPropertiesLoose(source, excluded) {
404
399
  if (source == null) return {};
@@ -429,61 +424,88 @@ function _objectWithoutProperties(source, excluded) {
429
424
  return target;
430
425
  }
431
426
 
427
+ function ownKeys$a(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; }
428
+ function _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$a(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$a(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
432
429
  var RowCheckbox = /*#__PURE__*/React.memo(function (props) {
433
430
  var _React$useState = React.useState(false),
434
431
  _React$useState2 = _slicedToArray(_React$useState, 2),
435
432
  focusedState = _React$useState2[0],
436
433
  setFocusedState = _React$useState2[1];
437
- var onFocus = function onFocus() {
434
+ var getColumnProps = function getColumnProps() {
435
+ return ColumnBase.getCProps(props.column);
436
+ };
437
+ var getColumnPTOptions = function getColumnPTOptions(key) {
438
+ return props.ptCallbacks.ptmo(ColumnBase.getCProp(props.column, 'pt'), key, {
439
+ props: getColumnProps(),
440
+ parent: props.metaData,
441
+ context: {
442
+ checked: props.checked,
443
+ disabled: props.disabled
444
+ },
445
+ state: {
446
+ focused: focusedState
447
+ }
448
+ });
449
+ };
450
+ var _onFocus = function onFocus() {
438
451
  setFocusedState(true);
439
452
  };
440
- var onBlur = function onBlur() {
453
+ var _onBlur = function onBlur() {
441
454
  setFocusedState(false);
442
455
  };
443
- var onClick = function onClick(event) {
456
+ var _onClick = function onClick(event) {
444
457
  if (!props.disabled) {
445
458
  setFocusedState(true);
446
459
  props.onChange(event);
447
460
  }
448
461
  };
449
- var onKeyDown = function onKeyDown(event) {
462
+ var _onKeyDown = function onKeyDown(event) {
450
463
  if (event.code === 'Space' || event.key === ' ') {
451
464
  // event.key is for Android support
452
- onClick(event);
465
+ _onClick(event);
453
466
  event.preventDefault();
454
467
  }
455
468
  };
456
469
  var className = classNames('p-checkbox p-component', {
457
- 'p-checkbox-focused': focusedState
470
+ 'p-checkbox-focused': focusedState,
471
+ 'p-disabled': props.disabled
458
472
  });
459
473
  var boxClassName = classNames('p-checkbox-box p-component', {
460
474
  'p-highlight': props.checked,
461
- 'p-disabled': props.disabled,
462
475
  'p-focus': focusedState
463
476
  });
464
477
  var iconClassName = 'p-checkbox-icon';
465
- var icon = props.checked ? props.checkIcon || /*#__PURE__*/React.createElement(CheckIcon, {
478
+ var checkboxIconProps = mergeProps({
466
479
  className: iconClassName
467
- }) : null;
468
- var checkIcon = IconUtils.getJSXIcon(icon, {
469
- className: iconClassName
470
- }, {
480
+ }, getColumnPTOptions('checkboxIcon'));
481
+ var icon = props.checked ? props.checkIcon || /*#__PURE__*/React.createElement(CheckIcon, checkboxIconProps) : null;
482
+ var checkIcon = IconUtils.getJSXIcon(icon, _objectSpread$a({}, checkboxIconProps), {
471
483
  props: props
472
484
  });
473
485
  var tabIndex = props.disabled ? null : '0';
474
- return /*#__PURE__*/React.createElement("div", {
486
+ var checkboxWrapperProps = mergeProps({
475
487
  className: className,
476
- onClick: onClick
477
- }, /*#__PURE__*/React.createElement("div", {
488
+ onClick: function onClick(e) {
489
+ return _onClick(e);
490
+ }
491
+ }, getColumnPTOptions('checkboxWrapper'));
492
+ var checkboxProps = mergeProps({
478
493
  className: boxClassName,
479
- role: "checkbox",
480
- "aria-checked": props.checked,
494
+ role: 'checkbox',
495
+ 'aria-checked': props.checked,
481
496
  tabIndex: tabIndex,
482
- onKeyDown: onKeyDown,
483
- onFocus: onFocus,
484
- onBlur: onBlur,
485
- "aria-label": props.ariaLabel
486
- }, checkIcon));
497
+ onKeyDown: function onKeyDown(e) {
498
+ return _onKeyDown(e);
499
+ },
500
+ onFocus: function onFocus(e) {
501
+ return _onFocus();
502
+ },
503
+ onBlur: function onBlur(e) {
504
+ return _onBlur();
505
+ },
506
+ 'aria-label': props.ariaLabel
507
+ }, getColumnPTOptions('checkbox'));
508
+ return /*#__PURE__*/React.createElement("div", checkboxWrapperProps, /*#__PURE__*/React.createElement("div", checkboxProps, checkIcon));
487
509
  });
488
510
  RowCheckbox.displayName = 'RowCheckbox';
489
511
 
@@ -493,64 +515,95 @@ var RowRadioButton = /*#__PURE__*/React.memo(function (props) {
493
515
  focusedState = _React$useState2[0],
494
516
  setFocusedState = _React$useState2[1];
495
517
  var inputRef = React.useRef(null);
496
- var onFocus = function onFocus() {
518
+ var getColumnProps = function getColumnProps() {
519
+ return ColumnBase.getCProps(props.column);
520
+ };
521
+ var getColumnPTOptions = function getColumnPTOptions(key) {
522
+ return props.ptCallbacks.ptmo(ColumnBase.getCProp(props.column, 'pt'), key, {
523
+ props: getColumnProps(),
524
+ parent: props.metaData,
525
+ context: {
526
+ checked: props.checked,
527
+ disabled: props.disabled
528
+ },
529
+ state: {
530
+ focused: focusedState
531
+ }
532
+ });
533
+ };
534
+ var _onFocus = function onFocus() {
497
535
  setFocusedState(true);
498
536
  };
499
- var onBlur = function onBlur() {
537
+ var _onBlur = function onBlur() {
500
538
  setFocusedState(false);
501
539
  };
502
- var onClick = function onClick(event) {
540
+ var _onClick = function onClick(event) {
503
541
  if (!props.disabled) {
504
542
  props.onChange(event);
505
543
  DomHandler.focus(inputRef.current);
506
544
  }
507
545
  };
508
- var onKeyDown = function onKeyDown(event) {
546
+ var _onKeyDown = function onKeyDown(event) {
509
547
  if (event.code === 'Space' || event.key === ' ') {
510
548
  // event.key is for Android support
511
- onClick(event);
549
+ _onClick(event);
512
550
  event.preventDefault();
513
551
  }
514
552
  };
515
- var onChange = function onChange(event) {
516
- onClick(event);
553
+ var _onChange = function onChange(event) {
554
+ _onClick(event);
517
555
  };
518
556
  var className = classNames('p-radiobutton p-component', {
519
- 'p-radiobutton-focused': focusedState
557
+ 'p-radiobutton-focused': focusedState,
558
+ 'p-disabled': props.disabled
520
559
  });
521
560
  var boxClassName = classNames('p-radiobutton-box p-component', {
522
561
  'p-highlight': props.checked,
523
- 'p-focus': focusedState,
524
- 'p-disabled': props.disabled
562
+ 'p-focus': focusedState
525
563
  });
526
564
  var name = "".concat(props.tableSelector, "_dt_radio");
527
- return /*#__PURE__*/React.createElement("div", {
565
+ var radiobuttonWrapperProps = mergeProps({
528
566
  className: className
529
- }, /*#__PURE__*/React.createElement("div", {
530
- className: "p-hidden-accessible"
531
- }, /*#__PURE__*/React.createElement("input", {
567
+ }, getColumnPTOptions('radiobuttonWrapper'));
568
+ var hiddenInputWrapperProps = mergeProps({
569
+ className: 'p-hidden-accessible'
570
+ }, getColumnPTOptions('hiddenInputWrapper'));
571
+ var hiddenInputProps = mergeProps({
532
572
  name: name,
533
573
  ref: inputRef,
534
- type: "radio",
574
+ type: 'radio',
535
575
  checked: props.checked,
536
- onFocus: onFocus,
537
- onBlur: onBlur,
538
- onChange: onChange,
539
- onKeyDown: onKeyDown,
540
- "aria-label": props.ariaLabel
541
- })), /*#__PURE__*/React.createElement("div", {
576
+ onFocus: function onFocus(e) {
577
+ return _onFocus();
578
+ },
579
+ onBlur: function onBlur(e) {
580
+ return _onBlur();
581
+ },
582
+ onChange: function onChange(e) {
583
+ return _onChange(e);
584
+ },
585
+ onKeyDown: function onKeyDown(e) {
586
+ return _onKeyDown(e);
587
+ },
588
+ 'aria-label': props.ariaLabel
589
+ }, getColumnPTOptions('hiddenInput'));
590
+ var radiobuttonProps = mergeProps({
542
591
  className: boxClassName,
543
- onClick: onClick,
544
- role: "radio",
545
- "aria-checked": props.checked
546
- }, /*#__PURE__*/React.createElement("div", {
547
- className: "p-radiobutton-icon"
548
- })));
592
+ onClick: function onClick(e) {
593
+ return _onClick(e);
594
+ },
595
+ role: 'radio',
596
+ 'aria-checked': props.checked
597
+ }, getColumnPTOptions('radiobutton'));
598
+ var radiobuttonIconProps = mergeProps({
599
+ className: 'p-radiobutton-icon'
600
+ }, getColumnPTOptions('radiobuttonIcon'));
601
+ return /*#__PURE__*/React.createElement("div", radiobuttonWrapperProps, /*#__PURE__*/React.createElement("div", hiddenInputWrapperProps, /*#__PURE__*/React.createElement("input", hiddenInputProps)), /*#__PURE__*/React.createElement("div", radiobuttonProps, /*#__PURE__*/React.createElement("div", radiobuttonIconProps)));
549
602
  });
550
603
  RowRadioButton.displayName = 'RowRadioButton';
551
604
 
552
- function ownKeys$8(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; }
553
- function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$8(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
605
+ function ownKeys$9(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; }
606
+ function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$9(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
554
607
  var BodyCell = /*#__PURE__*/React.memo(function (props) {
555
608
  var _React$useState = React.useState(props.editing),
556
609
  _React$useState2 = _slicedToArray(_React$useState, 2),
@@ -573,6 +626,21 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
573
626
  var getColumnProp = function getColumnProp(name) {
574
627
  return ColumnBase.getCProp(props.column, name);
575
628
  };
629
+ var getColumnProps = function getColumnProps(column) {
630
+ return ColumnBase.getCProps(column);
631
+ };
632
+ var getColumnPTOptions = function getColumnPTOptions(key) {
633
+ var cProps = getColumnProps(props.column);
634
+ return props.ptCallbacks.ptmo(getColumnProp('pt'), key, {
635
+ props: cProps,
636
+ parent: props.metaData,
637
+ state: {
638
+ styleObject: styleObjectState,
639
+ editing: editingState,
640
+ editingRowData: editingRowDataState
641
+ }
642
+ });
643
+ };
576
644
  var field = getColumnProp('field') || "field_".concat(props.index);
577
645
  var editingKey = props.dataKey ? props.rowData && props.rowData[props.dataKey] || props.rowIndex : props.rowIndex;
578
646
  var _useEventListener = useEventListener({
@@ -628,7 +696,7 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
628
696
  };
629
697
  var getCellCallbackParams = function getCellCallbackParams(event) {
630
698
  var params = getCellParams();
631
- return _objectSpread$8({
699
+ return _objectSpread$9({
632
700
  originalEvent: event
633
701
  }, params);
634
702
  };
@@ -666,7 +734,7 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
666
734
  var callbackParams = getCellCallbackParams(event);
667
735
  var newRowData = editingRowDataState;
668
736
  var newValue = resolveFieldData(newRowData);
669
- var params = _objectSpread$8(_objectSpread$8({}, callbackParams), {}, {
737
+ var params = _objectSpread$9(_objectSpread$9({}, callbackParams), {}, {
670
738
  newRowData: newRowData,
671
739
  newValue: newValue
672
740
  });
@@ -732,7 +800,7 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
732
800
  };
733
801
  var updateStickyPosition = function updateStickyPosition() {
734
802
  if (getColumnProp('frozen')) {
735
- var styleObject = _objectSpread$8({}, styleObjectState);
803
+ var styleObject = _objectSpread$9({}, styleObjectState);
736
804
  var align = getColumnProp('alignFrozen');
737
805
  if (align === 'right') {
738
806
  var right = 0;
@@ -754,7 +822,7 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
754
822
  }
755
823
  };
756
824
  var editorCallback = function editorCallback(val) {
757
- var editingRowData = _objectSpread$8({}, editingRowDataState);
825
+ var editingRowData = _objectSpread$9({}, editingRowDataState);
758
826
  editingRowData[field] = val;
759
827
  setEditingRowDataState(editingRowData);
760
828
 
@@ -764,7 +832,7 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
764
832
  currentData[field] = val;
765
833
  }
766
834
  };
767
- var onClick = function onClick(event) {
835
+ var _onClick = function onClick(event) {
768
836
  var params = getCellCallbackParams(event);
769
837
  if (props.editMode !== 'row' && isEditable() && !editingState && (props.selectOnEdit || !props.selectOnEdit && props.selected)) {
770
838
  selfClick.current = true;
@@ -811,15 +879,15 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
811
879
  props.onClick(params);
812
880
  }
813
881
  };
814
- var onMouseDown = function onMouseDown(event) {
882
+ var _onMouseDown = function onMouseDown(event) {
815
883
  var params = getCellCallbackParams(event);
816
884
  props.onMouseDown && props.onMouseDown(params);
817
885
  };
818
- var onMouseUp = function onMouseUp(event) {
886
+ var _onMouseUp = function onMouseUp(event) {
819
887
  var params = getCellCallbackParams(event);
820
888
  props.onMouseUp && props.onMouseUp(params);
821
889
  };
822
- var onKeyDown = function onKeyDown(event) {
890
+ var _onKeyDown = function onKeyDown(event) {
823
891
  if (props.editMode !== 'row') {
824
892
  if (event.which === 13 || event.which === 9) {
825
893
  // tab || enter
@@ -878,7 +946,7 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
878
946
  case 13:
879
947
  // @deprecated
880
948
  if (!DomHandler.isClickable(target)) {
881
- onClick(event);
949
+ _onClick(event);
882
950
  event.preventDefault();
883
951
  }
884
952
  break;
@@ -886,21 +954,21 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
886
954
  //space
887
955
  case 32:
888
956
  if (!DomHandler.isClickable(target) && !target.readOnly) {
889
- onClick(event);
957
+ _onClick(event);
890
958
  event.preventDefault();
891
959
  }
892
960
  break;
893
961
  }
894
962
  }
895
963
  };
896
- var onBlur = function onBlur(event) {
964
+ var _onBlur = function onBlur(event) {
897
965
  selfClick.current = false;
898
966
  if (props.editMode !== 'row' && editingState && getColumnProp('cellEditValidatorEvent') === 'blur') {
899
967
  switchCellToViewMode(event, true);
900
968
  }
901
969
  };
902
970
  var onEditorFocus = function onEditorFocus(event) {
903
- onClick(event);
971
+ _onClick(event);
904
972
  };
905
973
  var onRadioChange = function onRadioChange(event) {
906
974
  props.onRadioChange({
@@ -968,7 +1036,7 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
968
1036
  React.useEffect(function () {
969
1037
  if (props.editMode === 'cell' || props.editMode === 'row') {
970
1038
  var callbackParams = getCellCallbackParams();
971
- var params = _objectSpread$8(_objectSpread$8({}, callbackParams), {}, {
1039
+ var params = _objectSpread$9(_objectSpread$9({}, callbackParams), {}, {
972
1040
  editing: editingState,
973
1041
  editingKey: editingKey
974
1042
  });
@@ -993,7 +1061,8 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
993
1061
  field: field
994
1062
  });
995
1063
  var content = ObjectUtils.getJSXElement(getVirtualScrollerOption('loadingTemplate'), options);
996
- return /*#__PURE__*/React.createElement("td", null, content);
1064
+ var bodyCellProps = mergeProps(getColumnPTOptions('bodyCell'));
1065
+ return /*#__PURE__*/React.createElement("td", bodyCellProps, content);
997
1066
  };
998
1067
  var createElement = function createElement() {
999
1068
  var content, editorKeyHelper;
@@ -1031,9 +1100,10 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
1031
1100
  'p-highlight': cellSelected
1032
1101
  }, "p-align-".concat(align), !!align));
1033
1102
  var style = getStyle();
1034
- var title = props.responsiveLayout === 'stack' && /*#__PURE__*/React.createElement("span", {
1035
- className: "p-column-title"
1036
- }, ObjectUtils.getJSXElement(header, {
1103
+ var columnTitleProps = mergeProps({
1104
+ className: 'p-column-title'
1105
+ }, getColumnProp('columnTitle'));
1106
+ var title = props.responsiveLayout === 'stack' && /*#__PURE__*/React.createElement("span", columnTitleProps, ObjectUtils.getJSXElement(header, {
1037
1107
  props: props.tableProps
1038
1108
  }));
1039
1109
  if (selectionMode) {
@@ -1048,17 +1118,31 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
1048
1118
  label = "".concat(props.selected ? ariaLabel('unselectLabel') : ariaLabel('selectLabel'), " ").concat(ariaLabelText);
1049
1119
  }
1050
1120
  content = showSelection && /*#__PURE__*/React.createElement(React.Fragment, null, selectionMode === 'single' && /*#__PURE__*/React.createElement(RowRadioButton, {
1121
+ column: props.column,
1051
1122
  checked: props.selected,
1123
+ disabled: !props.isSelectable({
1124
+ data: props.rowData,
1125
+ index: props.rowIndex
1126
+ }),
1052
1127
  onChange: onRadioChange,
1053
1128
  tabIndex: props.tabIndex,
1054
1129
  tableSelector: props.tableSelector,
1055
- ariaLabel: label
1130
+ ariaLabel: label,
1131
+ ptCallbacks: props.ptCallbacks,
1132
+ metaData: props.metaData
1056
1133
  }), selectionMode === 'multiple' && /*#__PURE__*/React.createElement(RowCheckbox, {
1134
+ column: props.column,
1057
1135
  checked: props.selected,
1136
+ disabled: !props.isSelectable({
1137
+ data: props.rowData,
1138
+ index: props.rowIndex
1139
+ }),
1058
1140
  onChange: onCheckboxChange,
1059
1141
  tabIndex: props.tabIndex,
1060
1142
  ariaLabel: label,
1061
- checkIcon: props.checkIcon
1143
+ checkIcon: props.checkIcon,
1144
+ ptCallbacks: props.ptCallbacks,
1145
+ metaData: props.metaData
1062
1146
  }));
1063
1147
  } else if (rowReorder) {
1064
1148
  var showReorder = props.showRowReorderElement ? props.showRowReorderElement(props.rowData, {
@@ -1066,21 +1150,20 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
1066
1150
  props: props.tableProps
1067
1151
  }) : true;
1068
1152
  var rowReorderIconClassName = 'p-datatable-reorderablerow-handle';
1069
- var rowReorderIcon = getColumnProp('rowReorderIcon') || /*#__PURE__*/React.createElement(BarsIcon, {
1070
- className: rowReorderIconClassName
1071
- });
1072
- content = showReorder && IconUtils.getJSXIcon(rowReorderIcon, {
1153
+ var rowReorderIconProps = mergeProps({
1073
1154
  className: rowReorderIconClassName
1074
- }, {
1155
+ }, getColumnProp('rowReorderIcon'));
1156
+ var rowReorderIcon = getColumnProp('rowReorderIcon') || /*#__PURE__*/React.createElement(BarsIcon, rowReorderIconProps);
1157
+ content = showReorder && IconUtils.getJSXIcon(rowReorderIcon, _objectSpread$9({}, rowReorderIconProps), {
1075
1158
  props: props
1076
1159
  });
1077
1160
  } else if (expander) {
1078
- var iconProps = {
1161
+ var rowTogglerIconProps = mergeProps({
1079
1162
  className: 'p-row-toggler-icon',
1080
1163
  'aria-hidden': true
1081
- };
1082
- var icon = props.expanded ? props.expandedRowIcon || /*#__PURE__*/React.createElement(ChevronDownIcon, iconProps) : props.collapsedRowIcon || /*#__PURE__*/React.createElement(ChevronRightIcon, iconProps);
1083
- var togglerIcon = IconUtils.getJSXIcon(icon, _objectSpread$8({}, iconProps), {
1164
+ }, getColumnProp('rowTogglerIcon'));
1165
+ var icon = props.expanded ? props.expandedRowIcon || /*#__PURE__*/React.createElement(ChevronDownIcon, rowTogglerIconProps) : props.collapsedRowIcon || /*#__PURE__*/React.createElement(ChevronRightIcon, rowTogglerIconProps);
1166
+ var togglerIcon = IconUtils.getJSXIcon(icon, _objectSpread$9({}, rowTogglerIconProps), {
1084
1167
  props: props
1085
1168
  });
1086
1169
  var ariaControls = "".concat(props.tableSelector, "_content_").concat(props.rowIndex, "_expanded");
@@ -1091,13 +1174,14 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
1091
1174
  onClick: onRowToggle,
1092
1175
  className: 'p-row-toggler p-link'
1093
1176
  };
1094
- content = /*#__PURE__*/React.createElement("button", _extends({}, expanderProps, {
1095
- type: "button",
1096
- "aria-expanded": props.expanded,
1097
- "aria-controls": ariaControls,
1177
+ var rowTogglerProps = mergeProps(_objectSpread$9(_objectSpread$9({}, expanderProps), {}, {
1178
+ type: 'button',
1179
+ 'aria-expanded': props.expanded,
1180
+ 'aria-controls': ariaControls,
1098
1181
  tabIndex: props.tabIndex,
1099
- "aria-label": _label
1100
- }), togglerIcon, /*#__PURE__*/React.createElement(Ripple, null));
1182
+ 'aria-label': _label
1183
+ }), getColumnPTOptions('rowToggler'));
1184
+ content = /*#__PURE__*/React.createElement("button", rowTogglerProps, togglerIcon, /*#__PURE__*/React.createElement(Ripple, null));
1101
1185
  if (body) {
1102
1186
  expanderProps['element'] = content;
1103
1187
  content = ObjectUtils.getJSXElement(body, props.rowData, {
@@ -1114,25 +1198,22 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
1114
1198
  var rowEditorSaveIconClassName = 'p-row-editor-save-icon',
1115
1199
  rowEditorCancelIconClassName = 'p-row-editor-cancel-icon',
1116
1200
  rowEditorInitIconClassName = 'p-row-editor-init-icon';
1117
- var rowEditorSaveIcon = IconUtils.getJSXIcon(props.rowEditorSaveIcon || /*#__PURE__*/React.createElement(CheckIcon, {
1118
- className: rowEditorSaveIconClassName
1119
- }), {
1201
+ var rowEditorSaveIconProps = mergeProps({
1120
1202
  className: rowEditorSaveIconClassName
1121
- }, {
1203
+ }, getColumnProp('rowEditorSaveIconProps'));
1204
+ var rowEditorCancelIconProps = mergeProps({
1205
+ className: rowEditorCancelIconClassName
1206
+ }, getColumnProp('rowEditorCancelIconProps'));
1207
+ var rowEditorInitIconProps = mergeProps({
1208
+ className: rowEditorInitIconClassName
1209
+ }, getColumnProp('rowEditorInitIconProps'));
1210
+ var rowEditorSaveIcon = IconUtils.getJSXIcon(props.rowEditorSaveIcon || /*#__PURE__*/React.createElement(CheckIcon, rowEditorSaveIconProps), _objectSpread$9({}, rowEditorSaveIconProps), {
1122
1211
  props: props
1123
1212
  });
1124
- var rowEditorCancelIcon = IconUtils.getJSXIcon(props.rowEditorCancelIcon || /*#__PURE__*/React.createElement(TimesIcon, {
1125
- className: rowEditorCancelIconClassName
1126
- }), {
1127
- className: rowEditorCancelIconClassName
1128
- }, {
1213
+ var rowEditorCancelIcon = IconUtils.getJSXIcon(props.rowEditorCancelIcon || /*#__PURE__*/React.createElement(TimesIcon, rowEditorCancelIconProps), _objectSpread$9({}, rowEditorCancelIconProps), {
1129
1214
  props: props
1130
1215
  });
1131
- var rowEditorInitIcon = IconUtils.getJSXIcon(props.rowEditorInitIcon || /*#__PURE__*/React.createElement(PencilIcon, {
1132
- className: rowEditorInitIconClassName
1133
- }), {
1134
- className: rowEditorInitIconClassName
1135
- }, {
1216
+ var rowEditorInitIcon = IconUtils.getJSXIcon(props.rowEditorInitIcon || /*#__PURE__*/React.createElement(PencilIcon, rowEditorInitIconProps), _objectSpread$9({}, rowEditorInitIconProps), {
1136
1217
  props: props
1137
1218
  });
1138
1219
  if (editingState) {
@@ -1143,32 +1224,35 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
1143
1224
  onCancelClick: onRowEditCancel,
1144
1225
  cancelClassName: 'p-row-editor-cancel p-link'
1145
1226
  };
1146
- content = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("button", {
1147
- type: "button",
1148
- name: "row-save",
1227
+ var rowEditorEditButtonProps = mergeProps({
1228
+ type: 'button',
1229
+ name: 'row-save',
1149
1230
  onClick: rowEditorProps.onSaveClick,
1150
1231
  className: rowEditorProps.saveClassName,
1151
1232
  tabIndex: props.tabIndex
1152
- }, rowEditorSaveIcon, /*#__PURE__*/React.createElement(Ripple, null)), /*#__PURE__*/React.createElement("button", {
1153
- type: "button",
1154
- name: "row-cancel",
1233
+ }, getColumnPTOptions('rowEditorSaveButtonProps'));
1234
+ var rowEditorCancelButtonProps = mergeProps({
1235
+ type: 'button',
1236
+ name: 'row-cancel',
1155
1237
  onClick: rowEditorProps.onCancelClick,
1156
1238
  className: rowEditorProps.cancelClassName,
1157
1239
  tabIndex: props.tabIndex
1158
- }, rowEditorCancelIcon, /*#__PURE__*/React.createElement(Ripple, null)));
1240
+ }, getColumnPTOptions('rowEditorCancelButtonProps'));
1241
+ content = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("button", rowEditorEditButtonProps, rowEditorSaveIcon, /*#__PURE__*/React.createElement(Ripple, null)), /*#__PURE__*/React.createElement("button", rowEditorCancelButtonProps, rowEditorCancelIcon, /*#__PURE__*/React.createElement(Ripple, null)));
1159
1242
  } else {
1160
1243
  rowEditorProps = {
1161
1244
  editing: false,
1162
1245
  onInitClick: onRowEditInit,
1163
1246
  initClassName: 'p-row-editor-init p-link'
1164
1247
  };
1165
- content = /*#__PURE__*/React.createElement("button", {
1166
- type: "button",
1167
- name: "row-edit",
1248
+ var rowEditorInitButtonProps = mergeProps({
1249
+ type: 'button',
1250
+ name: 'row-edit',
1168
1251
  onClick: rowEditorProps.onInitClick,
1169
1252
  className: rowEditorProps.initClassName,
1170
1253
  tabIndex: props.tabIndex
1171
- }, rowEditorInitIcon, /*#__PURE__*/React.createElement(Ripple, null));
1254
+ }, getColumnPTOptions('rowEditorInitButtonProps'));
1255
+ content = /*#__PURE__*/React.createElement("button", rowEditorInitButtonProps, rowEditorInitIcon, /*#__PURE__*/React.createElement(Ripple, null));
1172
1256
  }
1173
1257
  if (body) {
1174
1258
  rowEditorProps['element'] = content;
@@ -1205,42 +1289,70 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
1205
1289
  }
1206
1290
  content = typeof content == 'boolean' ? content.toString() : content;
1207
1291
  if (!isRowEditor && editor) {
1208
- /* eslint-disable */
1209
- editorKeyHelper = /*#__PURE__*/React.createElement("a", {
1210
- tabIndex: "0",
1292
+ var editorKeyHelperProps = mergeProps({
1293
+ tabIndex: '0',
1211
1294
  ref: keyHelperRef,
1212
- className: "p-cell-editor-key-helper p-hidden-accessible",
1213
- onFocus: onEditorFocus
1214
- }, /*#__PURE__*/React.createElement("span", null));
1295
+ className: 'p-cell-editor-key-helper p-hidden-accessible',
1296
+ onFocus: function onFocus(e) {
1297
+ return onEditorFocus(e);
1298
+ }
1299
+ }, getColumnPTOptions('editorKeyHelperLabel'));
1300
+ var editorKeyHelperLabelProps = mergeProps(getColumnPTOptions('editorKeyHelper'));
1301
+ /* eslint-disable */
1302
+ editorKeyHelper = /*#__PURE__*/React.createElement("a", editorKeyHelperProps, /*#__PURE__*/React.createElement("span", editorKeyHelperLabelProps));
1215
1303
  /* eslint-enable */
1216
1304
  }
1217
1305
 
1218
- return /*#__PURE__*/React.createElement("td", {
1306
+ var bodyCellProps = mergeProps({
1219
1307
  ref: elementRef,
1220
1308
  style: style,
1221
1309
  className: className,
1222
1310
  rowSpan: props.rowSpan,
1223
1311
  tabIndex: tabIndex,
1224
- role: "cell",
1225
- onClick: onClick,
1226
- onKeyDown: onKeyDown,
1227
- onBlur: onBlur,
1228
- onMouseDown: onMouseDown,
1229
- onMouseUp: onMouseUp
1230
- }, editorKeyHelper, title, content);
1312
+ role: 'cell',
1313
+ onClick: function onClick(e) {
1314
+ return _onClick(e);
1315
+ },
1316
+ onKeyDown: function onKeyDown(e) {
1317
+ return _onKeyDown(e);
1318
+ },
1319
+ onBlur: function onBlur(e) {
1320
+ return _onBlur(e);
1321
+ },
1322
+ onMouseDown: function onMouseDown(e) {
1323
+ return _onMouseDown(e);
1324
+ },
1325
+ onMouseUp: function onMouseUp(e) {
1326
+ return _onMouseUp(e);
1327
+ }
1328
+ }, getColumnPTOptions('bodyCell'), getColumnPTOptions('root'));
1329
+ return /*#__PURE__*/React.createElement("td", bodyCellProps, editorKeyHelper, title, content);
1231
1330
  };
1232
1331
  return getVirtualScrollerOption('loading') ? createLoading() : createElement();
1233
1332
  });
1234
1333
  BodyCell.displayName = 'BodyCell';
1235
1334
 
1236
- 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; }
1237
- 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; }
1335
+ function ownKeys$8(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; }
1336
+ function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$8(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1238
1337
  var BodyRow = /*#__PURE__*/React.memo(function (props) {
1239
1338
  var _React$useState = React.useState(false),
1240
1339
  _React$useState2 = _slicedToArray(_React$useState, 2),
1241
1340
  editingState = _React$useState2[0],
1242
1341
  setEditingState = _React$useState2[1];
1243
1342
  var editing = props.onRowEditChange ? props.editing : editingState;
1343
+ var getColumnProps = function getColumnProps(column) {
1344
+ return ColumnBase.getCProps(column);
1345
+ };
1346
+ var getColumnPTOptions = function getColumnPTOptions(key) {
1347
+ var cProps = getColumnProps(props.column);
1348
+ return props.ptCallbacks.ptmo(cProps, key, {
1349
+ props: cProps,
1350
+ parent: props.metaData,
1351
+ state: {
1352
+ editing: editingState
1353
+ }
1354
+ });
1355
+ };
1244
1356
  var getColumnProp = function getColumnProp(column, name) {
1245
1357
  return ColumnBase.getCProp(column, name);
1246
1358
  };
@@ -1311,14 +1423,14 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
1311
1423
  return null;
1312
1424
  }
1313
1425
  };
1314
- var onClick = function onClick(event) {
1426
+ var _onClick = function onClick(event) {
1315
1427
  props.onRowClick({
1316
1428
  originalEvent: event,
1317
1429
  data: props.rowData,
1318
1430
  index: props.rowIndex
1319
1431
  });
1320
1432
  };
1321
- var onDoubleClick = function onDoubleClick(event) {
1433
+ var _onDoubleClick = function onDoubleClick(event) {
1322
1434
  props.onRowDoubleClick({
1323
1435
  originalEvent: event,
1324
1436
  data: props.rowData,
@@ -1332,24 +1444,24 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
1332
1444
  index: props.rowIndex
1333
1445
  });
1334
1446
  };
1335
- var onMouseEnter = function onMouseEnter(event) {
1447
+ var _onMouseEnter = function onMouseEnter(event) {
1336
1448
  props.onRowMouseEnter({
1337
1449
  originalEvent: event,
1338
1450
  data: props.rowData,
1339
1451
  index: props.rowIndex
1340
1452
  });
1341
1453
  };
1342
- var onMouseLeave = function onMouseLeave(event) {
1454
+ var _onMouseLeave = function onMouseLeave(event) {
1343
1455
  props.onRowMouseLeave({
1344
1456
  originalEvent: event,
1345
1457
  data: props.rowData,
1346
1458
  index: props.rowIndex
1347
1459
  });
1348
1460
  };
1349
- var onTouchEnd = function onTouchEnd(event) {
1461
+ var _onTouchEnd = function onTouchEnd(event) {
1350
1462
  props.onRowTouchEnd(event);
1351
1463
  };
1352
- var onKeyDown = function onKeyDown(event) {
1464
+ var _onKeyDown = function onKeyDown(event) {
1353
1465
  if (isFocusable() && !props.allowCellSelection) {
1354
1466
  var target = event.target,
1355
1467
  row = event.currentTarget;
@@ -1378,7 +1490,7 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
1378
1490
  case 13:
1379
1491
  // @deprecated
1380
1492
  if (!DomHandler.isClickable(target)) {
1381
- onClick(event);
1493
+ _onClick(event);
1382
1494
  event.preventDefault();
1383
1495
  }
1384
1496
  break;
@@ -1386,56 +1498,56 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
1386
1498
  //space
1387
1499
  case 32:
1388
1500
  if (!DomHandler.isClickable(target) && !target.readOnly) {
1389
- onClick(event);
1501
+ _onClick(event);
1390
1502
  event.preventDefault();
1391
1503
  }
1392
1504
  break;
1393
1505
  }
1394
1506
  }
1395
1507
  };
1396
- var onMouseDown = function onMouseDown(event) {
1508
+ var _onMouseDown = function onMouseDown(event) {
1397
1509
  props.onRowMouseDown({
1398
1510
  originalEvent: event,
1399
1511
  data: props.rowData,
1400
1512
  index: props.rowIndex
1401
1513
  });
1402
1514
  };
1403
- var onMouseUp = function onMouseUp(event) {
1515
+ var _onMouseUp = function onMouseUp(event) {
1404
1516
  props.onRowMouseUp({
1405
1517
  originalEvent: event,
1406
1518
  data: props.rowData,
1407
1519
  index: props.rowIndex
1408
1520
  });
1409
1521
  };
1410
- var onDragStart = function onDragStart(event) {
1522
+ var _onDragStart = function onDragStart(event) {
1411
1523
  props.onRowDragStart({
1412
1524
  originalEvent: event,
1413
1525
  data: props.rowData,
1414
1526
  index: props.rowIndex
1415
1527
  });
1416
1528
  };
1417
- var onDragOver = function onDragOver(event) {
1529
+ var _onDragOver = function onDragOver(event) {
1418
1530
  props.onRowDragOver({
1419
1531
  originalEvent: event,
1420
1532
  data: props.rowData,
1421
1533
  index: props.rowIndex
1422
1534
  });
1423
1535
  };
1424
- var onDragLeave = function onDragLeave(event) {
1536
+ var _onDragLeave = function onDragLeave(event) {
1425
1537
  props.onRowDragLeave({
1426
1538
  originalEvent: event,
1427
1539
  data: props.rowData,
1428
1540
  index: props.rowIndex
1429
1541
  });
1430
1542
  };
1431
- var onDragEnd = function onDragEnd(event) {
1543
+ var _onDragEnd = function onDragEnd(event) {
1432
1544
  props.onRowDragEnd({
1433
1545
  originalEvent: event,
1434
1546
  data: props.rowData,
1435
1547
  index: props.rowIndex
1436
1548
  });
1437
1549
  };
1438
- var onDrop = function onDrop(event) {
1550
+ var _onDrop = function onDrop(event) {
1439
1551
  props.onRowDrop({
1440
1552
  originalEvent: event,
1441
1553
  data: props.rowData,
@@ -1452,7 +1564,7 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
1452
1564
  newData = e.newData;
1453
1565
  if (dataKey) {
1454
1566
  var dataKeyValue = String(ObjectUtils.resolveFieldData(data, dataKey));
1455
- editingRows = props.editingRows ? _objectSpread$7({}, props.editingRows) : {};
1567
+ editingRows = props.editingRows ? _objectSpread$8({}, props.editingRows) : {};
1456
1568
  if (!isEditing) {
1457
1569
  delete editingRows[dataKeyValue];
1458
1570
  // if the key value was changed, stop editing for the new key value too
@@ -1530,46 +1642,51 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
1530
1642
  var rowSpan = props.rowGroupMode === 'rowspan' ? calculateRowGroupSize(props.value, col, props.index) : null;
1531
1643
  return /*#__PURE__*/React.createElement(BodyCell, {
1532
1644
  key: key,
1533
- value: props.value,
1534
- tableProps: props.tableProps,
1535
- tableSelector: props.tableSelector,
1645
+ allowCellSelection: props.allowCellSelection,
1646
+ cellClassName: props.cellClassName,
1647
+ checkIcon: props.checkIcon,
1648
+ collapsedRowIcon: props.collapsedRowIcon,
1536
1649
  column: col,
1537
- rowData: props.rowData,
1538
- rowIndex: props.rowIndex,
1539
- index: i,
1540
- rowSpan: rowSpan,
1650
+ compareSelectionBy: props.compareSelectionBy,
1541
1651
  dataKey: props.dataKey,
1652
+ editMode: props.editMode,
1542
1653
  editing: editing,
1543
1654
  editingMeta: props.editingMeta,
1544
- editMode: props.editMode,
1655
+ expanded: props.expanded,
1656
+ expandedRowIcon: props.expandedRowIcon,
1657
+ frozenRow: props.frozenRow,
1658
+ index: i,
1659
+ isSelectable: props.isSelectable,
1660
+ onCheckboxChange: props.onCheckboxChange,
1661
+ onClick: props.onCellClick,
1662
+ onEditingMetaChange: props.onEditingMetaChange,
1663
+ onMouseDown: props.onCellMouseDown,
1664
+ onMouseUp: props.onCellMouseUp,
1665
+ onRadioChange: props.onRadioChange,
1666
+ onRowEditCancel: onEditCancel,
1545
1667
  onRowEditInit: onEditInit,
1546
1668
  onRowEditSave: onEditSave,
1547
- onRowEditCancel: onEditCancel,
1548
- onEditingMetaChange: props.onEditingMetaChange,
1549
1669
  onRowToggle: props.onRowToggle,
1550
- selection: props.selection,
1551
- selectionAriaLabel: props.tableProps.selectionAriaLabel,
1552
- allowCellSelection: props.allowCellSelection,
1553
- compareSelectionBy: props.compareSelectionBy,
1670
+ responsiveLayout: props.responsiveLayout,
1671
+ rowData: props.rowData,
1672
+ rowEditorCancelIcon: props.rowEditorCancelIcon,
1673
+ rowEditorInitIcon: props.rowEditorInitIcon,
1674
+ rowEditorSaveIcon: props.rowEditorSaveIcon,
1675
+ rowIndex: props.rowIndex,
1676
+ rowSpan: rowSpan,
1554
1677
  selectOnEdit: props.selectOnEdit,
1555
1678
  selected: props.selected,
1556
- onClick: props.onCellClick,
1557
- onMouseDown: props.onCellMouseDown,
1558
- onMouseUp: props.onCellMouseUp,
1559
- tabIndex: props.tabIndex,
1560
- cellClassName: props.cellClassName,
1561
- responsiveLayout: props.responsiveLayout,
1562
- frozenRow: props.frozenRow,
1563
- isSelectable: props.isSelectable,
1564
- showSelectionElement: props.showSelectionElement,
1679
+ selection: props.selection,
1680
+ selectionAriaLabel: props.tableProps.selectionAriaLabel,
1565
1681
  showRowReorderElement: props.showRowReorderElement,
1566
- onRadioChange: props.onRadioChange,
1567
- onCheckboxChange: props.onCheckboxChange,
1568
- expanded: props.expanded,
1569
- expandedRowIcon: props.expandedRowIcon,
1570
- collapsedRowIcon: props.collapsedRowIcon,
1571
- checkIcon: props.checkIcon,
1572
- virtualScrollerOptions: props.virtualScrollerOptions
1682
+ showSelectionElement: props.showSelectionElement,
1683
+ tabIndex: props.tabIndex,
1684
+ tableProps: props.tableProps,
1685
+ tableSelector: props.tableSelector,
1686
+ value: props.value,
1687
+ virtualScrollerOptions: props.virtualScrollerOptions,
1688
+ ptCallbacks: props.ptCallbacks,
1689
+ metaData: props.metaData
1573
1690
  });
1574
1691
  }
1575
1692
  return null;
@@ -1592,65 +1709,119 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
1592
1709
  };
1593
1710
  var content = createContent();
1594
1711
  var tabIndex = getTabIndex();
1595
- return /*#__PURE__*/React.createElement("tr", {
1596
- role: "row",
1712
+ var rowProps = mergeProps({
1713
+ role: 'row',
1597
1714
  tabIndex: tabIndex,
1598
1715
  className: className,
1599
1716
  style: style,
1600
- onMouseDown: onMouseDown,
1601
- onMouseUp: onMouseUp,
1602
- onMouseEnter: onMouseEnter,
1603
- onMouseLeave: onMouseLeave,
1604
- onClick: onClick,
1605
- onDoubleClick: onDoubleClick,
1606
- onContextMenu: onRightClick,
1607
- onTouchEnd: onTouchEnd,
1608
- onKeyDown: onKeyDown,
1609
- onDragStart: onDragStart,
1610
- onDragOver: onDragOver,
1611
- onDragLeave: onDragLeave,
1612
- onDragEnd: onDragEnd,
1613
- onDrop: onDrop
1614
- }, content);
1717
+ onMouseDown: function onMouseDown(e) {
1718
+ return _onMouseDown(e);
1719
+ },
1720
+ onMouseUp: function onMouseUp(e) {
1721
+ return _onMouseUp(e);
1722
+ },
1723
+ onMouseEnter: function onMouseEnter(e) {
1724
+ return _onMouseEnter(e);
1725
+ },
1726
+ onMouseLeave: function onMouseLeave(e) {
1727
+ return _onMouseLeave(e);
1728
+ },
1729
+ onClick: function onClick(e) {
1730
+ return _onClick(e);
1731
+ },
1732
+ onDoubleClick: function onDoubleClick(e) {
1733
+ return _onDoubleClick(e);
1734
+ },
1735
+ onContextMenu: function onContextMenu(e) {
1736
+ return onRightClick(e);
1737
+ },
1738
+ onTouchEnd: function onTouchEnd(e) {
1739
+ return _onTouchEnd(e);
1740
+ },
1741
+ onKeyDown: function onKeyDown(e) {
1742
+ return _onKeyDown(e);
1743
+ },
1744
+ onDragStart: function onDragStart(e) {
1745
+ return _onDragStart(e);
1746
+ },
1747
+ onDragOver: function onDragOver(e) {
1748
+ return _onDragOver(e);
1749
+ },
1750
+ onDragLeave: function onDragLeave(e) {
1751
+ return _onDragLeave(e);
1752
+ },
1753
+ onDragEnd: function onDragEnd(e) {
1754
+ return _onDragEnd(e);
1755
+ },
1756
+ onDrop: function onDrop(e) {
1757
+ return _onDrop(e);
1758
+ }
1759
+ }, getColumnPTOptions('row'));
1760
+ return /*#__PURE__*/React.createElement("tr", rowProps, content);
1615
1761
  });
1616
1762
  BodyRow.displayName = 'BodyRow';
1617
1763
 
1618
- 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; }
1619
- 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; }
1764
+ 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; }
1765
+ 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; }
1620
1766
  var RowTogglerButton = /*#__PURE__*/React.memo(function (props) {
1621
- var onClick = function onClick(event) {
1767
+ var _onClick = function onClick(event) {
1622
1768
  props.onClick({
1623
1769
  originalEvent: event,
1624
1770
  data: props.rowData
1625
1771
  });
1626
1772
  };
1627
- var iconProps = {
1773
+ var getColumnProps = function getColumnProps() {
1774
+ return ColumnBase.getCProps(props.column);
1775
+ };
1776
+ var getColumnPTOptions = function getColumnPTOptions(key) {
1777
+ return props.ptCallbacks.ptmo(ColumnBase.getCProp(props.column, 'pt'), key, {
1778
+ props: getColumnProps(),
1779
+ parent: props.metaData
1780
+ });
1781
+ };
1782
+ var rowGroupTogglerIconProps = mergeProps({
1628
1783
  className: 'p-row-toggler-icon',
1629
1784
  'aria-hidden': true
1630
- };
1631
- var icon = props.expanded ? props.expandedRowIcon || /*#__PURE__*/React.createElement(ChevronDownIcon, iconProps) : props.collapsedRowIcon || /*#__PURE__*/React.createElement(ChevronRightIcon, iconProps);
1632
- var togglerIcon = IconUtils.getJSXIcon(icon, _objectSpread$6({}, iconProps), {
1785
+ }, getColumnPTOptions('rowGroupTogglerIcon'));
1786
+ var icon = props.expanded ? props.expandedRowIcon || /*#__PURE__*/React.createElement(ChevronDownIcon, rowGroupTogglerIconProps) : props.collapsedRowIcon || /*#__PURE__*/React.createElement(ChevronRightIcon, rowGroupTogglerIconProps);
1787
+ var togglerIcon = IconUtils.getJSXIcon(icon, _objectSpread$7({}, rowGroupTogglerIconProps), {
1633
1788
  props: props
1634
1789
  });
1635
1790
  var label = props.expanded ? ariaLabel('collapseLabel') : ariaLabel('expandLabel');
1636
- return /*#__PURE__*/React.createElement("button", {
1637
- type: "button",
1638
- onClick: onClick,
1639
- className: "p-row-toggler p-link",
1791
+ var rowGroupTogglerProps = mergeProps({
1792
+ type: 'button',
1793
+ onClick: function onClick(e) {
1794
+ return _onClick(e);
1795
+ },
1796
+ className: 'p-row-toggler p-link',
1640
1797
  tabIndex: props.tabIndex,
1641
- "aria-label": label
1642
- }, togglerIcon, /*#__PURE__*/React.createElement(Ripple, null));
1798
+ 'aria-label': label
1799
+ }, getColumnPTOptions('rowGroupToggler'));
1800
+ return /*#__PURE__*/React.createElement("button", rowGroupTogglerProps, togglerIcon, /*#__PURE__*/React.createElement(Ripple, null));
1643
1801
  });
1644
1802
  RowTogglerButton.displayName = 'RowTogglerButton';
1645
1803
 
1646
1804
  var _excluded = ["originalEvent"];
1647
- 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; }
1648
- 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; }
1805
+ 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; }
1806
+ 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; }
1649
1807
  var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (props, ref) {
1650
1808
  var _React$useState = React.useState({}),
1651
1809
  _React$useState2 = _slicedToArray(_React$useState, 2),
1652
1810
  rowGroupHeaderStyleObjectState = _React$useState2[0],
1653
1811
  setRowGroupHeaderStyleObjectState = _React$useState2[1];
1812
+ var getColumnProps = function getColumnProps(column) {
1813
+ return ColumnBase.getCProps(column);
1814
+ };
1815
+ var getColumnPTOptions = function getColumnPTOptions(key) {
1816
+ var cProps = getColumnProps(props.column);
1817
+ return props.ptCallbacks.ptmo(cProps, key, {
1818
+ props: cProps,
1819
+ parent: props.metaData,
1820
+ state: {
1821
+ rowGroupHeaderStyleObject: rowGroupHeaderStyleObjectState
1822
+ }
1823
+ });
1824
+ };
1654
1825
  var elementRef = React.useRef(null);
1655
1826
  var refCallback = React.useCallback(function (el) {
1656
1827
  elementRef.current = el;
@@ -2026,14 +2197,14 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2026
2197
  return selection;
2027
2198
  };
2028
2199
  var onSelect = function onSelect(event) {
2029
- if (allowCellSelection()) props.onCellSelect && props.onCellSelect(_objectSpread$5(_objectSpread$5({
2200
+ if (allowCellSelection()) props.onCellSelect && props.onCellSelect(_objectSpread$6(_objectSpread$6({
2030
2201
  originalEvent: event.originalEvent
2031
2202
  }, event.data), {}, {
2032
2203
  type: event.type
2033
2204
  }));else props.onRowSelect && props.onRowSelect(event);
2034
2205
  };
2035
2206
  var onUnselect = function onUnselect(event) {
2036
- if (allowCellSelection()) props.onCellUnselect && props.onCellUnselect(_objectSpread$5(_objectSpread$5({
2207
+ if (allowCellSelection()) props.onCellUnselect && props.onCellUnselect(_objectSpread$6(_objectSpread$6({
2037
2208
  originalEvent: event.originalEvent
2038
2209
  }, event.data), {}, {
2039
2210
  type: event.type
@@ -2091,12 +2262,12 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2091
2262
  rangeRowIndex.current = event.index;
2092
2263
  anchorRowFirst.current = props.first;
2093
2264
  if (isSingleSelection()) {
2094
- onSingleSelection(_objectSpread$5(_objectSpread$5({}, event), {}, {
2265
+ onSingleSelection(_objectSpread$6(_objectSpread$6({}, event), {}, {
2095
2266
  toggleable: toggleable,
2096
2267
  type: 'row'
2097
2268
  }));
2098
2269
  } else {
2099
- onMultipleSelection(_objectSpread$5(_objectSpread$5({}, event), {}, {
2270
+ onMultipleSelection(_objectSpread$6(_objectSpread$6({}, event), {}, {
2100
2271
  toggleable: toggleable,
2101
2272
  type: 'row'
2102
2273
  }));
@@ -2166,7 +2337,7 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2166
2337
  var hasDataKey = props.groupRowsBy ? dataKey === props.groupRowsBy : !!dataKey;
2167
2338
  if (hasDataKey) {
2168
2339
  var dataKeyValue = String(ObjectUtils.resolveFieldData(event.data, dataKey));
2169
- expandedRows = props.expandedRows ? _objectSpread$5({}, props.expandedRows) : {};
2340
+ expandedRows = props.expandedRows ? _objectSpread$6({}, props.expandedRows) : {};
2170
2341
  if (expandedRows[dataKeyValue] != null) {
2171
2342
  delete expandedRows[dataKeyValue];
2172
2343
  if (props.onRowCollapse) {
@@ -2283,13 +2454,13 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2283
2454
  event.preventDefault();
2284
2455
  };
2285
2456
  var onRadioChange = function onRadioChange(event) {
2286
- onSingleSelection(_objectSpread$5(_objectSpread$5({}, event), {}, {
2457
+ onSingleSelection(_objectSpread$6(_objectSpread$6({}, event), {}, {
2287
2458
  toggleable: true,
2288
2459
  type: 'radio'
2289
2460
  }));
2290
2461
  };
2291
2462
  var onCheckboxChange = function onCheckboxChange(event) {
2292
- onMultipleSelection(_objectSpread$5(_objectSpread$5({}, event), {}, {
2463
+ onMultipleSelection(_objectSpread$6(_objectSpread$6({}, event), {}, {
2293
2464
  toggleable: true,
2294
2465
  type: 'checkbox'
2295
2466
  }));
@@ -2400,13 +2571,15 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2400
2571
  props: props.tableProps,
2401
2572
  frozen: props.frozenRow
2402
2573
  }) || localeOption('emptyMessage');
2403
- return /*#__PURE__*/React.createElement("tr", {
2404
- className: "p-datatable-emptymessage",
2405
- role: "row"
2406
- }, /*#__PURE__*/React.createElement("td", {
2574
+ var emptyMessageProps = mergeProps({
2575
+ className: 'p-datatable-emptymessage',
2576
+ role: 'row'
2577
+ }, getColumnPTOptions('emptyMessage'));
2578
+ var bodyCellProps = mergeProps({
2407
2579
  colSpan: colSpan,
2408
- role: "cell"
2409
- }, _content));
2580
+ role: 'cell'
2581
+ }, getColumnPTOptions('bodyCell'), getColumnPTOptions('root'));
2582
+ return /*#__PURE__*/React.createElement("tr", emptyMessageProps, /*#__PURE__*/React.createElement("td", bodyCellProps, _content));
2410
2583
  }
2411
2584
  return null;
2412
2585
  };
@@ -2418,7 +2591,9 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2418
2591
  rowData: rowData,
2419
2592
  expanded: expanded,
2420
2593
  expandedRowIcon: props.expandedRowIcon,
2421
- collapsedRowIcon: props.collapsedRowIcon
2594
+ collapsedRowIcon: props.collapsedRowIcon,
2595
+ ptCallbacks: props.ptCallbacks,
2596
+ metaData: props.metaData
2422
2597
  });
2423
2598
  var options = {
2424
2599
  index: rowIndex,
@@ -2429,17 +2604,20 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2429
2604
 
2430
2605
  // check if the user wants complete control of the rendering
2431
2606
  if (!options.customRendering) {
2432
- _content2 = /*#__PURE__*/React.createElement("td", {
2607
+ var bodyCellProps = mergeProps({
2433
2608
  colSpan: colSpan
2434
- }, toggler, /*#__PURE__*/React.createElement("span", {
2435
- className: "p-rowgroup-header-name"
2436
- }, _content2));
2609
+ }, getColumnPTOptions('bodyCell'), getColumnPTOptions('root'));
2610
+ var rowgroupHeaderNameProps = mergeProps({
2611
+ className: 'p-rowgroup-header-name'
2612
+ }, getColumnPTOptions('rowgroupHeaderName'));
2613
+ _content2 = /*#__PURE__*/React.createElement("td", bodyCellProps, toggler, /*#__PURE__*/React.createElement("span", rowgroupHeaderNameProps, _content2));
2437
2614
  }
2438
- return /*#__PURE__*/React.createElement("tr", {
2439
- className: "p-rowgroup-header",
2615
+ var rowgroupHeaderProps = mergeProps({
2616
+ className: 'p-rowgroup-header',
2440
2617
  style: style,
2441
- role: "row"
2442
- }, _content2);
2618
+ role: 'row'
2619
+ }, getColumnPTOptions('rowgroupHeader'));
2620
+ return /*#__PURE__*/React.createElement("tr", rowgroupHeaderProps, _content2);
2443
2621
  }
2444
2622
  return null;
2445
2623
  };
@@ -2451,68 +2629,73 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2451
2629
  var _allowCellSelection = allowCellSelection();
2452
2630
  var editing = isRowEditing(rowData);
2453
2631
  return /*#__PURE__*/React.createElement(BodyRow, {
2454
- tableProps: props.tableProps,
2455
- tableSelector: props.tableSelector,
2456
- value: props.value,
2632
+ allowCellSelection: _allowCellSelection,
2633
+ allowRowSelection: _allowRowSelection,
2634
+ cellClassName: props.cellClassName,
2635
+ checkIcon: props.checkIcon,
2636
+ collapsedRowIcon: props.collapsedRowIcon,
2457
2637
  columns: props.columns,
2458
- rowData: rowData,
2459
- rowIndex: rowIndex,
2460
- index: index,
2461
- selected: selected,
2638
+ compareSelectionBy: props.compareSelectionBy,
2462
2639
  contextMenuSelected: contextMenuSelected,
2463
- onRowClick: onRowClick,
2464
- onRowDoubleClick: onRowDoubleClick,
2465
- onRowRightClick: onRowRightClick,
2466
- onRowMouseEnter: onRowMouseEnter,
2467
- onRowMouseLeave: onRowMouseLeave,
2468
- tabIndex: props.tabIndex,
2640
+ dataKey: props.dataKey,
2641
+ editMode: props.editMode,
2642
+ editing: editing,
2643
+ editingMeta: props.editingMeta,
2644
+ editingRows: props.editingRows,
2645
+ expanded: expanded,
2646
+ expandedRowIcon: props.expandedRowIcon,
2647
+ frozenRow: props.frozenRow,
2648
+ groupRowsBy: props.groupRowsBy,
2649
+ index: index,
2469
2650
  isSelectable: isSelectable,
2470
- onRowTouchEnd: onRowTouchEnd,
2471
- onRowMouseDown: onRowMouseDown,
2472
- onRowMouseUp: onRowMouseUp,
2473
- onRowToggle: onRowToggle,
2474
- onRowDragStart: onRowDragStart,
2475
- onRowDragOver: onRowDragOver,
2476
- onRowDragLeave: onRowDragLeave,
2477
- onRowDragEnd: onRowDragEnd,
2478
- onRowDrop: onRowDrop,
2479
- onRadioChange: onRadioChange,
2480
- onCheckboxChange: onCheckboxChange,
2481
2651
  onCellClick: onCellClick,
2482
2652
  onCellMouseDown: onCellMouseDown,
2483
2653
  onCellMouseUp: onCellMouseUp,
2484
- editing: editing,
2485
- editingRows: props.editingRows,
2486
- editingMeta: props.editingMeta,
2487
- editMode: props.editMode,
2488
- onRowEditChange: props.onRowEditChange,
2654
+ onCheckboxChange: onCheckboxChange,
2489
2655
  onEditingMetaChange: props.onEditingMetaChange,
2490
- groupRowsBy: props.groupRowsBy,
2491
- compareSelectionBy: props.compareSelectionBy,
2492
- dataKey: props.dataKey,
2493
- rowGroupMode: props.rowGroupMode,
2656
+ onRadioChange: onRadioChange,
2657
+ onRowClick: onRowClick,
2658
+ onRowDoubleClick: onRowDoubleClick,
2659
+ onRowDragEnd: onRowDragEnd,
2660
+ onRowDragLeave: onRowDragLeave,
2661
+ onRowDragOver: onRowDragOver,
2662
+ onRowDragStart: onRowDragStart,
2663
+ onRowDrop: onRowDrop,
2664
+ onRowEditCancel: props.onRowEditCancel,
2665
+ onRowEditChange: props.onRowEditChange,
2666
+ onRowEditComplete: props.onRowEditComplete,
2494
2667
  onRowEditInit: props.onRowEditInit,
2495
- rowEditValidator: props.rowEditValidator,
2496
2668
  onRowEditSave: props.onRowEditSave,
2497
- onRowEditComplete: props.onRowEditComplete,
2498
- onRowEditCancel: props.onRowEditCancel,
2499
- selection: props.selection,
2500
- allowRowSelection: _allowRowSelection,
2501
- allowCellSelection: _allowCellSelection,
2669
+ onRowMouseDown: onRowMouseDown,
2670
+ onRowMouseEnter: onRowMouseEnter,
2671
+ onRowMouseLeave: onRowMouseLeave,
2672
+ onRowMouseUp: onRowMouseUp,
2673
+ onRowRightClick: onRowRightClick,
2674
+ onRowToggle: onRowToggle,
2675
+ onRowTouchEnd: onRowTouchEnd,
2676
+ responsiveLayout: props.responsiveLayout,
2677
+ rowClassName: props.rowClassName,
2678
+ rowData: rowData,
2679
+ rowEditValidator: props.rowEditValidator,
2680
+ rowEditorCancelIcon: props.rowEditorCancelIcon,
2681
+ rowEditorInitIcon: props.rowEditorInitIcon,
2682
+ rowEditorSaveIcon: props.rowEditorSaveIcon,
2683
+ rowGroupMode: props.rowGroupMode,
2684
+ rowIndex: rowIndex,
2502
2685
  selectOnEdit: props.selectOnEdit,
2686
+ selected: selected,
2687
+ selection: props.selection,
2503
2688
  selectionMode: props.selectionMode,
2504
2689
  selectionModeInColumn: props.selectionModeInColumn,
2505
- cellClassName: props.cellClassName,
2506
- responsiveLayout: props.responsiveLayout,
2507
- frozenRow: props.frozenRow,
2508
- showSelectionElement: props.showSelectionElement,
2509
2690
  showRowReorderElement: props.showRowReorderElement,
2510
- expanded: expanded,
2511
- expandedRowIcon: props.expandedRowIcon,
2512
- collapsedRowIcon: props.collapsedRowIcon,
2513
- checkIcon: props.checkIcon,
2514
- rowClassName: props.rowClassName,
2515
- virtualScrollerOptions: props.virtualScrollerOptions
2691
+ showSelectionElement: props.showSelectionElement,
2692
+ tabIndex: props.tabIndex,
2693
+ tableProps: props.tableProps,
2694
+ tableSelector: props.tableSelector,
2695
+ value: props.value,
2696
+ virtualScrollerOptions: props.virtualScrollerOptions,
2697
+ ptCallbacks: props.ptCallbacks,
2698
+ metaData: props.metaData
2516
2699
  });
2517
2700
  }
2518
2701
  };
@@ -2527,16 +2710,18 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2527
2710
 
2528
2711
  // check if the user wants complete control of the rendering
2529
2712
  if (!options.customRendering) {
2530
- _content3 = /*#__PURE__*/React.createElement("td", {
2531
- role: "cell",
2532
- colSpan: colSpan
2533
- }, _content3);
2713
+ var bodyCellProps = mergeProps({
2714
+ colSpan: colSpan,
2715
+ role: 'cell'
2716
+ }, getColumnPTOptions('bodyCell'), getColumnPTOptions('root'));
2717
+ _content3 = /*#__PURE__*/React.createElement("td", bodyCellProps, _content3);
2534
2718
  }
2535
- return /*#__PURE__*/React.createElement("tr", {
2719
+ var rowExpansionProps = mergeProps({
2536
2720
  id: id,
2537
- className: "p-datatable-row-expansion",
2538
- role: "row"
2539
- }, _content3);
2721
+ className: 'p-datatable-row-expansion',
2722
+ role: 'row'
2723
+ }, getColumnPTOptions('rowExpansion'));
2724
+ return /*#__PURE__*/React.createElement("tr", rowExpansionProps, _content3);
2540
2725
  }
2541
2726
  return null;
2542
2727
  };
@@ -2547,10 +2732,11 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2547
2732
  colSpan: colSpan,
2548
2733
  props: props.tableProps
2549
2734
  });
2550
- return /*#__PURE__*/React.createElement("tr", {
2551
- className: "p-rowgroup-footer",
2552
- role: "row"
2553
- }, _content4);
2735
+ var rowgroupFooterProps = mergeProps({
2736
+ className: 'p-rowgroup-footer',
2737
+ role: 'row'
2738
+ }, getColumnPTOptions('rowgroupFooter'));
2739
+ return /*#__PURE__*/React.createElement("tr", rowgroupFooterProps, _content4);
2554
2740
  }
2555
2741
  return null;
2556
2742
  };
@@ -2570,15 +2756,17 @@ var TableBody = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
2570
2756
  });
2571
2757
  };
2572
2758
  var content = props.empty ? createEmptyContent() : createContent();
2573
- return /*#__PURE__*/React.createElement("tbody", {
2759
+ var ptKey = props.className === 'p-datatable-virtualscroller-spacer' ? 'virtualScrollerSpacer' : 'tbody';
2760
+ var tbodyProps = mergeProps({
2574
2761
  ref: refCallback,
2575
2762
  style: props.style,
2576
2763
  className: props.className
2577
- }, content);
2764
+ }, getColumnPTOptions(ptKey));
2765
+ return /*#__PURE__*/React.createElement("tbody", tbodyProps, content);
2578
2766
  }));
2579
2767
  TableBody.displayName = 'TableBody';
2580
2768
 
2581
- var ColumnGroupBase = {
2769
+ var ColumnGroupBase = ComponentBase.extend({
2582
2770
  defaultProps: {
2583
2771
  __TYPE: 'ColumnGroup',
2584
2772
  children: undefined
@@ -2589,34 +2777,40 @@ var ColumnGroupBase = {
2589
2777
  getCProps: function getCProps(group) {
2590
2778
  return ObjectUtils.getComponentProps(group, ColumnGroupBase.defaultProps);
2591
2779
  }
2592
- };
2780
+ });
2593
2781
 
2594
- var RowBase = {
2782
+ var RowBase = ComponentBase.extend({
2595
2783
  defaultProps: {
2596
2784
  __TYPE: 'Row',
2597
2785
  style: null,
2598
2786
  className: null,
2599
2787
  children: undefined
2600
2788
  },
2601
- getProps: function getProps(props) {
2602
- return ObjectUtils.getMergedProps(props, RowBase.defaultProps);
2603
- },
2604
- getOtherProps: function getOtherProps(props) {
2605
- return ObjectUtils.getDiffProps(props, RowBase.defaultProps);
2606
- },
2607
2789
  getCProp: function getCProp(row, name) {
2608
2790
  return ObjectUtils.getComponentProp(row, name, RowBase.defaultProps);
2609
2791
  }
2610
- };
2792
+ });
2611
2793
 
2612
- 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; }
2613
- 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; }
2794
+ 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; }
2795
+ 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; }
2614
2796
  var FooterCell = /*#__PURE__*/React.memo(function (props) {
2615
2797
  var _React$useState = React.useState({}),
2616
2798
  _React$useState2 = _slicedToArray(_React$useState, 2),
2617
2799
  styleObjectState = _React$useState2[0],
2618
2800
  setStyleObjectState = _React$useState2[1];
2619
2801
  var elementRef = React.useRef(null);
2802
+ var getColumnProps = function getColumnProps() {
2803
+ return ColumnBase.getCProps(props.column);
2804
+ };
2805
+ var getColumnPTOptions = function getColumnPTOptions(key) {
2806
+ return props.ptCallbacks.ptmo(ColumnBase.getCProp(props.column, 'pt'), key, {
2807
+ props: getColumnProps(),
2808
+ parent: props.metaData,
2809
+ state: {
2810
+ styleObject: styleObjectState
2811
+ }
2812
+ });
2813
+ };
2620
2814
  var getColumnProp = function getColumnProp(name) {
2621
2815
  return ColumnBase.getCProp(props.column, name);
2622
2816
  };
@@ -2627,7 +2821,7 @@ var FooterCell = /*#__PURE__*/React.memo(function (props) {
2627
2821
  };
2628
2822
  var updateStickyPosition = function updateStickyPosition() {
2629
2823
  if (getColumnProp('frozen')) {
2630
- var styleObject = _objectSpread$4({}, styleObjectState);
2824
+ var styleObject = _objectSpread$5({}, styleObjectState);
2631
2825
  var _align = getColumnProp('alignFrozen');
2632
2826
  if (_align === 'right') {
2633
2827
  var right = 0;
@@ -2663,18 +2857,38 @@ var FooterCell = /*#__PURE__*/React.memo(function (props) {
2663
2857
  var content = ObjectUtils.getJSXElement(getColumnProp('footer'), {
2664
2858
  props: props.tableProps
2665
2859
  });
2666
- return /*#__PURE__*/React.createElement("td", {
2860
+ var footerCellProps = mergeProps({
2667
2861
  ref: elementRef,
2668
2862
  style: style,
2669
2863
  className: className,
2670
- role: "cell",
2864
+ role: 'cell',
2671
2865
  colSpan: colSpan,
2672
2866
  rowSpan: rowSpan
2673
- }, content);
2867
+ }, getColumnPTOptions('footerCell'), getColumnPTOptions('root'));
2868
+ return /*#__PURE__*/React.createElement("td", footerCellProps, content);
2674
2869
  });
2675
2870
  FooterCell.displayName = 'FooterCell';
2676
2871
 
2677
2872
  var TableFooter = /*#__PURE__*/React.memo(function (props) {
2873
+ var getRowProps = function getRowProps(row) {
2874
+ return ColumnGroupBase.getCProps(row);
2875
+ };
2876
+ var getColumnGroupProps = function getColumnGroupProps() {
2877
+ return props.footerColumnGroup ? props.ptCallbacks.ptmo(ColumnGroupBase.getCProps(props.footerColumnGroup)) : undefined;
2878
+ };
2879
+ var getRowPTOptions = function getRowPTOptions(row, key) {
2880
+ var rProps = getRowProps(row);
2881
+ return props.ptCallbacks.ptmo(ColumnGroupBase.getCProp(row, 'pt'), key, {
2882
+ props: rProps,
2883
+ parent: props.metaData
2884
+ });
2885
+ };
2886
+ var getColumnGroupPTOptions = function getColumnGroupPTOptions(key) {
2887
+ return props.ptCallbacks.ptmo(ColumnGroupBase.getCProp(props.footerColumnGroup, 'pt')), {
2888
+ props: getColumnGroupProps(),
2889
+ parent: props.metaData
2890
+ };
2891
+ };
2678
2892
  var hasFooter = function hasFooter() {
2679
2893
  return props.footerColumnGroup ? true : props.columns ? props.columns.some(function (col) {
2680
2894
  return col && getColumnProp(col, 'footer');
@@ -2694,7 +2908,9 @@ var TableFooter = /*#__PURE__*/React.memo(function (props) {
2694
2908
  return isVisible && /*#__PURE__*/React.createElement(FooterCell, {
2695
2909
  key: key,
2696
2910
  tableProps: props.tableProps,
2697
- column: col
2911
+ column: col,
2912
+ ptCallbacks: props.ptCallbacks,
2913
+ metaData: props.metaData
2698
2914
  });
2699
2915
  });
2700
2916
  };
@@ -2702,28 +2918,32 @@ var TableFooter = /*#__PURE__*/React.memo(function (props) {
2702
2918
  if (props.footerColumnGroup) {
2703
2919
  var rows = React.Children.toArray(ColumnGroupBase.getCProp(props.footerColumnGroup, 'children'));
2704
2920
  return rows.map(function (row, i) {
2705
- return /*#__PURE__*/React.createElement("tr", {
2706
- key: i,
2707
- role: "row"
2708
- }, createGroupFooterCells(row));
2921
+ var rootProps = mergeProps({
2922
+ role: 'row'
2923
+ }, getRowPTOptions(row, 'root'));
2924
+ return /*#__PURE__*/React.createElement("tr", _extends({}, rootProps, {
2925
+ key: i
2926
+ }), createGroupFooterCells(row));
2709
2927
  });
2710
2928
  }
2711
- return /*#__PURE__*/React.createElement("tr", {
2712
- role: "row"
2713
- }, createFooterCells(props.columns));
2929
+ var footerRowProps = mergeProps({
2930
+ role: 'row'
2931
+ }, props.ptCallbacks.ptm('footerRow'));
2932
+ return /*#__PURE__*/React.createElement("tr", footerRowProps, createFooterCells(props.columns));
2714
2933
  };
2715
2934
  if (hasFooter()) {
2716
2935
  var content = createContent();
2717
- return /*#__PURE__*/React.createElement("tfoot", {
2718
- className: "p-datatable-tfoot"
2719
- }, content);
2936
+ var tfootProps = mergeProps({
2937
+ className: 'p-datatable-tfoot'
2938
+ }, props.ptCallbacks.ptm('tfoot'), getColumnGroupPTOptions());
2939
+ return /*#__PURE__*/React.createElement("tfoot", tfootProps, content);
2720
2940
  }
2721
2941
  return null;
2722
2942
  });
2723
2943
  TableFooter.displayName = 'TableFooter';
2724
2944
 
2725
- 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; }
2726
- 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; }
2945
+ 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; }
2946
+ 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; }
2727
2947
  var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
2728
2948
  var _React$useState = React.useState(false),
2729
2949
  _React$useState2 = _slicedToArray(_React$useState, 2),
@@ -2736,6 +2956,19 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
2736
2956
  var getColumnProp = function getColumnProp(name) {
2737
2957
  return ColumnBase.getCProp(props.column, name);
2738
2958
  };
2959
+ var getColumnProps = function getColumnProps() {
2960
+ return ColumnBase.getCProps(props.column);
2961
+ };
2962
+ var context = React.useContext(PrimeReactContext);
2963
+ var getColumnPTOptions = function getColumnPTOptions(key) {
2964
+ return props.ptCallbacks.ptmo(getColumnProps(), key, {
2965
+ props: getColumnProps(),
2966
+ parent: props.metaData,
2967
+ state: {
2968
+ overlayVisible: overlayVisibleState
2969
+ }
2970
+ });
2971
+ };
2739
2972
  var field = getColumnProp('filterField') || getColumnProp('field');
2740
2973
  var filterModel = props.filters[field];
2741
2974
  var filterStoreModel = props.filtersStore && props.filtersStore[field];
@@ -2772,7 +3005,12 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
2772
3005
  return getColumnProp('showFilterMenu') && (props.display === 'row' ? getColumnProp('dataType') !== 'boolean' : true);
2773
3006
  };
2774
3007
  var matchModes = function matchModes() {
2775
- return getColumnProp('filterMatchModeOptions') || PrimeReact.filterMatchModeOptions[findDataType()].map(function (key) {
3008
+ return getColumnProp('filterMatchModeOptions') || context && context.filterMatchModeOptions[findDataType()].map(function (key) {
3009
+ return {
3010
+ label: localeOption(key),
3011
+ value: key
3012
+ };
3013
+ }) || PrimeReact.filterMatchModeOptions[findDataType()].map(function (key) {
2776
3014
  return {
2777
3015
  label: localeOption(key),
2778
3016
  value: key
@@ -2815,15 +3053,17 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
2815
3053
  var dataType = getColumnProp('dataType');
2816
3054
  var matchMode = getColumnProp('filterMatchMode');
2817
3055
  var hasMatchMode = function hasMatchMode(key) {
2818
- return PrimeReact.filterMatchModeOptions[key].some(function (mode) {
3056
+ return context && context.filterMatchModeOptions[key].some(function (mode) {
3057
+ return mode === matchMode;
3058
+ }) || PrimeReact.filterMatchModeOptions[key].some(function (mode) {
2819
3059
  return mode === matchMode;
2820
3060
  });
2821
3061
  };
2822
3062
  if (matchMode === 'custom' && !hasMatchMode(dataType)) {
2823
- PrimeReact.filterMatchModeOptions[dataType].push(FilterMatchMode.CUSTOM);
3063
+ context && context.filterMatchModeOptions[dataType].push(FilterMatchMode.CUSTOM) || PrimeReact.filterMatchModeOptions[dataType].push(FilterMatchMode.CUSTOM);
2824
3064
  return dataType;
2825
3065
  } else if (matchMode) {
2826
- return Object.keys(PrimeReact.filterMatchModeOptions).find(function (key) {
3066
+ return Object.keys(context && context.filterMatchModeOptions || PrimeReact.filterMatchModeOptions).find(function (key) {
2827
3067
  return hasMatchMode(key);
2828
3068
  }) || dataType;
2829
3069
  }
@@ -2832,7 +3072,7 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
2832
3072
  var clearFilter = function clearFilter() {
2833
3073
  var filterClearCallback = getColumnProp('onFilterClear');
2834
3074
  var defaultConstraint = getDefaultConstraint();
2835
- var filters = _objectSpread$3({}, props.filters);
3075
+ var filters = _objectSpread$4({}, props.filters);
2836
3076
  if (filters[field].operator) {
2837
3077
  filters[field].constraints.splice(1);
2838
3078
  filters[field].operator = defaultConstraint.operator;
@@ -2888,7 +3128,7 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
2888
3128
  }
2889
3129
  };
2890
3130
  var onInputChange = function onInputChange(event, index) {
2891
- var filters = _objectSpread$3({}, props.filters);
3131
+ var filters = _objectSpread$4({}, props.filters);
2892
3132
  var value = event.target.value;
2893
3133
  if (props.display === 'menu') {
2894
3134
  filters[field].constraints[index].value = value;
@@ -2909,7 +3149,7 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
2909
3149
  };
2910
3150
  var onRowMatchModeChange = function onRowMatchModeChange(matchMode) {
2911
3151
  var filterMatchModeChangeCallback = getColumnProp('onFilterMatchModeChange');
2912
- var filters = _objectSpread$3({}, props.filters);
3152
+ var filters = _objectSpread$4({}, props.filters);
2913
3153
  filters[field].matchMode = matchMode;
2914
3154
  filterMatchModeChangeCallback && filterMatchModeChangeCallback({
2915
3155
  field: field,
@@ -2949,7 +3189,7 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
2949
3189
  var onOperatorChange = function onOperatorChange(e) {
2950
3190
  var filterOperationChangeCallback = getColumnProp('onFilterOperatorChange');
2951
3191
  var value = e.value;
2952
- var filters = _objectSpread$3({}, props.filters);
3192
+ var filters = _objectSpread$4({}, props.filters);
2953
3193
  filters[field].operator = value;
2954
3194
  props.onFilterChange(filters);
2955
3195
  filterOperationChangeCallback && filterOperationChangeCallback({
@@ -2962,7 +3202,7 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
2962
3202
  };
2963
3203
  var onMenuMatchModeChange = function onMenuMatchModeChange(value, index) {
2964
3204
  var filterMatchModeChangeCallback = getColumnProp('onFilterMatchModeChange');
2965
- var filters = _objectSpread$3({}, props.filters);
3205
+ var filters = _objectSpread$4({}, props.filters);
2966
3206
  filters[field].constraints[index].matchMode = value;
2967
3207
  props.onFilterChange(filters);
2968
3208
  filterMatchModeChangeCallback && filterMatchModeChangeCallback({
@@ -2977,7 +3217,7 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
2977
3217
  var addConstraint = function addConstraint() {
2978
3218
  var filterConstraintAddCallback = getColumnProp('onFilterConstraintAdd');
2979
3219
  var defaultConstraint = getDefaultConstraint();
2980
- var filters = _objectSpread$3({}, props.filters);
3220
+ var filters = _objectSpread$4({}, props.filters);
2981
3221
  var newConstraint = {
2982
3222
  value: null,
2983
3223
  matchMode: defaultConstraint.matchMode
@@ -2994,7 +3234,7 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
2994
3234
  };
2995
3235
  var removeConstraint = function removeConstraint(index) {
2996
3236
  var filterConstraintRemoveCallback = getColumnProp('onFilterConstraintRemove');
2997
- var filters = _objectSpread$3({}, props.filters);
3237
+ var filters = _objectSpread$4({}, props.filters);
2998
3238
  var removedConstraint = filters[field].constraints.splice(index, 1);
2999
3239
  filterConstraintRemoveCallback && filterConstraintRemoveCallback({
3000
3240
  field: field,
@@ -3027,8 +3267,8 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3027
3267
  selfClick.current = true;
3028
3268
  };
3029
3269
  var onOverlayEnter = function onOverlayEnter() {
3030
- ZIndexUtils.set('overlay', overlayRef.current, PrimeReact.autoZIndex, PrimeReact.zIndex['overlay']);
3031
- DomHandler.alignOverlay(overlayRef.current, iconRef.current, PrimeReact.appendTo, false);
3270
+ ZIndexUtils.set('overlay', overlayRef.current, context && context.autoZIndex || PrimeReact.autoZIndex, context && context.zIndex['overlay'] || PrimeReact.zIndex['overlay']);
3271
+ DomHandler.alignOverlay(overlayRef.current, iconRef.current, context && context.appendTo || PrimeReact.appendTo, false);
3032
3272
  overlayEventListener.current = function (e) {
3033
3273
  if (!isOutsideClicked(e.target)) {
3034
3274
  selfClick.current = true;
@@ -3086,7 +3326,7 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3086
3326
  };
3087
3327
  var filterCallback = function filterCallback(value) {
3088
3328
  var index = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
3089
- var filters = _objectSpread$3({}, props.filters);
3329
+ var filters = _objectSpread$4({}, props.filters);
3090
3330
  var meta = filters[field];
3091
3331
  props.display === 'menu' && meta && meta.operator ? filters[field].constraints[index].value = value : filters[field].value = value;
3092
3332
  props.onFilterChange(filters);
@@ -3100,7 +3340,7 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3100
3340
  };
3101
3341
  useUpdateEffect(function () {
3102
3342
  if (props.display === 'menu' && overlayVisibleState) {
3103
- DomHandler.alignOverlay(overlayRef.current, iconRef.current, PrimeReact.appendTo, false);
3343
+ DomHandler.alignOverlay(overlayRef.current, iconRef.current, context && context.appendTo || PrimeReact.appendTo, false);
3104
3344
  }
3105
3345
  });
3106
3346
  useUnmountEffect(function () {
@@ -3139,9 +3379,10 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3139
3379
  var createRowFilterElement = function createRowFilterElement() {
3140
3380
  if (props.display === 'row') {
3141
3381
  var content = createFilterElement(filterModel, 0);
3142
- return /*#__PURE__*/React.createElement("div", {
3143
- className: "p-fluid p-column-filter-element"
3144
- }, content);
3382
+ var filterInputProps = mergeProps({
3383
+ className: 'p-fluid p-column-filter-element'
3384
+ }, getColumnPTOptions('filterInput'));
3385
+ return /*#__PURE__*/React.createElement("div", filterInputProps, content);
3145
3386
  }
3146
3387
  return null;
3147
3388
  };
@@ -3149,38 +3390,43 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3149
3390
  return props.display === 'menu' ? createFilterElement(fieldConstraint, index) : null;
3150
3391
  };
3151
3392
  var createMenuButton = function createMenuButton() {
3152
- var iconProps = {
3153
- 'aria-hidden': true
3154
- };
3155
- var icon = props.filterIcon || /*#__PURE__*/React.createElement(FilterIcon, iconProps);
3156
- var columnFilterIcon = IconUtils.getJSXIcon(icon, _objectSpread$3({}, iconProps), {
3157
- props: props
3158
- });
3159
3393
  if (showMenuButton()) {
3394
+ var filterIconProps = mergeProps({
3395
+ 'aria-hidden': true
3396
+ }, getColumnPTOptions('filterIcon'));
3397
+ var icon = props.filterIcon || /*#__PURE__*/React.createElement(FilterIcon, filterIconProps);
3398
+ var columnFilterIcon = IconUtils.getJSXIcon(icon, _objectSpread$4({}, filterIconProps), {
3399
+ props: props
3400
+ });
3160
3401
  var _className = classNames('p-column-filter-menu-button p-link', {
3161
3402
  'p-column-filter-menu-button-open': overlayVisibleState,
3162
3403
  'p-column-filter-menu-button-active': hasFilter()
3163
3404
  });
3164
3405
  var label = filterLabel();
3165
- return /*#__PURE__*/React.createElement("button", {
3406
+ var filterMenuButtonProps = mergeProps({
3166
3407
  ref: iconRef,
3167
- type: "button",
3408
+ type: 'button',
3168
3409
  className: _className,
3169
- "aria-haspopup": true,
3170
- "aria-expanded": overlayVisibleState,
3171
- onClick: toggleMenu,
3172
- onKeyDown: onToggleButtonKeyDown,
3173
- "aria-label": label
3174
- }, columnFilterIcon, /*#__PURE__*/React.createElement(Ripple, null));
3410
+ 'aria-haspopup': true,
3411
+ 'aria-expanded': overlayVisibleState,
3412
+ onClick: function onClick(e) {
3413
+ return toggleMenu();
3414
+ },
3415
+ onKeyDown: function onKeyDown(e) {
3416
+ return onToggleButtonKeyDown(e);
3417
+ },
3418
+ 'aria-label': label
3419
+ }, getColumnPTOptions('filterMenuButton'));
3420
+ return /*#__PURE__*/React.createElement("button", filterMenuButtonProps, columnFilterIcon, /*#__PURE__*/React.createElement(Ripple, null));
3175
3421
  }
3176
3422
  return null;
3177
3423
  };
3178
3424
  var createClearButton = function createClearButton() {
3179
- var iconProps = {
3425
+ var filterClearIconProps = mergeProps({
3180
3426
  'aria-hidden': true
3181
- };
3182
- var icon = props.filterClearIcon || /*#__PURE__*/React.createElement(FilterSlashIcon, iconProps);
3183
- var filterClearIcon = IconUtils.getJSXIcon(icon, _objectSpread$3({}, iconProps), {
3427
+ }, getColumnPTOptions('filterClearIcon'));
3428
+ var icon = props.filterClearIcon || /*#__PURE__*/React.createElement(FilterSlashIcon, filterClearIconProps);
3429
+ var filterClearIcon = IconUtils.getJSXIcon(icon, _objectSpread$4({}, filterClearIconProps), {
3184
3430
  props: props
3185
3431
  });
3186
3432
  if (getColumnProp('showClearButton') && props.display === 'row') {
@@ -3188,12 +3434,15 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3188
3434
  'p-hidden-space': !hasRowFilter()
3189
3435
  });
3190
3436
  var clearLabel = clearButtonLabel();
3191
- return /*#__PURE__*/React.createElement("button", {
3437
+ var headerFilterClearButtonProps = mergeProps({
3192
3438
  className: _className2,
3193
- type: "button",
3194
- onClick: clearFilter,
3195
- "aria-label": clearLabel
3196
- }, filterClearIcon, /*#__PURE__*/React.createElement(Ripple, null));
3439
+ type: 'button',
3440
+ onClick: function onClick(e) {
3441
+ return clearFilter();
3442
+ },
3443
+ 'aria-label': clearLabel
3444
+ }, getColumnPTOptions('headerFilterClearButton'));
3445
+ return /*#__PURE__*/React.createElement("button", headerFilterClearButtonProps, filterClearIcon, /*#__PURE__*/React.createElement(Ripple, null));
3197
3446
  }
3198
3447
  return null;
3199
3448
  };
@@ -3201,18 +3450,30 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3201
3450
  if (isShowMatchModes()) {
3202
3451
  var _matchModes = matchModes();
3203
3452
  var _noFilterLabel = noFilterLabel();
3204
- return /*#__PURE__*/React.createElement("ul", {
3205
- className: "p-column-filter-row-items"
3206
- }, _matchModes.map(function (matchMode, i) {
3453
+ var filterSeparatorProps = mergeProps({
3454
+ className: 'p-column-filter-separator'
3455
+ }, getColumnPTOptions('filterSeparator'));
3456
+ var filterRowItemProps = mergeProps({
3457
+ className: 'p-column-filter-row-item',
3458
+ onClick: function onClick(e) {
3459
+ return clearFilter();
3460
+ },
3461
+ onKeyDown: function onKeyDown(e) {
3462
+ return onRowMatchModeKeyDown(e, null, true);
3463
+ }
3464
+ }, getColumnPTOptions('filterRowItem'));
3465
+ var filterRowItemsProps = mergeProps({
3466
+ className: 'p-column-filter-row-items'
3467
+ }, getColumnPTOptions('filterRowItems'));
3468
+ return /*#__PURE__*/React.createElement("ul", filterRowItemsProps, _matchModes.map(function (matchMode, i) {
3207
3469
  var value = matchMode.value,
3208
3470
  label = matchMode.label;
3209
3471
  var className = classNames('p-column-filter-row-item', {
3210
3472
  'p-highlight': isRowMatchModeSelected(value)
3211
3473
  });
3212
3474
  var tabIndex = i === 0 ? 0 : null;
3213
- return /*#__PURE__*/React.createElement("li", {
3475
+ var filterRowItemProps = mergeProps({
3214
3476
  className: className,
3215
- key: label,
3216
3477
  onClick: function onClick() {
3217
3478
  return onRowMatchModeChange(value);
3218
3479
  },
@@ -3220,16 +3481,11 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3220
3481
  return onRowMatchModeKeyDown(e, matchMode);
3221
3482
  },
3222
3483
  tabIndex: tabIndex
3223
- }, label);
3224
- }), /*#__PURE__*/React.createElement("li", {
3225
- className: "p-column-filter-separator"
3226
- }), /*#__PURE__*/React.createElement("li", {
3227
- className: "p-column-filter-row-item",
3228
- onClick: clearFilter,
3229
- onKeyDown: function onKeyDown(e) {
3230
- return onRowMatchModeKeyDown(e, null, true);
3231
- }
3232
- }, _noFilterLabel));
3484
+ }, getColumnPTOptions('filterRowItem'));
3485
+ return /*#__PURE__*/React.createElement("li", _extends({}, filterRowItemProps, {
3486
+ key: label
3487
+ }), label);
3488
+ }), /*#__PURE__*/React.createElement("li", filterSeparatorProps), /*#__PURE__*/React.createElement("li", filterRowItemProps, _noFilterLabel));
3233
3489
  }
3234
3490
  return null;
3235
3491
  };
@@ -3237,13 +3493,15 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3237
3493
  if (isShowOperator()) {
3238
3494
  var options = operatorOptions();
3239
3495
  var value = operator();
3240
- return /*#__PURE__*/React.createElement("div", {
3241
- className: "p-column-filter-operator"
3242
- }, /*#__PURE__*/React.createElement(Dropdown, {
3496
+ var filterOperatorProps = mergeProps({
3497
+ className: 'p-column-filter-operator'
3498
+ }, getColumnPTOptions('filterOperator'));
3499
+ return /*#__PURE__*/React.createElement("div", filterOperatorProps, /*#__PURE__*/React.createElement(Dropdown, {
3243
3500
  options: options,
3244
3501
  value: value,
3245
3502
  onChange: onOperatorChange,
3246
- className: "p-column-filter-operator-dropdown"
3503
+ className: "p-column-filter-operator-dropdown",
3504
+ pt: getColumnPTOptions('filterOperatorDropdown')
3247
3505
  }));
3248
3506
  }
3249
3507
  return null;
@@ -3257,7 +3515,8 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3257
3515
  onChange: function onChange(e) {
3258
3516
  return onMenuMatchModeChange(e.value, index);
3259
3517
  },
3260
- className: "p-column-filter-matchmode-dropdown"
3518
+ className: "p-column-filter-matchmode-dropdown",
3519
+ pt: getColumnPTOptions('filterMatchModeDropdown')
3261
3520
  });
3262
3521
  }
3263
3522
  return null;
@@ -3272,36 +3531,43 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3272
3531
  onClick: function onClick() {
3273
3532
  return removeConstraint(index);
3274
3533
  },
3275
- label: removeRuleLabel
3534
+ label: removeRuleLabel,
3535
+ pt: getColumnPTOptions('filterRemoveButton')
3276
3536
  });
3277
3537
  }
3278
3538
  return null;
3279
3539
  };
3280
3540
  var createConstraints = function createConstraints() {
3281
3541
  var _fieldConstraints = fieldConstraints();
3282
- return /*#__PURE__*/React.createElement("div", {
3283
- className: "p-column-filter-constraints"
3284
- }, _fieldConstraints.map(function (fieldConstraint, i) {
3542
+ var filterConstraintsProps = mergeProps({
3543
+ className: 'p-column-filter-constraints'
3544
+ }, getColumnPTOptions('filterConstraints'));
3545
+ var filterConstraintProps = mergeProps({
3546
+ className: 'p-column-filter-constraint'
3547
+ }, getColumnPTOptions('filterConstraint'));
3548
+ return /*#__PURE__*/React.createElement("div", filterConstraintsProps, _fieldConstraints.map(function (fieldConstraint, i) {
3285
3549
  var matchModeDropdown = createMatchModeDropdown(fieldConstraint, i);
3286
3550
  var menuFilterElement = createMenuFilterElement(fieldConstraint, i);
3287
3551
  var removeButton = createRemoveButton(i);
3288
- return /*#__PURE__*/React.createElement("div", {
3289
- key: i,
3290
- className: "p-column-filter-constraint"
3291
- }, matchModeDropdown, menuFilterElement, /*#__PURE__*/React.createElement("div", null, removeButton));
3552
+ var filterRemoveProps = mergeProps(getColumnPTOptions('filterRemove'));
3553
+ return /*#__PURE__*/React.createElement("div", _extends({}, filterConstraintProps, {
3554
+ key: i
3555
+ }), matchModeDropdown, menuFilterElement, /*#__PURE__*/React.createElement("div", filterRemoveProps, removeButton));
3292
3556
  }));
3293
3557
  };
3294
3558
  var createAddRule = function createAddRule() {
3295
3559
  if (isShowAddConstraint()) {
3296
3560
  var addRuleLabel = addRuleButtonLabel();
3297
- return /*#__PURE__*/React.createElement("div", {
3298
- className: "p-column-filter-add-rule"
3299
- }, /*#__PURE__*/React.createElement(Button, {
3561
+ var filterAddRuleProps = mergeProps({
3562
+ className: 'p-column-filter-add-rule'
3563
+ }, getColumnPTOptions('filterAddRule'));
3564
+ return /*#__PURE__*/React.createElement("div", filterAddRuleProps, /*#__PURE__*/React.createElement(Button, {
3300
3565
  type: "button",
3301
3566
  label: addRuleLabel,
3302
3567
  icon: props.filterAddIcon || /*#__PURE__*/React.createElement(PlusIcon, null),
3303
3568
  className: "p-column-filter-add-button p-button-text p-button-sm",
3304
- onClick: addConstraint
3569
+ onClick: addConstraint,
3570
+ pt: getColumnPTOptions('filterAddRuleButton')
3305
3571
  }));
3306
3572
  }
3307
3573
  return null;
@@ -3314,7 +3580,8 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3314
3580
  type: "button",
3315
3581
  className: "p-button-outlined p-button-sm",
3316
3582
  onClick: clearFilter,
3317
- label: clearLabel
3583
+ label: clearLabel,
3584
+ pt: getColumnPTOptions('filterClearButton')
3318
3585
  });
3319
3586
  }
3320
3587
  return ObjectUtils.getJSXElement(getColumnProp('filterClear'), {
@@ -3333,7 +3600,8 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3333
3600
  type: "button",
3334
3601
  className: "p-button-sm",
3335
3602
  onClick: applyFilter,
3336
- label: applyLabel
3603
+ label: applyLabel,
3604
+ pt: getColumnPTOptions('filterApplyButton')
3337
3605
  });
3338
3606
  }
3339
3607
  return ObjectUtils.getJSXElement(getColumnProp('filterApply'), {
@@ -3347,9 +3615,10 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3347
3615
  var createButtonBar = function createButtonBar() {
3348
3616
  var clearButton = createFilterClearButton();
3349
3617
  var applyButton = createFilterApplyButton();
3350
- return /*#__PURE__*/React.createElement("div", {
3351
- className: "p-column-filter-buttonbar"
3352
- }, clearButton, applyButton);
3618
+ var filterButtonbarProps = mergeProps({
3619
+ className: 'p-column-filter-buttonbar'
3620
+ }, getColumnPTOptions('filterButtonBar'));
3621
+ return /*#__PURE__*/React.createElement("div", filterButtonbarProps, clearButton, applyButton);
3353
3622
  };
3354
3623
  var createItems = function createItems() {
3355
3624
  var operator = createOperator();
@@ -3362,8 +3631,8 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3362
3631
  var style = getColumnProp('filterMenuStyle');
3363
3632
  var className = classNames('p-column-filter-overlay p-component p-fluid', getColumnProp('filterMenuClassName'), {
3364
3633
  'p-column-filter-overlay-menu': props.display === 'menu',
3365
- 'p-input-filled': PrimeReact.inputStyle === 'filled',
3366
- 'p-ripple-disabled': PrimeReact.ripple === false
3634
+ 'p-input-filled': context && context.inputStyle === 'filled' || PrimeReact.inputStyle === 'filled',
3635
+ 'p-ripple-disabled': context && context.ripple === false || PrimeReact.ripple === false
3367
3636
  });
3368
3637
  var filterHeader = ObjectUtils.getJSXElement(getColumnProp('filterHeader'), {
3369
3638
  field: field,
@@ -3376,6 +3645,20 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3376
3645
  filterApplyCallback: filterApplyCallback
3377
3646
  });
3378
3647
  var items = props.display === 'row' ? createRowItems() : createItems();
3648
+ var filterOverlayProps = mergeProps({
3649
+ ref: overlayRef,
3650
+ style: style,
3651
+ className: className,
3652
+ onKeyDown: function onKeyDown(e) {
3653
+ return onContentKeyDown(e);
3654
+ },
3655
+ onClick: function onClick(e) {
3656
+ return onContentClick(e);
3657
+ },
3658
+ onMouseDown: function onMouseDown(e) {
3659
+ return onContentMouseDown();
3660
+ }
3661
+ }, getColumnPTOptions('filterOverlay'));
3379
3662
  return /*#__PURE__*/React.createElement(Portal, null, /*#__PURE__*/React.createElement(CSSTransition, {
3380
3663
  nodeRef: overlayRef,
3381
3664
  classNames: "p-connected-overlay",
@@ -3389,14 +3672,7 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3389
3672
  onEntered: onOverlayEntered,
3390
3673
  onExit: onOverlayExit,
3391
3674
  onExited: onOverlayExited
3392
- }, /*#__PURE__*/React.createElement("div", {
3393
- ref: overlayRef,
3394
- style: style,
3395
- className: className,
3396
- onKeyDown: onContentKeyDown,
3397
- onClick: onContentClick,
3398
- onMouseDown: onContentMouseDown
3399
- }, filterHeader, items, filterFooter)));
3675
+ }, /*#__PURE__*/React.createElement("div", filterOverlayProps, filterHeader, items, filterFooter)));
3400
3676
  };
3401
3677
  var className = classNames('p-column-filter p-fluid', {
3402
3678
  'p-column-filter-row': props.display === 'row',
@@ -3406,24 +3682,43 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
3406
3682
  var menuButton = createMenuButton();
3407
3683
  var clearButton = createClearButton();
3408
3684
  var overlay = createOverlay();
3409
- return /*#__PURE__*/React.createElement("div", {
3685
+ var columnFilter = mergeProps({
3410
3686
  className: className
3411
- }, rowFilterElement, menuButton, clearButton, overlay);
3687
+ }, getColumnPTOptions('columnFilter'));
3688
+ return /*#__PURE__*/React.createElement("div", columnFilter, rowFilterElement, menuButton, clearButton, overlay);
3412
3689
  });
3413
3690
  ColumnFilter.displayName = 'ColumnFilter';
3414
3691
 
3692
+ 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; }
3693
+ 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; }
3415
3694
  var HeaderCheckbox = /*#__PURE__*/React.memo(function (props) {
3416
3695
  var _React$useState = React.useState(false),
3417
3696
  _React$useState2 = _slicedToArray(_React$useState, 2),
3418
3697
  focusedState = _React$useState2[0],
3419
3698
  setFocusedState = _React$useState2[1];
3420
- var onFocus = function onFocus() {
3699
+ var getColumnProps = function getColumnProps() {
3700
+ return ColumnBase.getCProps(props.column);
3701
+ };
3702
+ var getColumnPTOptions = function getColumnPTOptions(key) {
3703
+ return props.ptCallbacks.ptmo(ColumnBase.getCProp(props.column, 'pt'), key, {
3704
+ props: getColumnProps(),
3705
+ parent: props.metaData,
3706
+ context: {
3707
+ checked: props.checked,
3708
+ disabled: props.disabled
3709
+ },
3710
+ state: {
3711
+ focused: focusedState
3712
+ }
3713
+ });
3714
+ };
3715
+ var _onFocus = function onFocus() {
3421
3716
  setFocusedState(true);
3422
3717
  };
3423
- var onBlur = function onBlur() {
3718
+ var _onBlur = function onBlur() {
3424
3719
  setFocusedState(false);
3425
3720
  };
3426
- var onClick = function onClick(event) {
3721
+ var _onClick = function onClick(event) {
3427
3722
  if (!props.disabled) {
3428
3723
  setFocusedState(true);
3429
3724
  props.onChange({
@@ -3432,10 +3727,10 @@ var HeaderCheckbox = /*#__PURE__*/React.memo(function (props) {
3432
3727
  });
3433
3728
  }
3434
3729
  };
3435
- var onKeyDown = function onKeyDown(event) {
3730
+ var _onKeyDown = function onKeyDown(event) {
3436
3731
  if (event.code === 'Space' || event.key === ' ') {
3437
3732
  // event.key is for Android support
3438
- onClick(event);
3733
+ _onClick(event);
3439
3734
  event.preventDefault();
3440
3735
  }
3441
3736
  };
@@ -3445,27 +3740,36 @@ var HeaderCheckbox = /*#__PURE__*/React.memo(function (props) {
3445
3740
  'p-focus': focusedState
3446
3741
  });
3447
3742
  var iconClassName = 'p-checkbox-icon';
3448
- var icon = props.checked ? props.checkIcon || /*#__PURE__*/React.createElement(CheckIcon, {
3743
+ var headerCheckboxIconProps = mergeProps({
3449
3744
  className: iconClassName
3450
- }) : null;
3451
- var checkIcon = IconUtils.getJSXIcon(icon, {
3452
- className: iconClassName
3453
- }, {
3745
+ }, getColumnPTOptions('headerCheckboxIcon'));
3746
+ var icon = props.checked ? props.checkIcon || /*#__PURE__*/React.createElement(CheckIcon, headerCheckboxIconProps) : null;
3747
+ var checkIcon = IconUtils.getJSXIcon(icon, _objectSpread$3({}, headerCheckboxIconProps), {
3454
3748
  props: props
3455
3749
  });
3456
3750
  var tabIndex = props.disabled ? null : 0;
3457
- return /*#__PURE__*/React.createElement("div", {
3458
- className: "p-checkbox p-component",
3459
- onClick: onClick
3460
- }, /*#__PURE__*/React.createElement("div", {
3751
+ var headerCheckboxWrapperProps = mergeProps({
3752
+ className: 'p-checkbox p-component',
3753
+ onClick: function onClick(e) {
3754
+ return _onClick(e);
3755
+ }
3756
+ }, getColumnPTOptions('headerCheckboxWrapper'));
3757
+ var headerCheckboxProps = mergeProps({
3461
3758
  className: boxClassName,
3462
- role: "checkbox",
3463
- "aria-checked": props.checked,
3759
+ role: 'checkbox',
3760
+ 'aria-checked': props.checked,
3464
3761
  tabIndex: tabIndex,
3465
- onFocus: onFocus,
3466
- onBlur: onBlur,
3467
- onKeyDown: onKeyDown
3468
- }, checkIcon));
3762
+ onFocus: function onFocus(e) {
3763
+ return _onFocus();
3764
+ },
3765
+ onBlur: function onBlur(e) {
3766
+ return _onBlur();
3767
+ },
3768
+ onKeyDown: function onKeyDown(e) {
3769
+ return _onKeyDown(e);
3770
+ }
3771
+ }, getColumnPTOptions('headerCheckbox'));
3772
+ return /*#__PURE__*/React.createElement("div", headerCheckboxWrapperProps, /*#__PURE__*/React.createElement("div", headerCheckboxProps, checkIcon));
3469
3773
  });
3470
3774
  HeaderCheckbox.displayName = 'HeaderCheckbox';
3471
3775
 
@@ -3478,6 +3782,25 @@ var HeaderCell = /*#__PURE__*/React.memo(function (props) {
3478
3782
  setStyleObjectState = _React$useState2[1];
3479
3783
  var elementRef = React.useRef(null);
3480
3784
  var prevColumn = usePrevious(props.column);
3785
+ var parentMetaData = props.metaData,
3786
+ ptCallbacks = props.ptCallbacks,
3787
+ index = props.index;
3788
+ var params = {
3789
+ index: index
3790
+ };
3791
+ var parentParams = _objectSpread$2(_objectSpread$2({}, parentMetaData), params);
3792
+ var getColumnProps = function getColumnProps() {
3793
+ return ColumnBase.getCProps(props.column);
3794
+ };
3795
+ var getColumnPTOptions = function getColumnPTOptions(key) {
3796
+ return ptCallbacks.ptmo(ColumnBase.getCProp(props.column, 'pt'), key, {
3797
+ props: getColumnProps(),
3798
+ parent: parentParams,
3799
+ state: {
3800
+ styleObject: styleObjectState
3801
+ }
3802
+ });
3803
+ };
3481
3804
  var isBadgeVisible = function isBadgeVisible() {
3482
3805
  return props.multiSortMeta && props.multiSortMeta.length > 1;
3483
3806
  };
@@ -3546,9 +3869,9 @@ var HeaderCell = /*#__PURE__*/React.memo(function (props) {
3546
3869
  }
3547
3870
  var filterRow = elementRef.current.parentElement.nextElementSibling;
3548
3871
  if (filterRow) {
3549
- var index = DomHandler.index(elementRef.current);
3550
- filterRow.children[index].style.left = styleObject['left'];
3551
- filterRow.children[index].style.right = styleObject['right'];
3872
+ var _index = DomHandler.index(elementRef.current);
3873
+ filterRow.children[_index].style.left = styleObject['left'];
3874
+ filterRow.children[_index].style.right = styleObject['right'];
3552
3875
  }
3553
3876
  var isSameStyle = styleObjectState['left'] === styleObject['left'] && styleObjectState['right'] === styleObject['right'];
3554
3877
  !isSameStyle && setStyleObjectState(styleObject);
@@ -3559,7 +3882,7 @@ var HeaderCell = /*#__PURE__*/React.memo(function (props) {
3559
3882
  props.onSortableChange();
3560
3883
  }
3561
3884
  };
3562
- var onClick = function onClick(event) {
3885
+ var _onClick = function onClick(event) {
3563
3886
  if (!isSortableDisabled()) {
3564
3887
  var targetNode = event.target;
3565
3888
  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')) {
@@ -3572,37 +3895,37 @@ var HeaderCell = /*#__PURE__*/React.memo(function (props) {
3572
3895
  }
3573
3896
  }
3574
3897
  };
3575
- var onMouseDown = function onMouseDown(event) {
3898
+ var _onMouseDown = function onMouseDown(event) {
3576
3899
  props.onColumnMouseDown({
3577
3900
  originalEvent: event,
3578
3901
  column: props.column
3579
3902
  });
3580
3903
  };
3581
- var onKeyDown = function onKeyDown(event) {
3904
+ var _onKeyDown = function onKeyDown(event) {
3582
3905
  if (event.key === 'Enter' && event.currentTarget === elementRef.current && DomHandler.hasClass(event.currentTarget, 'p-sortable-column')) {
3583
- onClick(event);
3906
+ _onClick(event);
3584
3907
  event.preventDefault();
3585
3908
  }
3586
3909
  };
3587
- var onDragStart = function onDragStart(event) {
3910
+ var _onDragStart = function onDragStart(event) {
3588
3911
  props.onColumnDragStart({
3589
3912
  originalEvent: event,
3590
3913
  column: props.column
3591
3914
  });
3592
3915
  };
3593
- var onDragOver = function onDragOver(event) {
3916
+ var _onDragOver = function onDragOver(event) {
3594
3917
  props.onColumnDragOver({
3595
3918
  originalEvent: event,
3596
3919
  column: props.column
3597
3920
  });
3598
3921
  };
3599
- var onDragLeave = function onDragLeave(event) {
3922
+ var _onDragLeave = function onDragLeave(event) {
3600
3923
  props.onColumnDragLeave({
3601
3924
  originalEvent: event,
3602
3925
  column: props.column
3603
3926
  });
3604
3927
  };
3605
- var onDrop = function onDrop(event) {
3928
+ var _onDrop = function onDrop(event) {
3606
3929
  props.onColumnDrop({
3607
3930
  originalEvent: event,
3608
3931
  column: props.column
@@ -3642,12 +3965,19 @@ var HeaderCell = /*#__PURE__*/React.memo(function (props) {
3642
3965
  });
3643
3966
  var createResizer = function createResizer() {
3644
3967
  if (props.resizableColumns && !getColumnProp('frozen')) {
3645
- return /*#__PURE__*/React.createElement("span", {
3646
- className: "p-column-resizer",
3647
- onMouseDown: onResizerMouseDown,
3648
- onClick: onResizerClick,
3649
- onDoubleClick: onResizerDoubleClick
3650
- });
3968
+ var columnResizerProps = mergeProps({
3969
+ className: 'p-column-resizer',
3970
+ onMouseDown: function onMouseDown(e) {
3971
+ return onResizerMouseDown(e);
3972
+ },
3973
+ onClick: function onClick(e) {
3974
+ return onResizerClick(e);
3975
+ },
3976
+ onDoubleClick: function onDoubleClick(e) {
3977
+ return onResizerDoubleClick(e);
3978
+ }
3979
+ }, getColumnPTOptions('columnResizer'));
3980
+ return /*#__PURE__*/React.createElement("span", columnResizerProps);
3651
3981
  }
3652
3982
  return null;
3653
3983
  };
@@ -3655,24 +3985,27 @@ var HeaderCell = /*#__PURE__*/React.memo(function (props) {
3655
3985
  var title = ObjectUtils.getJSXElement(getColumnProp('header'), {
3656
3986
  props: props.tableProps
3657
3987
  });
3658
- return /*#__PURE__*/React.createElement("span", {
3659
- className: "p-column-title"
3660
- }, title);
3988
+ var headerTitleProps = mergeProps({
3989
+ className: 'p-column-title'
3990
+ }, getColumnPTOptions('headerTitle'));
3991
+ return /*#__PURE__*/React.createElement("span", headerTitleProps, title);
3661
3992
  };
3662
3993
  var createSortIcon = function createSortIcon(_ref2) {
3663
3994
  var sorted = _ref2.sorted,
3664
3995
  sortOrder = _ref2.sortOrder;
3665
3996
  if (getColumnProp('sortable')) {
3666
3997
  var iconClassName = 'p-sortable-column-icon';
3667
- var icon = sorted ? sortOrder < 0 ? /*#__PURE__*/React.createElement(SortAmountDownIcon, null) : /*#__PURE__*/React.createElement(SortAmountUpAltIcon, null) : /*#__PURE__*/React.createElement(SortAltIcon, null);
3668
- var sortIcon = IconUtils.getJSXIcon(props.sortIcon || icon, undefined, {
3998
+ var sortIconProps = mergeProps({
3999
+ className: iconClassName
4000
+ }, getColumnPTOptions('sortIcon'));
4001
+ var sortProps = mergeProps(getColumnPTOptions('sort'));
4002
+ var icon = sorted ? sortOrder < 0 ? /*#__PURE__*/React.createElement(SortAmountDownIcon, sortIconProps) : /*#__PURE__*/React.createElement(SortAmountUpAltIcon, sortIconProps) : /*#__PURE__*/React.createElement(SortAltIcon, sortIconProps);
4003
+ var sortIcon = IconUtils.getJSXIcon(props.sortIcon || icon, _objectSpread$2({}, sortIconProps), {
3669
4004
  props: props,
3670
4005
  sorted: sorted,
3671
4006
  sortOrder: sortOrder
3672
4007
  });
3673
- return /*#__PURE__*/React.createElement("span", {
3674
- className: iconClassName
3675
- }, sortIcon);
4008
+ return /*#__PURE__*/React.createElement("span", sortProps, sortIcon);
3676
4009
  }
3677
4010
  return null;
3678
4011
  };
@@ -3680,9 +4013,10 @@ var HeaderCell = /*#__PURE__*/React.memo(function (props) {
3680
4013
  var metaIndex = _ref3.metaIndex;
3681
4014
  if (metaIndex !== -1 && isBadgeVisible()) {
3682
4015
  var value = props.groupRowsBy && props.groupRowsBy === props.groupRowSortField ? metaIndex : metaIndex + 1;
3683
- return /*#__PURE__*/React.createElement("span", {
3684
- className: "p-sortable-column-badge"
3685
- }, value);
4016
+ var sortBadgeProps = mergeProps({
4017
+ className: 'p-sortable-column-badge'
4018
+ }, getColumnPTOptions('sortBadge'), getColumnPTOptions('root'));
4019
+ return /*#__PURE__*/React.createElement("span", sortBadgeProps, value);
3686
4020
  }
3687
4021
  return null;
3688
4022
  };
@@ -3692,7 +4026,9 @@ var HeaderCell = /*#__PURE__*/React.memo(function (props) {
3692
4026
  return /*#__PURE__*/React.createElement(HeaderCheckbox, {
3693
4027
  checked: allRowsSelected,
3694
4028
  onChange: props.onColumnCheckboxChange,
3695
- disabled: props.empty
4029
+ disabled: props.empty,
4030
+ ptCallbacks: ptCallbacks,
4031
+ metaData: parentMetaData
3696
4032
  });
3697
4033
  }
3698
4034
  return null;
@@ -3707,7 +4043,9 @@ var HeaderCell = /*#__PURE__*/React.memo(function (props) {
3707
4043
  onFilterApply: props.onFilterApply,
3708
4044
  filtersStore: props.filtersStore,
3709
4045
  filterIcon: props.filterIcon,
3710
- filterClearIcon: props.filterClearIcon
4046
+ filterClearIcon: props.filterClearIcon,
4047
+ ptCallbacks: ptCallbacks,
4048
+ metaData: parentMetaData
3711
4049
  });
3712
4050
  }
3713
4051
  return null;
@@ -3718,9 +4056,10 @@ var HeaderCell = /*#__PURE__*/React.memo(function (props) {
3718
4056
  var badge = createBadge(sortMeta);
3719
4057
  var checkbox = createCheckbox();
3720
4058
  var filter = createFilter();
3721
- return /*#__PURE__*/React.createElement("div", {
3722
- className: "p-column-header-content"
3723
- }, title, sortIcon, badge, checkbox, filter);
4059
+ var headerContentProps = mergeProps({
4060
+ className: 'p-column-header-content'
4061
+ }, getColumnPTOptions('headerContent'));
4062
+ return /*#__PURE__*/React.createElement("div", headerContentProps, title, sortIcon, badge, checkbox, filter);
3724
4063
  };
3725
4064
  var createElement = function createElement() {
3726
4065
  var _isSortableDisabled = isSortableDisabled();
@@ -3746,26 +4085,43 @@ var HeaderCell = /*#__PURE__*/React.memo(function (props) {
3746
4085
  var headerTooltipOptions = getColumnProp('headerTooltipOptions');
3747
4086
  var resizer = createResizer();
3748
4087
  var header = createHeader(sortMeta);
3749
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("th", {
4088
+ var headerCellProps = mergeProps({
3750
4089
  ref: elementRef,
3751
- style: style,
3752
4090
  className: className,
4091
+ style: style,
4092
+ role: 'columnheader',
4093
+ onClick: function onClick(e) {
4094
+ return _onClick(e);
4095
+ },
4096
+ onKeyDown: function onKeyDown(e) {
4097
+ return _onKeyDown(e);
4098
+ },
4099
+ onMouseDown: function onMouseDown(e) {
4100
+ return _onMouseDown(e);
4101
+ },
4102
+ onDragStart: function onDragStart(e) {
4103
+ return _onDragStart(e);
4104
+ },
4105
+ onDragOver: function onDragOver(e) {
4106
+ return _onDragOver(e);
4107
+ },
4108
+ onDragLeave: function onDragLeave(e) {
4109
+ return _onDragLeave(e);
4110
+ },
4111
+ onDrop: function onDrop(e) {
4112
+ return _onDrop(e);
4113
+ },
3753
4114
  tabIndex: tabIndex,
3754
- role: "columnheader",
3755
- onClick: onClick,
3756
- onKeyDown: onKeyDown,
3757
- onMouseDown: onMouseDown,
3758
- onDragStart: onDragStart,
3759
- onDragOver: onDragOver,
3760
- onDragLeave: onDragLeave,
3761
- onDrop: onDrop,
3762
4115
  colSpan: colSpan,
3763
4116
  rowSpan: rowSpan,
3764
- "aria-sort": ariaSort
3765
- }, resizer, header), hasTooltip && /*#__PURE__*/React.createElement(Tooltip, _extends({
4117
+ 'aria-sort': ariaSort
4118
+ }, getColumnPTOptions('headerCell'), getColumnPTOptions('root'));
4119
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("th", headerCellProps, resizer, header), hasTooltip && /*#__PURE__*/React.createElement(Tooltip, _extends({
3766
4120
  target: elementRef,
3767
4121
  content: headerTooltip
3768
- }, headerTooltipOptions)));
4122
+ }, headerTooltipOptions, {
4123
+ pt: getColumnPTOptions('tooltip')
4124
+ })));
3769
4125
  };
3770
4126
  var element = createElement();
3771
4127
  return element;
@@ -3789,6 +4145,43 @@ var TableHeader = /*#__PURE__*/React.memo(function (props) {
3789
4145
  var getColumnProp = function getColumnProp(column, name) {
3790
4146
  return ColumnBase.getCProp(column, name);
3791
4147
  };
4148
+ var getColumnProps = function getColumnProps(column) {
4149
+ return ColumnBase.getCProps(column);
4150
+ };
4151
+ var getRowProps = function getRowProps(row) {
4152
+ return ColumnGroupBase.getCProps(row);
4153
+ };
4154
+ var getColumnGroupProps = function getColumnGroupProps() {
4155
+ return props.headerColumnGroup ? props.ptCallbacks.ptmo(ColumnGroupBase.getCProps(props.headerColumnGroup)) : undefined;
4156
+ };
4157
+ var getColumnGroupPTOptions = function getColumnGroupPTOptions(key) {
4158
+ return props.ptCallbacks.ptmo(ColumnGroupBase.getCProp(props.headerColumnGroup, 'pt')), {
4159
+ props: getColumnGroupProps(),
4160
+ parent: props.metaData,
4161
+ state: {
4162
+ sortableDisabledFields: sortableDisabledFieldsState,
4163
+ allSortableDisabled: allSortableDisabledState
4164
+ }
4165
+ };
4166
+ };
4167
+ var getColumnPTOptions = function getColumnPTOptions(column, key) {
4168
+ var cProps = getColumnProps(column);
4169
+ return props.ptCallbacks.ptmo(cProps, key, {
4170
+ props: cProps,
4171
+ parent: props.metaData,
4172
+ state: {
4173
+ sortableDisabledFields: sortableDisabledFieldsState,
4174
+ allSortableDisabled: allSortableDisabledState
4175
+ }
4176
+ });
4177
+ };
4178
+ var getRowPTOptions = function getRowPTOptions(row, key) {
4179
+ var rProps = getRowProps(row);
4180
+ return props.ptCallbacks.ptmo(rProps, key, {
4181
+ props: rProps,
4182
+ parent: props.metaData
4183
+ });
4184
+ };
3792
4185
  var isColumnSorted = function isColumnSorted(column) {
3793
4186
  return props.sortField !== null ? getColumnProp(column, 'field') === props.sortField || getColumnProp(column, 'sortField') === props.sortField : false;
3794
4187
  };
@@ -3826,41 +4219,46 @@ var TableHeader = /*#__PURE__*/React.memo(function (props) {
3826
4219
  var isVisible = col ? !getColumnProp(col, 'hidden') : true;
3827
4220
  var key = col ? getColumnProp(col, 'columnKey') || getColumnProp(col, 'field') || i : i;
3828
4221
  return isVisible && /*#__PURE__*/React.createElement(HeaderCell, {
3829
- key: key,
3830
- value: props.value,
3831
- tableProps: props.tableProps,
4222
+ allRowsSelected: props.allRowsSelected,
4223
+ allSortableDisabled: isAllSortableDisabled,
3832
4224
  column: col,
3833
- tabIndex: props.tabIndex,
4225
+ index: i,
3834
4226
  empty: props.empty,
3835
- resizableColumns: props.resizableColumns,
3836
- groupRowsBy: props.groupRowsBy,
3837
- groupRowSortField: props.groupRowSortField,
3838
- sortMode: props.sortMode,
3839
- sortIcon: props.sortIcon,
3840
- sortField: props.sortField,
3841
- sortOrder: props.sortOrder,
3842
- multiSortMeta: props.multiSortMeta,
3843
- allSortableDisabled: isAllSortableDisabled,
3844
- onSortableChange: onSortableChange,
3845
- sortableDisabledFields: sortableDisabledFieldsState,
4227
+ filterClearIcon: props.filterClearIcon,
3846
4228
  filterDisplay: props.filterDisplay,
4229
+ filterIcon: props.filterIcon,
3847
4230
  filters: props.filters,
3848
4231
  filtersStore: props.filtersStore,
3849
- onFilterChange: props.onFilterChange,
3850
- onFilterApply: props.onFilterApply,
3851
- onColumnMouseDown: props.onColumnMouseDown,
3852
- onColumnDragStart: props.onColumnDragStart,
3853
- onColumnDragOver: props.onColumnDragOver,
4232
+ groupRowSortField: props.groupRowSortField,
4233
+ groupRowsBy: props.groupRowsBy,
4234
+ key: key,
4235
+ multiSortMeta: props.multiSortMeta,
4236
+ onColumnCheckboxChange: onCheckboxChange,
3854
4237
  onColumnDragLeave: props.onColumnDragLeave,
4238
+ onColumnDragOver: props.onColumnDragOver,
4239
+ onColumnDragStart: props.onColumnDragStart,
3855
4240
  onColumnDrop: props.onColumnDrop,
4241
+ onColumnMouseDown: props.onColumnMouseDown,
3856
4242
  onColumnResizeStart: props.onColumnResizeStart,
3857
4243
  onColumnResizerClick: props.onColumnResizerClick,
3858
4244
  onColumnResizerDoubleClick: props.onColumnResizerDoubleClick,
3859
- showSelectAll: props.showSelectAll,
3860
- allRowsSelected: props.allRowsSelected,
3861
- onColumnCheckboxChange: onCheckboxChange,
4245
+ onFilterApply: props.onFilterApply,
4246
+ onFilterChange: props.onFilterChange,
4247
+ onSortChange: props.onSortChange,
4248
+ onSortableChange: onSortableChange,
3862
4249
  reorderableColumns: props.reorderableColumns,
3863
- onSortChange: props.onSortChange
4250
+ resizableColumns: props.resizableColumns,
4251
+ showSelectAll: props.showSelectAll,
4252
+ sortField: props.sortField,
4253
+ sortIcon: props.sortIcon,
4254
+ sortMode: props.sortMode,
4255
+ sortOrder: props.sortOrder,
4256
+ sortableDisabledFields: sortableDisabledFieldsState,
4257
+ tabIndex: props.tabIndex,
4258
+ tableProps: props.tableProps,
4259
+ value: props.value,
4260
+ ptCallbacks: props.ptCallbacks,
4261
+ metaData: props.metaData
3864
4262
  });
3865
4263
  });
3866
4264
  };
@@ -3870,7 +4268,9 @@ var TableHeader = /*#__PURE__*/React.memo(function (props) {
3870
4268
  return /*#__PURE__*/React.createElement(HeaderCheckbox, {
3871
4269
  checked: allRowsSelected,
3872
4270
  onChange: onCheckboxChange,
3873
- disabled: props.empty
4271
+ disabled: props.empty,
4272
+ ptCallbacks: props.ptCallbacks,
4273
+ metaData: props.metaData
3874
4274
  });
3875
4275
  }
3876
4276
  return null;
@@ -3883,7 +4283,9 @@ var TableHeader = /*#__PURE__*/React.memo(function (props) {
3883
4283
  filters: props.filters,
3884
4284
  filtersStore: props.filtersStore,
3885
4285
  onFilterChange: props.onFilterChange,
3886
- onFilterApply: props.onFilterApply
4286
+ onFilterApply: props.onFilterApply,
4287
+ ptCallbacks: props.ptCallbacks,
4288
+ metaData: props.metaData
3887
4289
  });
3888
4290
  }
3889
4291
  return null;
@@ -3909,11 +4311,12 @@ var TableHeader = /*#__PURE__*/React.memo(function (props) {
3909
4311
  var colKey = columnKey || field || i;
3910
4312
  var checkbox = createCheckbox(selectionMode);
3911
4313
  var filterRow = createFilter(col, filter);
3912
- return /*#__PURE__*/React.createElement("th", {
3913
- key: colKey,
4314
+ var headerCellProps = mergeProps({
3914
4315
  style: colStyle,
3915
- className: colClassName
3916
- }, checkbox, filterRow);
4316
+ className: colClassName,
4317
+ key: colKey
4318
+ }, getColumnPTOptions(col, 'headerCell'), getColumnPTOptions(col, 'root'));
4319
+ return /*#__PURE__*/React.createElement("th", headerCellProps, checkbox, filterRow);
3917
4320
  }
3918
4321
  return null;
3919
4322
  });
@@ -3922,32 +4325,35 @@ var TableHeader = /*#__PURE__*/React.memo(function (props) {
3922
4325
  if (props.headerColumnGroup) {
3923
4326
  var rows = React.Children.toArray(ColumnGroupBase.getCProp(props.headerColumnGroup, 'children'));
3924
4327
  return rows.map(function (row, i) {
3925
- return /*#__PURE__*/React.createElement("tr", {
3926
- key: i,
3927
- role: "row"
3928
- }, createGroupHeaderCells(row));
4328
+ var headerRowProps = mergeProps({
4329
+ role: 'row'
4330
+ }, getRowPTOptions(row, 'root'));
4331
+ return /*#__PURE__*/React.createElement("tr", _extends({}, headerRowProps, {
4332
+ key: i
4333
+ }), createGroupHeaderCells(row));
3929
4334
  });
3930
4335
  } else {
3931
- var headerRow = /*#__PURE__*/React.createElement("tr", {
3932
- role: "row"
3933
- }, createHeaderCells(props.columns));
3934
- var filterRow = props.filterDisplay === 'row' && /*#__PURE__*/React.createElement("tr", {
3935
- role: "row"
3936
- }, createFilterCells());
4336
+ var headerRowProps = mergeProps({
4337
+ role: 'row'
4338
+ }, props.ptCallbacks.ptm('headerRow'));
4339
+ var headerRow = /*#__PURE__*/React.createElement("tr", headerRowProps, createHeaderCells(props.columns));
4340
+ var filterRow = props.filterDisplay === 'row' && /*#__PURE__*/React.createElement("tr", headerRowProps, createFilterCells());
3937
4341
  return /*#__PURE__*/React.createElement(React.Fragment, null, headerRow, filterRow);
3938
4342
  }
3939
4343
  };
3940
4344
  var content = createContent();
3941
- return /*#__PURE__*/React.createElement("thead", {
3942
- className: "p-datatable-thead"
3943
- }, content);
4345
+ var theadProps = mergeProps({
4346
+ className: 'p-datatable-thead'
4347
+ }, props.ptCallbacks.ptm('thead'), getColumnGroupPTOptions());
4348
+ return /*#__PURE__*/React.createElement("thead", theadProps, content);
3944
4349
  });
3945
4350
  TableHeader.displayName = 'TableHeader';
3946
4351
 
3947
4352
  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; }
3948
4353
  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; }
3949
4354
  var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
3950
- var props = DataTableBase.getProps(inProps);
4355
+ var context = React.useContext(PrimeReactContext);
4356
+ var props = DataTableBase.getProps(inProps, context);
3951
4357
  var _React$useState = React.useState(props.first),
3952
4358
  _React$useState2 = _slicedToArray(_React$useState, 2),
3953
4359
  firstState = _React$useState2[0],
@@ -3984,18 +4390,32 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
3984
4390
  _React$useState18 = _slicedToArray(_React$useState17, 2),
3985
4391
  editingMetaState = _React$useState18[0],
3986
4392
  setEditingMetaState = _React$useState18[1];
3987
- var _React$useState19 = React.useState(null),
4393
+ var _React$useState19 = React.useState(props.rows),
3988
4394
  _React$useState20 = _slicedToArray(_React$useState19, 2),
3989
- attributeSelectorState = _React$useState20[0],
3990
- setAttributeSelectorState = _React$useState20[1];
3991
- var _React$useState21 = React.useState(props.rows),
4395
+ d_rowsState = _React$useState20[0],
4396
+ setD_rowsState = _React$useState20[1];
4397
+ var _React$useState21 = React.useState({}),
3992
4398
  _React$useState22 = _slicedToArray(_React$useState21, 2),
3993
- d_rowsState = _React$useState22[0],
3994
- setD_rowsState = _React$useState22[1];
3995
- var _React$useState23 = React.useState({}),
3996
- _React$useState24 = _slicedToArray(_React$useState23, 2),
3997
- d_filtersState = _React$useState24[0],
3998
- setD_filtersState = _React$useState24[1];
4399
+ d_filtersState = _React$useState22[0],
4400
+ setD_filtersState = _React$useState22[1];
4401
+ var metaData = {
4402
+ props: props,
4403
+ state: {
4404
+ first: firstState,
4405
+ rows: rowsState,
4406
+ sortField: sortFieldState,
4407
+ sortOrder: sortOrderState,
4408
+ multiSortMeta: multiSortMetaState,
4409
+ filters: filtersState,
4410
+ columnOrder: columnOrderState,
4411
+ groupRowsSortMeta: groupRowsSortMetaState,
4412
+ editingMeta: editingMetaState,
4413
+ d_rows: d_rowsState,
4414
+ d_filters: d_filtersState
4415
+ }
4416
+ };
4417
+ var ptCallbacks = DataTableBase.setMetaData(metaData);
4418
+ var attributeSelector = React.useRef('');
3999
4419
  var elementRef = React.useRef(null);
4000
4420
  var tableRef = React.useRef(null);
4001
4421
  var wrapperRef = React.useRef(null);
@@ -4283,7 +4703,7 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
4283
4703
  if (ObjectUtils.isNotEmpty(widths)) {
4284
4704
  createStyleElement();
4285
4705
  var innerHTML = '';
4286
- var selector = ".p-datatable[".concat(attributeSelectorState, "] > .p-datatable-wrapper ").concat(isVirtualScrollerDisabled() ? '' : '> .p-virtualscroller', " > .p-datatable-table");
4706
+ var selector = ".p-datatable[".concat(attributeSelector.current, "] > .p-datatable-wrapper ").concat(isVirtualScrollerDisabled() ? '' : '> .p-virtualscroller', " > .p-datatable-table");
4287
4707
  widths.forEach(function (width, index) {
4288
4708
  var style = "width: ".concat(width, "px !important; max-width: ").concat(width, "px !important");
4289
4709
  innerHTML += "\n ".concat(selector, " > .p-datatable-thead > tr > th:nth-child(").concat(index + 1, "),\n ").concat(selector, " > .p-datatable-tbody > tr > td:nth-child(").concat(index + 1, "),\n ").concat(selector, " > .p-datatable-tfoot > tr > td:nth-child(").concat(index + 1, ") {\n ").concat(style, "\n }\n ");
@@ -4456,7 +4876,7 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
4456
4876
  destroyStyleElement();
4457
4877
  createStyleElement();
4458
4878
  var innerHTML = '';
4459
- var selector = ".p-datatable[".concat(attributeSelectorState, "] > .p-datatable-wrapper ").concat(isVirtualScrollerDisabled() ? '' : '> .p-virtualscroller', " > .p-datatable-table");
4879
+ var selector = ".p-datatable[".concat(attributeSelector.current, "] > .p-datatable-wrapper ").concat(isVirtualScrollerDisabled() ? '' : '> .p-virtualscroller', " > .p-datatable-table");
4460
4880
  widths.forEach(function (width, index) {
4461
4881
  var colWidth = index === colIndex ? newColumnWidth : nextColumnWidth && index === colIndex + 1 ? nextColumnWidth : width;
4462
4882
  var style = "width: ".concat(colWidth, "px !important; max-width: ").concat(colWidth, "px !important");
@@ -4618,14 +5038,14 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
4618
5038
  }
4619
5039
  };
4620
5040
  var createStyleElement = function createStyleElement() {
4621
- styleElement.current = DomHandler.createInlineStyle(PrimeReact.nonce);
5041
+ styleElement.current = DomHandler.createInlineStyle(context && context.nonce || PrimeReact.nonce);
4622
5042
  };
4623
5043
  var createResponsiveStyle = function createResponsiveStyle() {
4624
5044
  if (!responsiveStyleElement.current) {
4625
- responsiveStyleElement.current = DomHandler.createInlineStyle(PrimeReact.nonce);
5045
+ responsiveStyleElement.current = DomHandler.createInlineStyle(context && context.nonce || PrimeReact.nonce);
4626
5046
  var tableSelector = ".p-datatable-wrapper ".concat(isVirtualScrollerDisabled() ? '' : '> .p-virtualscroller', " > .p-datatable-table");
4627
- var selector = ".p-datatable[".concat(attributeSelectorState, "] > ").concat(tableSelector);
4628
- var gridLinesSelector = ".p-datatable[".concat(attributeSelectorState, "].p-datatable-gridlines > ").concat(tableSelector);
5047
+ var selector = ".p-datatable[".concat(attributeSelector.current, "] > ").concat(tableSelector);
5048
+ var gridLinesSelector = ".p-datatable[".concat(attributeSelector.current, "].p-datatable-gridlines > ").concat(tableSelector);
4629
5049
  var innerHTML = "\n@media screen and (max-width: ".concat(props.breakpoint, ") {\n ").concat(selector, " > .p-datatable-thead > tr > th,\n ").concat(selector, " > .p-datatable-tfoot > tr > td {\n display: none !important;\n }\n\n ").concat(selector, " > .p-datatable-tbody > tr > td {\n display: flex;\n width: 100% !important;\n align-items: center;\n justify-content: space-between;\n }\n\n ").concat(selector, " > .p-datatable-tbody > tr > td:not(:last-child) {\n border: 0 none;\n }\n\n ").concat(gridLinesSelector, " > .p-datatable-tbody > tr > td:last-child {\n border-top: 0;\n border-right: 0;\n border-left: 0;\n }\n\n ").concat(selector, " > .p-datatable-tbody > tr > td > .p-column-title {\n display: block;\n }\n}\n");
4630
5050
  responsiveStyleElement.current.innerHTML = innerHTML;
4631
5051
  }
@@ -4714,7 +5134,7 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
4714
5134
  return props.removableSort ? props.defaultSortOrder === currentOrder ? currentOrder * -1 : 0 : currentOrder * -1;
4715
5135
  };
4716
5136
  var compareValuesOnSort = function compareValuesOnSort(value1, value2, order) {
4717
- return ObjectUtils.sort(value1, value2, order, PrimeReact.locale, PrimeReact.nullSortOrder);
5137
+ return ObjectUtils.sort(value1, value2, order, context && context.locale || PrimeReact.locale, context && context.nullSortOrder || PrimeReact.nullSortOrder);
4718
5138
  };
4719
5139
  var addSortMeta = function addSortMeta(meta, multiSortMeta) {
4720
5140
  var index = multiSortMeta.findIndex(function (sortMeta) {
@@ -4800,7 +5220,7 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
4800
5220
  var value2 = ObjectUtils.resolveFieldData(data2, multiSortMeta[index].field);
4801
5221
 
4802
5222
  // check if they are equal handling dates and locales
4803
- if (ObjectUtils.compare(value1, value2, PrimeReact.locale) === 0) {
5223
+ if (ObjectUtils.compare(value1, value2, context && context.locale || PrimeReact.locale) === 0) {
4804
5224
  return multiSortMeta.length - 1 > index ? multisortField(data1, data2, multiSortMeta, index + 1) : 0;
4805
5225
  }
4806
5226
  return compareValuesOnSort(value1, value2, multiSortMeta[index].order);
@@ -4924,7 +5344,7 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
4924
5344
  var field = getColumnProp(col, 'filterField') || getColumnProp(col, 'field');
4925
5345
  var filterFunction = getColumnProp(col, 'filterFunction');
4926
5346
  var dataType = getColumnProp(col, 'dataType');
4927
- var matchMode = getColumnProp(col, 'filterMatchMode') || (PrimeReact.filterMatchModeOptions[dataType] ? PrimeReact.filterMatchModeOptions[dataType][0] : FilterMatchMode.STARTS_WITH);
5347
+ var matchMode = getColumnProp(col, 'filterMatchMode') || (context && context.filterMatchModeOptions[dataType] || PrimeReact.filterMatchModeOptions[dataType] ? context && context.filterMatchModeOptions[dataType][0] || PrimeReact.filterMatchModeOptions[dataType][0] : FilterMatchMode.STARTS_WITH);
4928
5348
  var constraint = {
4929
5349
  value: null,
4930
5350
  matchMode: matchMode
@@ -5107,7 +5527,7 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
5107
5527
  return data;
5108
5528
  };
5109
5529
  useMountEffect(function () {
5110
- !attributeSelectorState && setAttributeSelectorState(UniqueComponentId());
5530
+ attributeSelector.current = UniqueComponentId();
5111
5531
 
5112
5532
  //setFiltersState(cloneFilters(props.filters)); // Github #4248
5113
5533
  setD_filtersState(cloneFilters(props.filters));
@@ -5119,16 +5539,14 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
5119
5539
  }
5120
5540
  });
5121
5541
  useUpdateEffect(function () {
5122
- if (attributeSelectorState) {
5123
- elementRef.current.setAttribute(attributeSelectorState, '');
5124
- if (props.responsiveLayout === 'stack' && !props.scrollable) {
5125
- createResponsiveStyle();
5126
- }
5542
+ elementRef.current.setAttribute(attributeSelector.current, '');
5543
+ if (props.responsiveLayout === 'stack' && !props.scrollable) {
5544
+ createResponsiveStyle();
5127
5545
  }
5128
5546
  return function () {
5129
5547
  destroyResponsiveStyle();
5130
5548
  };
5131
- }, [attributeSelectorState, props.breakpoint]);
5549
+ }, [props.breakpoint]);
5132
5550
  useUpdateEffect(function () {
5133
5551
  var filters = cloneFilters(props.filters);
5134
5552
  setFiltersState(filters);
@@ -5191,18 +5609,19 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
5191
5609
  var createLoader = function createLoader() {
5192
5610
  if (props.loading) {
5193
5611
  var iconClassName = 'p-datatable-loading-icon';
5194
- var icon = props.loadingIcon || /*#__PURE__*/React.createElement(SpinnerIcon, {
5195
- className: iconClassName,
5196
- spin: true
5197
- });
5198
- var loadingIcon = IconUtils.getJSXIcon(icon, {
5612
+ var loadingIconProps = mergeProps({
5199
5613
  className: iconClassName
5200
- }, {
5614
+ }, ptCallbacks.ptm('loadingIcon'));
5615
+ var icon = props.loadingIcon || /*#__PURE__*/React.createElement(SpinnerIcon, _extends({}, loadingIconProps, {
5616
+ spin: true
5617
+ }));
5618
+ var loadingIcon = IconUtils.getJSXIcon(icon, _objectSpread({}, loadingIconProps), {
5201
5619
  props: props
5202
5620
  });
5203
- return /*#__PURE__*/React.createElement("div", {
5204
- className: "p-datatable-loading-overlay p-component-overlay"
5205
- }, loadingIcon);
5621
+ var loadingOverlayProps = mergeProps({
5622
+ className: 'p-datatable-loading-overlay p-component-overlay'
5623
+ }, ptCallbacks.ptm('loadingOverlay'));
5624
+ return /*#__PURE__*/React.createElement("div", loadingOverlayProps, loadingIcon);
5206
5625
  }
5207
5626
  return null;
5208
5627
  };
@@ -5211,9 +5630,10 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
5211
5630
  var _content = ObjectUtils.getJSXElement(props.header, {
5212
5631
  props: props
5213
5632
  });
5214
- return /*#__PURE__*/React.createElement("div", {
5215
- className: "p-datatable-header"
5216
- }, _content);
5633
+ var headerProps = mergeProps({
5634
+ className: 'p-datatable-header'
5635
+ }, ptCallbacks.ptm('header'));
5636
+ return /*#__PURE__*/React.createElement("div", headerProps, _content);
5217
5637
  }
5218
5638
  return null;
5219
5639
  };
@@ -5266,7 +5686,9 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
5266
5686
  onColumnDragLeave: onColumnHeaderDragLeave,
5267
5687
  onColumnDrop: onColumnHeaderDrop,
5268
5688
  rowGroupMode: props.rowGroupMode,
5269
- reorderableColumns: props.reorderableColumns
5689
+ reorderableColumns: props.reorderableColumns,
5690
+ ptCallbacks: ptCallbacks,
5691
+ metaData: metaData
5270
5692
  });
5271
5693
  };
5272
5694
  var createTableBody = function createTableBody(options, selectionModeInColumn, empty, isVirtualScrollerDisabled) {
@@ -5280,75 +5702,80 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
5280
5702
  itemSize = options.itemSize;
5281
5703
  var frozenBody = ObjectUtils.isNotEmpty(props.frozenValue) && /*#__PURE__*/React.createElement(TableBody, {
5282
5704
  ref: frozenBodyRef,
5283
- value: props.frozenValue,
5705
+ cellClassName: props.cellClassName,
5706
+ cellSelection: props.cellSelection,
5707
+ checkIcon: props.checkIcon,
5284
5708
  className: "p-datatable-tbody p-datatable-frozen-tbody",
5285
- frozenRow: true,
5286
- tableProps: props,
5287
- tableSelector: attributeSelectorState,
5709
+ collapsedRowIcon: props.collapsedRowIcon,
5288
5710
  columns: columns,
5289
- selectionModeInColumn: selectionModeInColumn,
5290
- first: first,
5711
+ compareSelectionBy: props.compareSelectionBy,
5712
+ contextMenuSelection: props.contextMenuSelection,
5713
+ dataKey: props.dataKey,
5714
+ dragSelection: props.dragSelection,
5715
+ editMode: props.editMode,
5291
5716
  editingMeta: editingMetaState,
5292
- onEditingMetaChange: onEditingMetaChange,
5293
- tabIndex: props.tabIndex,
5294
- onRowClick: props.onRowClick,
5295
- onRowDoubleClick: props.onRowDoubleClick,
5296
- onRowMouseEnter: props.onRowMouseEnter,
5297
- onRowMouseLeave: props.onRowMouseLeave,
5298
- onCellClick: props.onCellClick,
5299
- selection: props.selection,
5300
- onSelectionChange: props.onSelectionChange,
5717
+ editingRows: props.editingRows,
5718
+ emptyMessage: props.emptyMessage,
5719
+ expandableRowGroups: props.expandableRowGroups,
5720
+ expandedRowIcon: props.expandedRowIcon,
5721
+ expandedRows: props.expandedRows,
5722
+ first: first,
5723
+ frozenRow: true,
5724
+ groupRowsBy: props.groupRowsBy,
5725
+ isDataSelectable: props.isDataSelectable,
5726
+ isVirtualScrollerDisabled: true,
5301
5727
  lazy: props.lazy,
5302
- paginator: props.paginator,
5728
+ loading: props.loading,
5729
+ metaKeySelection: props.metaKeySelection,
5730
+ onCellClick: props.onCellClick,
5303
5731
  onCellSelect: props.onCellSelect,
5304
5732
  onCellUnselect: props.onCellUnselect,
5305
- onRowSelect: props.onRowSelect,
5306
- onRowUnselect: props.onRowUnselect,
5307
- dragSelection: props.dragSelection,
5308
5733
  onContextMenu: props.onContextMenu,
5309
5734
  onContextMenuSelectionChange: props.onContextMenuSelectionChange,
5310
- metaKeySelection: props.metaKeySelection,
5311
- selectionMode: props.selectionMode,
5312
- cellSelection: props.cellSelection,
5313
- contextMenuSelection: props.contextMenuSelection,
5314
- dataKey: props.dataKey,
5315
- expandedRows: props.expandedRows,
5735
+ onEditingMetaChange: onEditingMetaChange,
5736
+ onRowClick: props.onRowClick,
5316
5737
  onRowCollapse: props.onRowCollapse,
5738
+ onRowDoubleClick: props.onRowDoubleClick,
5739
+ onRowEditCancel: props.onRowEditCancel,
5740
+ onRowEditChange: props.onRowEditChange,
5741
+ onRowEditComplete: props.onRowEditComplete,
5742
+ onRowEditInit: props.onRowEditInit,
5743
+ onRowEditSave: props.onRowEditSave,
5317
5744
  onRowExpand: props.onRowExpand,
5318
- onRowToggle: props.onRowToggle,
5319
- editMode: props.editMode,
5320
- editingRows: props.editingRows,
5745
+ onRowMouseEnter: props.onRowMouseEnter,
5746
+ onRowMouseLeave: props.onRowMouseLeave,
5321
5747
  onRowReorder: props.onRowReorder,
5748
+ onRowSelect: props.onRowSelect,
5749
+ onRowToggle: props.onRowToggle,
5750
+ onRowUnselect: props.onRowUnselect,
5751
+ onSelectionChange: props.onSelectionChange,
5752
+ paginator: props.paginator,
5322
5753
  reorderableRows: props.reorderableRows,
5323
- scrollable: props.scrollable,
5324
- rowGroupMode: props.rowGroupMode,
5325
- groupRowsBy: props.groupRowsBy,
5326
- expandableRowGroups: props.expandableRowGroups,
5327
- loading: props.loading,
5328
- emptyMessage: props.emptyMessage,
5329
- rowGroupHeaderTemplate: props.rowGroupHeaderTemplate,
5754
+ responsiveLayout: props.responsiveLayout,
5755
+ rowClassName: props.rowClassName,
5756
+ rowEditValidator: props.rowEditValidator,
5757
+ rowEditorCancelIcon: props.rowEditorCancelIcon,
5758
+ rowEditorInitIcon: props.rowEditorInitIcon,
5759
+ rowEditorSaveIcon: props.rowEditorSaveIcon,
5330
5760
  rowExpansionTemplate: props.rowExpansionTemplate,
5331
5761
  rowGroupFooterTemplate: props.rowGroupFooterTemplate,
5332
- onRowEditChange: props.onRowEditChange,
5333
- compareSelectionBy: props.compareSelectionBy,
5762
+ rowGroupHeaderTemplate: props.rowGroupHeaderTemplate,
5763
+ rowGroupMode: props.rowGroupMode,
5764
+ scrollable: props.scrollable,
5334
5765
  selectOnEdit: props.selectOnEdit,
5335
- onRowEditInit: props.onRowEditInit,
5336
- rowEditValidator: props.rowEditValidator,
5337
- onRowEditSave: props.onRowEditSave,
5338
- onRowEditComplete: props.onRowEditComplete,
5339
- onRowEditCancel: props.onRowEditCancel,
5340
- cellClassName: props.cellClassName,
5341
- responsiveLayout: props.responsiveLayout,
5766
+ selection: props.selection,
5342
5767
  selectionAutoFocus: props.selectionAutoFocus,
5343
- isDataSelectable: props.isDataSelectable,
5344
- showSelectionElement: props.showSelectionElement,
5768
+ selectionMode: props.selectionMode,
5769
+ selectionModeInColumn: selectionModeInColumn,
5345
5770
  showRowReorderElement: props.showRowReorderElement,
5346
- expandedRowIcon: props.expandedRowIcon,
5347
- collapsedRowIcon: props.collapsedRowIcon,
5348
- checkIcon: props.checkIcon,
5349
- rowClassName: props.rowClassName,
5771
+ showSelectionElement: props.showSelectionElement,
5772
+ tabIndex: props.tabIndex,
5773
+ tableProps: props,
5774
+ tableSelector: attributeSelector.current,
5775
+ value: props.frozenValue,
5350
5776
  virtualScrollerOptions: options,
5351
- isVirtualScrollerDisabled: true
5777
+ ptCallbacks: ptCallbacks,
5778
+ metaData: metaData
5352
5779
  });
5353
5780
  var body = /*#__PURE__*/React.createElement(TableBody, {
5354
5781
  ref: bodyRef,
@@ -5358,7 +5785,7 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
5358
5785
  empty: empty,
5359
5786
  frozenRow: false,
5360
5787
  tableProps: props,
5361
- tableSelector: attributeSelectorState,
5788
+ tableSelector: attributeSelector.current,
5362
5789
  columns: columns,
5363
5790
  selectionModeInColumn: selectionModeInColumn,
5364
5791
  first: first,
@@ -5423,13 +5850,17 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
5423
5850
  rowClassName: props.rowClassName,
5424
5851
  virtualScrollerContentRef: contentRef,
5425
5852
  virtualScrollerOptions: options,
5426
- isVirtualScrollerDisabled: isVirtualScrollerDisabled
5853
+ isVirtualScrollerDisabled: isVirtualScrollerDisabled,
5854
+ ptCallbacks: ptCallbacks,
5855
+ metaData: metaData
5427
5856
  });
5428
5857
  var spacerBody = ObjectUtils.isNotEmpty(spacerStyle) ? /*#__PURE__*/React.createElement(TableBody, {
5429
5858
  style: {
5430
5859
  height: "calc(".concat(spacerStyle.height, " - ").concat(rows.length * itemSize, "px)")
5431
5860
  },
5432
- className: "p-datatable-virtualscroller-spacer"
5861
+ className: "p-datatable-virtualscroller-spacer",
5862
+ ptCallbacks: ptCallbacks,
5863
+ metaData: metaData
5433
5864
  }) : null;
5434
5865
  return /*#__PURE__*/React.createElement(React.Fragment, null, frozenBody, body, spacerBody);
5435
5866
  };
@@ -5438,20 +5869,23 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
5438
5869
  return /*#__PURE__*/React.createElement(TableFooter, {
5439
5870
  tableProps: props,
5440
5871
  columns: columns,
5441
- footerColumnGroup: props.footerColumnGroup
5872
+ footerColumnGroup: props.footerColumnGroup,
5873
+ ptCallbacks: ptCallbacks,
5874
+ metaData: metaData
5442
5875
  });
5443
5876
  };
5444
5877
  var createContent = function createContent(processedData, columns, selectionModeInColumn, empty) {
5445
5878
  if (!columns) return;
5446
5879
  var _isVirtualScrollerDisabled = isVirtualScrollerDisabled();
5447
5880
  var virtualScrollerOptions = props.virtualScrollerOptions || {};
5448
- return /*#__PURE__*/React.createElement("div", {
5881
+ var wrapperProps = mergeProps({
5449
5882
  ref: wrapperRef,
5450
- className: "p-datatable-wrapper",
5883
+ className: 'p-datatable-wrapper',
5451
5884
  style: {
5452
5885
  maxHeight: _isVirtualScrollerDisabled ? props.scrollHeight : null
5453
5886
  }
5454
- }, /*#__PURE__*/React.createElement(VirtualScroller, _extends({
5887
+ }, ptCallbacks.ptm('wrapper'));
5888
+ return /*#__PURE__*/React.createElement("div", wrapperProps, /*#__PURE__*/React.createElement(VirtualScroller, _extends({
5455
5889
  ref: virtualScrollerRef
5456
5890
  }, virtualScrollerOptions, {
5457
5891
  items: processedData,
@@ -5464,6 +5898,7 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
5464
5898
  loaderDisabled: true,
5465
5899
  inline: true,
5466
5900
  autoSize: true,
5901
+ pt: ptCallbacks.ptm('virtualScroller'),
5467
5902
  showSpacer: false,
5468
5903
  contentTemplate: function contentTemplate(options) {
5469
5904
  var ref = function ref(el) {
@@ -5478,12 +5913,13 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
5478
5913
  var tableHeader = createTableHeader(options, empty, _isVirtualScrollerDisabled);
5479
5914
  var tableBody = createTableBody(options, selectionModeInColumn, empty, _isVirtualScrollerDisabled);
5480
5915
  var tableFooter = createTableFooter(options);
5481
- return /*#__PURE__*/React.createElement("table", {
5916
+ var tableProps = mergeProps({
5482
5917
  ref: ref,
5483
- style: props.tableStyle,
5484
5918
  className: tableClassName,
5485
- role: "table"
5486
- }, tableHeader, tableBody, tableFooter);
5919
+ style: props.tableStyle,
5920
+ role: 'table'
5921
+ }, ptCallbacks.ptm('table'));
5922
+ return /*#__PURE__*/React.createElement("table", tableProps, tableHeader, tableBody, tableFooter);
5487
5923
  }
5488
5924
  })));
5489
5925
  };
@@ -5492,9 +5928,10 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
5492
5928
  var _content2 = ObjectUtils.getJSXElement(props.footer, {
5493
5929
  props: props
5494
5930
  });
5495
- return /*#__PURE__*/React.createElement("div", {
5496
- className: "p-datatable-footer"
5497
- }, _content2);
5931
+ var footerProps = mergeProps({
5932
+ className: 'p-datatable-footer'
5933
+ }, ptCallbacks.ptm('footer'));
5934
+ return /*#__PURE__*/React.createElement("div", footerProps, _content2);
5498
5935
  }
5499
5936
  return null;
5500
5937
  };
@@ -5513,7 +5950,8 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
5513
5950
  leftContent: props.paginatorLeft,
5514
5951
  rightContent: props.paginatorRight,
5515
5952
  alwaysShow: props.alwaysShowPaginator,
5516
- dropdownAppendTo: props.paginatorDropdownAppendTo
5953
+ dropdownAppendTo: props.paginatorDropdownAppendTo,
5954
+ pt: ptCallbacks.ptm('paginator')
5517
5955
  });
5518
5956
  };
5519
5957
  var createPaginatorTop = function createPaginatorTop(totalRecords) {
@@ -5530,13 +5968,14 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
5530
5968
  };
5531
5969
  var createResizeHelper = function createResizeHelper() {
5532
5970
  if (props.resizableColumns) {
5533
- return /*#__PURE__*/React.createElement("div", {
5971
+ var resizeHelperProps = mergeProps({
5534
5972
  ref: resizeHelperRef,
5535
- className: "p-column-resizer-helper",
5973
+ className: 'p-column-resizer-helper',
5536
5974
  style: {
5537
5975
  display: 'none'
5538
5976
  }
5539
- });
5977
+ }, ptCallbacks.ptm('resizeHelper'));
5978
+ return /*#__PURE__*/React.createElement("div", resizeHelperProps);
5540
5979
  }
5541
5980
  return null;
5542
5981
  };
@@ -5546,18 +5985,20 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
5546
5985
  position: 'absolute',
5547
5986
  display: 'none'
5548
5987
  };
5549
- var reorderIndicatorUpProps = {
5988
+ var reorderIndicatorUpProps = mergeProps({
5550
5989
  className: 'p-datatable-reorder-indicator-up',
5551
5990
  style: _objectSpread({}, style)
5552
- };
5553
- var reorderIndicatorUpIcon = IconUtils.getJSXIcon(props.reorderIndicatorUpIcon || /*#__PURE__*/React.createElement(ArrowDownIcon, null), undefined, {
5991
+ }, ptCallbacks.ptm('reorderIndicatorUp'));
5992
+ var reorderIndicatorUpIconProps = mergeProps(ptCallbacks.ptm('reorderIndicatorUpIcon'));
5993
+ var reorderIndicatorUpIcon = IconUtils.getJSXIcon(props.reorderIndicatorUpIcon || /*#__PURE__*/React.createElement(ArrowDownIcon, reorderIndicatorUpIconProps), _objectSpread({}, reorderIndicatorUpIconProps), {
5554
5994
  props: props
5555
5995
  });
5556
- var reorderIndicatorDownProps = {
5996
+ var reorderIndicatorDownProps = mergeProps({
5557
5997
  className: 'p-datatable-reorder-indicator-down',
5558
5998
  style: _objectSpread({}, style)
5559
- };
5560
- var reorderIndicatorDownIcon = IconUtils.getJSXIcon(props.reorderIndicatorDownIcon || /*#__PURE__*/React.createElement(ArrowUpIcon, null), undefined, {
5999
+ }, ptCallbacks.ptm('reorderIndicatorDown'));
6000
+ var reorderIndicatorDownIconProps = mergeProps(ptCallbacks.ptm('reorderIndicatorDownIcon'));
6001
+ var reorderIndicatorDownIcon = IconUtils.getJSXIcon(props.reorderIndicatorDownIcon || /*#__PURE__*/React.createElement(ArrowUpIcon, reorderIndicatorDownIconProps), _objectSpread({}, reorderIndicatorDownIconProps), {
5561
6002
  props: props
5562
6003
  });
5563
6004
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", _extends({
@@ -5574,7 +6015,6 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
5574
6015
  var empty = ObjectUtils.isEmpty(data);
5575
6016
  var selectionModeInColumn = getSelectionModeInColumn(columns);
5576
6017
  var selectable = props.selectionMode || selectionModeInColumn;
5577
- var otherProps = DataTableBase.getOtherProps(props);
5578
6018
  var className = classNames('p-datatable p-component', {
5579
6019
  'p-datatable-hoverable-rows': props.rowHover,
5580
6020
  'p-datatable-selectable': selectable && !props.cellSelection,
@@ -5600,14 +6040,14 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
5600
6040
  var footer = createFooter();
5601
6041
  var resizeHelper = createResizeHelper();
5602
6042
  var reorderIndicators = createReorderIndicators();
5603
- return /*#__PURE__*/React.createElement("div", _extends({
6043
+ var rootProps = mergeProps({
5604
6044
  ref: elementRef,
5605
6045
  id: props.id,
5606
6046
  className: className,
5607
- style: props.style
5608
- }, otherProps, {
5609
- "data-scrollselectors": ".p-datatable-wrapper"
5610
- }), loader, header, paginatorTop, content, paginatorBottom, footer, resizeHelper, reorderIndicators);
6047
+ style: props.style,
6048
+ 'data-scrollselectors': '.p-datatable-wrapper'
6049
+ }, DataTableBase.getOtherProps(props), ptCallbacks.ptm('root'));
6050
+ return /*#__PURE__*/React.createElement("div", rootProps, loader, header, paginatorTop, content, paginatorBottom, footer, resizeHelper, reorderIndicators);
5611
6051
  });
5612
6052
  DataTable.displayName = 'DataTable';
5613
6053