primereact 8.7.3 → 9.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (450) hide show
  1. package/accordion/accordion.d.ts +168 -25
  2. package/api/api.cjs.js +1 -1
  3. package/api/api.cjs.min.js +1 -1
  4. package/api/api.d.ts +11 -3
  5. package/api/api.esm.js +1 -1
  6. package/api/api.esm.min.js +1 -1
  7. package/api/api.js +1 -1
  8. package/api/api.min.js +1 -1
  9. package/autocomplete/autocomplete.cjs.js +18 -3
  10. package/autocomplete/autocomplete.cjs.min.js +1 -1
  11. package/autocomplete/autocomplete.d.ts +385 -80
  12. package/autocomplete/autocomplete.esm.js +18 -3
  13. package/autocomplete/autocomplete.esm.min.js +1 -1
  14. package/autocomplete/autocomplete.js +18 -3
  15. package/autocomplete/autocomplete.min.js +1 -1
  16. package/avatar/avatar.d.ts +77 -15
  17. package/avatargroup/avatargroup.d.ts +33 -1
  18. package/badge/badge.d.ts +48 -8
  19. package/blockui/blockui.d.ts +71 -10
  20. package/breadcrumb/breadcrumb.d.ts +41 -3
  21. package/button/button.d.ts +67 -15
  22. package/calendar/calendar.cjs.js +18 -5
  23. package/calendar/calendar.cjs.min.js +1 -1
  24. package/calendar/calendar.d.ts +585 -112
  25. package/calendar/calendar.esm.js +18 -5
  26. package/calendar/calendar.esm.min.js +1 -1
  27. package/calendar/calendar.js +18 -5
  28. package/calendar/calendar.min.js +1 -1
  29. package/captcha/captcha.cjs.js +7 -6
  30. package/captcha/captcha.cjs.min.js +1 -1
  31. package/captcha/captcha.d.ts +77 -7
  32. package/captcha/captcha.esm.js +7 -6
  33. package/captcha/captcha.esm.min.js +1 -1
  34. package/captcha/captcha.js +7 -6
  35. package/captcha/captcha.min.js +1 -1
  36. package/card/card.d.ts +45 -7
  37. package/carousel/carousel.d.ts +138 -22
  38. package/cascadeselect/cascadeselect.cjs.js +7 -1
  39. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  40. package/cascadeselect/cascadeselect.d.ts +177 -29
  41. package/cascadeselect/cascadeselect.esm.js +7 -1
  42. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  43. package/cascadeselect/cascadeselect.js +7 -1
  44. package/cascadeselect/cascadeselect.min.js +1 -1
  45. package/chart/chart.d.ts +88 -10
  46. package/checkbox/checkbox.cjs.js +5 -1
  47. package/checkbox/checkbox.cjs.min.js +1 -1
  48. package/checkbox/checkbox.d.ts +137 -33
  49. package/checkbox/checkbox.esm.js +6 -2
  50. package/checkbox/checkbox.esm.min.js +1 -1
  51. package/checkbox/checkbox.js +5 -1
  52. package/checkbox/checkbox.min.js +1 -1
  53. package/chip/chip.d.ts +75 -7
  54. package/chips/chips.cjs.js +11 -8
  55. package/chips/chips.cjs.min.js +1 -1
  56. package/chips/chips.d.ts +188 -36
  57. package/chips/chips.esm.js +11 -8
  58. package/chips/chips.esm.min.js +1 -1
  59. package/chips/chips.js +11 -8
  60. package/chips/chips.min.js +1 -1
  61. package/colorpicker/colorpicker.cjs.js +6 -1
  62. package/colorpicker/colorpicker.cjs.min.js +1 -1
  63. package/colorpicker/colorpicker.d.ts +148 -31
  64. package/colorpicker/colorpicker.esm.js +6 -1
  65. package/colorpicker/colorpicker.esm.min.js +1 -1
  66. package/colorpicker/colorpicker.js +6 -1
  67. package/colorpicker/colorpicker.min.js +1 -1
  68. package/column/column.d.ts +736 -134
  69. package/columngroup/columngroup.d.ts +30 -1
  70. package/confirmdialog/confirmdialog.d.ts +142 -18
  71. package/confirmpopup/confirmpopup.cjs.js +5 -2
  72. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  73. package/confirmpopup/confirmpopup.d.ts +165 -22
  74. package/confirmpopup/confirmpopup.esm.js +5 -2
  75. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  76. package/confirmpopup/confirmpopup.js +5 -2
  77. package/confirmpopup/confirmpopup.min.js +1 -1
  78. package/contextmenu/contextmenu.cjs.js +4 -1
  79. package/contextmenu/contextmenu.cjs.min.js +1 -1
  80. package/contextmenu/contextmenu.d.ts +79 -11
  81. package/contextmenu/contextmenu.esm.js +4 -1
  82. package/contextmenu/contextmenu.esm.min.js +1 -1
  83. package/contextmenu/contextmenu.js +4 -1
  84. package/contextmenu/contextmenu.min.js +1 -1
  85. package/core/core.js +85 -78
  86. package/core/core.min.js +7 -7
  87. package/csstransition/csstransition.d.ts +31 -1
  88. package/datascroller/datascroller.d.ts +102 -16
  89. package/datatable/datatable.cjs.js +27 -15
  90. package/datatable/datatable.cjs.min.js +1 -1
  91. package/datatable/datatable.d.ts +1257 -229
  92. package/datatable/datatable.esm.js +27 -15
  93. package/datatable/datatable.esm.min.js +1 -1
  94. package/datatable/datatable.js +27 -15
  95. package/datatable/datatable.min.js +1 -1
  96. package/dataview/dataview.d.ts +222 -43
  97. package/deferredcontent/deferredcontent.d.ts +37 -1
  98. package/dialog/dialog.cjs.js +13 -19
  99. package/dialog/dialog.cjs.min.js +1 -1
  100. package/dialog/dialog.d.ts +282 -51
  101. package/dialog/dialog.esm.js +14 -20
  102. package/dialog/dialog.esm.min.js +1 -1
  103. package/dialog/dialog.js +13 -19
  104. package/dialog/dialog.min.css +1 -1
  105. package/dialog/dialog.min.js +1 -1
  106. package/divider/divider.d.ts +47 -10
  107. package/dock/dock.d.ts +68 -12
  108. package/dropdown/dropdown.cjs.js +27 -11
  109. package/dropdown/dropdown.cjs.min.js +1 -1
  110. package/dropdown/dropdown.d.ts +337 -83
  111. package/dropdown/dropdown.esm.js +28 -12
  112. package/dropdown/dropdown.esm.min.js +1 -1
  113. package/dropdown/dropdown.js +27 -11
  114. package/dropdown/dropdown.min.js +1 -1
  115. package/editor/editor.d.ts +129 -12
  116. package/fieldset/fieldset.d.ts +85 -7
  117. package/fileupload/fileupload.cjs.js +4 -0
  118. package/fileupload/fileupload.cjs.min.js +1 -1
  119. package/fileupload/fileupload.d.ts +425 -62
  120. package/fileupload/fileupload.esm.js +4 -0
  121. package/fileupload/fileupload.esm.min.js +1 -1
  122. package/fileupload/fileupload.js +4 -0
  123. package/fileupload/fileupload.min.js +1 -1
  124. package/galleria/galleria.cjs.js +3 -1
  125. package/galleria/galleria.cjs.min.js +1 -1
  126. package/galleria/galleria.d.ts +198 -30
  127. package/galleria/galleria.esm.js +3 -1
  128. package/galleria/galleria.esm.min.js +1 -1
  129. package/galleria/galleria.js +3 -1
  130. package/galleria/galleria.min.js +1 -1
  131. package/gmap/gmap.d.ts +91 -5
  132. package/hooks/hooks.cjs.js +1 -2
  133. package/hooks/hooks.cjs.min.js +1 -1
  134. package/hooks/hooks.d.ts +114 -7
  135. package/hooks/hooks.esm.js +1 -2
  136. package/hooks/hooks.esm.min.js +1 -1
  137. package/hooks/hooks.js +1 -2
  138. package/hooks/hooks.min.js +1 -1
  139. package/image/image.d.ts +91 -11
  140. package/inplace/inplace.d.ts +101 -9
  141. package/inputmask/inputmask.cjs.js +6 -5
  142. package/inputmask/inputmask.cjs.min.js +1 -1
  143. package/inputmask/inputmask.d.ts +119 -27
  144. package/inputmask/inputmask.esm.js +7 -6
  145. package/inputmask/inputmask.esm.min.js +1 -1
  146. package/inputmask/inputmask.js +6 -5
  147. package/inputmask/inputmask.min.js +1 -1
  148. package/inputnumber/inputnumber.cjs.js +11 -33
  149. package/inputnumber/inputnumber.cjs.min.js +1 -1
  150. package/inputnumber/inputnumber.d.ts +265 -57
  151. package/inputnumber/inputnumber.esm.js +12 -34
  152. package/inputnumber/inputnumber.esm.min.js +1 -1
  153. package/inputnumber/inputnumber.js +11 -33
  154. package/inputnumber/inputnumber.min.js +1 -1
  155. package/inputswitch/inputswitch.cjs.js +4 -1
  156. package/inputswitch/inputswitch.cjs.min.js +1 -1
  157. package/inputswitch/inputswitch.d.ts +118 -27
  158. package/inputswitch/inputswitch.esm.js +5 -2
  159. package/inputswitch/inputswitch.esm.min.js +1 -1
  160. package/inputswitch/inputswitch.js +4 -1
  161. package/inputswitch/inputswitch.min.js +1 -1
  162. package/inputtext/inputtext.d.ts +57 -6
  163. package/inputtextarea/inputtextarea.d.ts +52 -6
  164. package/keyfilter/keyfilteroptions.d.ts +15 -0
  165. package/knob/knob.d.ts +127 -20
  166. package/listbox/listbox.cjs.js +3 -0
  167. package/listbox/listbox.cjs.min.js +1 -1
  168. package/listbox/listbox.d.ts +270 -48
  169. package/listbox/listbox.esm.js +3 -0
  170. package/listbox/listbox.esm.min.js +1 -1
  171. package/listbox/listbox.js +3 -0
  172. package/listbox/listbox.min.js +1 -1
  173. package/megamenu/megamenu.d.ts +50 -11
  174. package/mention/mention.cjs.js +3 -0
  175. package/mention/mention.cjs.min.js +1 -1
  176. package/mention/mention.d.ts +186 -32
  177. package/mention/mention.esm.js +3 -0
  178. package/mention/mention.esm.min.js +1 -1
  179. package/mention/mention.js +3 -0
  180. package/mention/mention.min.js +1 -1
  181. package/menu/menu.cjs.js +3 -1
  182. package/menu/menu.cjs.min.js +1 -1
  183. package/menu/menu.d.ts +89 -12
  184. package/menu/menu.esm.js +3 -1
  185. package/menu/menu.esm.min.js +1 -1
  186. package/menu/menu.js +3 -1
  187. package/menu/menu.min.js +1 -1
  188. package/menubar/menubar.d.ts +53 -8
  189. package/menuitem/menuitem.d.ts +114 -19
  190. package/message/message.d.ts +50 -11
  191. package/messages/messages.d.ts +91 -11
  192. package/multiselect/multiselect.cjs.js +11 -2
  193. package/multiselect/multiselect.cjs.min.js +1 -1
  194. package/multiselect/multiselect.d.ts +429 -82
  195. package/multiselect/multiselect.esm.js +12 -3
  196. package/multiselect/multiselect.esm.min.js +1 -1
  197. package/multiselect/multiselect.js +11 -2
  198. package/multiselect/multiselect.min.js +1 -1
  199. package/multistatecheckbox/multistatecheckbox.cjs.js +3 -0
  200. package/multistatecheckbox/multistatecheckbox.cjs.min.js +1 -1
  201. package/multistatecheckbox/multistatecheckbox.d.ts +157 -22
  202. package/multistatecheckbox/multistatecheckbox.esm.js +4 -1
  203. package/multistatecheckbox/multistatecheckbox.esm.min.js +1 -1
  204. package/multistatecheckbox/multistatecheckbox.js +3 -0
  205. package/multistatecheckbox/multistatecheckbox.min.js +1 -1
  206. package/orderlist/orderlist.d.ts +113 -16
  207. package/organizationchart/organizationchart.d.ts +107 -16
  208. package/overlaypanel/overlaypanel.cjs.js +4 -1
  209. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  210. package/overlaypanel/overlaypanel.d.ts +89 -15
  211. package/overlaypanel/overlaypanel.esm.js +4 -1
  212. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  213. package/overlaypanel/overlaypanel.js +4 -1
  214. package/overlaypanel/overlaypanel.min.js +1 -1
  215. package/overlayservice/overlayservice.d.ts +52 -7
  216. package/package.json +2 -2
  217. package/paginator/paginator.d.ts +409 -44
  218. package/panel/panel.d.ts +142 -16
  219. package/panelmenu/panelmenu.d.ts +46 -4
  220. package/password/password.cjs.js +7 -1
  221. package/password/password.cjs.min.js +1 -1
  222. package/password/password.d.ts +176 -36
  223. package/password/password.esm.js +7 -1
  224. package/password/password.esm.min.js +1 -1
  225. package/password/password.js +7 -1
  226. package/password/password.min.css +1 -1
  227. package/password/password.min.js +1 -1
  228. package/picklist/picklist.d.ts +272 -46
  229. package/primereact.all.cjs.js +305 -158
  230. package/primereact.all.cjs.min.js +1 -1
  231. package/primereact.all.esm.js +305 -158
  232. package/primereact.all.esm.min.js +1 -1
  233. package/primereact.all.js +305 -158
  234. package/primereact.all.min.js +1 -1
  235. package/progressbar/progressbar.d.ts +60 -11
  236. package/progressspinner/progressspinner.d.ts +47 -4
  237. package/radiobutton/radiobutton.cjs.js +5 -1
  238. package/radiobutton/radiobutton.cjs.min.js +1 -1
  239. package/radiobutton/radiobutton.d.ts +99 -29
  240. package/radiobutton/radiobutton.esm.js +5 -1
  241. package/radiobutton/radiobutton.esm.min.js +1 -1
  242. package/radiobutton/radiobutton.js +5 -1
  243. package/radiobutton/radiobutton.min.js +1 -1
  244. package/rating/rating.d.ts +101 -24
  245. package/resources/primereact.css +74 -63
  246. package/resources/primereact.min.css +1 -1
  247. package/resources/themes/arya-blue/theme.css +5 -9
  248. package/resources/themes/arya-green/theme.css +4 -10
  249. package/resources/themes/arya-orange/theme.css +4 -9
  250. package/resources/themes/arya-purple/theme.css +4 -9
  251. package/resources/themes/bootstrap4-dark-blue/theme.css +4 -9
  252. package/resources/themes/bootstrap4-dark-purple/theme.css +4 -9
  253. package/resources/themes/bootstrap4-light-blue/theme.css +4 -9
  254. package/resources/themes/bootstrap4-light-purple/theme.css +4 -10
  255. package/resources/themes/fluent-light/theme.css +4 -10
  256. package/resources/themes/lara-dark-blue/theme.css +4 -9
  257. package/resources/themes/lara-dark-indigo/theme.css +4 -10
  258. package/resources/themes/lara-dark-purple/theme.css +4 -9
  259. package/resources/themes/lara-dark-teal/theme.css +4 -10
  260. package/resources/themes/lara-light-blue/theme.css +4 -9
  261. package/resources/themes/lara-light-indigo/theme.css +4 -9
  262. package/resources/themes/lara-light-purple/theme.css +4 -9
  263. package/resources/themes/lara-light-teal/theme.css +4 -9
  264. package/resources/themes/luna-amber/theme.css +5 -9
  265. package/resources/themes/luna-blue/theme.css +4 -9
  266. package/resources/themes/luna-green/theme.css +5 -9
  267. package/resources/themes/luna-pink/theme.css +4 -9
  268. package/resources/themes/md-dark-deeppurple/theme.css +4 -9
  269. package/resources/themes/md-dark-indigo/theme.css +5 -9
  270. package/resources/themes/md-light-deeppurple/theme.css +5 -9
  271. package/resources/themes/md-light-indigo/theme.css +5 -9
  272. package/resources/themes/mdc-dark-deeppurple/theme.css +5 -9
  273. package/resources/themes/mdc-dark-indigo/theme.css +4 -9
  274. package/resources/themes/mdc-light-deeppurple/theme.css +5 -9
  275. package/resources/themes/mdc-light-indigo/theme.css +4 -9
  276. package/resources/themes/mira/fonts/Inter-Bold.woff +0 -0
  277. package/resources/themes/mira/fonts/Inter-Bold.woff2 +0 -0
  278. package/resources/themes/mira/fonts/Inter-Medium.woff +0 -0
  279. package/resources/themes/mira/fonts/Inter-Medium.woff2 +0 -0
  280. package/resources/themes/mira/fonts/Inter-Regular.woff +0 -0
  281. package/resources/themes/mira/fonts/Inter-Regular.woff2 +0 -0
  282. package/resources/themes/mira/fonts/Inter-SemiBold.woff +0 -0
  283. package/resources/themes/mira/fonts/Inter-SemiBold.woff2 +0 -0
  284. package/resources/themes/mira/theme.css +6237 -0
  285. package/resources/themes/nano/theme.css +6009 -0
  286. package/resources/themes/nova/theme.css +4 -9
  287. package/resources/themes/nova-accent/theme.css +5 -9
  288. package/resources/themes/nova-alt/theme.css +4 -9
  289. package/resources/themes/rhea/theme.css +5 -9
  290. package/resources/themes/saga-blue/theme.css +4 -9
  291. package/resources/themes/saga-green/theme.css +5 -9
  292. package/resources/themes/saga-orange/theme.css +5 -9
  293. package/resources/themes/saga-purple/theme.css +5 -9
  294. package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-300.woff +0 -0
  295. package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-300.woff2 +0 -0
  296. package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-700.woff +0 -0
  297. package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-700.woff2 +0 -0
  298. package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-regular.woff +0 -0
  299. package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-regular.woff2 +0 -0
  300. package/resources/themes/soho-dark/theme.css +6002 -0
  301. package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-300.woff +0 -0
  302. package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-300.woff2 +0 -0
  303. package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-700.woff +0 -0
  304. package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-700.woff2 +0 -0
  305. package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-regular.woff +0 -0
  306. package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-regular.woff2 +0 -0
  307. package/resources/themes/soho-light/theme.css +6056 -0
  308. package/resources/themes/vela-blue/theme.css +4 -9
  309. package/resources/themes/vela-green/theme.css +4 -9
  310. package/resources/themes/vela-orange/theme.css +4 -9
  311. package/resources/themes/vela-purple/theme.css +5 -9
  312. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-300.woff +0 -0
  313. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-300.woff2 +0 -0
  314. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-600.woff +0 -0
  315. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-600.woff2 +0 -0
  316. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-700.woff +0 -0
  317. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-700.woff2 +0 -0
  318. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-regular.woff +0 -0
  319. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-regular.woff2 +0 -0
  320. package/resources/themes/viva-dark/theme.css +6164 -0
  321. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-300.woff +0 -0
  322. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-300.woff2 +0 -0
  323. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-600.woff +0 -0
  324. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-600.woff2 +0 -0
  325. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-700.woff +0 -0
  326. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-700.woff2 +0 -0
  327. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-regular.woff +0 -0
  328. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-regular.woff2 +0 -0
  329. package/resources/themes/viva-light/theme.css +6164 -0
  330. package/ripple/ripple.d.ts +29 -1
  331. package/row/row.d.ts +37 -3
  332. package/scrollpanel/scrollpanel.d.ts +45 -1
  333. package/scrolltop/scrolltop.d.ts +70 -10
  334. package/selectbutton/selectbutton.cjs.js +3 -0
  335. package/selectbutton/selectbutton.cjs.min.js +1 -1
  336. package/selectbutton/selectbutton.d.ts +111 -32
  337. package/selectbutton/selectbutton.esm.js +4 -1
  338. package/selectbutton/selectbutton.esm.min.js +1 -1
  339. package/selectbutton/selectbutton.js +3 -0
  340. package/selectbutton/selectbutton.min.js +1 -1
  341. package/selectitem/selectitem.d.ts +34 -0
  342. package/sidebar/sidebar.cjs.js +13 -1
  343. package/sidebar/sidebar.cjs.min.js +1 -1
  344. package/sidebar/sidebar.d.ts +120 -22
  345. package/sidebar/sidebar.esm.js +13 -1
  346. package/sidebar/sidebar.esm.min.js +1 -1
  347. package/sidebar/sidebar.js +13 -1
  348. package/sidebar/sidebar.min.js +1 -1
  349. package/skeleton/skeleton.d.ts +61 -11
  350. package/slidemenu/slidemenu.d.ts +132 -18
  351. package/slider/slider.d.ts +101 -18
  352. package/speeddial/speeddial.d.ts +149 -20
  353. package/splitbutton/splitbutton.cjs.js +3 -2
  354. package/splitbutton/splitbutton.cjs.min.js +1 -1
  355. package/splitbutton/splitbutton.d.ts +131 -23
  356. package/splitbutton/splitbutton.esm.js +3 -2
  357. package/splitbutton/splitbutton.esm.min.js +1 -1
  358. package/splitbutton/splitbutton.js +3 -2
  359. package/splitbutton/splitbutton.min.js +1 -1
  360. package/splitter/splitter.d.ts +98 -12
  361. package/steps/steps.d.ts +67 -6
  362. package/styleclass/styleclass.d.ts +77 -12
  363. package/tabmenu/tabmenu.d.ts +62 -5
  364. package/tabview/tabview.cjs.js +1 -1
  365. package/tabview/tabview.cjs.min.js +1 -1
  366. package/tabview/tabview.d.ts +213 -27
  367. package/tabview/tabview.esm.js +1 -1
  368. package/tabview/tabview.esm.min.js +1 -1
  369. package/tabview/tabview.js +1 -1
  370. package/tabview/tabview.min.js +1 -1
  371. package/tag/tag.d.ts +50 -6
  372. package/terminal/terminal.cjs.js +3 -0
  373. package/terminal/terminal.cjs.min.js +1 -1
  374. package/terminal/terminal.d.ts +45 -3
  375. package/terminal/terminal.esm.js +4 -1
  376. package/terminal/terminal.esm.min.js +1 -1
  377. package/terminal/terminal.js +3 -0
  378. package/terminal/terminal.min.js +1 -1
  379. package/terminalservice/terminalservice.d.ts +42 -4
  380. package/tieredmenu/tieredmenu.cjs.js +3 -1
  381. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  382. package/tieredmenu/tieredmenu.d.ts +77 -12
  383. package/tieredmenu/tieredmenu.esm.js +3 -1
  384. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  385. package/tieredmenu/tieredmenu.js +3 -1
  386. package/tieredmenu/tieredmenu.min.js +1 -1
  387. package/timeline/timeline.cjs.js +6 -10
  388. package/timeline/timeline.cjs.min.js +1 -1
  389. package/timeline/timeline.d.ts +62 -13
  390. package/timeline/timeline.esm.js +6 -10
  391. package/timeline/timeline.esm.min.js +1 -1
  392. package/timeline/timeline.js +6 -10
  393. package/timeline/timeline.min.js +1 -1
  394. package/toast/toast.cjs.js +4 -1
  395. package/toast/toast.cjs.min.js +1 -1
  396. package/toast/toast.d.ts +134 -27
  397. package/toast/toast.esm.js +4 -1
  398. package/toast/toast.esm.min.js +1 -1
  399. package/toast/toast.js +4 -1
  400. package/toast/toast.min.js +1 -1
  401. package/togglebutton/togglebutton.cjs.js +4 -1
  402. package/togglebutton/togglebutton.cjs.min.js +1 -1
  403. package/togglebutton/togglebutton.d.ts +122 -15
  404. package/togglebutton/togglebutton.esm.js +5 -2
  405. package/togglebutton/togglebutton.esm.min.js +1 -1
  406. package/togglebutton/togglebutton.js +4 -1
  407. package/togglebutton/togglebutton.min.js +1 -1
  408. package/toolbar/toolbar.cjs.js +13 -7
  409. package/toolbar/toolbar.cjs.min.js +1 -1
  410. package/toolbar/toolbar.d.ts +55 -5
  411. package/toolbar/toolbar.esm.js +13 -7
  412. package/toolbar/toolbar.esm.min.js +1 -1
  413. package/toolbar/toolbar.js +13 -7
  414. package/toolbar/toolbar.min.css +1 -1
  415. package/toolbar/toolbar.min.js +1 -1
  416. package/tooltip/tooltip.d.ts +73 -9
  417. package/tooltip/tooltipoptions.d.ts +350 -31
  418. package/tree/tree.d.ts +435 -71
  419. package/treenode/treenode.d.ts +62 -13
  420. package/treeselect/treeselect.cjs.js +7 -1
  421. package/treeselect/treeselect.cjs.min.js +1 -1
  422. package/treeselect/treeselect.d.ts +326 -77
  423. package/treeselect/treeselect.esm.js +8 -2
  424. package/treeselect/treeselect.esm.min.js +1 -1
  425. package/treeselect/treeselect.js +7 -1
  426. package/treeselect/treeselect.min.js +1 -1
  427. package/treetable/treetable.cjs.js +3 -1
  428. package/treetable/treetable.cjs.min.js +1 -1
  429. package/treetable/treetable.d.ts +501 -112
  430. package/treetable/treetable.esm.js +3 -1
  431. package/treetable/treetable.esm.min.js +1 -1
  432. package/treetable/treetable.js +3 -1
  433. package/treetable/treetable.min.js +1 -1
  434. package/tristatecheckbox/tristatecheckbox.cjs.js +3 -0
  435. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  436. package/tristatecheckbox/tristatecheckbox.d.ts +72 -20
  437. package/tristatecheckbox/tristatecheckbox.esm.js +4 -1
  438. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  439. package/tristatecheckbox/tristatecheckbox.js +3 -0
  440. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  441. package/ts-helpers.d.ts +24 -0
  442. package/utils/utils.cjs.js +27 -11
  443. package/utils/utils.cjs.min.js +1 -1
  444. package/utils/utils.d.ts +8 -1
  445. package/utils/utils.esm.js +27 -11
  446. package/utils/utils.esm.min.js +1 -1
  447. package/utils/utils.js +27 -11
  448. package/utils/utils.min.js +1 -1
  449. package/virtualscroller/virtualscroller.d.ts +351 -59
  450. package/web-types.json +22 -4
@@ -1,389 +1,1417 @@
1
+ /**
2
+ *
3
+ * DataTable displays data in tabular format.
4
+ *
5
+ * [Live Demo](https://www.primefaces.org/primereact/datatable/)
6
+ *
7
+ * @module datatable
8
+ *
9
+ */
1
10
  import * as React from 'react';
2
- import { Column, ColumnFilterMatchModeType } from '../column';
11
+ import { Column, ColumnProps } from '../column';
3
12
  import { PaginatorTemplate } from '../paginator';
4
13
  import { VirtualScroller, VirtualScrollerProps } from '../virtualscroller/virtualscroller';
5
14
 
6
- type DataTableHeaderTemplateType = React.ReactNode | ((options: DataTableHeaderTemplateOptions) => React.ReactNode);
15
+ type DataTableHeaderTemplateType<TValue extends DataTableValueArray> = React.ReactNode | ((options: DataTableHeaderTemplateOptions<TValue>) => React.ReactNode);
7
16
 
8
- type DataTableFooterTemplateType = React.ReactNode | ((options: DataTableFooterTemplateOptions) => React.ReactNode);
17
+ type DataTableFooterTemplateType<TValue extends DataTableValueArray> = React.ReactNode | ((options: DataTableFooterTemplateOptions<TValue>) => React.ReactNode);
9
18
 
10
- type DataTableRowGroupHeaderTemplateType = React.ReactNode | ((data: any, options: DataTableRowGroupHeaderTemplateOptions) => React.ReactNode);
19
+ type DataTableRowGroupHeaderTemplateType<TValue extends DataTableValueArray> = React.ReactNode | ((data: any, options: DataTableRowGroupHeaderTemplateOptions<TValue>) => React.ReactNode);
11
20
 
12
- type DataTableRowGroupFooterTemplateType = React.ReactNode | ((data: any, options: DataTableRowGroupFooterTemplateOptions) => React.ReactNode);
21
+ type DataTableRowGroupFooterTemplateType<TValue extends DataTableValueArray> = React.ReactNode | ((data: any, options: DataTableRowGroupFooterTemplateOptions<TValue>) => React.ReactNode);
13
22
 
14
- type DataTablePaginatorPositionType = 'top' | 'bottom' | 'both';
15
-
16
- type DataTableSortModeType = 'single' | 'multiple';
17
-
18
- type DataTableSortOrderType = 1 | 0 | -1 | undefined | null;
19
-
20
- type DataTableEmptyMessageType = React.ReactNode | ((frozen: boolean) => React.ReactNode);
21
-
22
- type DataTableSelectionModeType = 'single' | 'multiple' | 'checkbox' | 'radiobutton';
23
-
24
- type DataTableColumnResizeModeType = 'fit' | 'expand';
25
-
26
- type DataTableFilterMatchModeType = 'startsWith' | 'contains' | 'notContains' | 'endsWith' | 'equals' | 'notEquals' | 'in' | 'lt' | 'lte' | 'gt' | 'gte' | 'between' | 'dateIs' | 'dateIsNot' | 'dateBefore' | 'dateAfter' | 'custom';
27
-
28
- type DataTableGlobalFilterType = string | undefined | null;
29
-
30
- type DataTableMultiSortMetaType = DataTableSortMeta[] | undefined | null;
31
-
32
- type DataTableCompareSelectionByType = 'deepEquals' | 'equals';
33
-
34
- type DataTableStateStorageType = 'session' | 'local' | 'custom';
35
-
36
- type DataTableAppendToType = 'self' | HTMLElement | undefined | null;
37
-
38
- type DataTableSelectType = 'row' | 'cell' | 'checkbox' | 'radio' | 'all';
39
-
40
- type DataTableResponsiveLayoutType = 'scroll' | 'stack';
41
-
42
- type DataTableFilterDisplayType = 'menu' | 'row';
43
-
44
- type DataTableSizeType = 'small' | 'normal' | 'large';
45
-
46
- type DataTableScrollDirectionType = 'vertical' | 'horizontal' | 'both';
47
-
48
- interface DataTableHeaderTemplateOptions {
49
- props: DataTableProps;
23
+ /**
24
+ * Custom datatable header template options.
25
+ * @group Misc
26
+ */
27
+ interface DataTableHeaderTemplateOptions<TValue extends DataTableValueArray> {
28
+ /**
29
+ * The props of the datatable.
30
+ */
31
+ props: DataTableProps<TValue>;
50
32
  }
51
33
 
52
- interface DataTableFooterTemplateOptions extends DataTableHeaderTemplateOptions {}
34
+ interface DataTableFooterTemplateOptions<TValue extends DataTableValueArray> extends DataTableHeaderTemplateOptions<TValue> {}
53
35
 
54
- interface DataTableRowGroupHeaderTemplateOptions {
36
+ /**
37
+ * Custom datatable row group header template options.
38
+ * @group Misc
39
+ */
40
+ interface DataTableRowGroupHeaderTemplateOptions<TValue extends DataTableValueArray> {
41
+ /**
42
+ * index of the row group header template.
43
+ */
55
44
  index: number;
56
- props: DataTableProps;
45
+ /**
46
+ * The props of the datatable.
47
+ */
48
+ props: DataTableProps<TValue>;
49
+ /**
50
+ * Used to override the rendering of the content.
51
+ */
57
52
  customRendering: boolean;
58
53
  }
59
54
 
60
- interface DataTableRowGroupFooterTemplateOptions extends DataTableRowGroupHeaderTemplateOptions {
55
+ /**
56
+ * Custom datatable row group footer template options.
57
+ * @group Misc
58
+ */
59
+ interface DataTableRowGroupFooterTemplateOptions<T extends DataTableValueArray> extends DataTableRowGroupHeaderTemplateOptions<T> {
60
+ /**
61
+ * Number of columns to span for grouping.
62
+ */
61
63
  colSpan: number;
62
64
  }
63
65
 
66
+ /**
67
+ * Custom datatable sort meta
68
+ * @group Misc
69
+ */
64
70
  interface DataTableSortMeta {
71
+ /**
72
+ * Column field to sort against.
73
+ */
65
74
  field: string;
66
- order: DataTableSortOrderType;
75
+ /**
76
+ * Sort order as integer.
77
+ */
78
+ order: 1 | 0 | -1 | null | undefined;
67
79
  }
68
80
 
81
+ /**
82
+ * Custom datatable filter metadata.
83
+ * @group Misc
84
+ */
69
85
  interface DataTableFilterMetaData {
86
+ /**
87
+ * Value to filter against.
88
+ */
70
89
  value: any;
71
- matchMode: DataTableFilterMatchModeType;
90
+ /**
91
+ * Type of filter match.
92
+ */
93
+ matchMode: 'startsWith' | 'contains' | 'notContains' | 'endsWith' | 'equals' | 'notEquals' | 'in' | 'lt' | 'lte' | 'gt' | 'gte' | 'between' | 'dateIs' | 'dateIsNot' | 'dateBefore' | 'dateAfter' | 'custom' | undefined;
72
94
  }
73
95
 
96
+ /**
97
+ * Custom datatable operator filter metadata.
98
+ * @group Misc
99
+ */
74
100
  interface DataTableOperatorFilterMetaData {
101
+ /**
102
+ * Operator to use for filtering.
103
+ */
75
104
  operator: string;
105
+ /**
106
+ * Operator to use for filtering.
107
+ */
76
108
  constraints: DataTableFilterMetaData[];
77
109
  }
78
110
 
111
+ /**
112
+ * Custom datatable filter meta.
113
+ * @group Misc
114
+ */
79
115
  interface DataTableFilterMeta {
116
+ /**
117
+ * Extra options.
118
+ */
80
119
  [key: string]: DataTableFilterMetaData | DataTableOperatorFilterMetaData;
81
120
  }
82
121
 
122
+ /**
123
+ * Custom datatable expanded rows.
124
+ * @group Misc
125
+ */
83
126
  interface DataTableExpandedRows {
84
127
  [key: string]: boolean;
85
128
  }
86
129
 
130
+ /**
131
+ * Custom datatable editing rows.
132
+ * @group Misc
133
+ */
87
134
  interface DataTableEditingRows {
88
135
  [key: string]: boolean;
89
136
  }
90
137
 
91
- interface DataTableRowToggleParams {
138
+ /**
139
+ * Custom row toggle event.
140
+ * @see {@link DataTableProps.onRowToggle}
141
+ * @event
142
+ */
143
+ interface DataTableRowToggleEvent {
144
+ /**
145
+ * Expanded rows.
146
+ */
92
147
  data: any[] | DataTableExpandedRows;
93
148
  }
94
149
 
95
- interface DataTableColumnResizeEndParams {
150
+ /**
151
+ * Custom resize end event.
152
+ * @see {@link DataTableProps.onColumnResizeEnd}
153
+ * @event
154
+ */
155
+ interface DataTableColumnResizeEndEvent {
156
+ /**
157
+ * DOM element of the resized column.
158
+ */
96
159
  element: HTMLElement;
160
+ /**
161
+ * Properties of the resized column.
162
+ */
97
163
  column: Column;
164
+ /**
165
+ * Change in column width.
166
+ */
98
167
  delta: number;
99
168
  }
100
169
 
101
- interface DataTableColumnResizerClickParams {
170
+ /**
171
+ * Custom column resizer click event.
172
+ * @see {@link DataTableProps.onColumnResizerClick}, {@link DataTableProps.onColumnResizerDoubleClick}
173
+ * @event
174
+ */
175
+ interface DataTableColumnResizerClickEvent {
176
+ /**
177
+ * Browser event.
178
+ */
102
179
  originalEvent: React.MouseEvent<HTMLElement>;
180
+ /**
181
+ * DOM element of the column.
182
+ */
103
183
  element: HTMLElement;
184
+ /**
185
+ * Properties of the column.
186
+ */
104
187
  column: Column;
105
188
  }
106
189
 
107
- interface DataTablePageParams {
190
+ /**
191
+ * Custom pagination event
192
+ */
193
+ interface DataTablePageEvent {
194
+ /**
195
+ * Index of the first row.
196
+ */
108
197
  first: number;
198
+ /**
199
+ * Rows per page.
200
+ */
109
201
  rows: number;
202
+ /**
203
+ * The page number of the datatable.
204
+ */
110
205
  page?: number;
206
+ /**
207
+ * Total number of pages.
208
+ */
111
209
  pageCount?: number;
210
+ /**
211
+ * Extra options.
212
+ */
213
+ [key: string]: any;
112
214
  }
113
215
 
114
- interface DataTableSortParams {
216
+ /**
217
+ * Custom sort event.
218
+ * @event
219
+ */
220
+ interface DataTableSortEvent {
221
+ /**
222
+ * Field to sort against.
223
+ */
115
224
  sortField: string;
116
- sortOrder: DataTableSortOrderType;
117
- multiSortMeta: DataTableMultiSortMetaType;
225
+ /**
226
+ * Sort order as integer.
227
+ */
228
+ sortOrder: 1 | 0 | -1 | null | undefined;
229
+ /**
230
+ * MultiSort metadata.
231
+ */
232
+ multiSortMeta: DataTableSortMeta[] | null | undefined;
233
+ /**
234
+ * Extra options.
235
+ */
236
+ [key: string]: any;
118
237
  }
119
238
 
120
- interface DataTableFilterParams {
239
+ /**
240
+ * Custom filter event.
241
+ * @see {@link DataTableProps.onFilter}
242
+ * @event
243
+ */
244
+ interface DataTableFilterEvent {
245
+ /**
246
+ * Collection of active filters.
247
+ */
121
248
  filters: DataTableFilterMeta;
122
- }
123
-
124
- interface DataTablePFSEvent extends DataTablePageParams, DataTableSortParams, DataTableFilterParams {
249
+ /**
250
+ * Extra options.
251
+ */
125
252
  [key: string]: any;
126
253
  }
127
254
 
128
- interface DataTableDataSelectableParams {
129
- data: any;
255
+ /**
256
+ * Custom data selectable event.
257
+ * @see {@link DataTableProps.isDataSelectable}
258
+ * @event
259
+ */
260
+ interface DataTableDataSelectableEvent<TValue extends DataTableValueArray> {
261
+ /**
262
+ * Original data of the row.
263
+ */
264
+ data: DataTableRowDataArray<TValue>;
265
+ /**
266
+ * Index of the row.
267
+ */
130
268
  index: number;
131
269
  }
132
270
 
133
- interface DataTableSelectionChangeParams {
271
+ /**
272
+ * Custom selection change event.
273
+ * @see {@link DataTableProps.onContextMenuSelectionChange}, {@link DataTableProps.onSelectionChange}
274
+ * @event
275
+ */
276
+ interface DataTableSelectionChangeEvent<TValue extends DataTableValueArray> {
277
+ /**
278
+ * Browser event.
279
+ */
134
280
  originalEvent: React.SyntheticEvent;
135
- value: any;
281
+ /**
282
+ * Selection object.
283
+ */
284
+ value: DataTableSelection<TValue>;
285
+ /**
286
+ * Type of the selection.
287
+ */
136
288
  type?: string;
289
+ /**
290
+ * Extra options.
291
+ */
137
292
  [key: string]: any;
138
293
  }
139
294
 
140
- interface DataTableSelectAllChangeParams {
295
+ /**
296
+ * Custom select all change event.
297
+ * @see {@link DataTableProps.onSelectAllChange}
298
+ */
299
+ interface DataTableSelectAllChangeEvent {
300
+ /**
301
+ * Browser event.
302
+ */
141
303
  originalEvent: React.SyntheticEvent;
304
+ /**
305
+ * Whether all data is selected.
306
+ */
142
307
  checked: boolean;
143
308
  }
144
309
 
145
- interface DataTableRowEventParams {
310
+ /**
311
+ * Custom context menu event.
312
+ * @see {@link DataTableProps.onContextMenu}, {@link DataTableProps.onRowCollapse}, {@link DataTableProps.onRowExpand}
313
+ * @event
314
+ */
315
+ interface DataTableRowEvent {
316
+ /**
317
+ * Original event instance.
318
+ */
146
319
  originalEvent: React.SyntheticEvent;
147
- data: any;
320
+ /**
321
+ * Original rows data.
322
+ */
323
+ data: DataTableValue;
148
324
  }
149
325
 
150
- interface DataTableRowMouseEventParams extends Omit<DataTableRowEventParams, 'originalEvent'> {
326
+ /**
327
+ * Custom row mouse event.
328
+ * @see {@link DataTableProps.onRowMouseEnter}, {@link DataTableProps.onRowMouseLeave}
329
+ * @extends DataTableRowEvent
330
+ */
331
+ interface DataTableRowMouseEvent extends Omit<DataTableRowEvent, 'originalEvent'> {
332
+ /**
333
+ * Browser event.
334
+ */
151
335
  originalEvent: React.MouseEvent<HTMLElement>;
336
+ /**
337
+ * Clicked row data index
338
+ */
152
339
  index: number;
153
340
  }
154
341
 
155
- interface DataTableRowClickEventParams extends DataTableRowMouseEventParams {}
342
+ /**
343
+ * Custom row click event.
344
+ * @see {@link DataTableProps.onRowClick}, {@link DataTableProps.onRowDoubleClick}
345
+ * @extends DataTableRowMouseEvent
346
+ * @event
347
+ */
348
+ interface DataTableRowClickEvent extends DataTableRowMouseEvent {}
156
349
 
157
- interface DataTableCellClickEventParams {
350
+ /**
351
+ * Custom cell click event.
352
+ * @see {@link DataTableProps.onCellClick}
353
+ */
354
+ interface DataTableCellClickEvent<TValue extends DataTableValueArray> {
355
+ /**
356
+ * Browser event.
357
+ */
158
358
  originalEvent: React.MouseEvent<HTMLElement>;
359
+ /**
360
+ * Value of the cell.
361
+ */
159
362
  value: any;
363
+ /**
364
+ * Column field.
365
+ */
160
366
  field: string;
161
- rowData: any;
367
+ /**
368
+ * Data of the row.
369
+ */
370
+ rowData: DataTableRowData<TValue>;
371
+ /**
372
+ * Index of the row.
373
+ */
162
374
  rowIndex: number;
375
+ /**
376
+ * Index of the cell.
377
+ */
163
378
  cellIndex: number;
379
+ /**
380
+ * Whether the cell is selected or not.
381
+ */
164
382
  selected: boolean;
165
383
  }
166
384
 
167
- interface DataTableRowEditParams extends DataTableRowEventParams {
385
+ /**
386
+ * Custom row edit event.
387
+ * @see {@link DataTableProps.onRowEditInit}, {@link DataTableProps.onRowEditChange}, {@link DataTableProps.onRowEditCancel}
388
+ * @extends DataTableRowEvent
389
+ * @event
390
+ */
391
+ interface DataTableRowEditEvent extends DataTableRowEvent {
392
+ /**
393
+ * Index of the row.
394
+ */
168
395
  index: number;
169
396
  }
170
397
 
171
- interface DataTableRowEditSaveParams extends DataTableRowEditParams {
398
+ /**
399
+ * Custom row edit save event.
400
+ * @see {@link DataTableProps.onRowEditSave}
401
+ * @extends DataTableRowEditEvent
402
+ */
403
+ interface DataTableRowEditSaveEvent extends DataTableRowEditEvent {
404
+ /**
405
+ * Whether the row is valid or not.
406
+ */
172
407
  valid: boolean;
173
408
  }
174
409
 
175
- interface DataTableRowEditCompleteParams extends DataTableRowEventParams {
176
- newData: any;
410
+ /**
411
+ * Custom row edit complete event.
412
+ * @see {@link DataTableProps.onRowEditComplete}
413
+ * @extends DataTableRowEvent
414
+ * @event
415
+ */
416
+ interface DataTableRowEditCompleteEvent extends DataTableRowEvent {
417
+ /**
418
+ * Editing rows data.
419
+ */
420
+ newData: DataTableValue;
421
+ /**
422
+ * Column field.
423
+ */
177
424
  field: string;
425
+ /**
426
+ * Current editing row data index.
427
+ */
178
428
  index: number;
179
429
  }
180
430
 
181
- interface DataTableSelectParams {
431
+ /**
432
+ * Custom select event.
433
+ * @see {@link DataTableProps.onAllRowsSelect}, {@link DataTableProps.onRowSelect}
434
+ * @event
435
+ */
436
+ interface DataTableSelectEvent {
437
+ /**
438
+ * Browser event.
439
+ */
182
440
  originalEvent: React.SyntheticEvent;
441
+ /**
442
+ * Selected rows data.
443
+ */
183
444
  data: any;
184
- type: DataTableSelectType;
445
+ /**
446
+ * Type of the selection, valid value is "all".
447
+ */
448
+ type: 'row' | 'cell' | 'checkbox' | 'radio' | 'all' | undefined;
185
449
  }
186
450
 
187
- interface DataTableUnselectParams extends DataTableSelectParams {}
451
+ /**
452
+ * Custom unselect event.
453
+ * @see {@link DataTableProps.onAllRowsUnselect}, {@link DataTableProps.onRowUnselect}
454
+ * @extends DataTableSelectEvent
455
+ * @event
456
+ */
457
+ interface DataTableUnselectEvent extends DataTableSelectEvent {}
188
458
 
189
- interface DataTableExportFunctionParams {
190
- data: any;
459
+ /**
460
+ * Custom export function event.
461
+ * @see {@link DataTableProps.exportFunction}
462
+ * @event
463
+ */
464
+ interface DataTableExportFunctionEvent<TValue extends DataTableValueArray> {
465
+ /**
466
+ * Field data.
467
+ */
468
+ data: DataTableRowDataArray<TValue>;
469
+ /**
470
+ * Column field.
471
+ */
191
472
  field: string;
192
- rowData: any;
473
+ /**
474
+ * Data of the row.
475
+ */
476
+ rowData: DataTableRowData<TValue>;
477
+ /**
478
+ * Column.
479
+ */
193
480
  column: Column;
194
481
  }
195
482
 
196
- interface DataTableColReorderParams {
483
+ /**
484
+ * Custom column reorder event.
485
+ * @see {@link DataTableProps.onColReorder}
486
+ * @event
487
+ */
488
+ interface DataTableColReorderEvent {
489
+ /**
490
+ * Browser event.
491
+ */
197
492
  originalEvent: React.DragEvent<HTMLElement>;
493
+ /**
494
+ * Index of the dragged column.
495
+ */
198
496
  dragIndex: number;
497
+ /**
498
+ * Index of the dropped column.
499
+ */
199
500
  dropIndex: number;
501
+ /**
502
+ * Columns array after reorder.
503
+ */
200
504
  columns: React.ReactElement;
201
505
  }
202
506
 
203
- interface DataTableRowReorderParams {
507
+ /**
508
+ * Custom column reorder event.
509
+ * @see {@link DataTableProps.onRowReorder}
510
+ * @event
511
+ */
512
+ interface DataTableRowReorderEvent<TValue extends DataTableValueArray> {
513
+ /**
514
+ * Browser event.
515
+ */
204
516
  originalEvent: React.DragEvent<HTMLElement>;
205
- value: any;
517
+ /**
518
+ * New value after reorder.
519
+ */
520
+ value: DataTableRowDataArray<TValue>;
521
+ /**
522
+ * Index of the dragged row.
523
+ */
206
524
  dragIndex: number;
525
+ /**
526
+ * Index of the drop location.
527
+ */
207
528
  dropIndex: number;
208
529
  }
209
530
 
531
+ /**
532
+ * Options for the row expansion template
533
+ * @see {@link DataTableProps.rowExpansionTemplate}
534
+ * @group Misc
535
+ */
210
536
  interface DataTableRowExpansionTemplate {
537
+ /**
538
+ * Index of the row.
539
+ */
211
540
  index: number;
541
+ /**
542
+ * Used to override the rendering of the content.
543
+ */
212
544
  customRendering: boolean;
213
545
  }
214
546
 
215
- interface DataTableRowClassNameOptions {
216
- props: DataTableProps;
547
+ /**
548
+ * Custom row className options.
549
+ * @see {@link DataTableProps.rowClassName}
550
+ * @group Misc
551
+ */
552
+ interface DataTableRowClassNameOptions<TValue extends DataTableValueArray> {
553
+ /**
554
+ * The props of the datatable.
555
+ */
556
+ props: DataTableProps<TValue>;
217
557
  }
218
558
 
219
- interface DataTableCellClassNameOptions {
220
- props: DataTableProps;
221
- rowData: any;
559
+ /**
560
+ * Custom cell className options.
561
+ * @see {@link DataTableProps.cellClassName}
562
+ * @group Misc
563
+ */
564
+ interface DataTableCellClassNameOptions<TValue extends DataTableValueArray> {
565
+ /**
566
+ * The props of the datatable.
567
+ */
568
+ props: DataTableProps<TValue>;
569
+ /**
570
+ * Column element of the datatable.
571
+ */
222
572
  column: Column;
573
+ /**
574
+ * Column field.
575
+ */
576
+ field: string;
577
+ /**
578
+ * Whether the row is frozen or not.
579
+ */
580
+ frozenRow: boolean;
581
+ /**
582
+ * Index of the row.
583
+ */
584
+ rowIndex: number;
223
585
  }
224
586
 
225
- interface DataTableShowSelectionElementOptions {
587
+ /**
588
+ * Custom show selection element options.
589
+ * @see {@link DataTableProps.showSelectionElement}
590
+ * @group Misc
591
+ */
592
+ interface DataTableShowSelectionElementOptions<TValue extends DataTableValueArray> {
593
+ /**
594
+ * Index of the row.
595
+ */
226
596
  rowIndex: number;
227
- props: DataTableProps;
597
+ /**
598
+ * The props of the datatable.
599
+ */
600
+ props: DataTableProps<TValue>;
228
601
  }
229
602
 
230
- interface DataTableShowRowReorderElementOptions {
603
+ /**
604
+ * Custom show row reorder element options.
605
+ * @see {@link DataTableProps.showRowReorderElement}
606
+ * @group Misc
607
+ */
608
+ interface DataTableShowRowReorderElementOptions<TValue extends DataTableValueArray> {
609
+ /**
610
+ * Index of the row element.
611
+ */
231
612
  rowIndex: number;
232
- props: DataTableProps;
233
- }
234
-
235
- interface DataTableRowEditValidatorOptions {
236
- props: DataTableProps;
237
- }
238
-
239
- export interface DataTableProps extends Omit<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLDivElement>, HTMLDivElement>, 'size' | 'onContextMenu' | 'ref'> {
240
- id?: string;
241
- value?: any[];
242
- alwaysShowPaginator?: boolean;
243
- autoLayout?: boolean;
244
- breakpoint?: string;
245
- cellSelection?: boolean;
246
- className?: string;
247
- collapsedRowIcon?: string;
248
- columnResizeMode?: DataTableColumnResizeModeType;
249
- compareSelectionBy?: DataTableCompareSelectionByType;
250
- contextMenuSelection?: object;
251
- csvSeparator?: string;
252
- currentPageReportTemplate?: string;
253
- dataKey?: string;
254
- defaultSortOrder?: DataTableSortOrderType;
255
- dragSelection?: boolean;
256
- editMode?: string;
257
- editingRows?: any[] | DataTableEditingRows;
258
- emptyMessage?: DataTableEmptyMessageType;
259
- expandableRowGroups?: boolean;
260
- expandedRowIcon?: string;
261
- expandedRows?: any[] | DataTableExpandedRows;
262
- exportFilename?: string;
263
- filterDelay?: number;
264
- filterDisplay?: DataTableFilterDisplayType;
265
- filterLocale?: string;
266
- filters?: DataTableFilterMeta;
267
- first?: number;
268
- footer?: DataTableFooterTemplateType;
269
- footerColumnGroup?: React.ReactNode;
270
- frozenValue?: any[];
271
- frozenWidth?: string;
272
- globalFilter?: DataTableGlobalFilterType;
273
- globalFilterFields?: string[];
274
- globalFilterMatchMode?: ColumnFilterMatchModeType;
275
- groupRowsBy?: string;
276
- header?: DataTableHeaderTemplateType;
277
- headerColumnGroup?: React.ReactNode;
278
- lazy?: boolean;
279
- loading?: boolean;
280
- loadingIcon?: string;
281
- metaKeySelection?: boolean;
282
- multiSortMeta?: DataTableMultiSortMetaType;
283
- pageLinkSize?: number;
284
- paginator?: boolean;
285
- paginatorClassName?: string;
286
- paginatorDropdownAppendTo?: DataTableAppendToType;
287
- paginatorLeft?: React.ReactNode;
288
- paginatorPosition?: DataTablePaginatorPositionType;
289
- paginatorRight?: React.ReactNode;
290
- paginatorTemplate?: PaginatorTemplate;
291
- removableSort?: boolean;
292
- reorderableColumns?: boolean;
293
- reorderableRows?: boolean;
294
- resizableColumns?: boolean;
295
- responsiveLayout?: DataTableResponsiveLayoutType;
296
- rowGroupFooterTemplate?: DataTableRowGroupFooterTemplateType;
297
- rowGroupHeaderTemplate?: DataTableRowGroupHeaderTemplateType;
298
- rowGroupMode?: string;
299
- rowHover?: boolean;
300
- rows?: number;
301
- rowsPerPageOptions?: number[];
302
- scrollDirection?: DataTableScrollDirectionType;
303
- scrollHeight?: string;
304
- scrollable?: boolean;
305
- selectAll?: boolean;
306
- selectOnEdit?: boolean;
307
- selection?: any | any[];
308
- selectionAutoFocus?: boolean;
309
- selectionAriaLabel?: string;
310
- selectionMode?: DataTableSelectionModeType;
311
- selectionPageOnly?: boolean;
312
- showGridlines?: boolean;
313
- showSelectAll?: boolean;
314
- size?: DataTableSizeType;
315
- sortField?: string;
316
- sortMode?: DataTableSortModeType;
317
- sortOrder?: DataTableSortOrderType;
318
- stateKey?: string;
319
- stateStorage?: DataTableStateStorageType;
320
- stripedRows?: boolean;
321
- style?: React.CSSProperties;
322
- tabIndex?: number;
323
- tableClassName?: string;
324
- tableStyle?: React.CSSProperties;
325
- totalRecords?: number;
326
- virtualScrollerOptions?: VirtualScrollerProps;
327
- cellClassName?(value: any, options: DataTableCellClassNameOptions): object | string;
328
- customRestoreState?(): object;
613
+ /**
614
+ * The props of the datatable.
615
+ */
616
+ props: DataTableProps<TValue>;
617
+ }
618
+
619
+ /**
620
+ * Custom row edit validator options.
621
+ * @see {@link DataTableProps.rowEditValidator}
622
+ * @group Misc
623
+ */
624
+ interface DataTableRowEditValidatorOptions<TValue extends DataTableValueArray> {
625
+ /**
626
+ * The props of the datatable.
627
+ */
628
+ props: DataTableProps<TValue>;
629
+ }
630
+
631
+ interface DataTableValue extends Record<string, any> {}
632
+
633
+ interface DataTableValueArray extends Array<DataTableValue> {}
634
+
635
+ /**
636
+ * @group Misc
637
+ */
638
+ type DataTableRowData<TValue extends DataTableValueArray> = {
639
+ [K in keyof TValue]: TValue[K];
640
+ };
641
+
642
+ /**
643
+ * @group Misc
644
+ */
645
+ type DataTableRowDataArray<TValue extends DataTableValueArray> = DataTableRowData<TValue>[];
646
+
647
+ /**
648
+ * @group Misc
649
+ */
650
+ type DataTableCellSelection<TValue extends DataTableValueArray> = {
651
+ /**
652
+ * Index of the cell.
653
+ */
654
+ cellIndex: number;
655
+ /**
656
+ * Column element of the datatable.
657
+ */
658
+ column: Column;
659
+ /**
660
+ * Column field.
661
+ */
662
+ field: string;
663
+ /**
664
+ * Properties of the column.
665
+ */
666
+ props: ColumnProps;
667
+ /**
668
+ * Data of the row.
669
+ */
670
+ rowData: DataTableRowData<TValue>;
671
+ /**
672
+ * Index of the row.
673
+ */
674
+ rowIndex: number;
675
+ /**
676
+ * Whether the row is selected or not.
677
+ */
678
+ selected: boolean;
679
+ /**
680
+ * Value of the cell.
681
+ */
682
+ value: TValue[keyof TValue];
683
+ };
684
+
685
+ /**
686
+ * @group Misc
687
+ */
688
+ type DataTableSelection<TValue extends DataTableValueArray> = DataTableRowData<TValue> | DataTableRowDataArray<TValue> | DataTableCellSelection<TValue>;
689
+
690
+ /**
691
+ * Defines valid properties in DataTable component. In addition to these, all properties of HTMLDivElement can be used in this component.
692
+ * @group Properties
693
+ */
694
+ export interface DataTableProps<TValue extends DataTableValueArray> extends Omit<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLDivElement>, HTMLDivElement>, 'size' | 'onContextMenu' | 'ref' | 'value'> {
695
+ /**
696
+ * Unique identifier of the element.
697
+ */
698
+ id?: string | undefined;
699
+ /**
700
+ * An array of objects to display.
701
+ */
702
+ value?: TValue | undefined;
703
+ /**
704
+ * Whether to show it even there is only one page.
705
+ * @defaultValue true
706
+ */
707
+ alwaysShowPaginator?: boolean | undefined;
708
+ /**
709
+ * Whether the cell widths scale according to their content or not.
710
+ * @defaultValue false
711
+ */
712
+ autoLayout?: boolean | undefined;
713
+ /**
714
+ * The breakpoint to define the maximum width boundary when using stack responsive layout.
715
+ * @defaultValue 960px
716
+ */
717
+ breakpoint?: string | undefined;
718
+ /**
719
+ * Whether to cell selection is enabled or not.
720
+ * @defaultValue false
721
+ */
722
+ cellSelection?: boolean | undefined;
723
+ /**
724
+ * Style class of the component.
725
+ */
726
+ className?: string | undefined;
727
+ /**
728
+ * Icon of the row toggler to display the row as collapsed.
729
+ * @defaultValue pi pi-chevron-up
730
+ */
731
+ collapsedRowIcon?: string | undefined;
732
+ /**
733
+ * Used to define the resize mode of the columns, valid values are "fit" and "expand".
734
+ * @defaultValue fit
735
+ */
736
+ columnResizeMode?: 'fit' | 'expand' | undefined;
737
+ /**
738
+ * Algorithm to define if a row is selected, valid values are "equals" that compares by reference and "deepEquals" that compares all fields.
739
+ * @defaultValue deepEquals
740
+ */
741
+ compareSelectionBy?: 'deepEquals' | 'equals' | undefined;
742
+ /**
743
+ * Selected row in single mode or an array of values in multiple mode.
744
+ */
745
+ contextMenuSelection?: object | undefined;
746
+ /**
747
+ * Character to use as the csv separator.
748
+ * @defaultValue ,
749
+ */
750
+ csvSeparator?: string | undefined;
751
+ /**
752
+ * Template of the current page report element. Available placeholders are &#123;currentPage&#125;, &#123;totalPages&#125;, &#123;rows&#125;, &#123;first&#125;, &#123;last&#125; and &#123;totalRecords&#125;
753
+ * @defaultValue (&#123;currentPage&#125; of &#123;totalPages&#125;)
754
+ */
755
+ currentPageReportTemplate?: string | undefined;
756
+ /**
757
+ * Name of the field that uniquely identifies a record in the data. Should be a unique business key to prevent re-rendering.
758
+ * @defaultValue (&#123;currentPage&#125; of &#123;totalPages&#125;)
759
+ */
760
+ dataKey?: string | undefined;
761
+ /**
762
+ * Default sort order of an unsorted column.
763
+ * @defaultValue (&#123;currentPage&#125; of &#123;totalPages&#125;)
764
+ */
765
+ defaultSortOrder?: 1 | 0 | -1 | null | undefined;
766
+ /**
767
+ * When enabled, a rectangle that can be dragged can be used to make a range selection.
768
+ * @defaultValue false
769
+ */
770
+ dragSelection?: boolean | undefined;
771
+ /**
772
+ * Defines editing mode, options are "cell" and "row".
773
+ * @defaultValue cell
774
+ */
775
+ editMode?: string | undefined;
776
+ /**
777
+ * A collection of rows to represent the current editing data in row edit mode.
778
+ */
779
+ editingRows?: DataTableValueArray | DataTableEditingRows | undefined;
780
+ /**
781
+ * Text to display when there is no data.
782
+ */
783
+ emptyMessage?: React.ReactNode | ((frozen: boolean) => React.ReactNode);
784
+ /**
785
+ * Makes row groups toggleable, default is false.
786
+ * @defaultValue false
787
+ */
788
+ expandableRowGroups?: boolean | undefined;
789
+ /**
790
+ * Icon of the row toggler to display the row as expanded.
791
+ * @defaultValue pi pi-chevron-down
792
+ */
793
+ expandedRowIcon?: string | undefined;
794
+ /**
795
+ * A collection of rows or a map object row data keys that are expanded.
796
+ */
797
+ expandedRows?: DataTableValueArray | DataTableExpandedRows | undefined;
798
+ /**
799
+ * Name of the exported file.
800
+ * @defaultValue download
801
+ */
802
+ exportFilename?: string | undefined;
803
+ /**
804
+ * Delay in milliseconds before filtering the data.
805
+ * @defaultValue 300
806
+ */
807
+ filterDelay?: number | undefined;
808
+ /**
809
+ * Layout of the filter elements, valid values are "row" and "menu".
810
+ * @defaultValue menu
811
+ */
812
+ filterDisplay?: 'menu' | 'row' | undefined;
813
+ /**
814
+ * Locale to use in filtering. The default locale is the host environment's current locale.
815
+ * @defaultValue undefined
816
+ */
817
+ filterLocale?: string | undefined;
818
+ /**
819
+ * An array of FilterMetadata objects to provide external filters.
820
+ */
821
+ filters?: DataTableFilterMeta | undefined;
822
+ /**
823
+ * Index of the first row to be displayed.
824
+ * @defaultValue 0
825
+ */
826
+ first?: number | undefined;
827
+ /**
828
+ * Custom footer content of the table.
829
+ */
830
+ footer?: DataTableFooterTemplateType<TValue>;
831
+ /**
832
+ * ColumnGroup component for footer.
833
+ */
834
+ footerColumnGroup?: React.ReactNode | undefined;
835
+ /**
836
+ * Items of the frozen part in scrollable DataTable.
837
+ */
838
+ frozenValue?: DataTableRowDataArray<TValue>;
839
+ /**
840
+ * Width of the frozen part in scrollable DataTable.
841
+ */
842
+ frozenWidth?: string | undefined;
843
+ /**
844
+ * Value of the global filter to use in filtering.
845
+ */
846
+ globalFilter?: string | null | undefined;
847
+ /**
848
+ * Define fields to be filtered globally.
849
+ */
850
+ globalFilterFields?: string[] | undefined;
851
+ /**
852
+ * Defines filterMatchMode; "startsWith", "contains", "endsWith", "equals", "notEquals", "in", "lt", "lte", "gt", "gte" and "custom".
853
+ * @defaultValue contains
854
+ */
855
+ globalFilterMatchMode?: 'startsWith' | 'contains' | 'endsWith' | 'equals' | 'notEquals' | 'in' | 'lt' | 'lte' | 'gt' | 'gte' | 'custom' | undefined;
856
+ /**
857
+ * Used for either be grouped by a separate grouping row or using rowspan.
858
+ */
859
+ groupRowsBy?: string | undefined;
860
+ /**
861
+ * Custom header content of the table.
862
+ */
863
+ header?: DataTableHeaderTemplateType<TValue> | undefined;
864
+ /**
865
+ * ColumnGroup component for header.
866
+ */
867
+ headerColumnGroup?: React.ReactNode | undefined;
868
+ /**
869
+ * Defines if data is loaded and interacted with in lazy manner.
870
+ * @defaultValue false
871
+ */
872
+ lazy?: boolean | undefined;
873
+ /**
874
+ * Displays a loader to indicate data load is in progress.
875
+ * @defaultValue false
876
+ */
877
+ loading?: boolean | undefined;
878
+ /**
879
+ * The icon to show while indicating data load is in progress.
880
+ * @defaultValue pi pi-spinner
881
+ */
882
+ loadingIcon?: string | undefined;
883
+ /**
884
+ * Defines whether metaKey is requred or not for the selection. When true metaKey needs to be pressed to select or unselect an item and when set to false selection of each item can be toggled individually. On touch enabled devices, metaKeySelection is turned off automatically.
885
+ * @defaultValue true
886
+ */
887
+ metaKeySelection?: boolean | undefined;
888
+ /**
889
+ * An array of SortMeta objects to sort the data by default in multiple sort mode.
890
+ */
891
+ multiSortMeta?: DataTableSortMeta[] | null | undefined;
892
+ /**
893
+ * Number of page links to display.
894
+ * @defaultValue 5
895
+ */
896
+ pageLinkSize?: number | undefined;
897
+ /**
898
+ * When specified as true, enables the pagination.
899
+ * @defaultValue false
900
+ */
901
+ paginator?: boolean | undefined;
902
+ /**
903
+ * Style class of the paginator element.
904
+ */
905
+ paginatorClassName?: string | undefined;
906
+ /**
907
+ * DOM element instance where the overlay panel should be mounted. Valid values are any DOM Element and 'self'. The self value is used to render a component where it is located.
908
+ * @defaultValue document.body
909
+ */
910
+ paginatorDropdownAppendTo?: 'self' | HTMLElement | null | undefined;
911
+ /**
912
+ * Content for the left side of the paginator.
913
+ */
914
+ paginatorLeft?: React.ReactNode | undefined;
915
+ /**
916
+ * Position of the paginator, options are "top","bottom" or "both".
917
+ * @defaultValue bottom
918
+ */
919
+ paginatorPosition?: 'top' | 'bottom' | 'both' | undefined;
920
+ /**
921
+ * Content for the right side of the paginator.
922
+ */
923
+ paginatorRight?: React.ReactNode | undefined;
924
+ /**
925
+ * Template of the paginator. For details, refer to the template section of the paginator documentation for further options.
926
+ * @defaultValue FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown
927
+ */
928
+ paginatorTemplate?: PaginatorTemplate | undefined;
929
+ /**
930
+ * When enabled, columns can have an un-sorted state.
931
+ * @defaultValue false
932
+ */
933
+ removableSort?: boolean | undefined;
934
+ /**
935
+ * When enabled, columns can be reordered using drag and drop.
936
+ * @defaultValue false
937
+ */
938
+ reorderableColumns?: boolean | undefined;
939
+ /**
940
+ * When enabled, rows can be reordered using drag and drop.
941
+ * @defaultValue false
942
+ */
943
+ reorderableRows?: boolean | undefined;
944
+ /**
945
+ * When enabled, columns can be resized using drag and drop.
946
+ * @defaultValue false
947
+ */
948
+ resizableColumns?: boolean | undefined;
949
+ /**
950
+ * Defines the responsive mode, valid options are "stack" and "scroll".
951
+ * @defaultValue stack
952
+ */
953
+ responsiveLayout?: 'scroll' | 'stack' | undefined;
954
+ /**
955
+ * Function to provide the content of row group footer.
956
+ */
957
+ rowGroupFooterTemplate?: DataTableRowGroupFooterTemplateType<TValue> | undefined;
958
+ /**
959
+ * Function to provide the content of row group header.
960
+ */
961
+ rowGroupHeaderTemplate?: DataTableRowGroupHeaderTemplateType<TValue> | undefined;
962
+ /**
963
+ * Defines the row grouping mode, valid values are "subheader" and "rowgroup".
964
+ */
965
+ rowGroupMode?: string | undefined;
966
+ /**
967
+ * When enabled, background of the rows change on hover.
968
+ */
969
+ rowHover?: boolean | undefined;
970
+ /**
971
+ * Number of rows to display per page.
972
+ */
973
+ rows?: number | undefined;
974
+ /**
975
+ * Array of integer values to display inside rows per page dropdown.
976
+ */
977
+ rowsPerPageOptions?: number[] | undefined;
978
+ /**
979
+ * Orientation of the scrolling, options are "vertical", "horizontal" and "both".
980
+ * @defaultValue vertical|horizontal
981
+ */
982
+ scrollDirection?: 'vertical' | 'horizontal' | 'both' | undefined;
983
+ /**
984
+ * Height of the scroll viewport.
985
+ */
986
+ scrollHeight?: string | undefined;
987
+ /**
988
+ * When specified, enables horizontal and/or vertical scrolling.
989
+ * @defaultValue false
990
+ */
991
+ scrollable?: boolean | undefined;
992
+ /**
993
+ * When specified, selects all rows on page.
994
+ * @defaultValue false
995
+ */
996
+ selectAll?: boolean | undefined;
997
+ /**
998
+ * Determines whether the cell editor will be opened when clicking to select any row on Selection and Cell Edit modes.
999
+ * @defaultValue true
1000
+ */
1001
+ selectOnEdit?: boolean | undefined;
1002
+ /**
1003
+ * Selected row in single mode or an array of values in multiple mode.
1004
+ * @defaultValue true
1005
+ */
1006
+ selection?: DataTableSelection<TValue> | undefined;
1007
+ /**
1008
+ * When a selectable row is clicked on RadioButton and Checkbox selection, it automatically decides whether to focus on elements such as checkbox or radio.
1009
+ * @defaultValue true
1010
+ */
1011
+ selectionAutoFocus?: boolean | undefined;
1012
+ /**
1013
+ * A field property from the row to add Select &#123;field&#125; and Unselect &#123;field&#125; ARIA labels to checkbox/radio buttons.
1014
+ */
1015
+ selectionAriaLabel?: string | undefined;
1016
+ /**
1017
+ * Specifies the selection mode, valid values are "single", "multiple", "radiobutton" and "checkbox".
1018
+ */
1019
+ selectionMode?: 'single' | 'multiple' | 'checkbox' | 'radiobutton' | undefined;
1020
+ /**
1021
+ * When enabled with paginator and checkbox selection mode, the select all checkbox in the header will select all rows on the current page.
1022
+ * @defaultValue false
1023
+ */
1024
+ selectionPageOnly?: boolean | undefined;
1025
+ /**
1026
+ * Whether to show grid lines between cells.
1027
+ * @defaultValue false
1028
+ */
1029
+ showGridlines?: boolean | undefined;
1030
+ /**
1031
+ * Whether to show the select all checkbox inside the datatable's header.
1032
+ */
1033
+ showSelectAll?: boolean | undefined;
1034
+ /**
1035
+ * Define to set alternative sizes. Valid values: "small", "normal" and "large".
1036
+ * @defaultValue normal
1037
+ */
1038
+ size?: 'small' | 'normal' | 'large' | undefined;
1039
+ /**
1040
+ * Property of a row data used for sorting, defaults to field.
1041
+ */
1042
+ sortField?: string | undefined;
1043
+ /**
1044
+ * Defines whether sorting works on single column or on multiple columns.
1045
+ * @defaultValue single
1046
+ */
1047
+ sortMode?: 'single' | 'multiple' | undefined;
1048
+ /**
1049
+ * Order to sort the data by default.
1050
+ */
1051
+ sortOrder?: 1 | 0 | -1 | null | undefined;
1052
+ /**
1053
+ * Unique identifier of a stateful table to use in state storage.
1054
+ */
1055
+ stateKey?: string | undefined;
1056
+ /**
1057
+ * Defines where a stateful table keeps its state, valid values are "session" for sessionStorage, "local" for localStorage and "custom".
1058
+ * @defaultValue session
1059
+ */
1060
+ stateStorage?: 'session' | 'local' | 'custom' | undefined;
1061
+ /**
1062
+ * Whether to displays rows with alternating colors.
1063
+ * @defaultValue false
1064
+ */
1065
+ stripedRows?: boolean | undefined;
1066
+ /**
1067
+ * Inline style of the component.
1068
+ */
1069
+ style?: React.CSSProperties | undefined;
1070
+ /**
1071
+ * Index of the element in tabbing order.
1072
+ */
1073
+ tabIndex?: number | undefined;
1074
+ /**
1075
+ * Style class of the table element.
1076
+ */
1077
+ tableClassName?: string | undefined;
1078
+ /**
1079
+ * Inline style of the table element.
1080
+ */
1081
+ tableStyle?: React.CSSProperties | undefined;
1082
+ /**
1083
+ * Number of total records, defaults to length of value when not defined.
1084
+ */
1085
+ totalRecords?: number | undefined;
1086
+ /**
1087
+ * Whether to use the virtualScroller feature. The properties of VirtualScroller component can be used like an object in it.
1088
+ *
1089
+ * Note: Currently only vertical orientation mode is supported.
1090
+ */
1091
+ virtualScrollerOptions?: VirtualScrollerProps | undefined;
1092
+ /**
1093
+ * Function that takes the cell data and returns an object in &#123;'styleclass' : condition&#125; format to define a classname for a particular now.
1094
+ * @param {*} value - Value of the cell.
1095
+ * @param {DataTableCellClassNameOptions<TValue>} options - ClassName options.
1096
+ * @return {object | string | undefined} A string or object to define a classname for a particular cell.
1097
+ */
1098
+ cellClassName?(value: any, options: DataTableCellClassNameOptions<TValue>): object | string | undefined;
1099
+ /**
1100
+ * A function to implement custom restoreState with stateStorage="custom". Need to return state object.
1101
+ * @return {object | undefined} Returns the state object.
1102
+ */
1103
+ customRestoreState?(): object | undefined;
1104
+ /**
1105
+ * A function to implement custom saveState with stateStorage="custom".
1106
+ * @param {object} state - The object to be stored.
1107
+ */
329
1108
  customSaveState?(state: object): void;
330
- exportFunction?(e: DataTableExportFunctionParams): any;
331
- isDataSelectable?(e: DataTableDataSelectableParams): boolean | undefined | null;
332
- onAllRowsSelect?(e: DataTableSelectParams): void;
333
- onAllRowsUnselect?(e: DataTableUnselectParams): void;
334
- onCellClick?(e: DataTableCellClickEventParams): void;
335
- onCellSelect?(e: DataTableSelectParams): void;
336
- onCellUnselect?(e: DataTableUnselectParams): void;
337
- onColReorder?(e: DataTableColReorderParams): void;
338
- onColumnResizeEnd?(e: DataTableColumnResizeEndParams): void;
339
- onColumnResizerClick?(e: DataTableColumnResizerClickParams): void;
340
- onColumnResizerDoubleClick?(e: DataTableColumnResizerClickParams): void;
341
- onContextMenu?(e: DataTableRowEventParams): void;
342
- onContextMenuSelectionChange?(e: DataTableSelectionChangeParams): void;
343
- onFilter?(e: DataTablePFSEvent): void;
344
- onPage?(e: DataTablePFSEvent): void;
345
- onRowClick?(e: DataTableRowClickEventParams): void;
346
- onRowCollapse?(e: DataTableRowEventParams): void;
347
- onRowDoubleClick?(e: DataTableRowClickEventParams): void;
348
- onRowEditCancel?(e: DataTableRowEditParams): void;
349
- onRowEditChange?(e: DataTableRowEditParams): void;
350
- onRowEditComplete?(e: DataTableRowEditCompleteParams): void;
351
- onRowEditInit?(e: DataTableRowEditParams): void;
352
- onRowEditSave?(e: DataTableRowEditSaveParams): void;
353
- onRowExpand?(e: DataTableRowEventParams): void;
354
- onRowMouseEnter?(e: DataTableRowMouseEventParams): void;
355
- onRowMouseLeave?(e: DataTableRowMouseEventParams): void;
356
- onRowReorder?(e: DataTableRowReorderParams): void;
357
- onRowSelect?(e: DataTableSelectParams): void;
358
- onRowToggle?(e: DataTableRowToggleParams): void;
359
- onRowUnselect?(e: DataTableUnselectParams): void;
360
- onSelectAllChange?(e: DataTableSelectAllChangeParams): void;
361
- onSelectionChange?(e: DataTableSelectionChangeParams): void;
362
- onSort?(e: DataTablePFSEvent): void;
1109
+ /**
1110
+ * A function to implement custom export. Need to return string value.
1111
+ * @param {DataTableExportFunctionEvent<TValue>} event - Custom export function event.
1112
+ */
1113
+ exportFunction?(event: DataTableExportFunctionEvent<TValue>): any;
1114
+ /**
1115
+ * Function that returns a boolean to decide whether the data should be selectable.
1116
+ * @param {DataTableDataSelectableEvent<TValue>} event - Custom data selectable event.
1117
+ */
1118
+ isDataSelectable?(event: DataTableDataSelectableEvent<TValue>): boolean | undefined | null;
1119
+ /**
1120
+ * Callback to invoke when all rows are selected using the header checkbox.
1121
+ * @param {DataTableSelectEvent} event - Custom select event.
1122
+ */
1123
+ onAllRowsSelect?(event: DataTableSelectEvent): void;
1124
+ /**
1125
+ * Callback to invoke when all rows are unselected using the header checkbox.
1126
+ * @param {DataTableUnselectEvent} event - Custom unselect event.
1127
+ */
1128
+ onAllRowsUnselect?(event: DataTableUnselectEvent): void;
1129
+ /**
1130
+ * Callback to invoke on cell click.
1131
+ * @param {DataTableCellClickEvent<TValue>} event - Custom cell click event.
1132
+ */
1133
+ onCellClick?(event: DataTableCellClickEvent<TValue>): void;
1134
+ /**
1135
+ * Callback to invoke on cell select.
1136
+ * @param {DataTableSelectEvent} event - Custom select event.
1137
+ */
1138
+ onCellSelect?(event: DataTableSelectEvent): void;
1139
+ /**
1140
+ * Callback to invoke on cell unselect.
1141
+ * @param {DataTableUnselectEvent} event - Custom unselect event.
1142
+ */
1143
+ onCellUnselect?(event: DataTableUnselectEvent): void;
1144
+ /**
1145
+ * Callback to invoke when a column is reordered.
1146
+ * @param {DataTableColReorderEvent} event - Custom column reorder event.
1147
+ */
1148
+ onColReorder?(event: DataTableColReorderEvent): void;
1149
+ /**
1150
+ * Callback to invoke when a column is resized.
1151
+ * @param {DataTableColumnResizeEndEvent} event - Custom column resize end event.
1152
+ */
1153
+ onColumnResizeEnd?(event: DataTableColumnResizeEndEvent): void;
1154
+ /**
1155
+ * Callback to invoke when a resizer element is clicked.
1156
+ * @param {DataTableColumnResizerClickEvent} event - Custom column resizer click event.
1157
+ */
1158
+ onColumnResizerClick?(event: DataTableColumnResizerClickEvent): void;
1159
+ /**
1160
+ * Callback to invoke when a resizer element is double clicked.
1161
+ * @param {DataTableColumnResizerClickEvent} event - Custom column resizer double click event.
1162
+ */
1163
+ onColumnResizerDoubleClick?(event: DataTableColumnResizerClickEvent): void;
1164
+ /**
1165
+ * Callback to invoke when a context menu is clicked.
1166
+ * @param {DataTableRowEvent} event - Custom row event.
1167
+ */
1168
+ onContextMenu?(event: DataTableRowEvent): void;
1169
+ /**
1170
+ * Callback to invoke when a row selected with right click.
1171
+ * @param {DataTableRowEvent} event - Custom row event.
1172
+ */
1173
+ onContextMenuSelectionChange?(event: DataTableSelectionChangeEvent<TValue>): void;
1174
+ /**
1175
+ * Callback to invoke on filtering.
1176
+ * @param {DataTableFilterEvent} event - Custom filter event.
1177
+ */
1178
+ onFilter?(event: DataTableFilterEvent): void;
1179
+ /**
1180
+ * Callback to invoke on pagination.
1181
+ * @param {DataTablePageEvent} event - Custom pagination event.
1182
+ */
1183
+ onPage?(event: DataTablePageEvent): void;
1184
+ /**
1185
+ * Callback to invoke when a row is clicked.
1186
+ * @param {DataTableRowClickEvent} event - Custom row click event.
1187
+ */
1188
+ onRowClick?(event: DataTableRowClickEvent): void;
1189
+ /**
1190
+ * Callback to invoke when a row is collapsed.
1191
+ * @param {DataTableRowEvent} event - Custom row event.
1192
+ */
1193
+ onRowCollapse?(event: DataTableRowEvent): void;
1194
+ /**
1195
+ * Callback to invoke when a row is double clicked.
1196
+ * @param {DataTableRowClickEvent} event - Custom click event.
1197
+ */
1198
+ onRowDoubleClick?(event: DataTableRowClickEvent): void;
1199
+ /**
1200
+ * Callback to invoke when the cancel icon is clicked on row editing mode.
1201
+ * @param {DataTableRowEditEvent} event - Custom row edit event.
1202
+ */
1203
+ onRowEditCancel?(event: DataTableRowEditEvent): void;
1204
+ /**
1205
+ * Callback to invoke when the cancel icon is clicked on row editing mode.
1206
+ * @param {DataTableRowEditEvent} event - Custom row edit event.
1207
+ */
1208
+ onRowEditChange?(event: DataTableRowEditEvent): void;
1209
+ /**
1210
+ * Callback to invoke when row edit is completed.
1211
+ * @param {DataTableRowEditCompleteEvent} event - Custom row edit complete event.
1212
+ */
1213
+ onRowEditComplete?(event: DataTableRowEditCompleteEvent): void;
1214
+ /**
1215
+ * Callback to invoke when the editing icon is clicked on row editing mode.
1216
+ * @param {DataTableRowEditEvent} event - Custom row edit event.
1217
+ */
1218
+ onRowEditInit?(event: DataTableRowEditEvent): void;
1219
+ /**
1220
+ * Callback to invoke when the save icon is clicked on row editing mode.
1221
+ * @param {DataTableRowEditSaveEvent} event - Custom row edit save event.
1222
+ */
1223
+ onRowEditSave?(event: DataTableRowEditSaveEvent): void;
1224
+ /**
1225
+ * Callback to invoke when a row is expanded.
1226
+ * @param {DataTableRowEvent} event - Custom row event.
1227
+ */
1228
+ onRowExpand?(event: DataTableRowEvent): void;
1229
+ /**
1230
+ * Callback to invoke when a row is hovered with mouse.
1231
+ * @param {DataTableRowMouseEvent} event - Custom row mouse event.
1232
+ */
1233
+ onRowMouseEnter?(event: DataTableRowMouseEvent): void;
1234
+ /**
1235
+ * Callback to invoke when a row is navigated away from with mouse.
1236
+ * @param {DataTableRowMouseEvent} event - Custom row mouse event.
1237
+ */
1238
+ onRowMouseLeave?(event: DataTableRowMouseEvent): void;
1239
+ /**
1240
+ * Callback to update the new order.
1241
+ * @param {DataTableRowReorderEvent<TValue>} event - Custom row reorder event.
1242
+ */
1243
+ onRowReorder?(event: DataTableRowReorderEvent<TValue>): void;
1244
+ /**
1245
+ * Callback to invoke when a row is selected.
1246
+ * @param {DataTableSelectEvent} event - Custom select event.
1247
+ */
1248
+ onRowSelect?(event: DataTableSelectEvent): void;
1249
+ /**
1250
+ * Callback to invoke when a row is toggled or collapsed.
1251
+ * @param {DataTableRowToggleEvent} event - Custom row toggle event.
1252
+ */
1253
+ onRowToggle?(event: DataTableRowToggleEvent): void;
1254
+ /**
1255
+ * Callback to invoke when a row is unselected.
1256
+ * @param {DataTableUnselectEvent} event - Custom unselect event.
1257
+ */
1258
+ onRowUnselect?(event: DataTableUnselectEvent): void;
1259
+ /**
1260
+ * Callback to invoke when select all value changes.
1261
+ * @param {DataTableSelectAllChangeEvent} event - Custom select all change event.
1262
+ */
1263
+ onSelectAllChange?(event: DataTableSelectAllChangeEvent): void;
1264
+ /**
1265
+ * Callback to invoke when selection changes.
1266
+ * @param {DataTableSelectionChangeEvent<TValue>} event - Custom selection change event.
1267
+ */
1268
+ onSelectionChange?(event: DataTableSelectionChangeEvent<TValue>): void;
1269
+ /**
1270
+ * Callback to invoke on sort.
1271
+ * @param {DataTableSortEvent} event - Custom sort event.
1272
+ */
1273
+ onSort?(event: DataTableSortEvent): void;
1274
+ /**
1275
+ * Callback to invoke table state is restored.
1276
+ * @param {object} state - Table state.
1277
+ */
363
1278
  onStateRestore?(state: object): void;
1279
+ /**
1280
+ * Callback to invoke table state is saved.
1281
+ * @param {object} state - Table state.
1282
+ */
364
1283
  onStateSave?(state: object): void;
365
- onValueChange?(value: any[]): void;
366
- rowClassName?(data: any, options: DataTableRowClassNameOptions): object | string;
367
- rowEditValidator?(data: any, options: DataTableRowEditValidatorOptions): boolean;
368
- rowExpansionTemplate?(data: any, options: DataTableRowExpansionTemplate): React.ReactNode;
369
- showRowReorderElement?(data: any, options: DataTableShowRowReorderElementOptions): boolean | undefined | null;
370
- showSelectionElement?(data: any, options: DataTableShowSelectionElementOptions): boolean | undefined | null;
371
- children?: React.ReactNode;
1284
+ /**
1285
+ * Callback to invoke after filtering and sorting to pass the rendered value.
1286
+ * @param {DataTableRowDataArray<TValue>} value - Value displayed by the table.
1287
+ */
1288
+ onValueChange?(value: DataTableRowDataArray<TValue>): void;
1289
+ /**
1290
+ * Function that takes the row data and returns an object in &#123;'styleclass' : condition&#125; format to define a classname for a particular now.
1291
+ * @param {DataTableRowData<TValue>} data - Value displayed by the table.
1292
+ */
1293
+ rowClassName?(data: DataTableRowData<TValue>, options: DataTableRowClassNameOptions<TValue>): object | string | undefined;
1294
+ /**
1295
+ * Callback to invoke to validate the editing row when the save icon is clicked on row editing mode.
1296
+ * @param {DataTableRowData<TValue>} data - Editing row data.
1297
+ */
1298
+ rowEditValidator?(data: DataTableRowData<TValue>, options: DataTableRowEditValidatorOptions<TValue>): boolean | undefined;
1299
+ /**
1300
+ * Function that receives the row data as the parameter and returns the expanded row content. You can override the rendering of the content by setting options.customRendering = true.
1301
+ * @param {DataTableRowData<TValue>} data - Editing row data.
1302
+ * @param {DataTableRowExpansionTemplate} options - Options for the row expansion template.
1303
+ */
1304
+ rowExpansionTemplate?(data: DataTableRowData<TValue>, options: DataTableRowExpansionTemplate): React.ReactNode;
1305
+ /**
1306
+ * Function that returns a boolean by passing the row data to decide if the row reorder element should be displayed per row.
1307
+ * @param {DataTableRowData<TValue>} data - Editing row data.
1308
+ * @param {DataTableShowRowReorderElementOptions} options - Options for the row reorder element.
1309
+ */
1310
+ showRowReorderElement?(data: DataTableRowData<TValue>, options: DataTableShowRowReorderElementOptions<TValue>): boolean | undefined | null;
1311
+ /**
1312
+ * Function that returns a boolean by passing the row data to decide if the radio or checkbox should be displayed per row.
1313
+ * @param {DataTableRowData<TValue>} data - Editing row data.
1314
+ * @param {DataTableShowSelectionElementOptions} options - Options for the row reorder element.
1315
+ */
1316
+ showSelectionElement?(data: DataTableRowData<TValue>, options: DataTableShowSelectionElementOptions<TValue>): boolean | undefined | null;
1317
+ /**
1318
+ * Used to get the child elements of the component.
1319
+ * @readonly
1320
+ */
1321
+ children?: React.ReactNode | undefined;
372
1322
  }
373
1323
 
374
- export declare class DataTable extends React.Component<DataTableProps, any> {
1324
+ /**
1325
+ * **PrimeReact - DataTable<TValue**
1326
+ *
1327
+ * _DataTable displays data in tabular format._
1328
+ *
1329
+ * [Live Demo](https://www.primefaces.org/primereact/datatable/)
1330
+ * --- ---
1331
+ * ![PrimeReact](https://www.primefaces.org/primereact/images/logo-100.png)
1332
+ *
1333
+ * @group Component
1334
+ */
1335
+ export declare class DataTable<TValue extends DataTableValueArray> extends React.Component<DataTableProps<TValue>, any> {
1336
+ /**
1337
+ * Clears the table state.
1338
+ */
375
1339
  public clearState(): void;
1340
+ /**
1341
+ * Closes the current editing cell when incell editing is enabled.
1342
+ */
376
1343
  public closeEditingCell(): void;
1344
+ /**
1345
+ * Exports the data to CSV format.
1346
+ * @param {object} options - Options to export
1347
+ */
377
1348
  public exportCSV(options?: { selectionOnly: boolean }): void;
378
- public filter<T>(value: T, field: string, mode: DataTableFilterMatchModeType, index?: number): void;
1349
+ /**
1350
+ * Filters the data.
1351
+ * @param {T} value - The filter value
1352
+ * @param {string} field - The filter field
1353
+ * @param {'startsWith' | 'contains' | 'notContains' | 'endsWith' | 'equals' | 'notEquals' | 'in' | 'lt' | 'lte' | 'gt' | 'gte' | 'between' | 'dateIs' | 'dateIsNot' | 'dateBefore' | 'dateAfter' | 'custom'} mode - Filter match mode
1354
+ * @param {number} index - Index of the filter
1355
+ */
1356
+ public filter<T>(
1357
+ /**
1358
+ * The filter value.
1359
+ */
1360
+ value: T,
1361
+ /**
1362
+ * The filter field.
1363
+ */
1364
+ field: string,
1365
+ /**
1366
+ * Filter match mode.
1367
+ */
1368
+ mode: 'startsWith' | 'contains' | 'notContains' | 'endsWith' | 'equals' | 'notEquals' | 'in' | 'lt' | 'lte' | 'gt' | 'gte' | 'between' | 'dateIs' | 'dateIsNot' | 'dateBefore' | 'dateAfter' | 'custom',
1369
+ /**
1370
+ * Index of the filter.
1371
+ */
1372
+ index?: number
1373
+ ): void;
1374
+ /**
1375
+ * Resets sort, filter, paginator and columnorder state.
1376
+ */
379
1377
  public reset(): void;
1378
+ /**
1379
+ * Resets column order when reorderableColumns is enabled.
1380
+ */
380
1381
  public resetColumnOrder(): void;
1382
+ /**
1383
+ * Resets scroll position.
1384
+ */
381
1385
  public resetScroll(): void;
1386
+ /**
1387
+ * Restores the column widths.
1388
+ */
382
1389
  public restoreColumnWidths(): void;
1390
+ /**
1391
+ * Restores the table state.
1392
+ */
383
1393
  public restoreState(): void;
1394
+ /**
1395
+ * Stored states can be loaded at any time using this method if there is a stateStorage property.
1396
+ * @param {*} state - The state to restore
1397
+ */
384
1398
  public restoreTableState(state: any): void;
1399
+ /**
1400
+ * Saves the state.
1401
+ */
385
1402
  public saveState(): void;
1403
+ /**
1404
+ * Used to get container element.
1405
+ * @return {HTMLDivElement} Container element
1406
+ */
386
1407
  public getElement(): HTMLDivElement;
1408
+ /**
1409
+ * Used to get container element.
1410
+ * @return {HTMLDivElement} Container element
1411
+ */
387
1412
  public getTable(): HTMLTableElement;
1413
+ /**
1414
+ * Used to get the virtual scroller.
1415
+ */
388
1416
  public getVirtualScroller(): VirtualScroller;
389
1417
  }