primeng 12.1.1 → 12.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. package/autocomplete/autocomplete.d.ts +2 -1
  2. package/blockui/blockui.d.ts +3 -0
  3. package/breadcrumb/breadcrumb.d.ts +2 -1
  4. package/bundles/primeng-accordion.umd.js +4 -6
  5. package/bundles/primeng-accordion.umd.js.map +1 -1
  6. package/bundles/primeng-api.umd.js +5 -7
  7. package/bundles/primeng-api.umd.js.map +1 -1
  8. package/bundles/primeng-autocomplete.umd.js +9 -9
  9. package/bundles/primeng-autocomplete.umd.js.map +1 -1
  10. package/bundles/primeng-avatar.umd.js +4 -6
  11. package/bundles/primeng-avatar.umd.js.map +1 -1
  12. package/bundles/primeng-avatargroup.umd.js +4 -6
  13. package/bundles/primeng-avatargroup.umd.js.map +1 -1
  14. package/bundles/primeng-badge.umd.js +4 -6
  15. package/bundles/primeng-badge.umd.js.map +1 -1
  16. package/bundles/primeng-blockui.umd.js +30 -13
  17. package/bundles/primeng-blockui.umd.js.map +1 -1
  18. package/bundles/primeng-breadcrumb.umd.js +8 -8
  19. package/bundles/primeng-breadcrumb.umd.js.map +1 -1
  20. package/bundles/primeng-button.umd.js +11 -8
  21. package/bundles/primeng-button.umd.js.map +1 -1
  22. package/bundles/primeng-calendar.umd.js +39 -26
  23. package/bundles/primeng-calendar.umd.js.map +1 -1
  24. package/bundles/primeng-captcha.umd.js +4 -6
  25. package/bundles/primeng-captcha.umd.js.map +1 -1
  26. package/bundles/primeng-card.umd.js +4 -6
  27. package/bundles/primeng-card.umd.js.map +1 -1
  28. package/bundles/primeng-carousel.umd.js +5 -7
  29. package/bundles/primeng-carousel.umd.js.map +1 -1
  30. package/bundles/primeng-cascadeselect.umd.js +34 -15
  31. package/bundles/primeng-cascadeselect.umd.js.map +1 -1
  32. package/bundles/primeng-chart.umd.js +7 -8
  33. package/bundles/primeng-chart.umd.js.map +1 -1
  34. package/bundles/primeng-checkbox.umd.js +31 -39
  35. package/bundles/primeng-checkbox.umd.js.map +1 -1
  36. package/bundles/primeng-chip.umd.js +4 -6
  37. package/bundles/primeng-chip.umd.js.map +1 -1
  38. package/bundles/primeng-chips.umd.js +7 -8
  39. package/bundles/primeng-chips.umd.js.map +1 -1
  40. package/bundles/primeng-codehighlighter.umd.js +4 -6
  41. package/bundles/primeng-codehighlighter.umd.js.map +1 -1
  42. package/bundles/primeng-colorpicker.umd.js +4 -6
  43. package/bundles/primeng-colorpicker.umd.js.map +1 -1
  44. package/bundles/primeng-confirmdialog.umd.js +15 -14
  45. package/bundles/primeng-confirmdialog.umd.js.map +1 -1
  46. package/bundles/primeng-confirmpopup.umd.js +22 -7
  47. package/bundles/primeng-confirmpopup.umd.js.map +1 -1
  48. package/bundles/primeng-contextmenu.umd.js +5 -7
  49. package/bundles/primeng-contextmenu.umd.js.map +1 -1
  50. package/bundles/primeng-dataview.umd.js +5 -7
  51. package/bundles/primeng-dataview.umd.js.map +1 -1
  52. package/bundles/primeng-defer.umd.js +4 -6
  53. package/bundles/primeng-defer.umd.js.map +1 -1
  54. package/bundles/primeng-dialog.umd.js +14 -8
  55. package/bundles/primeng-dialog.umd.js.map +1 -1
  56. package/bundles/primeng-divider.umd.js +4 -6
  57. package/bundles/primeng-divider.umd.js.map +1 -1
  58. package/bundles/primeng-dock.umd.js +6 -8
  59. package/bundles/primeng-dock.umd.js.map +1 -1
  60. package/bundles/primeng-dom.umd.js +7 -4
  61. package/bundles/primeng-dom.umd.js.map +1 -1
  62. package/bundles/primeng-dragdrop.umd.js +4 -6
  63. package/bundles/primeng-dragdrop.umd.js.map +1 -1
  64. package/bundles/primeng-dropdown.umd.js +25 -20
  65. package/bundles/primeng-dropdown.umd.js.map +1 -1
  66. package/bundles/primeng-dynamicdialog.umd.js +10 -9
  67. package/bundles/primeng-dynamicdialog.umd.js.map +1 -1
  68. package/bundles/primeng-editor.umd.js +6 -8
  69. package/bundles/primeng-editor.umd.js.map +1 -1
  70. package/bundles/primeng-fieldset.umd.js +4 -6
  71. package/bundles/primeng-fieldset.umd.js.map +1 -1
  72. package/bundles/primeng-fileupload.umd.js +5 -7
  73. package/bundles/primeng-fileupload.umd.js.map +1 -1
  74. package/bundles/primeng-focustrap.umd.js +4 -6
  75. package/bundles/primeng-focustrap.umd.js.map +1 -1
  76. package/bundles/primeng-fullcalendar.umd.js +4 -6
  77. package/bundles/primeng-fullcalendar.umd.js.map +1 -1
  78. package/bundles/primeng-galleria.umd.js +74 -28
  79. package/bundles/primeng-galleria.umd.js.map +1 -1
  80. package/bundles/primeng-gmap.umd.js +5 -7
  81. package/bundles/primeng-gmap.umd.js.map +1 -1
  82. package/bundles/primeng-image.umd.js +241 -0
  83. package/bundles/primeng-image.umd.js.map +1 -0
  84. package/bundles/primeng-inplace.umd.js +4 -6
  85. package/bundles/primeng-inplace.umd.js.map +1 -1
  86. package/bundles/primeng-inputmask.umd.js +4 -6
  87. package/bundles/primeng-inputmask.umd.js.map +1 -1
  88. package/bundles/primeng-inputnumber.umd.js +5 -7
  89. package/bundles/primeng-inputnumber.umd.js.map +1 -1
  90. package/bundles/primeng-inputswitch.umd.js +22 -15
  91. package/bundles/primeng-inputswitch.umd.js.map +1 -1
  92. package/bundles/primeng-inputtext.umd.js +12 -9
  93. package/bundles/primeng-inputtext.umd.js.map +1 -1
  94. package/bundles/primeng-inputtextarea.umd.js +4 -6
  95. package/bundles/primeng-inputtextarea.umd.js.map +1 -1
  96. package/bundles/primeng-keyfilter.umd.js +5 -7
  97. package/bundles/primeng-keyfilter.umd.js.map +1 -1
  98. package/bundles/primeng-knob.umd.js +4 -6
  99. package/bundles/primeng-knob.umd.js.map +1 -1
  100. package/bundles/primeng-lightbox.umd.js +5 -7
  101. package/bundles/primeng-lightbox.umd.js.map +1 -1
  102. package/bundles/primeng-listbox.umd.js +7 -9
  103. package/bundles/primeng-listbox.umd.js.map +1 -1
  104. package/bundles/primeng-megamenu.umd.js +4 -6
  105. package/bundles/primeng-megamenu.umd.js.map +1 -1
  106. package/bundles/primeng-menu.umd.js +51 -11
  107. package/bundles/primeng-menu.umd.js.map +1 -1
  108. package/bundles/primeng-menubar.umd.js +4 -6
  109. package/bundles/primeng-menubar.umd.js.map +1 -1
  110. package/bundles/primeng-message.umd.js +4 -6
  111. package/bundles/primeng-message.umd.js.map +1 -1
  112. package/bundles/primeng-messages.umd.js +5 -7
  113. package/bundles/primeng-messages.umd.js.map +1 -1
  114. package/bundles/primeng-multiselect.umd.js +11 -10
  115. package/bundles/primeng-multiselect.umd.js.map +1 -1
  116. package/bundles/primeng-orderlist.umd.js +5 -7
  117. package/bundles/primeng-orderlist.umd.js.map +1 -1
  118. package/bundles/primeng-organizationchart.umd.js +5 -7
  119. package/bundles/primeng-organizationchart.umd.js.map +1 -1
  120. package/bundles/primeng-overlaypanel.umd.js +9 -8
  121. package/bundles/primeng-overlaypanel.umd.js.map +1 -1
  122. package/bundles/primeng-paginator.umd.js +28 -21
  123. package/bundles/primeng-paginator.umd.js.map +1 -1
  124. package/bundles/primeng-panel.umd.js +4 -6
  125. package/bundles/primeng-panel.umd.js.map +1 -1
  126. package/bundles/primeng-panelmenu.umd.js +42 -14
  127. package/bundles/primeng-panelmenu.umd.js.map +1 -1
  128. package/bundles/primeng-password.umd.js +16 -10
  129. package/bundles/primeng-password.umd.js.map +1 -1
  130. package/bundles/primeng-picklist.umd.js +22 -8
  131. package/bundles/primeng-picklist.umd.js.map +1 -1
  132. package/bundles/primeng-progressbar.umd.js +4 -6
  133. package/bundles/primeng-progressbar.umd.js.map +1 -1
  134. package/bundles/primeng-progressspinner.umd.js +4 -6
  135. package/bundles/primeng-progressspinner.umd.js.map +1 -1
  136. package/bundles/primeng-radiobutton.umd.js +4 -6
  137. package/bundles/primeng-radiobutton.umd.js.map +1 -1
  138. package/bundles/primeng-rating.umd.js +4 -6
  139. package/bundles/primeng-rating.umd.js.map +1 -1
  140. package/bundles/primeng-ripple.umd.js +4 -6
  141. package/bundles/primeng-ripple.umd.js.map +1 -1
  142. package/bundles/primeng-scrollpanel.umd.js +4 -6
  143. package/bundles/primeng-scrollpanel.umd.js.map +1 -1
  144. package/bundles/primeng-scrolltop.umd.js +4 -6
  145. package/bundles/primeng-scrolltop.umd.js.map +1 -1
  146. package/bundles/primeng-selectbutton.umd.js +5 -7
  147. package/bundles/primeng-selectbutton.umd.js.map +1 -1
  148. package/bundles/primeng-sidebar.umd.js +28 -19
  149. package/bundles/primeng-sidebar.umd.js.map +1 -1
  150. package/bundles/primeng-skeleton.umd.js +4 -6
  151. package/bundles/primeng-skeleton.umd.js.map +1 -1
  152. package/bundles/primeng-slidemenu.umd.js +63 -10
  153. package/bundles/primeng-slidemenu.umd.js.map +1 -1
  154. package/bundles/primeng-slider.umd.js +4 -6
  155. package/bundles/primeng-slider.umd.js.map +1 -1
  156. package/bundles/primeng-speeddial.umd.js +4 -6
  157. package/bundles/primeng-speeddial.umd.js.map +1 -1
  158. package/bundles/primeng-spinner.umd.js +4 -6
  159. package/bundles/primeng-spinner.umd.js.map +1 -1
  160. package/bundles/primeng-splitbutton.umd.js +4 -6
  161. package/bundles/primeng-splitbutton.umd.js.map +1 -1
  162. package/bundles/primeng-splitter.umd.js +5 -7
  163. package/bundles/primeng-splitter.umd.js.map +1 -1
  164. package/bundles/primeng-steps.umd.js +4 -6
  165. package/bundles/primeng-steps.umd.js.map +1 -1
  166. package/bundles/primeng-styleclass.umd.js +4 -6
  167. package/bundles/primeng-styleclass.umd.js.map +1 -1
  168. package/bundles/primeng-table.umd.js +75 -64
  169. package/bundles/primeng-table.umd.js.map +1 -1
  170. package/bundles/primeng-tabmenu.umd.js +5 -7
  171. package/bundles/primeng-tabmenu.umd.js.map +1 -1
  172. package/bundles/primeng-tabview.umd.js +4 -6
  173. package/bundles/primeng-tabview.umd.js.map +1 -1
  174. package/bundles/primeng-tag.umd.js +4 -6
  175. package/bundles/primeng-tag.umd.js.map +1 -1
  176. package/bundles/primeng-terminal.umd.js +4 -6
  177. package/bundles/primeng-terminal.umd.js.map +1 -1
  178. package/bundles/primeng-tieredmenu.umd.js +4 -6
  179. package/bundles/primeng-tieredmenu.umd.js.map +1 -1
  180. package/bundles/primeng-timeline.umd.js +4 -6
  181. package/bundles/primeng-timeline.umd.js.map +1 -1
  182. package/bundles/primeng-toast.umd.js +5 -7
  183. package/bundles/primeng-toast.umd.js.map +1 -1
  184. package/bundles/primeng-togglebutton.umd.js +4 -6
  185. package/bundles/primeng-togglebutton.umd.js.map +1 -1
  186. package/bundles/primeng-toolbar.umd.js +4 -6
  187. package/bundles/primeng-toolbar.umd.js.map +1 -1
  188. package/bundles/primeng-tooltip.umd.js +5 -7
  189. package/bundles/primeng-tooltip.umd.js.map +1 -1
  190. package/bundles/primeng-tree.umd.js +10 -10
  191. package/bundles/primeng-tree.umd.js.map +1 -1
  192. package/bundles/primeng-treeselect.umd.js +13 -8
  193. package/bundles/primeng-treeselect.umd.js.map +1 -1
  194. package/bundles/primeng-treetable.umd.js +6 -8
  195. package/bundles/primeng-treetable.umd.js.map +1 -1
  196. package/bundles/primeng-tristatecheckbox.umd.js +4 -6
  197. package/bundles/primeng-tristatecheckbox.umd.js.map +1 -1
  198. package/bundles/primeng-utils.umd.js +340 -2
  199. package/bundles/primeng-utils.umd.js.map +1 -1
  200. package/bundles/primeng-virtualscroller.umd.js +4 -6
  201. package/bundles/primeng-virtualscroller.umd.js.map +1 -1
  202. package/bundles/primeng.umd.js +2 -2
  203. package/calendar/calendar.d.ts +5 -1
  204. package/cascadeselect/cascadeselect.d.ts +2 -1
  205. package/checkbox/checkbox.d.ts +4 -5
  206. package/confirmpopup/confirmpopup.d.ts +3 -1
  207. package/dialog/dialog.d.ts +2 -1
  208. package/dom/domhandler.d.ts +1 -0
  209. package/dropdown/dropdown.d.ts +3 -1
  210. package/esm2015/autocomplete/autocomplete.js +6 -4
  211. package/esm2015/blockui/blockui.js +25 -5
  212. package/esm2015/breadcrumb/breadcrumb.js +9 -7
  213. package/esm2015/button/button.js +8 -3
  214. package/esm2015/calendar/calendar.js +36 -21
  215. package/esm2015/cascadeselect/cascadeselect.js +29 -10
  216. package/esm2015/chart/chart.js +3 -2
  217. package/esm2015/checkbox/checkbox.js +36 -41
  218. package/esm2015/chips/chips.js +3 -2
  219. package/esm2015/confirmdialog/confirmdialog.js +13 -10
  220. package/esm2015/confirmpopup/confirmpopup.js +19 -2
  221. package/esm2015/dataview/dataview.js +1 -1
  222. package/esm2015/dialog/dialog.js +15 -7
  223. package/esm2015/dock/dock.js +40 -36
  224. package/esm2015/dom/domhandler.js +5 -2
  225. package/esm2015/dropdown/dropdown.js +22 -15
  226. package/esm2015/dynamicdialog/dynamicdialog.js +8 -5
  227. package/esm2015/editor/editor.js +7 -7
  228. package/esm2015/galleria/galleria.js +74 -23
  229. package/esm2015/image/image.js +276 -0
  230. package/esm2015/image/primeng-image.js +5 -0
  231. package/esm2015/image/public_api.js +2 -0
  232. package/esm2015/inputswitch/inputswitch.js +24 -15
  233. package/esm2015/inputtext/inputtext.js +9 -4
  234. package/esm2015/lightbox/lightbox.js +1 -1
  235. package/esm2015/listbox/listbox.js +3 -3
  236. package/esm2015/menu/menu.js +61 -19
  237. package/esm2015/multiselect/multiselect.js +7 -4
  238. package/esm2015/overlaypanel/overlaypanel.js +6 -3
  239. package/esm2015/paginator/paginator.js +45 -33
  240. package/esm2015/panelmenu/panelmenu.js +49 -18
  241. package/esm2015/password/password.js +17 -9
  242. package/esm2015/picklist/picklist.js +42 -26
  243. package/esm2015/sidebar/sidebar.js +25 -14
  244. package/esm2015/slidemenu/slidemenu.js +68 -18
  245. package/esm2015/table/table.js +82 -68
  246. package/esm2015/tabmenu/tabmenu.js +1 -1
  247. package/esm2015/tooltip/tooltip.js +2 -2
  248. package/esm2015/tree/tree.js +8 -6
  249. package/esm2015/treeselect/treeselect.js +9 -2
  250. package/esm2015/treetable/treetable.js +2 -2
  251. package/esm2015/utils/objectutils.js +10 -1
  252. package/fesm2015/primeng-autocomplete.js +5 -3
  253. package/fesm2015/primeng-autocomplete.js.map +1 -1
  254. package/fesm2015/primeng-blockui.js +24 -4
  255. package/fesm2015/primeng-blockui.js.map +1 -1
  256. package/fesm2015/primeng-breadcrumb.js +8 -6
  257. package/fesm2015/primeng-breadcrumb.js.map +1 -1
  258. package/fesm2015/primeng-button.js +7 -2
  259. package/fesm2015/primeng-button.js.map +1 -1
  260. package/fesm2015/primeng-calendar.js +35 -20
  261. package/fesm2015/primeng-calendar.js.map +1 -1
  262. package/fesm2015/primeng-cascadeselect.js +28 -9
  263. package/fesm2015/primeng-cascadeselect.js.map +1 -1
  264. package/fesm2015/primeng-chart.js +2 -1
  265. package/fesm2015/primeng-chart.js.map +1 -1
  266. package/fesm2015/primeng-checkbox.js +35 -40
  267. package/fesm2015/primeng-checkbox.js.map +1 -1
  268. package/fesm2015/primeng-chips.js +2 -1
  269. package/fesm2015/primeng-chips.js.map +1 -1
  270. package/fesm2015/primeng-confirmdialog.js +12 -9
  271. package/fesm2015/primeng-confirmdialog.js.map +1 -1
  272. package/fesm2015/primeng-confirmpopup.js +18 -1
  273. package/fesm2015/primeng-confirmpopup.js.map +1 -1
  274. package/fesm2015/primeng-dataview.js +1 -1
  275. package/fesm2015/primeng-dialog.js +14 -6
  276. package/fesm2015/primeng-dialog.js.map +1 -1
  277. package/fesm2015/primeng-dock.js +39 -35
  278. package/fesm2015/primeng-dock.js.map +1 -1
  279. package/fesm2015/primeng-dom.js +4 -1
  280. package/fesm2015/primeng-dom.js.map +1 -1
  281. package/fesm2015/primeng-dropdown.js +21 -14
  282. package/fesm2015/primeng-dropdown.js.map +1 -1
  283. package/fesm2015/primeng-dynamicdialog.js +7 -4
  284. package/fesm2015/primeng-dynamicdialog.js.map +1 -1
  285. package/fesm2015/primeng-editor.js +6 -6
  286. package/fesm2015/primeng-editor.js.map +1 -1
  287. package/fesm2015/primeng-galleria.js +73 -22
  288. package/fesm2015/primeng-galleria.js.map +1 -1
  289. package/fesm2015/primeng-image.js +283 -0
  290. package/fesm2015/primeng-image.js.map +1 -0
  291. package/fesm2015/primeng-inputswitch.js +23 -14
  292. package/fesm2015/primeng-inputswitch.js.map +1 -1
  293. package/fesm2015/primeng-inputtext.js +8 -3
  294. package/fesm2015/primeng-inputtext.js.map +1 -1
  295. package/fesm2015/primeng-lightbox.js +1 -1
  296. package/fesm2015/primeng-listbox.js +2 -2
  297. package/fesm2015/primeng-listbox.js.map +1 -1
  298. package/fesm2015/primeng-menu.js +60 -18
  299. package/fesm2015/primeng-menu.js.map +1 -1
  300. package/fesm2015/primeng-multiselect.js +6 -3
  301. package/fesm2015/primeng-multiselect.js.map +1 -1
  302. package/fesm2015/primeng-overlaypanel.js +5 -2
  303. package/fesm2015/primeng-overlaypanel.js.map +1 -1
  304. package/fesm2015/primeng-paginator.js +44 -32
  305. package/fesm2015/primeng-paginator.js.map +1 -1
  306. package/fesm2015/primeng-panelmenu.js +48 -17
  307. package/fesm2015/primeng-panelmenu.js.map +1 -1
  308. package/fesm2015/primeng-password.js +16 -8
  309. package/fesm2015/primeng-password.js.map +1 -1
  310. package/fesm2015/primeng-picklist.js +41 -25
  311. package/fesm2015/primeng-picklist.js.map +1 -1
  312. package/fesm2015/primeng-sidebar.js +24 -13
  313. package/fesm2015/primeng-sidebar.js.map +1 -1
  314. package/fesm2015/primeng-slidemenu.js +68 -18
  315. package/fesm2015/primeng-slidemenu.js.map +1 -1
  316. package/fesm2015/primeng-table.js +81 -67
  317. package/fesm2015/primeng-table.js.map +1 -1
  318. package/fesm2015/primeng-tabmenu.js +1 -1
  319. package/fesm2015/primeng-tooltip.js +1 -1
  320. package/fesm2015/primeng-tooltip.js.map +1 -1
  321. package/fesm2015/primeng-tree.js +7 -5
  322. package/fesm2015/primeng-tree.js.map +1 -1
  323. package/fesm2015/primeng-treeselect.js +8 -1
  324. package/fesm2015/primeng-treeselect.js.map +1 -1
  325. package/fesm2015/primeng-treetable.js +1 -1
  326. package/fesm2015/primeng-treetable.js.map +1 -1
  327. package/fesm2015/primeng-utils.js +9 -0
  328. package/fesm2015/primeng-utils.js.map +1 -1
  329. package/galleria/galleria.d.ts +9 -1
  330. package/image/image.d.ts +62 -0
  331. package/image/package.json +10 -0
  332. package/image/primeng-image.d.ts +5 -0
  333. package/image/public_api.d.ts +1 -0
  334. package/inputswitch/inputswitch.d.ts +6 -3
  335. package/inputtext/inputtext.d.ts +6 -4
  336. package/menu/menu.d.ts +3 -0
  337. package/overlaypanel/overlaypanel.d.ts +1 -0
  338. package/package.json +1 -1
  339. package/paginator/paginator.d.ts +9 -5
  340. package/panelmenu/panelmenu.d.ts +4 -1
  341. package/password/password.d.ts +6 -4
  342. package/picklist/picklist.d.ts +9 -1
  343. package/resources/components/breadcrumb/breadcrumb.css +4 -0
  344. package/resources/components/checkbox/checkbox.css +2 -1
  345. package/resources/components/dialog/dialog.css +0 -7
  346. package/resources/components/dock/dock.css +5 -1
  347. package/resources/components/image/image.css +55 -0
  348. package/resources/components/radiobutton/radiobutton.css +2 -1
  349. package/resources/components/sidebar/sidebar.css +1 -10
  350. package/resources/components/table/table.css +1 -5
  351. package/resources/components/tabmenu/tabmenu.css +4 -0
  352. package/resources/components/tooltip/tooltip.css +2 -1
  353. package/resources/primeng.css +6 -1
  354. package/resources/primeng.min.css +1 -1
  355. package/resources/themes/arya-blue/theme.css +99 -17
  356. package/resources/themes/arya-green/theme.css +99 -17
  357. package/resources/themes/arya-orange/theme.css +99 -17
  358. package/resources/themes/arya-purple/theme.css +99 -17
  359. package/resources/themes/bootstrap4-dark-blue/theme.css +99 -17
  360. package/resources/themes/bootstrap4-dark-purple/theme.css +99 -17
  361. package/resources/themes/bootstrap4-light-blue/theme.css +99 -17
  362. package/resources/themes/bootstrap4-light-purple/theme.css +99 -17
  363. package/resources/themes/fluent-light/theme.css +99 -17
  364. package/resources/themes/luna-amber/theme.css +99 -17
  365. package/resources/themes/luna-blue/theme.css +99 -17
  366. package/resources/themes/luna-green/theme.css +99 -17
  367. package/resources/themes/luna-pink/theme.css +99 -17
  368. package/resources/themes/md-dark-deeppurple/theme.css +287 -46
  369. package/resources/themes/md-dark-indigo/theme.css +287 -46
  370. package/resources/themes/md-light-deeppurple/theme.css +287 -46
  371. package/resources/themes/md-light-indigo/theme.css +287 -46
  372. package/resources/themes/mdc-dark-deeppurple/theme.css +287 -46
  373. package/resources/themes/mdc-dark-indigo/theme.css +287 -46
  374. package/resources/themes/mdc-light-deeppurple/theme.css +287 -46
  375. package/resources/themes/mdc-light-indigo/theme.css +287 -46
  376. package/resources/themes/nova/theme.css +99 -17
  377. package/resources/themes/nova-accent/theme.css +99 -17
  378. package/resources/themes/nova-alt/theme.css +99 -17
  379. package/resources/themes/rhea/theme.css +99 -17
  380. package/resources/themes/saga-blue/theme.css +99 -17
  381. package/resources/themes/saga-green/theme.css +99 -17
  382. package/resources/themes/saga-orange/theme.css +99 -17
  383. package/resources/themes/saga-purple/theme.css +99 -17
  384. package/resources/themes/tailwind-light/fonts/Inter-Bold.woff +0 -0
  385. package/resources/themes/tailwind-light/fonts/Inter-Bold.woff2 +0 -0
  386. package/resources/themes/tailwind-light/fonts/Inter-Light.woff +0 -0
  387. package/resources/themes/tailwind-light/fonts/Inter-Light.woff2 +0 -0
  388. package/resources/themes/tailwind-light/fonts/Inter-Medium.woff +0 -0
  389. package/resources/themes/tailwind-light/fonts/Inter-Medium.woff2 +0 -0
  390. package/resources/themes/tailwind-light/fonts/Inter-Regular.woff +0 -0
  391. package/resources/themes/tailwind-light/fonts/Inter-Regular.woff2 +0 -0
  392. package/resources/themes/tailwind-light/fonts/Inter-SemiBold.woff +0 -0
  393. package/resources/themes/tailwind-light/fonts/Inter-SemiBold.woff2 +0 -0
  394. package/resources/themes/tailwind-light/theme.css +5743 -0
  395. package/resources/themes/vela-blue/theme.css +99 -17
  396. package/resources/themes/vela-green/theme.css +99 -17
  397. package/resources/themes/vela-orange/theme.css +99 -17
  398. package/resources/themes/vela-purple/theme.css +99 -17
  399. package/sidebar/sidebar.d.ts +3 -0
  400. package/slidemenu/slidemenu.d.ts +7 -0
  401. package/table/table.d.ts +8 -3
  402. package/tree/tree.d.ts +2 -1
  403. package/utils/objectutils.d.ts +1 -0
@@ -113,6 +113,7 @@ class Table {
113
113
  this.showInitialSortBadge = true;
114
114
  this.stateStorage = 'session';
115
115
  this.editMode = 'cell';
116
+ this.groupRowsByOrder = 1;
116
117
  this.responsiveLayout = 'stack';
117
118
  this.breakpoint = '960px';
118
119
  this.onRowSelect = new EventEmitter();
@@ -238,9 +239,6 @@ class Table {
238
239
  if (this.isStateful() && this.resizableColumns) {
239
240
  this.restoreColumnWidths();
240
241
  }
241
- if (this.scrollable && (this.scrollDirection !== 'vertical' || this.rowGroupMode === 'subheader')) {
242
- this.updateScrollWidth();
243
- }
244
242
  if (this.scrollable && this.virtualScroll) {
245
243
  this.virtualScrollSubscription = this.virtualScrollBody.renderedRangeStream.subscribe(range => {
246
244
  let top = range.start * this.virtualRowHeight * -1;
@@ -256,17 +254,14 @@ class Table {
256
254
  this._value = simpleChange.value.currentValue;
257
255
  if (!this.lazy) {
258
256
  this.totalRecords = (this._value ? this._value.length : 0);
259
- if (this.sortMode == 'single' && this.sortField)
257
+ if (this.sortMode == 'single' && (this.sortField || this.groupRowsBy))
260
258
  this.sortSingle();
261
- else if (this.sortMode == 'multiple' && this.multiSortMeta)
259
+ else if (this.sortMode == 'multiple' && (this.multiSortMeta || this.groupRowsBy))
262
260
  this.sortMultiple();
263
261
  else if (this.hasFilter()) //sort already filters
264
262
  this._filter();
265
263
  }
266
264
  this.tableService.onValueChange(simpleChange.value.currentValue);
267
- if (this.scrollable && (this.scrollDirection !== 'vertical' || this.rowGroupMode === 'subheader')) {
268
- this.updateScrollWidth();
269
- }
270
265
  }
271
266
  if (simpleChange.columns) {
272
267
  this._columns = simpleChange.columns.currentValue;
@@ -274,9 +269,6 @@ class Table {
274
269
  if (this._columns && this.isStateful() && this.reorderableColumns && !this.columnOrderStateRestored) {
275
270
  this.restoreColumnOrder();
276
271
  }
277
- if (this.scrollable && (this.scrollDirection !== 'vertical' || this.rowGroupMode === 'subheader')) {
278
- this.updateScrollWidth();
279
- }
280
272
  }
281
273
  if (simpleChange.sortField) {
282
274
  this._sortField = simpleChange.sortField.currentValue;
@@ -287,6 +279,14 @@ class Table {
287
279
  }
288
280
  }
289
281
  }
282
+ if (simpleChange.groupRowsBy) {
283
+ //avoid triggering lazy load prior to lazy initialization at onInit
284
+ if (!this.lazy || this.initialized) {
285
+ if (this.sortMode === 'single') {
286
+ this.sortSingle();
287
+ }
288
+ }
289
+ }
290
290
  if (simpleChange.sortOrder) {
291
291
  this._sortOrder = simpleChange.sortOrder.currentValue;
292
292
  //avoid triggering lazy load prior to lazy initialization at onInit
@@ -296,6 +296,14 @@ class Table {
296
296
  }
297
297
  }
298
298
  }
299
+ if (simpleChange.groupRowsByOrder) {
300
+ //avoid triggering lazy load prior to lazy initialization at onInit
301
+ if (!this.lazy || this.initialized) {
302
+ if (this.sortMode === 'single') {
303
+ this.sortSingle();
304
+ }
305
+ }
306
+ }
299
307
  if (simpleChange.multiSortMeta) {
300
308
  this._multiSortMeta = simpleChange.multiSortMeta.currentValue;
301
309
  if (this.sortMode === 'multiple' && (this.initialized || (!this.lazy && !this.virtualScroll))) {
@@ -454,7 +462,14 @@ class Table {
454
462
  this.anchorRowIndex = null;
455
463
  }
456
464
  sortSingle() {
457
- if (this.sortField && this.sortOrder) {
465
+ let field = this.sortField || this.groupRowsBy;
466
+ let order = this.sortField ? this.sortOrder : this.groupRowsByOrder;
467
+ if (this.groupRowsBy && this.sortField && this.groupRowsBy !== this.sortField) {
468
+ this._multiSortMeta = [this.getGroupRowsMeta(), { field: this.sortField, order: this.sortOrder }];
469
+ this.sortMultiple();
470
+ return;
471
+ }
472
+ if (field && order) {
458
473
  if (this.restoringSort) {
459
474
  this.restoringSort = false;
460
475
  }
@@ -466,14 +481,14 @@ class Table {
466
481
  this.sortFunction.emit({
467
482
  data: this.value,
468
483
  mode: this.sortMode,
469
- field: this.sortField,
470
- order: this.sortOrder
484
+ field: field,
485
+ order: order
471
486
  });
472
487
  }
473
488
  else {
474
489
  this.value.sort((data1, data2) => {
475
- let value1 = ObjectUtils.resolveFieldData(data1, this.sortField);
476
- let value2 = ObjectUtils.resolveFieldData(data2, this.sortField);
490
+ let value1 = ObjectUtils.resolveFieldData(data1, field);
491
+ let value2 = ObjectUtils.resolveFieldData(data2, field);
477
492
  let result = null;
478
493
  if (value1 == null && value2 != null)
479
494
  result = -1;
@@ -485,7 +500,7 @@ class Table {
485
500
  result = value1.localeCompare(value2);
486
501
  else
487
502
  result = (value1 < value2) ? -1 : (value1 > value2) ? 1 : 0;
488
- return (this.sortOrder * result);
503
+ return (order * result);
489
504
  });
490
505
  this._value = [...this.value];
491
506
  }
@@ -494,14 +509,20 @@ class Table {
494
509
  }
495
510
  }
496
511
  let sortMeta = {
497
- field: this.sortField,
498
- order: this.sortOrder
512
+ field: field,
513
+ order: order
499
514
  };
500
515
  this.onSort.emit(sortMeta);
501
516
  this.tableService.onSort(sortMeta);
502
517
  }
503
518
  }
504
519
  sortMultiple() {
520
+ if (this.groupRowsBy) {
521
+ if (!this._multiSortMeta)
522
+ this._multiSortMeta = [this.getGroupRowsMeta()];
523
+ else if (this.multiSortMeta[0].field !== this.groupRowsBy)
524
+ this._multiSortMeta = [this.getGroupRowsMeta(), ...this._multiSortMeta];
525
+ }
505
526
  if (this.multiSortMeta) {
506
527
  if (this.lazy) {
507
528
  this.onLazyLoad.emit(this.createLazyLoadMetadata());
@@ -1305,17 +1326,12 @@ class Table {
1305
1326
  }
1306
1327
  else if (this.columnResizeMode === 'expand') {
1307
1328
  let tableWidth = this.tableViewChild.nativeElement.offsetWidth + delta;
1308
- if (!this.scrollable) {
1329
+ this.tableViewChild.nativeElement.style.minWidth = tableWidth + 'px';
1330
+ this.resizeColumnElement.style.width = newColumnWidth + 'px';
1331
+ if (!this.scrollable)
1309
1332
  this.tableViewChild.nativeElement.style.width = tableWidth + 'px';
1310
- this.resizeColumnElement.style.width = newColumnWidth + 'px';
1311
- }
1312
- else {
1333
+ else
1313
1334
  this.resizeTableCells(newColumnWidth, null);
1314
- let scrollbarWidth = DomHandler.calculateScrollbarWidth(this.wrapperViewChild.nativeElement);
1315
- let isWrapperInViewport = this.containerViewChild.nativeElement.offsetWidth > tableWidth + scrollbarWidth;
1316
- this.tableViewChild.nativeElement.style.width = tableWidth + 'px';
1317
- this.wrapperViewChild.nativeElement.style.width = isWrapperInViewport ? tableWidth + scrollbarWidth + 'px' : 'auto';
1318
- }
1319
1335
  }
1320
1336
  this.onColResize.emit({
1321
1337
  element: this.resizeColumnElement,
@@ -1331,7 +1347,8 @@ class Table {
1331
1347
  resizeTableCells(newColumnWidth, nextColumnWidth) {
1332
1348
  let colIndex = DomHandler.index(this.resizeColumnElement);
1333
1349
  let widths = [];
1334
- let headers = DomHandler.find(this.containerViewChild.nativeElement, '.p-datatable-thead > tr > th');
1350
+ const tableHead = DomHandler.findSingle(this.containerViewChild.nativeElement, '.p-datatable-thead');
1351
+ let headers = DomHandler.find(tableHead, 'tr > th');
1335
1352
  headers.forEach(header => widths.push(DomHandler.getOuterWidth(header)));
1336
1353
  this.destroyStyleElement();
1337
1354
  this.createStyleElement();
@@ -1339,11 +1356,11 @@ class Table {
1339
1356
  widths.forEach((width, index) => {
1340
1357
  let colWidth = index === colIndex ? newColumnWidth : (nextColumnWidth && index === colIndex + 1) ? nextColumnWidth : width;
1341
1358
  innerHTML += `
1342
- #${this.id} .p-datatable-thead > tr > th:nth-child(${index + 1}) {
1359
+ #${this.id}-table > .p-datatable-thead > tr > th:nth-child(${index + 1}) {
1343
1360
  flex: 0 0 ${colWidth}px !important;
1344
1361
  }
1345
1362
 
1346
- #${this.id} .p-datatable-tbody > tr > td:nth-child(${index + 1}) {
1363
+ #${this.id}-table > .p-datatable-tbody > tr > td:nth-child(${index + 1}) {
1347
1364
  flex: 0 0 ${colWidth}px !important;
1348
1365
  }
1349
1366
  `;
@@ -1588,7 +1605,6 @@ class Table {
1588
1605
  if (this.resizableColumns) {
1589
1606
  this.columnWidthsState = state.columnWidths;
1590
1607
  this.tableWidthState = state.tableWidth;
1591
- this.wrapperWidthState = state.wrapperWidth;
1592
1608
  }
1593
1609
  if (state.expandedRowKeys) {
1594
1610
  this.expandedRowKeys = state.expandedRowKeys;
@@ -1607,28 +1623,26 @@ class Table {
1607
1623
  state.columnWidths = widths.join(',');
1608
1624
  if (this.columnResizeMode === 'expand') {
1609
1625
  state.tableWidth = DomHandler.getOuterWidth(this.tableViewChild.nativeElement) + 'px';
1610
- state.wrapperWidth = this.wrapperViewChild.nativeElement.style.width;
1611
1626
  }
1612
1627
  }
1613
1628
  restoreColumnWidths() {
1614
1629
  if (this.columnWidthsState) {
1615
1630
  let widths = this.columnWidthsState.split(',');
1616
- if (this.columnResizeMode === 'expand') {
1617
- if (this.tableWidthState)
1618
- this.tableViewChild.nativeElement.style.width = this.tableWidthState;
1619
- if (this.wrapperWidthState)
1620
- this.wrapperViewChild.nativeElement.style.width = this.wrapperWidthState;
1631
+ if (this.columnResizeMode === 'expand' && this.tableWidthState) {
1632
+ this.tableViewChild.nativeElement.style.width = this.tableWidthState;
1633
+ this.tableViewChild.nativeElement.style.minWidth = this.tableWidthState;
1634
+ this.containerViewChild.nativeElement.style.width = this.tableWidthState;
1621
1635
  }
1622
1636
  this.createStyleElement();
1623
1637
  if (this.scrollable && widths && widths.length > 0) {
1624
1638
  let innerHTML = '';
1625
1639
  widths.forEach((width, index) => {
1626
1640
  innerHTML += `
1627
- #${this.id} .p-datatable-thead > tr > th:nth-child(${index + 1}) {
1641
+ #${this.id}-table > .p-datatable-thead > tr > th:nth-child(${index + 1}) {
1628
1642
  flex: 0 0 ${width}px;
1629
1643
  }
1630
1644
 
1631
- #${this.id} .p-datatable-tbody > tr > td:nth-child(${index + 1}) {
1645
+ #${this.id}-table > .p-datatable-tbody > tr > td:nth-child(${index + 1}) {
1632
1646
  flex: 0 0 ${width}px;
1633
1647
  }
1634
1648
  `;
@@ -1670,17 +1684,6 @@ class Table {
1670
1684
  }
1671
1685
  }
1672
1686
  }
1673
- updateScrollWidth() {
1674
- if (this.tableViewChild && this.tableViewChild.nativeElement) {
1675
- let parentElementHeight = DomHandler.getWidth(this.tableViewChild.nativeElement.parentElement);
1676
- if (this.tableViewChild.nativeElement.scrollWidth > parentElementHeight) {
1677
- this.tableViewChild.nativeElement.style.width = this.tableViewChild.nativeElement.scrollWidth + 'px';
1678
- }
1679
- else {
1680
- this.tableViewChild.nativeElement.style.width = (parentElementHeight - DomHandler.calculateScrollbarHeight()) + 'px';
1681
- }
1682
- }
1683
- }
1684
1687
  findColumnByKey(key) {
1685
1688
  if (this.columns) {
1686
1689
  for (let col of this.columns) {
@@ -1699,6 +1702,9 @@ class Table {
1699
1702
  this.styleElement.type = 'text/css';
1700
1703
  document.head.appendChild(this.styleElement);
1701
1704
  }
1705
+ getGroupRowsMeta() {
1706
+ return { field: this.groupRowsBy, order: this.groupRowsByOrder };
1707
+ }
1702
1708
  createResponsiveStyle() {
1703
1709
  if (!this.responsiveStyleElement) {
1704
1710
  this.responsiveStyleElement = document.createElement('style');
@@ -1760,7 +1766,7 @@ class Table {
1760
1766
  }
1761
1767
  }
1762
1768
  Table.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: Table, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: TableService }, { token: i0.ChangeDetectorRef }, { token: i1.FilterService }, { token: i1.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
1763
- Table.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: Table, selector: "p-table", inputs: { frozenColumns: "frozenColumns", frozenValue: "frozenValue", style: "style", styleClass: "styleClass", tableStyle: "tableStyle", tableStyleClass: "tableStyleClass", paginator: "paginator", pageLinks: "pageLinks", rowsPerPageOptions: "rowsPerPageOptions", alwaysShowPaginator: "alwaysShowPaginator", paginatorPosition: "paginatorPosition", paginatorDropdownAppendTo: "paginatorDropdownAppendTo", paginatorDropdownScrollHeight: "paginatorDropdownScrollHeight", currentPageReportTemplate: "currentPageReportTemplate", showCurrentPageReport: "showCurrentPageReport", showJumpToPageDropdown: "showJumpToPageDropdown", showFirstLastIcon: "showFirstLastIcon", showPageLinks: "showPageLinks", defaultSortOrder: "defaultSortOrder", sortMode: "sortMode", resetPageOnSort: "resetPageOnSort", selectionMode: "selectionMode", contextMenuSelection: "contextMenuSelection", contextMenuSelectionMode: "contextMenuSelectionMode", dataKey: "dataKey", metaKeySelection: "metaKeySelection", rowTrackBy: "rowTrackBy", lazy: "lazy", lazyLoadOnInit: "lazyLoadOnInit", compareSelectionBy: "compareSelectionBy", csvSeparator: "csvSeparator", exportFilename: "exportFilename", filters: "filters", globalFilterFields: "globalFilterFields", filterDelay: "filterDelay", filterLocale: "filterLocale", expandedRowKeys: "expandedRowKeys", editingRowKeys: "editingRowKeys", rowExpandMode: "rowExpandMode", scrollable: "scrollable", scrollDirection: "scrollDirection", rowGroupMode: "rowGroupMode", scrollHeight: "scrollHeight", virtualScroll: "virtualScroll", virtualScrollDelay: "virtualScrollDelay", virtualRowHeight: "virtualRowHeight", frozenWidth: "frozenWidth", responsive: "responsive", contextMenu: "contextMenu", resizableColumns: "resizableColumns", columnResizeMode: "columnResizeMode", reorderableColumns: "reorderableColumns", loading: "loading", loadingIcon: "loadingIcon", showLoader: "showLoader", rowHover: "rowHover", customSort: "customSort", showInitialSortBadge: "showInitialSortBadge", autoLayout: "autoLayout", exportFunction: "exportFunction", stateKey: "stateKey", stateStorage: "stateStorage", editMode: "editMode", groupRowsBy: "groupRowsBy", minBufferPx: "minBufferPx", maxBufferPx: "maxBufferPx", responsiveLayout: "responsiveLayout", breakpoint: "breakpoint", value: "value", columns: "columns", first: "first", rows: "rows", totalRecords: "totalRecords", sortField: "sortField", sortOrder: "sortOrder", multiSortMeta: "multiSortMeta", selection: "selection" }, outputs: { selectionChange: "selectionChange", contextMenuSelectionChange: "contextMenuSelectionChange", onRowSelect: "onRowSelect", onRowUnselect: "onRowUnselect", onPage: "onPage", onSort: "onSort", onFilter: "onFilter", onLazyLoad: "onLazyLoad", onRowExpand: "onRowExpand", onRowCollapse: "onRowCollapse", onContextMenuSelect: "onContextMenuSelect", onColResize: "onColResize", onColReorder: "onColReorder", onRowReorder: "onRowReorder", onEditInit: "onEditInit", onEditComplete: "onEditComplete", onEditCancel: "onEditCancel", onHeaderCheckboxToggle: "onHeaderCheckboxToggle", sortFunction: "sortFunction", firstChange: "firstChange", rowsChange: "rowsChange", onStateSave: "onStateSave", onStateRestore: "onStateRestore" }, host: { classAttribute: "p-element" }, providers: [TableService], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }, { propertyName: "resizeHelperViewChild", first: true, predicate: ["resizeHelper"], descendants: true }, { propertyName: "reorderIndicatorUpViewChild", first: true, predicate: ["reorderIndicatorUp"], descendants: true }, { propertyName: "reorderIndicatorDownViewChild", first: true, predicate: ["reorderIndicatorDown"], descendants: true }, { propertyName: "wrapperViewChild", first: true, predicate: ["wrapper"], descendants: true }, { propertyName: "tableViewChild", first: true, predicate: ["table"], descendants: true }, { propertyName: "tableHeaderViewChild", first: true, predicate: ["tableHeader"], descendants: true }, { propertyName: "virtualScrollBody", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
1769
+ Table.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: Table, selector: "p-table", inputs: { frozenColumns: "frozenColumns", frozenValue: "frozenValue", style: "style", styleClass: "styleClass", tableStyle: "tableStyle", tableStyleClass: "tableStyleClass", paginator: "paginator", pageLinks: "pageLinks", rowsPerPageOptions: "rowsPerPageOptions", alwaysShowPaginator: "alwaysShowPaginator", paginatorPosition: "paginatorPosition", paginatorDropdownAppendTo: "paginatorDropdownAppendTo", paginatorDropdownScrollHeight: "paginatorDropdownScrollHeight", currentPageReportTemplate: "currentPageReportTemplate", showCurrentPageReport: "showCurrentPageReport", showJumpToPageDropdown: "showJumpToPageDropdown", showJumpToPageInput: "showJumpToPageInput", showFirstLastIcon: "showFirstLastIcon", showPageLinks: "showPageLinks", defaultSortOrder: "defaultSortOrder", sortMode: "sortMode", resetPageOnSort: "resetPageOnSort", selectionMode: "selectionMode", contextMenuSelection: "contextMenuSelection", contextMenuSelectionMode: "contextMenuSelectionMode", dataKey: "dataKey", metaKeySelection: "metaKeySelection", rowTrackBy: "rowTrackBy", lazy: "lazy", lazyLoadOnInit: "lazyLoadOnInit", compareSelectionBy: "compareSelectionBy", csvSeparator: "csvSeparator", exportFilename: "exportFilename", filters: "filters", globalFilterFields: "globalFilterFields", filterDelay: "filterDelay", filterLocale: "filterLocale", expandedRowKeys: "expandedRowKeys", editingRowKeys: "editingRowKeys", rowExpandMode: "rowExpandMode", scrollable: "scrollable", scrollDirection: "scrollDirection", rowGroupMode: "rowGroupMode", scrollHeight: "scrollHeight", virtualScroll: "virtualScroll", virtualScrollDelay: "virtualScrollDelay", virtualRowHeight: "virtualRowHeight", frozenWidth: "frozenWidth", responsive: "responsive", contextMenu: "contextMenu", resizableColumns: "resizableColumns", columnResizeMode: "columnResizeMode", reorderableColumns: "reorderableColumns", loading: "loading", loadingIcon: "loadingIcon", showLoader: "showLoader", rowHover: "rowHover", customSort: "customSort", showInitialSortBadge: "showInitialSortBadge", autoLayout: "autoLayout", exportFunction: "exportFunction", stateKey: "stateKey", stateStorage: "stateStorage", editMode: "editMode", groupRowsBy: "groupRowsBy", groupRowsByOrder: "groupRowsByOrder", minBufferPx: "minBufferPx", maxBufferPx: "maxBufferPx", responsiveLayout: "responsiveLayout", breakpoint: "breakpoint", value: "value", columns: "columns", first: "first", rows: "rows", totalRecords: "totalRecords", sortField: "sortField", sortOrder: "sortOrder", multiSortMeta: "multiSortMeta", selection: "selection" }, outputs: { selectionChange: "selectionChange", contextMenuSelectionChange: "contextMenuSelectionChange", onRowSelect: "onRowSelect", onRowUnselect: "onRowUnselect", onPage: "onPage", onSort: "onSort", onFilter: "onFilter", onLazyLoad: "onLazyLoad", onRowExpand: "onRowExpand", onRowCollapse: "onRowCollapse", onContextMenuSelect: "onContextMenuSelect", onColResize: "onColResize", onColReorder: "onColReorder", onRowReorder: "onRowReorder", onEditInit: "onEditInit", onEditComplete: "onEditComplete", onEditCancel: "onEditCancel", onHeaderCheckboxToggle: "onHeaderCheckboxToggle", sortFunction: "sortFunction", firstChange: "firstChange", rowsChange: "rowsChange", onStateSave: "onStateSave", onStateRestore: "onStateRestore" }, host: { classAttribute: "p-element" }, providers: [TableService], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }, { propertyName: "resizeHelperViewChild", first: true, predicate: ["resizeHelper"], descendants: true }, { propertyName: "reorderIndicatorUpViewChild", first: true, predicate: ["reorderIndicatorUp"], descendants: true }, { propertyName: "reorderIndicatorDownViewChild", first: true, predicate: ["reorderIndicatorDown"], descendants: true }, { propertyName: "wrapperViewChild", first: true, predicate: ["wrapper"], descendants: true }, { propertyName: "tableViewChild", first: true, predicate: ["table"], descendants: true }, { propertyName: "tableHeaderViewChild", first: true, predicate: ["tableHeader"], descendants: true }, { propertyName: "virtualScrollBody", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
1764
1770
  <div #container [ngStyle]="style" [class]="styleClass"
1765
1771
  [ngClass]="{'p-datatable p-component': true,
1766
1772
  'p-datatable-hoverable-rows': (rowHover||selectionMode),
@@ -1786,10 +1792,10 @@ Table.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5
1786
1792
  <p-paginator [rows]="rows" [first]="first" [totalRecords]="totalRecords" [pageLinkSize]="pageLinks" styleClass="p-paginator-top" [alwaysShow]="alwaysShowPaginator"
1787
1793
  (onPageChange)="onPageChange($event)" [rowsPerPageOptions]="rowsPerPageOptions" *ngIf="paginator && (paginatorPosition === 'top' || paginatorPosition =='both')"
1788
1794
  [templateLeft]="paginatorLeftTemplate" [templateRight]="paginatorRightTemplate" [dropdownAppendTo]="paginatorDropdownAppendTo" [dropdownScrollHeight]="paginatorDropdownScrollHeight"
1789
- [currentPageReportTemplate]="currentPageReportTemplate" [showFirstLastIcon]="showFirstLastIcon" [dropdownItemTemplate]="paginatorDropdownItemTemplate" [showCurrentPageReport]="showCurrentPageReport" [showJumpToPageDropdown]="showJumpToPageDropdown" [showPageLinks]="showPageLinks"></p-paginator>
1795
+ [currentPageReportTemplate]="currentPageReportTemplate" [showFirstLastIcon]="showFirstLastIcon" [dropdownItemTemplate]="paginatorDropdownItemTemplate" [showCurrentPageReport]="showCurrentPageReport" [showJumpToPageDropdown]="showJumpToPageDropdown" [showJumpToPageInput]="showJumpToPageInput" [showPageLinks]="showPageLinks"></p-paginator>
1790
1796
 
1791
1797
  <div #wrapper class="p-datatable-wrapper" [ngStyle]="{height: scrollHeight}">
1792
- <table #table *ngIf="!virtualScroll" role="table" class="p-datatable-table" [ngClass]="tableStyleClass" [ngStyle]="tableStyle">
1798
+ <table #table *ngIf="!virtualScroll" role="table" class="p-datatable-table" [ngClass]="tableStyleClass" [ngStyle]="tableStyle" [attr.id]="id+'-table'">
1793
1799
  <ng-container *ngTemplateOutlet="colGroupTemplate; context {$implicit: columns}"></ng-container>
1794
1800
  <thead class="p-datatable-thead">
1795
1801
  <ng-container *ngTemplateOutlet="headerGroupedTemplate||headerTemplate; context: {$implicit: columns}"></ng-container>
@@ -1801,7 +1807,7 @@ Table.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5
1801
1807
  </tfoot>
1802
1808
  </table>
1803
1809
  <cdk-virtual-scroll-viewport *ngIf="virtualScroll" [itemSize]="virtualRowHeight" tabindex="0" [style.height]="scrollHeight !== 'flex' ? scrollHeight : undefined" [minBufferPx]="minBufferPx" [maxBufferPx]="maxBufferPx" (scrolledIndexChange)="onScrollIndexChange($event)" class="p-datatable-virtual-scrollable-body">
1804
- <table #table role="table" class="p-datatable-table" [ngClass]="tableStyleClass" [ngStyle]="tableStyle">
1810
+ <table #table role="table" class="p-datatable-table" [ngClass]="tableStyleClass" [ngStyle]="tableStyle" [attr.id]="id+'-table'">
1805
1811
  <ng-container *ngTemplateOutlet="colGroupTemplate; context {$implicit: columns}"></ng-container>
1806
1812
  <thead #tableHeader class="p-datatable-thead">
1807
1813
  <ng-container *ngTemplateOutlet="headerGroupedTemplate||headerTemplate; context: {$implicit: columns}"></ng-container>
@@ -1818,7 +1824,7 @@ Table.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5
1818
1824
  <p-paginator [rows]="rows" [first]="first" [totalRecords]="totalRecords" [pageLinkSize]="pageLinks" styleClass="p-paginator-bottom" [alwaysShow]="alwaysShowPaginator"
1819
1825
  (onPageChange)="onPageChange($event)" [rowsPerPageOptions]="rowsPerPageOptions" *ngIf="paginator && (paginatorPosition === 'bottom' || paginatorPosition =='both')"
1820
1826
  [templateLeft]="paginatorLeftTemplate" [templateRight]="paginatorRightTemplate" [dropdownAppendTo]="paginatorDropdownAppendTo" [dropdownScrollHeight]="paginatorDropdownScrollHeight"
1821
- [currentPageReportTemplate]="currentPageReportTemplate" [showFirstLastIcon]="showFirstLastIcon" [dropdownItemTemplate]="paginatorDropdownItemTemplate" [showCurrentPageReport]="showCurrentPageReport" [showJumpToPageDropdown]="showJumpToPageDropdown" [showPageLinks]="showPageLinks"></p-paginator>
1827
+ [currentPageReportTemplate]="currentPageReportTemplate" [showFirstLastIcon]="showFirstLastIcon" [dropdownItemTemplate]="paginatorDropdownItemTemplate" [showCurrentPageReport]="showCurrentPageReport" [showJumpToPageDropdown]="showJumpToPageDropdown" [showJumpToPageInput]="showJumpToPageInput" [showPageLinks]="showPageLinks"></p-paginator>
1822
1828
 
1823
1829
  <div *ngIf="summaryTemplate" class="p-datatable-footer">
1824
1830
  <ng-container *ngTemplateOutlet="summaryTemplate"></ng-container>
@@ -1828,7 +1834,7 @@ Table.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5
1828
1834
  <span #reorderIndicatorUp class="pi pi-arrow-down p-datatable-reorder-indicator-up" style="display:none" *ngIf="reorderableColumns"></span>
1829
1835
  <span #reorderIndicatorDown class="pi pi-arrow-up p-datatable-reorder-indicator-down" style="display:none" *ngIf="reorderableColumns"></span>
1830
1836
  </div>
1831
- `, isInline: true, styles: [".p-datatable{position:relative}.p-datatable table{border-collapse:collapse;width:100%;table-layout:fixed}.p-datatable .p-sortable-column{cursor:pointer;-webkit-user-select:none;-ms-user-select:none;user-select:none}.p-datatable .p-sortable-column .p-column-title,.p-datatable .p-sortable-column .p-sortable-column-badge,.p-datatable .p-sortable-column .p-sortable-column-icon{vertical-align:middle}.p-datatable .p-sortable-column .p-sortable-column-badge{display:inline-flex;align-items:center;justify-content:center}.p-datatable-auto-layout>.p-datatable-wrapper{overflow-x:auto}.p-datatable-auto-layout>.p-datatable-wrapper>table{table-layout:auto}.p-datatable-responsive-scroll>.p-datatable-wrapper{overflow-x:auto}.p-datatable-auto-layout>.p-datatable-wrapper>table,.p-datatable-responsive-scroll>.p-datatable-wrapper>table{table-layout:auto}.p-datatable-hoverable-rows .p-selectable-row{cursor:pointer}.p-datatable-scrollable .p-datatable-wrapper{position:relative;overflow:auto}.p-datatable-scrollable .p-datatable-table,.p-datatable-scrollable .p-datatable-tbody,.p-datatable-scrollable .p-datatable-tfoot,.p-datatable-scrollable .p-datatable-thead{display:block}.p-datatable-scrollable .p-datatable-tbody>tr,.p-datatable-scrollable .p-datatable-tfoot>tr,.p-datatable-scrollable .p-datatable-thead>tr{display:flex;flex-wrap:nowrap;width:100%}.p-datatable-scrollable .p-datatable-tbody>tr>td,.p-datatable-scrollable .p-datatable-tfoot>tr>td,.p-datatable-scrollable .p-datatable-thead>tr>th{display:flex;flex:1 1 0;align-items:center}.p-datatable-scrollable .p-datatable-thead{position:sticky;top:0;z-index:1}.p-datatable-scrollable .p-datatable-frozen-tbody{position:sticky;z-index:1}.p-datatable-scrollable .p-datatable-tfoot{position:sticky;bottom:0;z-index:1}.p-datatable-scrollable .p-frozen-column{position:sticky;background:inherit}.p-datatable-scrollable th.p-frozen-column{z-index:1}.p-datatable-scrollable-both .p-datatable-tbody>tr>td,.p-datatable-scrollable-both .p-datatable-tfoot>tr>td,.p-datatable-scrollable-both .p-datatable-thead>tr>th,.p-datatable-scrollable-horizontal .p-datatable-tfoot>tr>td,.p-datatable-scrollable-horizontal .p-datatable-thead>tr>th\n.p-datatable-scrollable-horizontal .p-datatable-tbody>tr>td{flex:0 0 auto}.p-datatable-flex-scrollable .p-datatable-wrapper{display:flex;flex-direction:column;flex:1;height:100%}.p-datatable-scrollable .p-rowgroup-header{position:sticky;z-index:1}.p-datatable-scrollable.p-datatable-grouped-footer .p-datatable-tfoot,.p-datatable-scrollable.p-datatable-grouped-header .p-datatable-thead{display:table;border-collapse:collapse;width:100%;table-layout:fixed}.p-datatable-scrollable.p-datatable-grouped-footer .p-datatable-tfoot>tr,.p-datatable-scrollable.p-datatable-grouped-header .p-datatable-thead>tr{display:table-row}.p-datatable-scrollable.p-datatable-grouped-footer .p-datatable-tfoot>tr>td,.p-datatable-scrollable.p-datatable-grouped-header .p-datatable-thead>tr>th{display:table-cell}.p-datatable-flex-scrollable{display:flex;flex-direction:column;flex:1;height:100%}.p-datatable-flex-scrollable .p-datatable-virtual-scrollable-body{flex:1}.p-datatable-resizable>.p-datatable-wrapper{overflow-x:auto}.p-datatable-resizable .p-datatable-tbody>tr>td,.p-datatable-resizable .p-datatable-tfoot>tr>td,.p-datatable-resizable .p-datatable-thead>tr>th{overflow:hidden;white-space:nowrap}.p-datatable-resizable .p-resizable-column{background-clip:padding-box;position:relative}.p-datatable-resizable-fit .p-resizable-column:last-child .p-column-resizer{display:none}.p-datatable .p-column-resizer{display:block;position:absolute!important;top:0;right:0;margin:0;width:.5rem;height:100%;padding:0;cursor:col-resize;border:1px solid transparent}.p-datatable .p-column-resizer-helper{width:1px;position:absolute;z-index:10;display:none}.p-datatable .p-row-editor-cancel,.p-datatable .p-row-editor-init,.p-datatable .p-row-editor-save,.p-datatable .p-row-toggler{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.p-datatable-reorder-indicator-down,.p-datatable-reorder-indicator-up{position:absolute;display:none}.p-datatable-reorderablerow-handle,[pReorderableColumn]{cursor:move}.p-datatable .p-datatable-loading-overlay{position:absolute;display:flex;align-items:center;justify-content:center;z-index:2}.p-column-filter-row{display:flex;align-items:center;width:100%}.p-column-filter-menu{display:inline-flex}.p-column-filter-row p-columnfilterformelement{flex:1 1 auto;width:1%}.p-column-filter-clear-button,.p-column-filter-menu-button{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;text-decoration:none;overflow:hidden;position:relative}.p-column-filter-overlay{position:absolute;top:0;left:0}.p-column-filter-row-items{margin:0;padding:0;list-style:none}.p-column-filter-row-item{cursor:pointer}.p-column-filter-add-button,.p-column-filter-remove-button{justify-content:center}.p-column-filter-add-button .p-button-label,.p-column-filter-remove-button .p-button-label{flex-grow:0}.p-column-filter-buttonbar{display:flex;align-items:center;justify-content:space-between}.p-column-filter-buttonbar .p-button{width:auto}.p-datatable .p-datatable-tbody>tr>td>.p-column-title{display:none}cdk-virtual-scroll-viewport{outline:0 none}"], components: [{ type: i0.forwardRef(function () { return i2.Paginator; }), selector: "p-paginator", inputs: ["pageLinkSize", "style", "styleClass", "alwaysShow", "templateLeft", "templateRight", "dropdownAppendTo", "dropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showFirstLastIcon", "totalRecords", "rows", "rowsPerPageOptions", "showJumpToPageDropdown", "showPageLinks", "dropdownItemTemplate", "first"], outputs: ["onPageChange"] }, { type: i0.forwardRef(function () { return TableBody; }), selector: "[pTableBody]", inputs: ["pTableBody", "pTableBodyTemplate", "value", "frozen", "frozenRows"] }, { type: i0.forwardRef(function () { return i3.CdkVirtualScrollViewport; }), selector: "cdk-virtual-scroll-viewport", inputs: ["orientation"], outputs: ["scrolledIndexChange"] }], directives: [{ type: i0.forwardRef(function () { return i4.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i0.forwardRef(function () { return i4.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i0.forwardRef(function () { return i4.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i0.forwardRef(function () { return i4.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i0.forwardRef(function () { return i3.CdkFixedSizeVirtualScroll; }), selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
1837
+ `, isInline: true, styles: [".p-datatable{position:relative}.p-datatable table{border-collapse:collapse;min-width:100%;table-layout:fixed}.p-datatable .p-sortable-column{cursor:pointer;-webkit-user-select:none;-ms-user-select:none;user-select:none}.p-datatable .p-sortable-column .p-column-title,.p-datatable .p-sortable-column .p-sortable-column-badge,.p-datatable .p-sortable-column .p-sortable-column-icon{vertical-align:middle}.p-datatable .p-sortable-column .p-sortable-column-badge{display:inline-flex;align-items:center;justify-content:center}.p-datatable-auto-layout>.p-datatable-wrapper{overflow-x:auto}.p-datatable-auto-layout>.p-datatable-wrapper>table{table-layout:auto}.p-datatable-responsive-scroll>.p-datatable-wrapper{overflow-x:auto}.p-datatable-auto-layout>.p-datatable-wrapper>table,.p-datatable-responsive-scroll>.p-datatable-wrapper>table{table-layout:auto}.p-datatable-hoverable-rows .p-selectable-row{cursor:pointer}.p-datatable-scrollable .p-datatable-wrapper{position:relative;overflow:auto}.p-datatable-scrollable .p-datatable-tbody,.p-datatable-scrollable .p-datatable-tfoot,.p-datatable-scrollable .p-datatable-thead{display:block}.p-datatable-scrollable .p-datatable-tbody>tr,.p-datatable-scrollable .p-datatable-tfoot>tr,.p-datatable-scrollable .p-datatable-thead>tr{display:flex;flex-wrap:nowrap;width:100%}.p-datatable-scrollable .p-datatable-tbody>tr>td,.p-datatable-scrollable .p-datatable-tfoot>tr>td,.p-datatable-scrollable .p-datatable-thead>tr>th{display:flex;flex:1 1 0;align-items:center}.p-datatable-scrollable .p-datatable-thead{position:sticky;top:0;z-index:1}.p-datatable-scrollable .p-datatable-frozen-tbody{position:sticky;z-index:1}.p-datatable-scrollable .p-datatable-tfoot{position:sticky;bottom:0;z-index:1}.p-datatable-scrollable .p-frozen-column{position:sticky;background:inherit}.p-datatable-scrollable th.p-frozen-column{z-index:1}.p-datatable-scrollable-both .p-datatable-tbody>tr>td,.p-datatable-scrollable-both .p-datatable-tfoot>tr>td,.p-datatable-scrollable-both .p-datatable-thead>tr>th,.p-datatable-scrollable-horizontal .p-datatable-tfoot>tr>td,.p-datatable-scrollable-horizontal .p-datatable-thead>tr>th\n.p-datatable-scrollable-horizontal .p-datatable-tbody>tr>td{flex:0 0 auto}.p-datatable-flex-scrollable .p-datatable-wrapper{display:flex;flex-direction:column;flex:1;height:100%}.p-datatable-scrollable .p-rowgroup-header{position:sticky;z-index:1}.p-datatable-scrollable.p-datatable-grouped-footer .p-datatable-tfoot,.p-datatable-scrollable.p-datatable-grouped-header .p-datatable-thead{display:table;border-collapse:collapse;width:100%;table-layout:fixed}.p-datatable-scrollable.p-datatable-grouped-footer .p-datatable-tfoot>tr,.p-datatable-scrollable.p-datatable-grouped-header .p-datatable-thead>tr{display:table-row}.p-datatable-scrollable.p-datatable-grouped-footer .p-datatable-tfoot>tr>td,.p-datatable-scrollable.p-datatable-grouped-header .p-datatable-thead>tr>th{display:table-cell}.p-datatable-flex-scrollable{display:flex;flex-direction:column;flex:1;height:100%}.p-datatable-flex-scrollable .p-datatable-virtual-scrollable-body{flex:1}.p-datatable-resizable>.p-datatable-wrapper{overflow-x:auto}.p-datatable-resizable .p-datatable-tbody>tr>td,.p-datatable-resizable .p-datatable-tfoot>tr>td,.p-datatable-resizable .p-datatable-thead>tr>th{overflow:hidden;white-space:nowrap}.p-datatable-resizable .p-resizable-column{background-clip:padding-box;position:relative}.p-datatable-resizable-fit .p-resizable-column:last-child .p-column-resizer{display:none}.p-datatable .p-column-resizer{display:block;position:absolute!important;top:0;right:0;margin:0;width:.5rem;height:100%;padding:0;cursor:col-resize;border:1px solid transparent}.p-datatable .p-column-resizer-helper{width:1px;position:absolute;z-index:10;display:none}.p-datatable .p-row-editor-cancel,.p-datatable .p-row-editor-init,.p-datatable .p-row-editor-save,.p-datatable .p-row-toggler{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.p-datatable-reorder-indicator-down,.p-datatable-reorder-indicator-up{position:absolute;display:none}.p-datatable-reorderablerow-handle,[pReorderableColumn]{cursor:move}.p-datatable .p-datatable-loading-overlay{position:absolute;display:flex;align-items:center;justify-content:center;z-index:2}.p-column-filter-row{display:flex;align-items:center;width:100%}.p-column-filter-menu{display:inline-flex}.p-column-filter-row p-columnfilterformelement{flex:1 1 auto;width:1%}.p-column-filter-clear-button,.p-column-filter-menu-button{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;text-decoration:none;overflow:hidden;position:relative}.p-column-filter-overlay{position:absolute;top:0;left:0}.p-column-filter-row-items{margin:0;padding:0;list-style:none}.p-column-filter-row-item{cursor:pointer}.p-column-filter-add-button,.p-column-filter-remove-button{justify-content:center}.p-column-filter-add-button .p-button-label,.p-column-filter-remove-button .p-button-label{flex-grow:0}.p-column-filter-buttonbar{display:flex;align-items:center;justify-content:space-between}.p-column-filter-buttonbar .p-button{width:auto}.p-datatable .p-datatable-tbody>tr>td>.p-column-title{display:none}cdk-virtual-scroll-viewport{outline:0 none}"], components: [{ type: i0.forwardRef(function () { return i2.Paginator; }), selector: "p-paginator", inputs: ["pageLinkSize", "style", "styleClass", "alwaysShow", "templateLeft", "templateRight", "dropdownAppendTo", "dropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showFirstLastIcon", "totalRecords", "rows", "rowsPerPageOptions", "showJumpToPageDropdown", "showJumpToPageInput", "showPageLinks", "dropdownItemTemplate", "first"], outputs: ["onPageChange"] }, { type: i0.forwardRef(function () { return TableBody; }), selector: "[pTableBody]", inputs: ["pTableBody", "pTableBodyTemplate", "value", "frozen", "frozenRows"] }, { type: i0.forwardRef(function () { return i3.CdkVirtualScrollViewport; }), selector: "cdk-virtual-scroll-viewport", inputs: ["orientation"], outputs: ["scrolledIndexChange"] }], directives: [{ type: i0.forwardRef(function () { return i4.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i0.forwardRef(function () { return i4.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i0.forwardRef(function () { return i4.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i0.forwardRef(function () { return i4.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i0.forwardRef(function () { return i3.CdkFixedSizeVirtualScroll; }), selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
1832
1838
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: Table, decorators: [{
1833
1839
  type: Component,
1834
1840
  args: [{
@@ -1859,10 +1865,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
1859
1865
  <p-paginator [rows]="rows" [first]="first" [totalRecords]="totalRecords" [pageLinkSize]="pageLinks" styleClass="p-paginator-top" [alwaysShow]="alwaysShowPaginator"
1860
1866
  (onPageChange)="onPageChange($event)" [rowsPerPageOptions]="rowsPerPageOptions" *ngIf="paginator && (paginatorPosition === 'top' || paginatorPosition =='both')"
1861
1867
  [templateLeft]="paginatorLeftTemplate" [templateRight]="paginatorRightTemplate" [dropdownAppendTo]="paginatorDropdownAppendTo" [dropdownScrollHeight]="paginatorDropdownScrollHeight"
1862
- [currentPageReportTemplate]="currentPageReportTemplate" [showFirstLastIcon]="showFirstLastIcon" [dropdownItemTemplate]="paginatorDropdownItemTemplate" [showCurrentPageReport]="showCurrentPageReport" [showJumpToPageDropdown]="showJumpToPageDropdown" [showPageLinks]="showPageLinks"></p-paginator>
1868
+ [currentPageReportTemplate]="currentPageReportTemplate" [showFirstLastIcon]="showFirstLastIcon" [dropdownItemTemplate]="paginatorDropdownItemTemplate" [showCurrentPageReport]="showCurrentPageReport" [showJumpToPageDropdown]="showJumpToPageDropdown" [showJumpToPageInput]="showJumpToPageInput" [showPageLinks]="showPageLinks"></p-paginator>
1863
1869
 
1864
1870
  <div #wrapper class="p-datatable-wrapper" [ngStyle]="{height: scrollHeight}">
1865
- <table #table *ngIf="!virtualScroll" role="table" class="p-datatable-table" [ngClass]="tableStyleClass" [ngStyle]="tableStyle">
1871
+ <table #table *ngIf="!virtualScroll" role="table" class="p-datatable-table" [ngClass]="tableStyleClass" [ngStyle]="tableStyle" [attr.id]="id+'-table'">
1866
1872
  <ng-container *ngTemplateOutlet="colGroupTemplate; context {$implicit: columns}"></ng-container>
1867
1873
  <thead class="p-datatable-thead">
1868
1874
  <ng-container *ngTemplateOutlet="headerGroupedTemplate||headerTemplate; context: {$implicit: columns}"></ng-container>
@@ -1874,7 +1880,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
1874
1880
  </tfoot>
1875
1881
  </table>
1876
1882
  <cdk-virtual-scroll-viewport *ngIf="virtualScroll" [itemSize]="virtualRowHeight" tabindex="0" [style.height]="scrollHeight !== 'flex' ? scrollHeight : undefined" [minBufferPx]="minBufferPx" [maxBufferPx]="maxBufferPx" (scrolledIndexChange)="onScrollIndexChange($event)" class="p-datatable-virtual-scrollable-body">
1877
- <table #table role="table" class="p-datatable-table" [ngClass]="tableStyleClass" [ngStyle]="tableStyle">
1883
+ <table #table role="table" class="p-datatable-table" [ngClass]="tableStyleClass" [ngStyle]="tableStyle" [attr.id]="id+'-table'">
1878
1884
  <ng-container *ngTemplateOutlet="colGroupTemplate; context {$implicit: columns}"></ng-container>
1879
1885
  <thead #tableHeader class="p-datatable-thead">
1880
1886
  <ng-container *ngTemplateOutlet="headerGroupedTemplate||headerTemplate; context: {$implicit: columns}"></ng-container>
@@ -1891,7 +1897,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
1891
1897
  <p-paginator [rows]="rows" [first]="first" [totalRecords]="totalRecords" [pageLinkSize]="pageLinks" styleClass="p-paginator-bottom" [alwaysShow]="alwaysShowPaginator"
1892
1898
  (onPageChange)="onPageChange($event)" [rowsPerPageOptions]="rowsPerPageOptions" *ngIf="paginator && (paginatorPosition === 'bottom' || paginatorPosition =='both')"
1893
1899
  [templateLeft]="paginatorLeftTemplate" [templateRight]="paginatorRightTemplate" [dropdownAppendTo]="paginatorDropdownAppendTo" [dropdownScrollHeight]="paginatorDropdownScrollHeight"
1894
- [currentPageReportTemplate]="currentPageReportTemplate" [showFirstLastIcon]="showFirstLastIcon" [dropdownItemTemplate]="paginatorDropdownItemTemplate" [showCurrentPageReport]="showCurrentPageReport" [showJumpToPageDropdown]="showJumpToPageDropdown" [showPageLinks]="showPageLinks"></p-paginator>
1900
+ [currentPageReportTemplate]="currentPageReportTemplate" [showFirstLastIcon]="showFirstLastIcon" [dropdownItemTemplate]="paginatorDropdownItemTemplate" [showCurrentPageReport]="showCurrentPageReport" [showJumpToPageDropdown]="showJumpToPageDropdown" [showJumpToPageInput]="showJumpToPageInput" [showPageLinks]="showPageLinks"></p-paginator>
1895
1901
 
1896
1902
  <div *ngIf="summaryTemplate" class="p-datatable-footer">
1897
1903
  <ng-container *ngTemplateOutlet="summaryTemplate"></ng-container>
@@ -1942,6 +1948,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
1942
1948
  type: Input
1943
1949
  }], showJumpToPageDropdown: [{
1944
1950
  type: Input
1951
+ }], showJumpToPageInput: [{
1952
+ type: Input
1945
1953
  }], showFirstLastIcon: [{
1946
1954
  type: Input
1947
1955
  }], showPageLinks: [{
@@ -2042,6 +2050,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
2042
2050
  type: Input
2043
2051
  }], groupRowsBy: [{
2044
2052
  type: Input
2053
+ }], groupRowsByOrder: [{
2054
+ type: Input
2045
2055
  }], minBufferPx: [{
2046
2056
  type: Input
2047
2057
  }], maxBufferPx: [{
@@ -2551,6 +2561,10 @@ class SortIcon {
2551
2561
  }
2552
2562
  return index;
2553
2563
  }
2564
+ getBadgeValue() {
2565
+ let index = this.getMultiSortMetaIndex();
2566
+ return this.dt.groupRowsBy && index > -1 ? index : index + 1;
2567
+ }
2554
2568
  isMultiSorted() {
2555
2569
  return this.dt.sortMode === 'multiple' && this.getMultiSortMetaIndex() > -1;
2556
2570
  }
@@ -2563,7 +2577,7 @@ class SortIcon {
2563
2577
  SortIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: SortIcon, deps: [{ token: Table }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2564
2578
  SortIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: SortIcon, selector: "p-sortIcon", inputs: { field: "field" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
2565
2579
  <i class="p-sortable-column-icon pi pi-fw" [ngClass]="{'pi-sort-amount-up-alt': sortOrder === 1, 'pi-sort-amount-down': sortOrder === -1, 'pi-sort-alt': sortOrder === 0}"></i>
2566
- <span *ngIf="isMultiSorted()" class="p-sortable-column-badge">{{getMultiSortMetaIndex() + 1}}</span>
2580
+ <span *ngIf="isMultiSorted()" class="p-sortable-column-badge">{{getBadgeValue()}}</span>
2567
2581
  `, isInline: true, directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2568
2582
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: SortIcon, decorators: [{
2569
2583
  type: Component,
@@ -2571,7 +2585,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
2571
2585
  selector: 'p-sortIcon',
2572
2586
  template: `
2573
2587
  <i class="p-sortable-column-icon pi pi-fw" [ngClass]="{'pi-sort-amount-up-alt': sortOrder === 1, 'pi-sort-amount-down': sortOrder === -1, 'pi-sort-alt': sortOrder === 0}"></i>
2574
- <span *ngIf="isMultiSorted()" class="p-sortable-column-badge">{{getMultiSortMetaIndex() + 1}}</span>
2588
+ <span *ngIf="isMultiSorted()" class="p-sortable-column-badge">{{getBadgeValue()}}</span>
2575
2589
  `,
2576
2590
  changeDetection: ChangeDetectionStrategy.OnPush,
2577
2591
  encapsulation: ViewEncapsulation.None,
@@ -3949,7 +3963,7 @@ ColumnFilterFormElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
3949
3963
  <p-calendar *ngSwitchCase="'date'" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)"></p-calendar>
3950
3964
  </ng-container>
3951
3965
  </ng-template>
3952
- `, isInline: true, components: [{ type: i5.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown"] }, { type: i6.TriStateCheckbox, selector: "p-triStateCheckbox", inputs: ["disabled", "name", "ariaLabelledBy", "tabindex", "inputId", "style", "styleClass", "label", "readonly", "checkboxTrueIcon", "checkboxFalseIcon"], outputs: ["onChange"] }, { type: i7.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "numberOfMonths", "view", "touchUI", "timeSeparator", "focusTrap", "firstDayOfWeek", "showTransitionOptions", "hideTransitionOptions", "tabindex", "defaultDate", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "locale"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i8.InputText, selector: "[pInputText]" }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None });
3966
+ `, isInline: true, components: [{ type: i5.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown"] }, { type: i6.TriStateCheckbox, selector: "p-triStateCheckbox", inputs: ["disabled", "name", "ariaLabelledBy", "tabindex", "inputId", "style", "styleClass", "label", "readonly", "checkboxTrueIcon", "checkboxFalseIcon"], outputs: ["onChange"] }, { type: i7.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "numberOfMonths", "view", "touchUI", "timeSeparator", "focusTrap", "firstDayOfWeek", "showTransitionOptions", "hideTransitionOptions", "tabindex", "defaultDate", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "locale"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i8.InputText, selector: "[pInputText]" }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None });
3953
3967
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: ColumnFilterFormElement, decorators: [{
3954
3968
  type: Component,
3955
3969
  args: [{
@@ -4362,7 +4376,7 @@ ColumnFilter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
4362
4376
  <button #icon *ngIf="showMenuButton" type="button" class="p-column-filter-menu-button p-link" aria-haspopup="true" [attr.aria-expanded]="overlayVisible"
4363
4377
  [ngClass]="{'p-column-filter-menu-button-open': overlayVisible, 'p-column-filter-menu-button-active': hasFilter()}"
4364
4378
  (click)="toggleMenu()" (keydown)="onToggleButtonKeyDown($event)"><span class="pi pi-filter-icon pi-filter"></span></button>
4365
- <button #icon *ngIf="showMenuButton && display === 'row'" [ngClass]="{'p-hidden-space': !hasRowFilter()}" type="button" class="p-column-filter-clear-button p-link" (click)="clearFilter()"><span class="pi pi-filter-slash"></span></button>
4379
+ <button #icon *ngIf="showClearButton && display === 'row'" [ngClass]="{'p-hidden-space': !hasRowFilter()}" type="button" class="p-column-filter-clear-button p-link" (click)="clearFilter()"><span class="pi pi-filter-slash"></span></button>
4366
4380
  <div *ngIf="showMenu && overlayVisible" [ngClass]="{'p-column-filter-overlay p-component p-fluid': true, 'p-column-filter-overlay-menu': display === 'menu'}" (click)="onContentClick()"
4367
4381
  [@overlayAnimation]="'visible'" (@overlayAnimation.start)="onOverlayAnimationStart($event)" (@overlayAnimation.done)="onOverlayAnimationEnd($event)" (keydown.escape)="onEscape()">
4368
4382
  <ng-container *ngTemplateOutlet="headerTemplate; context: {$implicit: field}"></ng-container>
@@ -4398,7 +4412,7 @@ ColumnFilter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
4398
4412
  <ng-container *ngTemplateOutlet="footerTemplate; context: {$implicit: field}"></ng-container>
4399
4413
  </div>
4400
4414
  </div>
4401
- `, isInline: true, components: [{ type: ColumnFilterFormElement, selector: "p-columnFilterFormElement", inputs: ["field", "type", "filterConstraint", "filterTemplate", "placeholder", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping"] }, { type: i10.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide"] }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i11.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }], animations: [
4415
+ `, isInline: true, components: [{ type: ColumnFilterFormElement, selector: "p-columnFilterFormElement", inputs: ["field", "type", "filterConstraint", "filterTemplate", "placeholder", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping"] }, { type: i10.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i11.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }], animations: [
4402
4416
  trigger('overlayAnimation', [
4403
4417
  transition(':enter', [
4404
4418
  style({ opacity: 0, transform: 'scaleY(0.8)' }),
@@ -4420,7 +4434,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
4420
4434
  <button #icon *ngIf="showMenuButton" type="button" class="p-column-filter-menu-button p-link" aria-haspopup="true" [attr.aria-expanded]="overlayVisible"
4421
4435
  [ngClass]="{'p-column-filter-menu-button-open': overlayVisible, 'p-column-filter-menu-button-active': hasFilter()}"
4422
4436
  (click)="toggleMenu()" (keydown)="onToggleButtonKeyDown($event)"><span class="pi pi-filter-icon pi-filter"></span></button>
4423
- <button #icon *ngIf="showMenuButton && display === 'row'" [ngClass]="{'p-hidden-space': !hasRowFilter()}" type="button" class="p-column-filter-clear-button p-link" (click)="clearFilter()"><span class="pi pi-filter-slash"></span></button>
4437
+ <button #icon *ngIf="showClearButton && display === 'row'" [ngClass]="{'p-hidden-space': !hasRowFilter()}" type="button" class="p-column-filter-clear-button p-link" (click)="clearFilter()"><span class="pi pi-filter-slash"></span></button>
4424
4438
  <div *ngIf="showMenu && overlayVisible" [ngClass]="{'p-column-filter-overlay p-component p-fluid': true, 'p-column-filter-overlay-menu': display === 'menu'}" (click)="onContentClick()"
4425
4439
  [@overlayAnimation]="'visible'" (@overlayAnimation.start)="onOverlayAnimationStart($event)" (@overlayAnimation.done)="onOverlayAnimationEnd($event)" (keydown.escape)="onEscape()">
4426
4440
  <ng-container *ngTemplateOutlet="headerTemplate; context: {$implicit: field}"></ng-container>