primeng 16.7.2 → 16.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (410) hide show
  1. package/calendar/calendar.d.ts +10 -1
  2. package/chart/chart.d.ts +11 -1
  3. package/chips/chips.d.ts +1 -2
  4. package/dropdown/dropdown.d.ts +5 -2
  5. package/esm2022/accordion/accordion.mjs +10 -10
  6. package/esm2022/animate/animate.mjs +7 -7
  7. package/esm2022/animateonscroll/animateonscroll.mjs +7 -7
  8. package/esm2022/api/confirmationservice.mjs +3 -3
  9. package/esm2022/api/contextmenuservice.mjs +3 -3
  10. package/esm2022/api/filterservice.mjs +3 -3
  11. package/esm2022/api/messageservice.mjs +3 -3
  12. package/esm2022/api/overlayservice.mjs +3 -3
  13. package/esm2022/api/primengconfig.mjs +3 -3
  14. package/esm2022/api/shared.mjs +13 -13
  15. package/esm2022/api/treedragdropservice.mjs +3 -3
  16. package/esm2022/autocomplete/autocomplete.mjs +35 -16
  17. package/esm2022/autofocus/autofocus.mjs +7 -7
  18. package/esm2022/avatar/avatar.mjs +7 -7
  19. package/esm2022/avatargroup/avatargroup.mjs +7 -7
  20. package/esm2022/badge/badge.mjs +10 -10
  21. package/esm2022/baseicon/baseicon.mjs +3 -3
  22. package/esm2022/blockui/blockui.mjs +7 -7
  23. package/esm2022/breadcrumb/breadcrumb.mjs +7 -7
  24. package/esm2022/button/button.mjs +10 -10
  25. package/esm2022/calendar/calendar.mjs +177 -32
  26. package/esm2022/card/card.mjs +7 -7
  27. package/esm2022/carousel/carousel.mjs +7 -7
  28. package/esm2022/cascadeselect/cascadeselect.mjs +10 -10
  29. package/esm2022/chart/chart.mjs +24 -10
  30. package/esm2022/checkbox/checkbox.mjs +7 -7
  31. package/esm2022/chip/chip.mjs +7 -7
  32. package/esm2022/chips/chips.mjs +15 -18
  33. package/esm2022/colorpicker/colorpicker.mjs +7 -7
  34. package/esm2022/confirmdialog/confirmdialog.mjs +7 -7
  35. package/esm2022/confirmpopup/confirmpopup.mjs +7 -7
  36. package/esm2022/contextmenu/contextmenu.mjs +10 -10
  37. package/esm2022/dataview/dataview.mjs +10 -10
  38. package/esm2022/defer/defer.mjs +7 -7
  39. package/esm2022/dialog/dialog.mjs +7 -7
  40. package/esm2022/divider/divider.mjs +7 -7
  41. package/esm2022/dock/dock.mjs +7 -7
  42. package/esm2022/dragdrop/dragdrop.mjs +10 -10
  43. package/esm2022/dropdown/dropdown.mjs +81 -47
  44. package/esm2022/dynamicdialog/dialogservice.mjs +3 -3
  45. package/esm2022/dynamicdialog/dynamicdialog.mjs +7 -7
  46. package/esm2022/dynamicdialog/dynamicdialogcontent.mjs +3 -3
  47. package/esm2022/editor/editor.mjs +7 -7
  48. package/esm2022/fieldset/fieldset.mjs +7 -7
  49. package/esm2022/fileupload/fileupload.mjs +18 -11
  50. package/esm2022/focustrap/focustrap.mjs +7 -7
  51. package/esm2022/galleria/galleria.mjs +19 -19
  52. package/esm2022/icons/angledoubledown/angledoubledown.mjs +3 -3
  53. package/esm2022/icons/angledoubleleft/angledoubleleft.mjs +3 -3
  54. package/esm2022/icons/angledoubleright/angledoubleright.mjs +3 -3
  55. package/esm2022/icons/angledoubleup/angledoubleup.mjs +3 -3
  56. package/esm2022/icons/angledown/angledown.mjs +3 -3
  57. package/esm2022/icons/angleleft/angleleft.mjs +3 -3
  58. package/esm2022/icons/angleright/angleright.mjs +3 -3
  59. package/esm2022/icons/angleup/angleup.mjs +3 -3
  60. package/esm2022/icons/arrowdown/arrowdown.mjs +3 -3
  61. package/esm2022/icons/arrowdownleft/arrowdownleft.mjs +3 -3
  62. package/esm2022/icons/arrowdownright/arrowdownright.mjs +3 -3
  63. package/esm2022/icons/arrowleft/arrowleft.mjs +3 -3
  64. package/esm2022/icons/arrowright/arrowright.mjs +3 -3
  65. package/esm2022/icons/arrowup/arrowup.mjs +3 -3
  66. package/esm2022/icons/ban/ban.mjs +3 -3
  67. package/esm2022/icons/bars/bars.mjs +3 -3
  68. package/esm2022/icons/calendar/calendar.mjs +3 -3
  69. package/esm2022/icons/caretleft/caretleft.mjs +3 -3
  70. package/esm2022/icons/caretright/caretright.mjs +3 -3
  71. package/esm2022/icons/check/check.mjs +3 -3
  72. package/esm2022/icons/chevrondown/chevrondown.mjs +3 -3
  73. package/esm2022/icons/chevronleft/chevronleft.mjs +3 -3
  74. package/esm2022/icons/chevronright/chevronright.mjs +3 -3
  75. package/esm2022/icons/chevronup/chevronup.mjs +3 -3
  76. package/esm2022/icons/exclamationtriangle/exclamationtriangle.mjs +3 -3
  77. package/esm2022/icons/eye/eye.mjs +3 -3
  78. package/esm2022/icons/eyeslash/eyeslash.mjs +3 -3
  79. package/esm2022/icons/filter/filter.mjs +3 -3
  80. package/esm2022/icons/filterslash/filterslash.mjs +3 -3
  81. package/esm2022/icons/home/home.mjs +3 -3
  82. package/esm2022/icons/infocircle/infocircle.mjs +3 -3
  83. package/esm2022/icons/minus/minus.mjs +3 -3
  84. package/esm2022/icons/pencil/pencil.mjs +3 -3
  85. package/esm2022/icons/plus/plus.mjs +3 -3
  86. package/esm2022/icons/refresh/refresh.mjs +3 -3
  87. package/esm2022/icons/search/search.mjs +3 -3
  88. package/esm2022/icons/searchminus/searchminus.mjs +3 -3
  89. package/esm2022/icons/searchplus/searchplus.mjs +3 -3
  90. package/esm2022/icons/sortalt/sortalt.mjs +3 -3
  91. package/esm2022/icons/sortamountdown/sortamountdown.mjs +3 -3
  92. package/esm2022/icons/sortamountupalt/sortamountupalt.mjs +3 -3
  93. package/esm2022/icons/spinner/spinner.mjs +3 -3
  94. package/esm2022/icons/star/star.mjs +3 -3
  95. package/esm2022/icons/starfill/starfill.mjs +3 -3
  96. package/esm2022/icons/thlarge/thlarge.mjs +3 -3
  97. package/esm2022/icons/times/times.mjs +3 -3
  98. package/esm2022/icons/timescircle/timescircle.mjs +3 -3
  99. package/esm2022/icons/trash/trash.mjs +3 -3
  100. package/esm2022/icons/undo/undo.mjs +3 -3
  101. package/esm2022/icons/upload/upload.mjs +3 -3
  102. package/esm2022/icons/windowmaximize/windowmaximize.mjs +3 -3
  103. package/esm2022/icons/windowminimize/windowminimize.mjs +3 -3
  104. package/esm2022/image/image.mjs +7 -7
  105. package/esm2022/inplace/inplace.mjs +13 -13
  106. package/esm2022/inputmask/inputmask.mjs +7 -7
  107. package/esm2022/inputnumber/inputnumber.mjs +7 -7
  108. package/esm2022/inputswitch/inputswitch.mjs +7 -7
  109. package/esm2022/inputtext/inputtext.mjs +7 -7
  110. package/esm2022/inputtextarea/inputtextarea.mjs +7 -7
  111. package/esm2022/keyfilter/keyfilter.mjs +7 -7
  112. package/esm2022/knob/knob.mjs +7 -7
  113. package/esm2022/listbox/listbox.interface.mjs +1 -1
  114. package/esm2022/listbox/listbox.mjs +51 -17
  115. package/esm2022/megamenu/megamenu.mjs +12 -14
  116. package/esm2022/menu/menu.mjs +13 -13
  117. package/esm2022/menubar/menubar.mjs +15 -15
  118. package/esm2022/message/message.mjs +7 -7
  119. package/esm2022/messages/messages.mjs +10 -10
  120. package/esm2022/multiselect/multiselect.interface.mjs +1 -1
  121. package/esm2022/multiselect/multiselect.mjs +94 -40
  122. package/esm2022/orderlist/orderlist.mjs +296 -100
  123. package/esm2022/organizationchart/organizationchart.mjs +54 -53
  124. package/esm2022/overlay/overlay.mjs +9 -9
  125. package/esm2022/overlaypanel/overlaypanel.mjs +7 -7
  126. package/esm2022/paginator/paginator.mjs +76 -25
  127. package/esm2022/panel/panel.mjs +10 -8
  128. package/esm2022/panelmenu/panelmenu.mjs +13 -13
  129. package/esm2022/password/password.mjs +13 -13
  130. package/esm2022/picklist/picklist.mjs +321 -118
  131. package/esm2022/progressbar/progressbar.mjs +7 -7
  132. package/esm2022/progressspinner/progressspinner.mjs +7 -7
  133. package/esm2022/radiobutton/radiobutton.mjs +10 -10
  134. package/esm2022/rating/rating.mjs +7 -7
  135. package/esm2022/ripple/ripple.mjs +7 -7
  136. package/esm2022/scroller/scroller.mjs +20 -16
  137. package/esm2022/scrollpanel/scrollpanel.mjs +7 -7
  138. package/esm2022/scrolltop/scrolltop.mjs +7 -7
  139. package/esm2022/selectbutton/selectbutton.mjs +7 -7
  140. package/esm2022/sidebar/sidebar.mjs +17 -8
  141. package/esm2022/skeleton/skeleton.mjs +7 -7
  142. package/esm2022/slidemenu/slidemenu.mjs +10 -10
  143. package/esm2022/slider/slider.mjs +7 -7
  144. package/esm2022/speeddial/speeddial.mjs +7 -7
  145. package/esm2022/spinner/spinner.mjs +7 -7
  146. package/esm2022/splitbutton/splitbutton.mjs +7 -7
  147. package/esm2022/splitter/splitter.mjs +7 -7
  148. package/esm2022/steps/steps.mjs +7 -7
  149. package/esm2022/styleclass/styleclass.mjs +7 -7
  150. package/esm2022/table/table.mjs +275 -147
  151. package/esm2022/tabmenu/tabmenu.mjs +7 -7
  152. package/esm2022/tabview/tabview.mjs +10 -10
  153. package/esm2022/tag/tag.mjs +7 -7
  154. package/esm2022/terminal/terminal.mjs +7 -7
  155. package/esm2022/terminal/terminalservice.mjs +3 -3
  156. package/esm2022/tieredmenu/tieredmenu.mjs +10 -10
  157. package/esm2022/timeline/timeline.mjs +25 -21
  158. package/esm2022/toast/toast.mjs +13 -13
  159. package/esm2022/togglebutton/togglebutton.mjs +7 -7
  160. package/esm2022/toolbar/toolbar.mjs +7 -7
  161. package/esm2022/tooltip/tooltip.mjs +9 -9
  162. package/esm2022/tree/tree.mjs +172 -92
  163. package/esm2022/treeselect/treeselect.mjs +134 -37
  164. package/esm2022/treetable/treetable.mjs +242 -128
  165. package/esm2022/tristatecheckbox/tristatecheckbox.mjs +7 -7
  166. package/esm2022/virtualscroller/virtualscroller.mjs +14 -14
  167. package/fesm2022/primeng-accordion.mjs +10 -10
  168. package/fesm2022/primeng-animate.mjs +7 -7
  169. package/fesm2022/primeng-animateonscroll.mjs +7 -7
  170. package/fesm2022/primeng-api.mjs +34 -34
  171. package/fesm2022/primeng-autocomplete.mjs +34 -15
  172. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  173. package/fesm2022/primeng-autofocus.mjs +7 -7
  174. package/fesm2022/primeng-avatar.mjs +7 -7
  175. package/fesm2022/primeng-avatargroup.mjs +7 -7
  176. package/fesm2022/primeng-badge.mjs +10 -10
  177. package/fesm2022/primeng-baseicon.mjs +3 -3
  178. package/fesm2022/primeng-blockui.mjs +7 -7
  179. package/fesm2022/primeng-breadcrumb.mjs +7 -7
  180. package/fesm2022/primeng-button.mjs +10 -10
  181. package/fesm2022/primeng-calendar.mjs +176 -31
  182. package/fesm2022/primeng-calendar.mjs.map +1 -1
  183. package/fesm2022/primeng-card.mjs +7 -7
  184. package/fesm2022/primeng-carousel.mjs +7 -7
  185. package/fesm2022/primeng-cascadeselect.mjs +10 -10
  186. package/fesm2022/primeng-chart.mjs +23 -9
  187. package/fesm2022/primeng-chart.mjs.map +1 -1
  188. package/fesm2022/primeng-checkbox.mjs +7 -7
  189. package/fesm2022/primeng-chip.mjs +7 -7
  190. package/fesm2022/primeng-chips.mjs +14 -17
  191. package/fesm2022/primeng-chips.mjs.map +1 -1
  192. package/fesm2022/primeng-colorpicker.mjs +7 -7
  193. package/fesm2022/primeng-confirmdialog.mjs +7 -7
  194. package/fesm2022/primeng-confirmpopup.mjs +7 -7
  195. package/fesm2022/primeng-contextmenu.mjs +10 -10
  196. package/fesm2022/primeng-dataview.mjs +10 -10
  197. package/fesm2022/primeng-defer.mjs +7 -7
  198. package/fesm2022/primeng-dialog.mjs +7 -7
  199. package/fesm2022/primeng-divider.mjs +7 -7
  200. package/fesm2022/primeng-dock.mjs +7 -7
  201. package/fesm2022/primeng-dragdrop.mjs +10 -10
  202. package/fesm2022/primeng-dropdown.mjs +80 -46
  203. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  204. package/fesm2022/primeng-dynamicdialog.mjs +13 -13
  205. package/fesm2022/primeng-editor.mjs +7 -7
  206. package/fesm2022/primeng-fieldset.mjs +7 -7
  207. package/fesm2022/primeng-fileupload.mjs +17 -10
  208. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  209. package/fesm2022/primeng-focustrap.mjs +7 -7
  210. package/fesm2022/primeng-galleria.mjs +19 -19
  211. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  212. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  213. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  214. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  215. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  216. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  217. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  218. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  219. package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
  220. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  221. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  222. package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
  223. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  224. package/fesm2022/primeng-icons-arrowup.mjs +3 -3
  225. package/fesm2022/primeng-icons-ban.mjs +3 -3
  226. package/fesm2022/primeng-icons-bars.mjs +3 -3
  227. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  228. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  229. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  230. package/fesm2022/primeng-icons-check.mjs +3 -3
  231. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  232. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  233. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  234. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  235. package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
  236. package/fesm2022/primeng-icons-eye.mjs +3 -3
  237. package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
  238. package/fesm2022/primeng-icons-filter.mjs +3 -3
  239. package/fesm2022/primeng-icons-filterslash.mjs +3 -3
  240. package/fesm2022/primeng-icons-home.mjs +3 -3
  241. package/fesm2022/primeng-icons-infocircle.mjs +3 -3
  242. package/fesm2022/primeng-icons-minus.mjs +3 -3
  243. package/fesm2022/primeng-icons-pencil.mjs +3 -3
  244. package/fesm2022/primeng-icons-plus.mjs +3 -3
  245. package/fesm2022/primeng-icons-refresh.mjs +3 -3
  246. package/fesm2022/primeng-icons-search.mjs +3 -3
  247. package/fesm2022/primeng-icons-searchminus.mjs +3 -3
  248. package/fesm2022/primeng-icons-searchplus.mjs +3 -3
  249. package/fesm2022/primeng-icons-sortalt.mjs +3 -3
  250. package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
  251. package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
  252. package/fesm2022/primeng-icons-spinner.mjs +3 -3
  253. package/fesm2022/primeng-icons-star.mjs +3 -3
  254. package/fesm2022/primeng-icons-starfill.mjs +3 -3
  255. package/fesm2022/primeng-icons-thlarge.mjs +3 -3
  256. package/fesm2022/primeng-icons-times.mjs +3 -3
  257. package/fesm2022/primeng-icons-timescircle.mjs +3 -3
  258. package/fesm2022/primeng-icons-trash.mjs +3 -3
  259. package/fesm2022/primeng-icons-undo.mjs +3 -3
  260. package/fesm2022/primeng-icons-upload.mjs +3 -3
  261. package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
  262. package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
  263. package/fesm2022/primeng-image.mjs +7 -7
  264. package/fesm2022/primeng-inplace.mjs +13 -13
  265. package/fesm2022/primeng-inputmask.mjs +7 -7
  266. package/fesm2022/primeng-inputnumber.mjs +7 -7
  267. package/fesm2022/primeng-inputswitch.mjs +7 -7
  268. package/fesm2022/primeng-inputtext.mjs +7 -7
  269. package/fesm2022/primeng-inputtextarea.mjs +7 -7
  270. package/fesm2022/primeng-keyfilter.mjs +7 -7
  271. package/fesm2022/primeng-knob.mjs +7 -7
  272. package/fesm2022/primeng-listbox.mjs +50 -16
  273. package/fesm2022/primeng-listbox.mjs.map +1 -1
  274. package/fesm2022/primeng-megamenu.mjs +11 -13
  275. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  276. package/fesm2022/primeng-menu.mjs +13 -13
  277. package/fesm2022/primeng-menubar.mjs +14 -14
  278. package/fesm2022/primeng-menubar.mjs.map +1 -1
  279. package/fesm2022/primeng-message.mjs +7 -7
  280. package/fesm2022/primeng-messages.mjs +9 -9
  281. package/fesm2022/primeng-messages.mjs.map +1 -1
  282. package/fesm2022/primeng-multiselect.mjs +93 -39
  283. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  284. package/fesm2022/primeng-orderlist.mjs +299 -103
  285. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  286. package/fesm2022/primeng-organizationchart.mjs +52 -50
  287. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  288. package/fesm2022/primeng-overlay.mjs +8 -8
  289. package/fesm2022/primeng-overlay.mjs.map +1 -1
  290. package/fesm2022/primeng-overlaypanel.mjs +7 -7
  291. package/fesm2022/primeng-paginator.mjs +79 -27
  292. package/fesm2022/primeng-paginator.mjs.map +1 -1
  293. package/fesm2022/primeng-panel.mjs +9 -7
  294. package/fesm2022/primeng-panel.mjs.map +1 -1
  295. package/fesm2022/primeng-panelmenu.mjs +13 -13
  296. package/fesm2022/primeng-password.mjs +13 -13
  297. package/fesm2022/primeng-picklist.mjs +324 -121
  298. package/fesm2022/primeng-picklist.mjs.map +1 -1
  299. package/fesm2022/primeng-progressbar.mjs +7 -7
  300. package/fesm2022/primeng-progressspinner.mjs +7 -7
  301. package/fesm2022/primeng-radiobutton.mjs +10 -10
  302. package/fesm2022/primeng-rating.mjs +7 -7
  303. package/fesm2022/primeng-ripple.mjs +7 -7
  304. package/fesm2022/primeng-scroller.mjs +19 -15
  305. package/fesm2022/primeng-scroller.mjs.map +1 -1
  306. package/fesm2022/primeng-scrollpanel.mjs +7 -7
  307. package/fesm2022/primeng-scrolltop.mjs +7 -7
  308. package/fesm2022/primeng-selectbutton.mjs +7 -7
  309. package/fesm2022/primeng-sidebar.mjs +16 -7
  310. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  311. package/fesm2022/primeng-skeleton.mjs +7 -7
  312. package/fesm2022/primeng-slidemenu.mjs +10 -10
  313. package/fesm2022/primeng-slider.mjs +7 -7
  314. package/fesm2022/primeng-speeddial.mjs +7 -7
  315. package/fesm2022/primeng-spinner.mjs +7 -7
  316. package/fesm2022/primeng-splitbutton.mjs +7 -7
  317. package/fesm2022/primeng-splitter.mjs +7 -7
  318. package/fesm2022/primeng-steps.mjs +7 -7
  319. package/fesm2022/primeng-styleclass.mjs +7 -7
  320. package/fesm2022/primeng-table.mjs +274 -146
  321. package/fesm2022/primeng-table.mjs.map +1 -1
  322. package/fesm2022/primeng-tabmenu.mjs +7 -7
  323. package/fesm2022/primeng-tabview.mjs +10 -10
  324. package/fesm2022/primeng-tag.mjs +7 -7
  325. package/fesm2022/primeng-terminal.mjs +10 -10
  326. package/fesm2022/primeng-tieredmenu.mjs +10 -10
  327. package/fesm2022/primeng-timeline.mjs +25 -21
  328. package/fesm2022/primeng-timeline.mjs.map +1 -1
  329. package/fesm2022/primeng-toast.mjs +12 -12
  330. package/fesm2022/primeng-toast.mjs.map +1 -1
  331. package/fesm2022/primeng-togglebutton.mjs +7 -7
  332. package/fesm2022/primeng-toolbar.mjs +7 -7
  333. package/fesm2022/primeng-tooltip.mjs +8 -8
  334. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  335. package/fesm2022/primeng-tree.mjs +171 -91
  336. package/fesm2022/primeng-tree.mjs.map +1 -1
  337. package/fesm2022/primeng-treeselect.mjs +133 -36
  338. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  339. package/fesm2022/primeng-treetable.mjs +241 -127
  340. package/fesm2022/primeng-treetable.mjs.map +1 -1
  341. package/fesm2022/primeng-tristatecheckbox.mjs +7 -7
  342. package/fesm2022/primeng-virtualscroller.mjs +13 -13
  343. package/fesm2022/primeng-virtualscroller.mjs.map +1 -1
  344. package/listbox/listbox.d.ts +19 -2
  345. package/listbox/listbox.interface.d.ts +15 -0
  346. package/multiselect/multiselect.d.ts +29 -5
  347. package/multiselect/multiselect.interface.d.ts +15 -0
  348. package/orderlist/orderlist.d.ts +43 -7
  349. package/organizationchart/organizationchart.d.ts +3 -4
  350. package/package.json +98 -98
  351. package/paginator/paginator.d.ts +3 -3
  352. package/picklist/picklist.d.ts +9 -4
  353. package/resources/components/messages/messages.css +1 -0
  354. package/resources/components/toast/toast.css +1 -0
  355. package/resources/themes/arya-blue/theme.css +37 -15
  356. package/resources/themes/arya-green/theme.css +37 -15
  357. package/resources/themes/arya-orange/theme.css +37 -15
  358. package/resources/themes/arya-purple/theme.css +37 -15
  359. package/resources/themes/bootstrap4-dark-blue/theme.css +37 -15
  360. package/resources/themes/bootstrap4-dark-purple/theme.css +37 -15
  361. package/resources/themes/bootstrap4-light-blue/theme.css +37 -15
  362. package/resources/themes/bootstrap4-light-purple/theme.css +37 -15
  363. package/resources/themes/fluent-light/theme.css +37 -15
  364. package/resources/themes/lara-dark-blue/theme.css +37 -15
  365. package/resources/themes/lara-dark-indigo/theme.css +37 -15
  366. package/resources/themes/lara-dark-purple/theme.css +37 -15
  367. package/resources/themes/lara-dark-teal/theme.css +37 -15
  368. package/resources/themes/lara-light-blue/theme.css +37 -15
  369. package/resources/themes/lara-light-indigo/theme.css +37 -15
  370. package/resources/themes/lara-light-purple/theme.css +37 -15
  371. package/resources/themes/lara-light-teal/theme.css +37 -15
  372. package/resources/themes/luna-amber/theme.css +37 -15
  373. package/resources/themes/luna-blue/theme.css +37 -15
  374. package/resources/themes/luna-green/theme.css +37 -15
  375. package/resources/themes/luna-pink/theme.css +37 -15
  376. package/resources/themes/md-dark-deeppurple/theme.css +37 -15
  377. package/resources/themes/md-dark-indigo/theme.css +37 -15
  378. package/resources/themes/md-light-deeppurple/theme.css +37 -15
  379. package/resources/themes/md-light-indigo/theme.css +37 -15
  380. package/resources/themes/mdc-dark-deeppurple/theme.css +37 -15
  381. package/resources/themes/mdc-dark-indigo/theme.css +37 -15
  382. package/resources/themes/mdc-light-deeppurple/theme.css +37 -15
  383. package/resources/themes/mdc-light-indigo/theme.css +37 -15
  384. package/resources/themes/mira/theme.css +37 -15
  385. package/resources/themes/nano/theme.css +37 -15
  386. package/resources/themes/nova/theme.css +37 -15
  387. package/resources/themes/nova-accent/theme.css +37 -15
  388. package/resources/themes/nova-alt/theme.css +37 -15
  389. package/resources/themes/rhea/theme.css +37 -15
  390. package/resources/themes/saga-blue/theme.css +37 -15
  391. package/resources/themes/saga-green/theme.css +37 -15
  392. package/resources/themes/saga-orange/theme.css +37 -15
  393. package/resources/themes/saga-purple/theme.css +37 -15
  394. package/resources/themes/soho-dark/theme.css +37 -15
  395. package/resources/themes/soho-light/theme.css +37 -15
  396. package/resources/themes/tailwind-light/theme.css +37 -15
  397. package/resources/themes/vela-blue/theme.css +37 -15
  398. package/resources/themes/vela-green/theme.css +37 -15
  399. package/resources/themes/vela-orange/theme.css +37 -15
  400. package/resources/themes/vela-purple/theme.css +37 -15
  401. package/resources/themes/viva-dark/theme.css +37 -15
  402. package/resources/themes/viva-light/theme.css +37 -15
  403. package/scroller/scroller.d.ts +2 -3
  404. package/sidebar/sidebar.d.ts +3 -2
  405. package/table/table.d.ts +20 -9
  406. package/timeline/timeline.d.ts +1 -1
  407. package/tree/tree.d.ts +12 -1
  408. package/treeselect/treeselect.d.ts +14 -1
  409. package/treetable/treetable.d.ts +16 -2
  410. package/virtualscroller/virtualscroller.d.ts +1 -2
@@ -68,10 +68,10 @@ class TableService {
68
68
  onColumnsChange(columns) {
69
69
  this.columnsSource.next(columns);
70
70
  }
71
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: TableService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
72
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: TableService });
71
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TableService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
72
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TableService });
73
73
  }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: TableService, decorators: [{
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TableService, decorators: [{
75
75
  type: Injectable
76
76
  }] });
77
77
  /**
@@ -88,6 +88,7 @@ class Table {
88
88
  cd;
89
89
  filterService;
90
90
  overlayService;
91
+ config;
91
92
  /**
92
93
  * An array of objects to represent dynamic columns that are frozen.
93
94
  * @group Props
@@ -812,7 +813,7 @@ class Table {
812
813
  styleElement;
813
814
  responsiveStyleElement;
814
815
  window;
815
- constructor(document, platformId, renderer, el, zone, tableService, cd, filterService, overlayService) {
816
+ constructor(document, platformId, renderer, el, zone, tableService, cd, filterService, overlayService, config) {
816
817
  this.document = document;
817
818
  this.platformId = platformId;
818
819
  this.renderer = renderer;
@@ -822,6 +823,7 @@ class Table {
822
823
  this.cd = cd;
823
824
  this.filterService = filterService;
824
825
  this.overlayService = overlayService;
826
+ this.config = config;
825
827
  this.window = this.document.defaultView;
826
828
  }
827
829
  ngOnInit() {
@@ -2455,8 +2457,8 @@ class Table {
2455
2457
  this.destroyStyleElement();
2456
2458
  this.destroyResponsiveStyle();
2457
2459
  }
2458
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: Table, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: TableService }, { token: i0.ChangeDetectorRef }, { token: i1.FilterService }, { token: i1.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
2459
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", 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", paginatorStyleClass: "paginatorStyleClass", paginatorDropdownAppendTo: "paginatorDropdownAppendTo", paginatorDropdownScrollHeight: "paginatorDropdownScrollHeight", currentPageReportTemplate: "currentPageReportTemplate", showCurrentPageReport: "showCurrentPageReport", showJumpToPageDropdown: "showJumpToPageDropdown", showJumpToPageInput: "showJumpToPageInput", showFirstLastIcon: "showFirstLastIcon", showPageLinks: "showPageLinks", defaultSortOrder: "defaultSortOrder", sortMode: "sortMode", resetPageOnSort: "resetPageOnSort", selectionMode: "selectionMode", selectionPageOnly: "selectionPageOnly", contextMenuSelection: "contextMenuSelection", contextMenuSelectionMode: "contextMenuSelectionMode", dataKey: "dataKey", metaKeySelection: "metaKeySelection", rowSelectable: "rowSelectable", 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", virtualScrollItemSize: "virtualScrollItemSize", virtualScrollOptions: "virtualScrollOptions", virtualScrollDelay: "virtualScrollDelay", 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", exportHeader: "exportHeader", stateKey: "stateKey", stateStorage: "stateStorage", editMode: "editMode", groupRowsBy: "groupRowsBy", groupRowsByOrder: "groupRowsByOrder", responsiveLayout: "responsiveLayout", breakpoint: "breakpoint", paginatorLocale: "paginatorLocale", value: "value", columns: "columns", first: "first", rows: "rows", totalRecords: "totalRecords", sortField: "sortField", sortOrder: "sortOrder", multiSortMeta: "multiSortMeta", selection: "selection", selectAll: "selectAll", virtualRowHeight: "virtualRowHeight" }, outputs: { contextMenuSelectionChange: "contextMenuSelectionChange", selectAllChange: "selectAllChange", selectionChange: "selectionChange", 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: ["thead"], descendants: true }, { propertyName: "tableFooterViewChild", first: true, predicate: ["tfoot"], descendants: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
2460
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: Table, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: TableService }, { token: i0.ChangeDetectorRef }, { token: i1.FilterService }, { token: i1.OverlayService }, { token: i1.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
2461
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", 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", paginatorStyleClass: "paginatorStyleClass", paginatorDropdownAppendTo: "paginatorDropdownAppendTo", paginatorDropdownScrollHeight: "paginatorDropdownScrollHeight", currentPageReportTemplate: "currentPageReportTemplate", showCurrentPageReport: "showCurrentPageReport", showJumpToPageDropdown: "showJumpToPageDropdown", showJumpToPageInput: "showJumpToPageInput", showFirstLastIcon: "showFirstLastIcon", showPageLinks: "showPageLinks", defaultSortOrder: "defaultSortOrder", sortMode: "sortMode", resetPageOnSort: "resetPageOnSort", selectionMode: "selectionMode", selectionPageOnly: "selectionPageOnly", contextMenuSelection: "contextMenuSelection", contextMenuSelectionMode: "contextMenuSelectionMode", dataKey: "dataKey", metaKeySelection: "metaKeySelection", rowSelectable: "rowSelectable", 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", virtualScrollItemSize: "virtualScrollItemSize", virtualScrollOptions: "virtualScrollOptions", virtualScrollDelay: "virtualScrollDelay", 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", exportHeader: "exportHeader", stateKey: "stateKey", stateStorage: "stateStorage", editMode: "editMode", groupRowsBy: "groupRowsBy", groupRowsByOrder: "groupRowsByOrder", responsiveLayout: "responsiveLayout", breakpoint: "breakpoint", paginatorLocale: "paginatorLocale", value: "value", columns: "columns", first: "first", rows: "rows", totalRecords: "totalRecords", sortField: "sortField", sortOrder: "sortOrder", multiSortMeta: "multiSortMeta", selection: "selection", selectAll: "selectAll", virtualRowHeight: "virtualRowHeight" }, outputs: { contextMenuSelectionChange: "contextMenuSelectionChange", selectAllChange: "selectAllChange", selectionChange: "selectionChange", 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: ["thead"], descendants: true }, { propertyName: "tableFooterViewChild", first: true, predicate: ["tfoot"], descendants: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
2460
2462
  <div
2461
2463
  #container
2462
2464
  [ngStyle]="style"
@@ -2555,10 +2557,11 @@ class Table {
2555
2557
  [attr.id]="id + '-table'"
2556
2558
  >
2557
2559
  <ng-container *ngTemplateOutlet="colGroupTemplate; context: { $implicit: scrollerOptions.columns }"></ng-container>
2558
- <thead #thead class="p-datatable-thead">
2560
+ <thead role="rowgroup" #thead class="p-datatable-thead">
2559
2561
  <ng-container *ngTemplateOutlet="headerGroupedTemplate || headerTemplate; context: { $implicit: scrollerOptions.columns }"></ng-container>
2560
2562
  </thead>
2561
2563
  <tbody
2564
+ role="rowgroup"
2562
2565
  class="p-datatable-tbody p-datatable-frozen-tbody"
2563
2566
  *ngIf="frozenValue || frozenBodyTemplate"
2564
2567
  [value]="frozenValue"
@@ -2568,6 +2571,7 @@ class Table {
2568
2571
  [frozen]="true"
2569
2572
  ></tbody>
2570
2573
  <tbody
2574
+ role="rowgroup"
2571
2575
  class="p-datatable-tbody"
2572
2576
  [ngClass]="scrollerOptions.contentStyleClass"
2573
2577
  [style]="scrollerOptions.contentStyle"
@@ -2576,8 +2580,13 @@ class Table {
2576
2580
  [pTableBodyTemplate]="bodyTemplate"
2577
2581
  [scrollerOptions]="scrollerOptions"
2578
2582
  ></tbody>
2579
- <tbody *ngIf="scrollerOptions.spacerStyle" [style]="'height: calc(' + scrollerOptions.spacerStyle.height + ' - ' + scrollerOptions.rows.length * scrollerOptions.itemSize + 'px);'" class="p-datatable-scroller-spacer"></tbody>
2580
- <tfoot *ngIf="footerGroupedTemplate || footerTemplate" #tfoot class="p-datatable-tfoot">
2583
+ <tbody
2584
+ role="rowgroup"
2585
+ *ngIf="scrollerOptions.spacerStyle"
2586
+ [style]="'height: calc(' + scrollerOptions.spacerStyle.height + ' - ' + scrollerOptions.rows.length * scrollerOptions.itemSize + 'px);'"
2587
+ class="p-datatable-scroller-spacer"
2588
+ ></tbody>
2589
+ <tfoot role="rowgroup" *ngIf="footerGroupedTemplate || footerTemplate" #tfoot class="p-datatable-tfoot">
2581
2590
  <ng-container *ngTemplateOutlet="footerGroupedTemplate || footerTemplate; context: { $implicit: scrollerOptions.columns }"></ng-container>
2582
2591
  </tfoot>
2583
2592
  </table>
@@ -2641,7 +2650,7 @@ class Table {
2641
2650
  </div>
2642
2651
  `, isInline: true, styles: ["@layer primeng{.p-datatable{position:relative}.p-datatable>.p-datatable-wrapper{overflow:auto}.p-datatable-table{border-spacing:0px;width:100%}.p-datatable .p-sortable-column{cursor:pointer;-webkit-user-select:none;user-select:none}.p-datatable .p-sortable-column .p-column-title,.p-datatable .p-sortable-column .p-sortable-column-icon,.p-datatable .p-sortable-column .p-sortable-column-badge{vertical-align:middle}.p-datatable .p-sortable-column .p-icon-wrapper{display:inline}.p-datatable .p-sortable-column .p-sortable-column-badge{display:inline-flex;align-items:center;justify-content:center}.p-datatable-hoverable-rows .p-selectable-row{cursor:pointer}.p-datatable-scrollable>.p-datatable-wrapper{position:relative}.p-datatable-scrollable-table>.p-datatable-thead{position:sticky;top:0;z-index:1}.p-datatable-scrollable-table>.p-datatable-frozen-tbody{position:sticky;z-index:1}.p-datatable-scrollable-table>.p-datatable-tfoot{position:sticky;bottom:0;z-index:1}.p-datatable-scrollable .p-frozen-column{position:sticky;background:inherit;z-index:1}.p-datatable-scrollable th.p-frozen-column{z-index:1}.p-datatable-flex-scrollable{display:flex;flex-direction:column;height:100%}.p-datatable-flex-scrollable>.p-datatable-wrapper{display:flex;flex-direction:column;flex:1;height:100%}.p-datatable-scrollable-table>.p-datatable-tbody>.p-rowgroup-header{position:sticky;z-index:1}.p-datatable-resizable-table>.p-datatable-thead>tr>th,.p-datatable-resizable-table>.p-datatable-tfoot>tr>td,.p-datatable-resizable-table>.p-datatable-tbody>tr>td{overflow:hidden;white-space:nowrap}.p-datatable-resizable-table>.p-datatable-thead>tr>th.p-resizable-column:not(.p-frozen-column){background-clip:padding-box;position:relative}.p-datatable-resizable-table-fit>.p-datatable-thead>tr>th.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-init,.p-datatable .p-row-editor-save,.p-datatable .p-row-editor-cancel,.p-datatable .p-row-toggler{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.p-datatable-reorder-indicator-up,.p-datatable-reorder-indicator-down{position:absolute}.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-menu-button,.p-column-filter-clear-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-tbody>tr>td>.p-column-title{display:none}.p-datatable-scroller-spacer{display:flex}.p-datatable .p-scroller .p-scroller-loading{transform:none!important;min-height:0;position:sticky;top:0;left:0}}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i2.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i0.forwardRef(function () { return i3.Paginator; }), selector: "p-paginator", inputs: ["pageLinkSize", "style", "styleClass", "alwaysShow", "dropdownAppendTo", "templateLeft", "templateRight", "appendTo", "dropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showFirstLastIcon", "totalRecords", "rows", "rowsPerPageOptions", "showJumpToPageDropdown", "showJumpToPageInput", "showPageLinks", "locale", "dropdownItemTemplate", "first"], outputs: ["onPageChange"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.PrimeTemplate; }), selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i0.forwardRef(function () { return i4.Scroller; }), selector: "p-scroller", inputs: ["id", "style", "styleClass", "tabindex", "items", "itemSize", "scrollHeight", "scrollWidth", "orientation", "step", "delay", "resizeDelay", "appendOnly", "inline", "lazy", "disabled", "loaderDisabled", "columns", "showSpacer", "showLoader", "numToleratedItems", "loading", "autoSize", "trackBy", "options"], outputs: ["onLazyLoad", "onScroll", "onScrollIndexChange"] }, { kind: "component", type: i0.forwardRef(function () { return ArrowDownIcon; }), selector: "ArrowDownIcon" }, { kind: "component", type: i0.forwardRef(function () { return ArrowUpIcon; }), selector: "ArrowUpIcon" }, { kind: "component", type: i0.forwardRef(function () { return SpinnerIcon; }), selector: "SpinnerIcon" }, { kind: "component", type: i0.forwardRef(function () { return TableBody; }), selector: "[pTableBody]", inputs: ["pTableBody", "pTableBodyTemplate", "value", "frozen", "frozenRows", "scrollerOptions"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
2643
2652
  }
2644
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: Table, decorators: [{
2653
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: Table, decorators: [{
2645
2654
  type: Component,
2646
2655
  args: [{ selector: 'p-table', template: `
2647
2656
  <div
@@ -2742,10 +2751,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
2742
2751
  [attr.id]="id + '-table'"
2743
2752
  >
2744
2753
  <ng-container *ngTemplateOutlet="colGroupTemplate; context: { $implicit: scrollerOptions.columns }"></ng-container>
2745
- <thead #thead class="p-datatable-thead">
2754
+ <thead role="rowgroup" #thead class="p-datatable-thead">
2746
2755
  <ng-container *ngTemplateOutlet="headerGroupedTemplate || headerTemplate; context: { $implicit: scrollerOptions.columns }"></ng-container>
2747
2756
  </thead>
2748
2757
  <tbody
2758
+ role="rowgroup"
2749
2759
  class="p-datatable-tbody p-datatable-frozen-tbody"
2750
2760
  *ngIf="frozenValue || frozenBodyTemplate"
2751
2761
  [value]="frozenValue"
@@ -2755,6 +2765,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
2755
2765
  [frozen]="true"
2756
2766
  ></tbody>
2757
2767
  <tbody
2768
+ role="rowgroup"
2758
2769
  class="p-datatable-tbody"
2759
2770
  [ngClass]="scrollerOptions.contentStyleClass"
2760
2771
  [style]="scrollerOptions.contentStyle"
@@ -2763,8 +2774,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
2763
2774
  [pTableBodyTemplate]="bodyTemplate"
2764
2775
  [scrollerOptions]="scrollerOptions"
2765
2776
  ></tbody>
2766
- <tbody *ngIf="scrollerOptions.spacerStyle" [style]="'height: calc(' + scrollerOptions.spacerStyle.height + ' - ' + scrollerOptions.rows.length * scrollerOptions.itemSize + 'px);'" class="p-datatable-scroller-spacer"></tbody>
2767
- <tfoot *ngIf="footerGroupedTemplate || footerTemplate" #tfoot class="p-datatable-tfoot">
2777
+ <tbody
2778
+ role="rowgroup"
2779
+ *ngIf="scrollerOptions.spacerStyle"
2780
+ [style]="'height: calc(' + scrollerOptions.spacerStyle.height + ' - ' + scrollerOptions.rows.length * scrollerOptions.itemSize + 'px);'"
2781
+ class="p-datatable-scroller-spacer"
2782
+ ></tbody>
2783
+ <tfoot role="rowgroup" *ngIf="footerGroupedTemplate || footerTemplate" #tfoot class="p-datatable-tfoot">
2768
2784
  <ng-container *ngTemplateOutlet="footerGroupedTemplate || footerTemplate; context: { $implicit: scrollerOptions.columns }"></ng-container>
2769
2785
  </tfoot>
2770
2786
  </table>
@@ -2835,7 +2851,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
2835
2851
  }] }, { type: undefined, decorators: [{
2836
2852
  type: Inject,
2837
2853
  args: [PLATFORM_ID]
2838
- }] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: TableService }, { type: i0.ChangeDetectorRef }, { type: i1.FilterService }, { type: i1.OverlayService }]; }, propDecorators: { frozenColumns: [{
2854
+ }] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: TableService }, { type: i0.ChangeDetectorRef }, { type: i1.FilterService }, { type: i1.OverlayService }, { type: i1.PrimeNGConfig }]; }, propDecorators: { frozenColumns: [{
2839
2855
  type: Input
2840
2856
  }], frozenValue: [{
2841
2857
  type: Input
@@ -3202,8 +3218,8 @@ class TableBody {
3202
3218
  const getItemOptions = this.getScrollerOption('getItemOptions');
3203
3219
  return getItemOptions ? getItemOptions(index).index : index;
3204
3220
  }
3205
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: TableBody, deps: [{ token: Table }, { token: TableService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
3206
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: TableBody, selector: "[pTableBody]", inputs: { columns: ["pTableBody", "columns"], template: ["pTableBodyTemplate", "template"], value: "value", frozen: "frozen", frozenRows: "frozenRows", scrollerOptions: "scrollerOptions" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
3221
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TableBody, deps: [{ token: Table }, { token: TableService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
3222
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: TableBody, selector: "[pTableBody]", inputs: { columns: ["pTableBody", "columns"], template: ["pTableBodyTemplate", "template"], value: "value", frozen: "frozen", frozenRows: "frozenRows", scrollerOptions: "scrollerOptions" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
3207
3223
  <ng-container *ngIf="!dt.expandedRowTemplate">
3208
3224
  <ng-template ngFor let-rowData let-rowIndex="index" [ngForOf]="value" [ngForTrackBy]="dt.rowTrackBy">
3209
3225
  <ng-container *ngIf="dt.groupHeaderTemplate && !dt.virtualScroll && dt.rowGroupMode === 'subheader' && shouldRenderRowGroupHeader(value, rowData, rowIndex)" role="row">
@@ -3285,7 +3301,7 @@ class TableBody {
3285
3301
  </ng-container>
3286
3302
  `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
3287
3303
  }
3288
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: TableBody, decorators: [{
3304
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TableBody, decorators: [{
3289
3305
  type: Component,
3290
3306
  args: [{
3291
3307
  selector: '[pTableBody]',
@@ -3399,10 +3415,10 @@ class RowGroupHeader {
3399
3415
  get getFrozenRowGroupHeaderStickyPosition() {
3400
3416
  return this.dt.rowGroupHeaderStyleObject ? this.dt.rowGroupHeaderStyleObject.top : '';
3401
3417
  }
3402
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: RowGroupHeader, deps: [{ token: Table }], target: i0.ɵɵFactoryTarget.Directive });
3403
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: RowGroupHeader, selector: "[pRowGroupHeader]", host: { properties: { "style.top": "getFrozenRowGroupHeaderStickyPosition" }, classAttribute: "p-rowgroup-header p-element" }, ngImport: i0 });
3418
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: RowGroupHeader, deps: [{ token: Table }], target: i0.ɵɵFactoryTarget.Directive });
3419
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: RowGroupHeader, selector: "[pRowGroupHeader]", host: { properties: { "style.top": "getFrozenRowGroupHeaderStickyPosition" }, classAttribute: "p-rowgroup-header p-element" }, ngImport: i0 });
3404
3420
  }
3405
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: RowGroupHeader, decorators: [{
3421
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: RowGroupHeader, decorators: [{
3406
3422
  type: Directive,
3407
3423
  args: [{
3408
3424
  selector: '[pRowGroupHeader]',
@@ -3459,10 +3475,10 @@ class FrozenColumn {
3459
3475
  }
3460
3476
  }
3461
3477
  }
3462
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: FrozenColumn, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
3463
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: FrozenColumn, selector: "[pFrozenColumn]", inputs: { frozen: "frozen", alignFrozen: "alignFrozen" }, host: { properties: { "class.p-frozen-column": "frozen" }, classAttribute: "p-element" }, ngImport: i0 });
3478
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: FrozenColumn, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
3479
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: FrozenColumn, selector: "[pFrozenColumn]", inputs: { frozen: "frozen", alignFrozen: "alignFrozen" }, host: { properties: { "class.p-frozen-column": "frozen" }, classAttribute: "p-element" }, ngImport: i0 });
3464
3480
  }
3465
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: FrozenColumn, decorators: [{
3481
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: FrozenColumn, decorators: [{
3466
3482
  type: Directive,
3467
3483
  args: [{
3468
3484
  selector: '[pFrozenColumn]',
@@ -3512,6 +3528,7 @@ class SortableColumn {
3512
3528
  }
3513
3529
  onEnterKey(event) {
3514
3530
  this.onClick(event);
3531
+ event.preventDefault();
3515
3532
  }
3516
3533
  isEnabled() {
3517
3534
  return this.pSortableColumnDisabled !== true;
@@ -3527,10 +3544,10 @@ class SortableColumn {
3527
3544
  this.subscription.unsubscribe();
3528
3545
  }
3529
3546
  }
3530
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: SortableColumn, deps: [{ token: Table }], target: i0.ɵɵFactoryTarget.Directive });
3531
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: SortableColumn, selector: "[pSortableColumn]", inputs: { field: ["pSortableColumn", "field"], pSortableColumnDisabled: "pSortableColumnDisabled" }, host: { listeners: { "click": "onClick($event)", "keydown.enter": "onEnterKey($event)" }, properties: { "class.p-sortable-column": "isEnabled()", "class.p-highlight": "sorted", "attr.tabindex": "isEnabled() ? \"0\" : null", "attr.role": "\"columnheader\"", "attr.aria-sort": "sortOrder" }, classAttribute: "p-element" }, ngImport: i0 });
3547
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: SortableColumn, deps: [{ token: Table }], target: i0.ɵɵFactoryTarget.Directive });
3548
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: SortableColumn, selector: "[pSortableColumn]", inputs: { field: ["pSortableColumn", "field"], pSortableColumnDisabled: "pSortableColumnDisabled" }, host: { listeners: { "click": "onClick($event)", "keydown.space": "onEnterKey($event)", "keydown.enter": "onEnterKey($event)" }, properties: { "class.p-sortable-column": "isEnabled()", "class.p-highlight": "sorted", "attr.tabindex": "isEnabled() ? \"0\" : null", "attr.role": "\"columnheader\"", "attr.aria-sort": "sortOrder" }, classAttribute: "p-element" }, ngImport: i0 });
3532
3549
  }
3533
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: SortableColumn, decorators: [{
3550
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: SortableColumn, decorators: [{
3534
3551
  type: Directive,
3535
3552
  args: [{
3536
3553
  selector: '[pSortableColumn]',
@@ -3552,6 +3569,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
3552
3569
  type: HostListener,
3553
3570
  args: ['click', ['$event']]
3554
3571
  }], onEnterKey: [{
3572
+ type: HostListener,
3573
+ args: ['keydown.space', ['$event']]
3574
+ }, {
3555
3575
  type: HostListener,
3556
3576
  args: ['keydown.enter', ['$event']]
3557
3577
  }] } });
@@ -3610,8 +3630,8 @@ class SortIcon {
3610
3630
  this.subscription.unsubscribe();
3611
3631
  }
3612
3632
  }
3613
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: SortIcon, deps: [{ token: Table }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
3614
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: SortIcon, selector: "p-sortIcon", inputs: { field: "field" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
3633
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: SortIcon, deps: [{ token: Table }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
3634
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: SortIcon, selector: "p-sortIcon", inputs: { field: "field" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
3615
3635
  <ng-container *ngIf="!dt.sortIconTemplate">
3616
3636
  <SortAltIcon [styleClass]="'p-sortable-column-icon'" *ngIf="sortOrder === 0" />
3617
3637
  <SortAmountUpAltIcon [styleClass]="'p-sortable-column-icon'" *ngIf="sortOrder === 1" />
@@ -3623,7 +3643,7 @@ class SortIcon {
3623
3643
  <span *ngIf="isMultiSorted()" class="p-sortable-column-badge">{{ getBadgeValue() }}</span>
3624
3644
  `, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i0.forwardRef(function () { return SortAltIcon; }), selector: "SortAltIcon" }, { kind: "component", type: i0.forwardRef(function () { return SortAmountUpAltIcon; }), selector: "SortAmountUpAltIcon" }, { kind: "component", type: i0.forwardRef(function () { return SortAmountDownIcon; }), selector: "SortAmountDownIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
3625
3645
  }
3626
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: SortIcon, decorators: [{
3646
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: SortIcon, decorators: [{
3627
3647
  type: Component,
3628
3648
  args: [{
3629
3649
  selector: 'p-sortIcon',
@@ -3650,20 +3670,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
3650
3670
  class SelectableRow {
3651
3671
  dt;
3652
3672
  tableService;
3673
+ el;
3653
3674
  data;
3654
3675
  index;
3655
3676
  pSelectableRowDisabled;
3656
3677
  selected;
3657
3678
  subscription;
3658
- constructor(dt, tableService) {
3679
+ constructor(dt, tableService, el) {
3659
3680
  this.dt = dt;
3660
3681
  this.tableService = tableService;
3682
+ this.el = el;
3661
3683
  if (this.isEnabled()) {
3662
3684
  this.subscription = this.dt.tableService.selectionSource$.subscribe(() => {
3663
3685
  this.selected = this.dt.isSelected(this.data);
3664
3686
  });
3665
3687
  }
3666
3688
  }
3689
+ setRowTabIndex() {
3690
+ if (this.dt.selectionMode === 'single' || this.dt.selectionMode === 'multiple') {
3691
+ return !this.dt.selection ? 0 : this.dt.anchorRowIndex === this.index ? 0 : -1;
3692
+ }
3693
+ }
3667
3694
  ngOnInit() {
3668
3695
  if (this.isEnabled()) {
3669
3696
  this.selected = this.dt.isSelected(this.data);
@@ -3683,7 +3710,37 @@ class SelectableRow {
3683
3710
  this.dt.handleRowTouchEnd(event);
3684
3711
  }
3685
3712
  }
3686
- onArrowDownKeyDown(event) {
3713
+ onKeyDown(event) {
3714
+ switch (event.code) {
3715
+ case 'ArrowDown':
3716
+ this.onArrowDownKey(event);
3717
+ break;
3718
+ case 'ArrowUp':
3719
+ this.onArrowUpKey(event);
3720
+ break;
3721
+ case 'Home':
3722
+ this.onHomeKey(event);
3723
+ break;
3724
+ case 'End':
3725
+ this.onEndKey(event);
3726
+ break;
3727
+ case 'Space':
3728
+ this.onSpaceKey(event);
3729
+ break;
3730
+ case 'Enter':
3731
+ this.onEnterKey(event);
3732
+ break;
3733
+ default:
3734
+ if (event.code === 'KeyA' && (event.metaKey || event.ctrlKey)) {
3735
+ const data = this.dt.dataToRender(this.dt.rows);
3736
+ this.dt.selection = [...data];
3737
+ this.dt.selectRange(event, data.length - 1);
3738
+ event.preventDefault();
3739
+ }
3740
+ break;
3741
+ }
3742
+ }
3743
+ onArrowDownKey(event) {
3687
3744
  if (!this.isEnabled()) {
3688
3745
  return;
3689
3746
  }
@@ -3694,7 +3751,7 @@ class SelectableRow {
3694
3751
  }
3695
3752
  event.preventDefault();
3696
3753
  }
3697
- onArrowUpKeyDown(event) {
3754
+ onArrowUpKey(event) {
3698
3755
  if (!this.isEnabled()) {
3699
3756
  return;
3700
3757
  }
@@ -3705,7 +3762,7 @@ class SelectableRow {
3705
3762
  }
3706
3763
  event.preventDefault();
3707
3764
  }
3708
- onEnterKeyDown(event) {
3765
+ onEnterKey(event) {
3709
3766
  if (!this.isEnabled()) {
3710
3767
  return;
3711
3768
  }
@@ -3715,15 +3772,62 @@ class SelectableRow {
3715
3772
  rowIndex: this.index
3716
3773
  });
3717
3774
  }
3718
- onPageDownKeyDown() {
3719
- if (this.dt.virtualScroll) {
3720
- this.dt.scroller.elementViewChild.nativeElement.focus();
3775
+ onEndKey(event) {
3776
+ const lastRow = this.findLastSelectableRow();
3777
+ lastRow && this.focusRowChange(this.el.nativeElement, lastRow);
3778
+ if (event.ctrlKey && event.shiftKey) {
3779
+ const data = this.dt.dataToRender(this.dt.rows);
3780
+ const lastSelectableRowIndex = DomHandler.getAttribute(lastRow, 'index');
3781
+ this.dt.anchorRowIndex = lastSelectableRowIndex;
3782
+ this.dt.selection = data.slice(this.index, data.length);
3783
+ this.dt.selectRange(event, this.index);
3721
3784
  }
3785
+ event.preventDefault();
3722
3786
  }
3723
- onSpaceKeydown() {
3724
- if (this.dt.virtualScroll && !this.dt.editingCell) {
3725
- this.dt.scroller.elementViewChild.nativeElement.focus();
3787
+ onHomeKey(event) {
3788
+ const firstRow = this.findFirstSelectableRow();
3789
+ firstRow && this.focusRowChange(this.el.nativeElement, firstRow);
3790
+ if (event.ctrlKey && event.shiftKey) {
3791
+ const data = this.dt.dataToRender(this.dt.rows);
3792
+ const firstSelectableRowIndex = DomHandler.getAttribute(firstRow, 'index');
3793
+ this.dt.anchorRowIndex = this.dt.anchorRowIndex || firstSelectableRowIndex;
3794
+ this.dt.selection = data.slice(0, this.index + 1);
3795
+ this.dt.selectRange(event, this.index);
3726
3796
  }
3797
+ event.preventDefault();
3798
+ }
3799
+ onSpaceKey(event) {
3800
+ this.onEnterKey(event);
3801
+ if (event.shiftKey && this.dt.selection !== null) {
3802
+ const data = this.dt.dataToRender(this.dt.rows);
3803
+ let index;
3804
+ if (ObjectUtils.isNotEmpty(this.dt.selection) && this.dt.selection.length > 0) {
3805
+ let firstSelectedRowIndex, lastSelectedRowIndex;
3806
+ firstSelectedRowIndex = ObjectUtils.findIndexInList(this.dt.selection[0], data);
3807
+ lastSelectedRowIndex = ObjectUtils.findIndexInList(this.dt.selection[this.dt.selection.length - 1], data);
3808
+ index = this.index <= firstSelectedRowIndex ? lastSelectedRowIndex : firstSelectedRowIndex;
3809
+ }
3810
+ else {
3811
+ index = ObjectUtils.findIndexInList(this.dt.selection, data);
3812
+ }
3813
+ this.dt.anchorRowIndex = index;
3814
+ this.dt.selection = index !== this.index ? data.slice(Math.min(index, this.index), Math.max(index, this.index) + 1) : [this.data];
3815
+ this.dt.selectRange(event, this.index);
3816
+ }
3817
+ event.preventDefault();
3818
+ }
3819
+ focusRowChange(firstFocusableRow, currentFocusedRow) {
3820
+ firstFocusableRow.tabIndex = '-1';
3821
+ currentFocusedRow.tabIndex = '0';
3822
+ DomHandler.focus(currentFocusedRow);
3823
+ }
3824
+ findLastSelectableRow() {
3825
+ const rows = DomHandler.find(this.dt.el.nativeElement, '.p-selectable-row');
3826
+ return rows ? rows[rows.length - 1] : null;
3827
+ }
3828
+ findFirstSelectableRow() {
3829
+ const firstRow = DomHandler.findSingle(this.dt.el.nativeElement, '.p-selectable-row');
3830
+ return firstRow;
3727
3831
  }
3728
3832
  findNextSelectableRow(row) {
3729
3833
  let nextRow = row.nextElementSibling;
@@ -3757,10 +3861,10 @@ class SelectableRow {
3757
3861
  this.subscription.unsubscribe();
3758
3862
  }
3759
3863
  }
3760
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: SelectableRow, deps: [{ token: Table }, { token: TableService }], target: i0.ɵɵFactoryTarget.Directive });
3761
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: SelectableRow, selector: "[pSelectableRow]", inputs: { data: ["pSelectableRow", "data"], index: ["pSelectableRowIndex", "index"], pSelectableRowDisabled: "pSelectableRowDisabled" }, host: { listeners: { "click": "onClick($event)", "touchend": "onTouchEnd($event)", "keydown.arrowdown": "onArrowDownKeyDown($event)", "keydown.arrowup": "onArrowUpKeyDown($event)", "keydown.enter": "onEnterKeyDown($event)", "keydown.shift.enter": "onEnterKeyDown($event)", "keydown.meta.enter": "onEnterKeyDown($event)", "keydown.pagedown": "onPageDownKeyDown()", "keydown.pageup": "onPageDownKeyDown()", "keydown.home": "onPageDownKeyDown()", "keydown.end": "onPageDownKeyDown()", "keydown.space": "onSpaceKeydown()" }, properties: { "class.p-selectable-row": "isEnabled()", "class.p-highlight": "selected", "attr.tabindex": "isEnabled() ? 0 : undefined" }, classAttribute: "p-element" }, ngImport: i0 });
3864
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: SelectableRow, deps: [{ token: Table }, { token: TableService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
3865
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: SelectableRow, selector: "[pSelectableRow]", inputs: { data: ["pSelectableRow", "data"], index: ["pSelectableRowIndex", "index"], pSelectableRowDisabled: "pSelectableRowDisabled" }, host: { listeners: { "click": "onClick($event)", "touchend": "onTouchEnd($event)", "keydown": "onKeyDown($event)" }, properties: { "class.p-selectable-row": "isEnabled()", "class.p-highlight": "selected", "attr.tabindex": "setRowTabIndex()", "attr.data-p-highlight": "selected", "attr.data-p-selectable-row": "true" }, classAttribute: "p-element" }, ngImport: i0 });
3762
3866
  }
3763
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: SelectableRow, decorators: [{
3867
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: SelectableRow, decorators: [{
3764
3868
  type: Directive,
3765
3869
  args: [{
3766
3870
  selector: '[pSelectableRow]',
@@ -3768,10 +3872,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
3768
3872
  class: 'p-element',
3769
3873
  '[class.p-selectable-row]': 'isEnabled()',
3770
3874
  '[class.p-highlight]': 'selected',
3771
- '[attr.tabindex]': 'isEnabled() ? 0 : undefined'
3875
+ '[attr.tabindex]': 'setRowTabIndex()',
3876
+ '[attr.data-p-highlight]': 'selected',
3877
+ '[attr.data-p-selectable-row]': 'true'
3772
3878
  }
3773
3879
  }]
3774
- }], ctorParameters: function () { return [{ type: Table }, { type: TableService }]; }, propDecorators: { data: [{
3880
+ }], ctorParameters: function () { return [{ type: Table }, { type: TableService }, { type: i0.ElementRef }]; }, propDecorators: { data: [{
3775
3881
  type: Input,
3776
3882
  args: ['pSelectableRow']
3777
3883
  }], index: [{
@@ -3785,36 +3891,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
3785
3891
  }], onTouchEnd: [{
3786
3892
  type: HostListener,
3787
3893
  args: ['touchend', ['$event']]
3788
- }], onArrowDownKeyDown: [{
3789
- type: HostListener,
3790
- args: ['keydown.arrowdown', ['$event']]
3791
- }], onArrowUpKeyDown: [{
3792
- type: HostListener,
3793
- args: ['keydown.arrowup', ['$event']]
3794
- }], onEnterKeyDown: [{
3795
- type: HostListener,
3796
- args: ['keydown.enter', ['$event']]
3797
- }, {
3798
- type: HostListener,
3799
- args: ['keydown.shift.enter', ['$event']]
3800
- }, {
3894
+ }], onKeyDown: [{
3801
3895
  type: HostListener,
3802
- args: ['keydown.meta.enter', ['$event']]
3803
- }], onPageDownKeyDown: [{
3804
- type: HostListener,
3805
- args: ['keydown.pagedown']
3806
- }, {
3807
- type: HostListener,
3808
- args: ['keydown.pageup']
3809
- }, {
3810
- type: HostListener,
3811
- args: ['keydown.home']
3812
- }, {
3813
- type: HostListener,
3814
- args: ['keydown.end']
3815
- }], onSpaceKeydown: [{
3816
- type: HostListener,
3817
- args: ['keydown.space']
3896
+ args: ['keydown', ['$event']]
3818
3897
  }] } });
3819
3898
  class SelectableRowDblClick {
3820
3899
  dt;
@@ -3855,10 +3934,10 @@ class SelectableRowDblClick {
3855
3934
  this.subscription.unsubscribe();
3856
3935
  }
3857
3936
  }
3858
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: SelectableRowDblClick, deps: [{ token: Table }, { token: TableService }], target: i0.ɵɵFactoryTarget.Directive });
3859
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: SelectableRowDblClick, selector: "[pSelectableRowDblClick]", inputs: { data: ["pSelectableRowDblClick", "data"], index: ["pSelectableRowIndex", "index"], pSelectableRowDisabled: "pSelectableRowDisabled" }, host: { listeners: { "dblclick": "onClick($event)" }, properties: { "class.p-selectable-row": "isEnabled()", "class.p-highlight": "selected" }, classAttribute: "p-element" }, ngImport: i0 });
3937
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: SelectableRowDblClick, deps: [{ token: Table }, { token: TableService }], target: i0.ɵɵFactoryTarget.Directive });
3938
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: SelectableRowDblClick, selector: "[pSelectableRowDblClick]", inputs: { data: ["pSelectableRowDblClick", "data"], index: ["pSelectableRowIndex", "index"], pSelectableRowDisabled: "pSelectableRowDisabled" }, host: { listeners: { "dblclick": "onClick($event)" }, properties: { "class.p-selectable-row": "isEnabled()", "class.p-highlight": "selected" }, classAttribute: "p-element" }, ngImport: i0 });
3860
3939
  }
3861
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: SelectableRowDblClick, decorators: [{
3940
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: SelectableRowDblClick, decorators: [{
3862
3941
  type: Directive,
3863
3942
  args: [{
3864
3943
  selector: '[pSelectableRowDblClick]',
@@ -3918,10 +3997,10 @@ class ContextMenuRow {
3918
3997
  this.subscription.unsubscribe();
3919
3998
  }
3920
3999
  }
3921
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ContextMenuRow, deps: [{ token: Table }, { token: TableService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
3922
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: ContextMenuRow, selector: "[pContextMenuRow]", inputs: { data: ["pContextMenuRow", "data"], index: ["pContextMenuRowIndex", "index"], pContextMenuRowDisabled: "pContextMenuRowDisabled" }, host: { listeners: { "contextmenu": "onContextMenu($event)" }, properties: { "class.p-highlight-contextmenu": "selected", "attr.tabindex": "isEnabled() ? 0 : undefined" }, classAttribute: "p-element" }, ngImport: i0 });
4000
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ContextMenuRow, deps: [{ token: Table }, { token: TableService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
4001
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: ContextMenuRow, selector: "[pContextMenuRow]", inputs: { data: ["pContextMenuRow", "data"], index: ["pContextMenuRowIndex", "index"], pContextMenuRowDisabled: "pContextMenuRowDisabled" }, host: { listeners: { "contextmenu": "onContextMenu($event)" }, properties: { "class.p-highlight-contextmenu": "selected", "attr.tabindex": "isEnabled() ? 0 : undefined" }, classAttribute: "p-element" }, ngImport: i0 });
3923
4002
  }
3924
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ContextMenuRow, decorators: [{
4003
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ContextMenuRow, decorators: [{
3925
4004
  type: Directive,
3926
4005
  args: [{
3927
4006
  selector: '[pContextMenuRow]',
@@ -3959,10 +4038,10 @@ class RowToggler {
3959
4038
  isEnabled() {
3960
4039
  return this.pRowTogglerDisabled !== true;
3961
4040
  }
3962
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: RowToggler, deps: [{ token: Table }], target: i0.ɵɵFactoryTarget.Directive });
3963
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: RowToggler, selector: "[pRowToggler]", inputs: { data: ["pRowToggler", "data"], pRowTogglerDisabled: "pRowTogglerDisabled" }, host: { listeners: { "click": "onClick($event)" }, classAttribute: "p-element" }, ngImport: i0 });
4041
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: RowToggler, deps: [{ token: Table }], target: i0.ɵɵFactoryTarget.Directive });
4042
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: RowToggler, selector: "[pRowToggler]", inputs: { data: ["pRowToggler", "data"], pRowTogglerDisabled: "pRowTogglerDisabled" }, host: { listeners: { "click": "onClick($event)" }, classAttribute: "p-element" }, ngImport: i0 });
3964
4043
  }
3965
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: RowToggler, decorators: [{
4044
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: RowToggler, decorators: [{
3966
4045
  type: Directive,
3967
4046
  args: [{
3968
4047
  selector: '[pRowToggler]',
@@ -4051,10 +4130,10 @@ class ResizableColumn {
4051
4130
  }
4052
4131
  this.unbindDocumentEvents();
4053
4132
  }
4054
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ResizableColumn, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: Table }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
4055
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: ResizableColumn, selector: "[pResizableColumn]", inputs: { pResizableColumnDisabled: "pResizableColumnDisabled" }, host: { classAttribute: "p-element" }, ngImport: i0 });
4133
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ResizableColumn, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: Table }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
4134
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: ResizableColumn, selector: "[pResizableColumn]", inputs: { pResizableColumnDisabled: "pResizableColumnDisabled" }, host: { classAttribute: "p-element" }, ngImport: i0 });
4056
4135
  }
4057
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ResizableColumn, decorators: [{
4136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ResizableColumn, decorators: [{
4058
4137
  type: Directive,
4059
4138
  args: [{
4060
4139
  selector: '[pResizableColumn]',
@@ -4157,10 +4236,10 @@ class ReorderableColumn {
4157
4236
  ngOnDestroy() {
4158
4237
  this.unbindEvents();
4159
4238
  }
4160
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ReorderableColumn, deps: [{ token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: Table }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
4161
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: ReorderableColumn, selector: "[pReorderableColumn]", inputs: { pReorderableColumnDisabled: "pReorderableColumnDisabled" }, host: { listeners: { "drop": "onDrop($event)" }, classAttribute: "p-element" }, ngImport: i0 });
4239
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ReorderableColumn, deps: [{ token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: Table }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
4240
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: ReorderableColumn, selector: "[pReorderableColumn]", inputs: { pReorderableColumnDisabled: "pReorderableColumnDisabled" }, host: { listeners: { "drop": "onDrop($event)" }, classAttribute: "p-element" }, ngImport: i0 });
4162
4241
  }
4163
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ReorderableColumn, decorators: [{
4242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ReorderableColumn, decorators: [{
4164
4243
  type: Directive,
4165
4244
  args: [{
4166
4245
  selector: '[pReorderableColumn]',
@@ -4448,10 +4527,10 @@ class EditableColumn {
4448
4527
  this.dt.overlaySubscription.unsubscribe();
4449
4528
  }
4450
4529
  }
4451
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: EditableColumn, deps: [{ token: Table }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
4452
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: EditableColumn, selector: "[pEditableColumn]", inputs: { data: ["pEditableColumn", "data"], field: ["pEditableColumnField", "field"], rowIndex: ["pEditableColumnRowIndex", "rowIndex"], pEditableColumnDisabled: "pEditableColumnDisabled", pFocusCellSelector: "pFocusCellSelector" }, host: { listeners: { "click": "onClick($event)", "keydown.enter": "onEnterKeyDown($event)", "keydown.tab": "onShiftKeyDown($event)", "keydown.escape": "onEscapeKeyDown($event)", "keydown.shift.tab": "onShiftKeyDown($event)", "keydown.meta.tab": "onShiftKeyDown($event)", "keydown.arrowdown": "onArrowDown($event)", "keydown.arrowup": "onArrowUp($event)", "keydown.arrowleft": "onArrowLeft($event)", "keydown.arrowright": "onArrowRight($event)" }, classAttribute: "p-element" }, usesOnChanges: true, ngImport: i0 });
4530
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: EditableColumn, deps: [{ token: Table }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
4531
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: EditableColumn, selector: "[pEditableColumn]", inputs: { data: ["pEditableColumn", "data"], field: ["pEditableColumnField", "field"], rowIndex: ["pEditableColumnRowIndex", "rowIndex"], pEditableColumnDisabled: "pEditableColumnDisabled", pFocusCellSelector: "pFocusCellSelector" }, host: { listeners: { "click": "onClick($event)", "keydown.enter": "onEnterKeyDown($event)", "keydown.tab": "onShiftKeyDown($event)", "keydown.escape": "onEscapeKeyDown($event)", "keydown.shift.tab": "onShiftKeyDown($event)", "keydown.meta.tab": "onShiftKeyDown($event)", "keydown.arrowdown": "onArrowDown($event)", "keydown.arrowup": "onArrowUp($event)", "keydown.arrowleft": "onArrowLeft($event)", "keydown.arrowright": "onArrowRight($event)" }, classAttribute: "p-element" }, usesOnChanges: true, ngImport: i0 });
4453
4532
  }
4454
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: EditableColumn, decorators: [{
4533
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: EditableColumn, decorators: [{
4455
4534
  type: Directive,
4456
4535
  args: [{
4457
4536
  selector: '[pEditableColumn]',
@@ -4516,10 +4595,10 @@ class EditableRow {
4516
4595
  isEnabled() {
4517
4596
  return this.pEditableRowDisabled !== true;
4518
4597
  }
4519
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: EditableRow, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
4520
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: EditableRow, selector: "[pEditableRow]", inputs: { data: ["pEditableRow", "data"], pEditableRowDisabled: "pEditableRowDisabled" }, host: { classAttribute: "p-element" }, ngImport: i0 });
4598
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: EditableRow, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
4599
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: EditableRow, selector: "[pEditableRow]", inputs: { data: ["pEditableRow", "data"], pEditableRowDisabled: "pEditableRowDisabled" }, host: { classAttribute: "p-element" }, ngImport: i0 });
4521
4600
  }
4522
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: EditableRow, decorators: [{
4601
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: EditableRow, decorators: [{
4523
4602
  type: Directive,
4524
4603
  args: [{
4525
4604
  selector: '[pEditableRow]',
@@ -4544,10 +4623,10 @@ class InitEditableRow {
4544
4623
  this.dt.initRowEdit(this.editableRow.data);
4545
4624
  event.preventDefault();
4546
4625
  }
4547
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InitEditableRow, deps: [{ token: Table }, { token: EditableRow }], target: i0.ɵɵFactoryTarget.Directive });
4548
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: InitEditableRow, selector: "[pInitEditableRow]", host: { listeners: { "click": "onClick($event)" }, classAttribute: "p-element" }, ngImport: i0 });
4626
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: InitEditableRow, deps: [{ token: Table }, { token: EditableRow }], target: i0.ɵɵFactoryTarget.Directive });
4627
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: InitEditableRow, selector: "[pInitEditableRow]", host: { listeners: { "click": "onClick($event)" }, classAttribute: "p-element" }, ngImport: i0 });
4549
4628
  }
4550
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InitEditableRow, decorators: [{
4629
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: InitEditableRow, decorators: [{
4551
4630
  type: Directive,
4552
4631
  args: [{
4553
4632
  selector: '[pInitEditableRow]',
@@ -4570,10 +4649,10 @@ class SaveEditableRow {
4570
4649
  this.dt.saveRowEdit(this.editableRow.data, this.editableRow.el.nativeElement);
4571
4650
  event.preventDefault();
4572
4651
  }
4573
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: SaveEditableRow, deps: [{ token: Table }, { token: EditableRow }], target: i0.ɵɵFactoryTarget.Directive });
4574
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: SaveEditableRow, selector: "[pSaveEditableRow]", host: { listeners: { "click": "onClick($event)" }, classAttribute: "p-element" }, ngImport: i0 });
4652
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: SaveEditableRow, deps: [{ token: Table }, { token: EditableRow }], target: i0.ɵɵFactoryTarget.Directive });
4653
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: SaveEditableRow, selector: "[pSaveEditableRow]", host: { listeners: { "click": "onClick($event)" }, classAttribute: "p-element" }, ngImport: i0 });
4575
4654
  }
4576
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: SaveEditableRow, decorators: [{
4655
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: SaveEditableRow, decorators: [{
4577
4656
  type: Directive,
4578
4657
  args: [{
4579
4658
  selector: '[pSaveEditableRow]',
@@ -4596,10 +4675,10 @@ class CancelEditableRow {
4596
4675
  this.dt.cancelRowEdit(this.editableRow.data);
4597
4676
  event.preventDefault();
4598
4677
  }
4599
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: CancelEditableRow, deps: [{ token: Table }, { token: EditableRow }], target: i0.ɵɵFactoryTarget.Directive });
4600
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: CancelEditableRow, selector: "[pCancelEditableRow]", host: { listeners: { "click": "onClick($event)" }, classAttribute: "p-element" }, ngImport: i0 });
4678
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: CancelEditableRow, deps: [{ token: Table }, { token: EditableRow }], target: i0.ɵɵFactoryTarget.Directive });
4679
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: CancelEditableRow, selector: "[pCancelEditableRow]", host: { listeners: { "click": "onClick($event)" }, classAttribute: "p-element" }, ngImport: i0 });
4601
4680
  }
4602
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: CancelEditableRow, decorators: [{
4681
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: CancelEditableRow, decorators: [{
4603
4682
  type: Directive,
4604
4683
  args: [{
4605
4684
  selector: '[pCancelEditableRow]',
@@ -4638,8 +4717,8 @@ class CellEditor {
4638
4717
  get editing() {
4639
4718
  return (this.dt.editingCell && this.editableColumn && this.dt.editingCell === this.editableColumn.el.nativeElement) || (this.editableRow && this.dt.editMode === 'row' && this.dt.isRowEditing(this.editableRow.data));
4640
4719
  }
4641
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: CellEditor, deps: [{ token: Table }, { token: EditableColumn, optional: true }, { token: EditableRow, optional: true }], target: i0.ɵɵFactoryTarget.Component });
4642
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: CellEditor, selector: "p-cellEditor", host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], ngImport: i0, template: `
4720
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: CellEditor, deps: [{ token: Table }, { token: EditableColumn, optional: true }, { token: EditableRow, optional: true }], target: i0.ɵɵFactoryTarget.Component });
4721
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: CellEditor, selector: "p-cellEditor", host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], ngImport: i0, template: `
4643
4722
  <ng-container *ngIf="editing">
4644
4723
  <ng-container *ngTemplateOutlet="inputTemplate"></ng-container>
4645
4724
  </ng-container>
@@ -4648,7 +4727,7 @@ class CellEditor {
4648
4727
  </ng-container>
4649
4728
  `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
4650
4729
  }
4651
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: CellEditor, decorators: [{
4730
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: CellEditor, decorators: [{
4652
4731
  type: Component,
4653
4732
  args: [{
4654
4733
  selector: 'p-cellEditor',
@@ -4691,6 +4770,7 @@ class TableRadioButton {
4691
4770
  this.cd = cd;
4692
4771
  this.subscription = this.dt.tableService.selectionSource$.subscribe(() => {
4693
4772
  this.checked = this.dt.isSelected(this.value);
4773
+ this.ariaLabel = this.ariaLabel || this.dt.config.translation.aria ? (this.checked ? this.dt.config.translation.aria.selectRow : this.dt.config.translation.aria.unselectRow) : undefined;
4694
4774
  this.cd.markForCheck();
4695
4775
  });
4696
4776
  }
@@ -4718,28 +4798,28 @@ class TableRadioButton {
4718
4798
  this.subscription.unsubscribe();
4719
4799
  }
4720
4800
  }
4721
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: TableRadioButton, deps: [{ token: Table }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4722
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: TableRadioButton, selector: "p-tableRadioButton", inputs: { disabled: "disabled", value: "value", index: "index", inputId: "inputId", name: "name", ariaLabel: "ariaLabel" }, host: { classAttribute: "p-element" }, viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["rb"], descendants: true }], ngImport: i0, template: `
4801
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TableRadioButton, deps: [{ token: Table }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4802
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: TableRadioButton, selector: "p-tableRadioButton", inputs: { disabled: "disabled", value: "value", index: "index", inputId: "inputId", name: "name", ariaLabel: "ariaLabel" }, host: { classAttribute: "p-element" }, viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["rb"], descendants: true }], ngImport: i0, template: `
4723
4803
  <div class="p-radiobutton p-component" [ngClass]="{ 'p-radiobutton-focused': focused, 'p-radiobutton-checked': checked, 'p-radiobutton-disabled': disabled }" (click)="onClick($event)">
4724
4804
  <div class="p-hidden-accessible">
4725
- <input #rb type="radio" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" [disabled]="disabled" [attr.aria-label]="ariaLabel" />
4805
+ <input #rb type="radio" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" [disabled]="disabled" [attr.aria-label]="ariaLabel" [tabindex]="disabled ? null : '0'" />
4726
4806
  </div>
4727
- <div #box [ngClass]="{ 'p-radiobutton-box p-component': true, 'p-highlight': checked, 'p-focus': focused, 'p-disabled': disabled }" role="radio" [attr.aria-checked]="checked">
4807
+ <div #box [ngClass]="{ 'p-radiobutton-box p-component': true, 'p-highlight': checked, 'p-focus': focused, 'p-disabled': disabled }">
4728
4808
  <div class="p-radiobutton-icon"></div>
4729
4809
  </div>
4730
4810
  </div>
4731
4811
  `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4732
4812
  }
4733
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: TableRadioButton, decorators: [{
4813
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TableRadioButton, decorators: [{
4734
4814
  type: Component,
4735
4815
  args: [{
4736
4816
  selector: 'p-tableRadioButton',
4737
4817
  template: `
4738
4818
  <div class="p-radiobutton p-component" [ngClass]="{ 'p-radiobutton-focused': focused, 'p-radiobutton-checked': checked, 'p-radiobutton-disabled': disabled }" (click)="onClick($event)">
4739
4819
  <div class="p-hidden-accessible">
4740
- <input #rb type="radio" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" [disabled]="disabled" [attr.aria-label]="ariaLabel" />
4820
+ <input #rb type="radio" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" [disabled]="disabled" [attr.aria-label]="ariaLabel" [tabindex]="disabled ? null : '0'" />
4741
4821
  </div>
4742
- <div #box [ngClass]="{ 'p-radiobutton-box p-component': true, 'p-highlight': checked, 'p-focus': focused, 'p-disabled': disabled }" role="radio" [attr.aria-checked]="checked">
4822
+ <div #box [ngClass]="{ 'p-radiobutton-box p-component': true, 'p-highlight': checked, 'p-focus': focused, 'p-disabled': disabled }">
4743
4823
  <div class="p-radiobutton-icon"></div>
4744
4824
  </div>
4745
4825
  </div>
@@ -4786,6 +4866,7 @@ class TableCheckbox {
4786
4866
  this.cd = cd;
4787
4867
  this.subscription = this.dt.tableService.selectionSource$.subscribe(() => {
4788
4868
  this.checked = this.dt.isSelected(this.value);
4869
+ this.ariaLabel = this.ariaLabel || this.dt.config.translation.aria ? (this.checked ? this.dt.config.translation.aria.selectRow : this.dt.config.translation.aria.unselectRow) : undefined;
4789
4870
  this.cd.markForCheck();
4790
4871
  });
4791
4872
  }
@@ -4812,13 +4893,24 @@ class TableCheckbox {
4812
4893
  this.subscription.unsubscribe();
4813
4894
  }
4814
4895
  }
4815
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: TableCheckbox, deps: [{ token: Table }, { token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4816
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: TableCheckbox, selector: "p-tableCheckbox", inputs: { disabled: "disabled", value: "value", index: "index", inputId: "inputId", name: "name", required: "required", ariaLabel: "ariaLabel" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
4896
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TableCheckbox, deps: [{ token: Table }, { token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4897
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: TableCheckbox, selector: "p-tableCheckbox", inputs: { disabled: "disabled", value: "value", index: "index", inputId: "inputId", name: "name", required: "required", ariaLabel: "ariaLabel" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
4817
4898
  <div class="p-checkbox p-component" [ngClass]="{ 'p-checkbox-focused': focused, 'p-checkbox-disabled': disabled }" (click)="onClick($event)">
4818
4899
  <div class="p-hidden-accessible">
4819
- <input type="checkbox" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" [disabled]="disabled" [attr.required]="required" [attr.aria-label]="ariaLabel" />
4900
+ <input
4901
+ type="checkbox"
4902
+ [attr.id]="inputId"
4903
+ [attr.name]="name"
4904
+ [checked]="checked"
4905
+ (focus)="onFocus()"
4906
+ (blur)="onBlur()"
4907
+ [disabled]="disabled"
4908
+ [attr.required]="required"
4909
+ [attr.aria-label]="ariaLabel"
4910
+ [tabindex]="disabled ? null : '0'"
4911
+ />
4820
4912
  </div>
4821
- <div #box [ngClass]="{ 'p-checkbox-box p-component': true, 'p-highlight': checked, 'p-focus': focused, 'p-disabled': disabled }" role="checkbox" [attr.aria-checked]="checked">
4913
+ <div #box [ngClass]="{ 'p-checkbox-box p-component': true, 'p-highlight': checked, 'p-focus': focused, 'p-disabled': disabled }">
4822
4914
  <ng-container *ngIf="!dt.checkboxIconTemplate">
4823
4915
  <CheckIcon [styleClass]="'p-checkbox-icon'" *ngIf="checked" />
4824
4916
  </ng-container>
@@ -4829,16 +4921,27 @@ class TableCheckbox {
4829
4921
  </div>
4830
4922
  `, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i2.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i0.forwardRef(function () { return CheckIcon; }), selector: "CheckIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4831
4923
  }
4832
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: TableCheckbox, decorators: [{
4924
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TableCheckbox, decorators: [{
4833
4925
  type: Component,
4834
4926
  args: [{
4835
4927
  selector: 'p-tableCheckbox',
4836
4928
  template: `
4837
4929
  <div class="p-checkbox p-component" [ngClass]="{ 'p-checkbox-focused': focused, 'p-checkbox-disabled': disabled }" (click)="onClick($event)">
4838
4930
  <div class="p-hidden-accessible">
4839
- <input type="checkbox" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" [disabled]="disabled" [attr.required]="required" [attr.aria-label]="ariaLabel" />
4931
+ <input
4932
+ type="checkbox"
4933
+ [attr.id]="inputId"
4934
+ [attr.name]="name"
4935
+ [checked]="checked"
4936
+ (focus)="onFocus()"
4937
+ (blur)="onBlur()"
4938
+ [disabled]="disabled"
4939
+ [attr.required]="required"
4940
+ [attr.aria-label]="ariaLabel"
4941
+ [tabindex]="disabled ? null : '0'"
4942
+ />
4840
4943
  </div>
4841
- <div #box [ngClass]="{ 'p-checkbox-box p-component': true, 'p-highlight': checked, 'p-focus': focused, 'p-disabled': disabled }" role="checkbox" [attr.aria-checked]="checked">
4944
+ <div #box [ngClass]="{ 'p-checkbox-box p-component': true, 'p-highlight': checked, 'p-focus': focused, 'p-disabled': disabled }">
4842
4945
  <ng-container *ngIf="!dt.checkboxIconTemplate">
4843
4946
  <CheckIcon [styleClass]="'p-checkbox-icon'" *ngIf="checked" />
4844
4947
  </ng-container>
@@ -4887,6 +4990,7 @@ class TableHeaderCheckbox {
4887
4990
  this.cd = cd;
4888
4991
  this.valueChangeSubscription = this.dt.tableService.valueSource$.subscribe(() => {
4889
4992
  this.checked = this.updateCheckedState();
4993
+ this.ariaLabel = this.ariaLabel || this.dt.config.translation.aria ? (this.checked ? this.dt.config.translation.aria.selectAll : this.dt.config.translation.aria.unselectAll) : undefined;
4890
4994
  });
4891
4995
  this.selectionChangeSubscription = this.dt.tableService.selectionSource$.subscribe(() => {
4892
4996
  this.checked = this.updateCheckedState();
@@ -4932,13 +5036,13 @@ class TableHeaderCheckbox {
4932
5036
  return ObjectUtils.isNotEmpty(selectableVal) && ObjectUtils.isNotEmpty(this.dt.selection) && selectableVal.every((v) => this.dt.selection.some((s) => this.dt.equals(v, s)));
4933
5037
  }
4934
5038
  }
4935
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: TableHeaderCheckbox, deps: [{ token: Table }, { token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4936
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: { disabled: "disabled", inputId: "inputId", name: "name", ariaLabel: "ariaLabel" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
5039
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TableHeaderCheckbox, deps: [{ token: Table }, { token: TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
5040
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: { disabled: "disabled", inputId: "inputId", name: "name", ariaLabel: "ariaLabel" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
4937
5041
  <div class="p-checkbox p-component" [ngClass]="{ 'p-checkbox-focused': focused, 'p-checkbox-disabled': isDisabled() }" (click)="onClick($event)">
4938
5042
  <div class="p-hidden-accessible">
4939
- <input #cb type="checkbox" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" [disabled]="isDisabled()" [attr.aria-label]="ariaLabel" />
5043
+ <input #cb type="checkbox" [tabindex]="disabled ? null : '0'" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" [disabled]="isDisabled()" [attr.aria-label]="ariaLabel" />
4940
5044
  </div>
4941
- <div #box [ngClass]="{ 'p-checkbox-box': true, 'p-highlight': checked, 'p-focus': focused, 'p-disabled': isDisabled() }" role="checkbox" [attr.aria-checked]="checked">
5045
+ <div #box [ngClass]="{ 'p-checkbox-box': true, 'p-highlight': checked, 'p-focus': focused, 'p-disabled': isDisabled() }">
4942
5046
  <ng-container *ngIf="!dt.headerCheckboxIconTemplate">
4943
5047
  <CheckIcon *ngIf="checked" [styleClass]="'p-checkbox-icon'" />
4944
5048
  </ng-container>
@@ -4949,16 +5053,16 @@ class TableHeaderCheckbox {
4949
5053
  </div>
4950
5054
  `, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i2.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i0.forwardRef(function () { return CheckIcon; }), selector: "CheckIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4951
5055
  }
4952
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: TableHeaderCheckbox, decorators: [{
5056
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TableHeaderCheckbox, decorators: [{
4953
5057
  type: Component,
4954
5058
  args: [{
4955
5059
  selector: 'p-tableHeaderCheckbox',
4956
5060
  template: `
4957
5061
  <div class="p-checkbox p-component" [ngClass]="{ 'p-checkbox-focused': focused, 'p-checkbox-disabled': isDisabled() }" (click)="onClick($event)">
4958
5062
  <div class="p-hidden-accessible">
4959
- <input #cb type="checkbox" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" [disabled]="isDisabled()" [attr.aria-label]="ariaLabel" />
5063
+ <input #cb type="checkbox" [tabindex]="disabled ? null : '0'" [attr.id]="inputId" [attr.name]="name" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" [disabled]="isDisabled()" [attr.aria-label]="ariaLabel" />
4960
5064
  </div>
4961
- <div #box [ngClass]="{ 'p-checkbox-box': true, 'p-highlight': checked, 'p-focus': focused, 'p-disabled': isDisabled() }" role="checkbox" [attr.aria-checked]="checked">
5065
+ <div #box [ngClass]="{ 'p-checkbox-box': true, 'p-highlight': checked, 'p-focus': focused, 'p-disabled': isDisabled() }">
4962
5066
  <ng-container *ngIf="!dt.headerCheckboxIconTemplate">
4963
5067
  <CheckIcon *ngIf="checked" [styleClass]="'p-checkbox-icon'" />
4964
5068
  </ng-container>
@@ -4991,10 +5095,10 @@ class ReorderableRowHandle {
4991
5095
  ngAfterViewInit() {
4992
5096
  DomHandler.addClass(this.el.nativeElement, 'p-datatable-reorderablerow-handle');
4993
5097
  }
4994
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ReorderableRowHandle, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
4995
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: ReorderableRowHandle, selector: "[pReorderableRowHandle]", host: { classAttribute: "p-element" }, ngImport: i0 });
5098
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ReorderableRowHandle, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
5099
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: ReorderableRowHandle, selector: "[pReorderableRowHandle]", host: { classAttribute: "p-element" }, ngImport: i0 });
4996
5100
  }
4997
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ReorderableRowHandle, decorators: [{
5101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ReorderableRowHandle, decorators: [{
4998
5102
  type: Directive,
4999
5103
  args: [{
5000
5104
  selector: '[pReorderableRowHandle]',
@@ -5091,10 +5195,10 @@ class ReorderableRow {
5091
5195
  ngOnDestroy() {
5092
5196
  this.unbindEvents();
5093
5197
  }
5094
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ReorderableRow, deps: [{ token: i0.Renderer2 }, { token: Table }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
5095
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: ReorderableRow, selector: "[pReorderableRow]", inputs: { index: ["pReorderableRow", "index"], pReorderableRowDisabled: "pReorderableRowDisabled" }, host: { listeners: { "drop": "onDrop($event)" }, classAttribute: "p-element" }, ngImport: i0 });
5198
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ReorderableRow, deps: [{ token: i0.Renderer2 }, { token: Table }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
5199
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: ReorderableRow, selector: "[pReorderableRow]", inputs: { index: ["pReorderableRow", "index"], pReorderableRowDisabled: "pReorderableRowDisabled" }, host: { listeners: { "drop": "onDrop($event)" }, classAttribute: "p-element" }, ngImport: i0 });
5096
5200
  }
5097
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ReorderableRow, decorators: [{
5201
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ReorderableRow, decorators: [{
5098
5202
  type: Directive,
5099
5203
  args: [{
5100
5204
  selector: '[pReorderableRow]',
@@ -5145,6 +5249,7 @@ class ColumnFilter {
5145
5249
  useGrouping = true;
5146
5250
  showButtons = true;
5147
5251
  icon;
5252
+ clearButtonViewChild;
5148
5253
  templates;
5149
5254
  overlaySubscription;
5150
5255
  headerTemplate;
@@ -5165,6 +5270,7 @@ class ColumnFilter {
5165
5270
  selfClick;
5166
5271
  overlayEventListener;
5167
5272
  window;
5273
+ overlayId;
5168
5274
  constructor(document, el, dt, renderer, config, overlayService, cd) {
5169
5275
  this.document = document;
5170
5276
  this.el = el;
@@ -5176,6 +5282,7 @@ class ColumnFilter {
5176
5282
  this.window = this.document.defaultView;
5177
5283
  }
5178
5284
  ngOnInit() {
5285
+ this.overlayId = UniqueComponentId();
5179
5286
  if (!this.dt.filters[this.field]) {
5180
5287
  this.initFieldFilterConstraint();
5181
5288
  }
@@ -5273,10 +5380,12 @@ class ColumnFilter {
5273
5380
  }
5274
5381
  addConstraint() {
5275
5382
  this.dt.filters[this.field].push({ value: null, matchMode: this.getDefaultMatchMode(), operator: this.getDefaultOperator() });
5383
+ DomHandler.focus(this.clearButtonViewChild.nativeElement);
5276
5384
  }
5277
5385
  removeConstraint(filterMeta) {
5278
5386
  this.dt.filters[this.field] = this.dt.filters[this.field].filter((meta) => meta !== filterMeta);
5279
5387
  this.dt._filter();
5388
+ DomHandler.focus(this.clearButtonViewChild.nativeElement);
5280
5389
  }
5281
5390
  onOperatorChange(value) {
5282
5391
  this.dt.filters[this.field].forEach((filterMeta) => {
@@ -5359,11 +5468,19 @@ class ColumnFilter {
5359
5468
  }
5360
5469
  onOverlayAnimationEnd(event) {
5361
5470
  switch (event.toState) {
5471
+ case 'visible':
5472
+ this.focusOnFirstElement();
5473
+ break;
5362
5474
  case 'void':
5363
5475
  ZIndexUtils.clear(event.element);
5364
5476
  break;
5365
5477
  }
5366
5478
  }
5479
+ focusOnFirstElement() {
5480
+ if (this.overlay) {
5481
+ DomHandler.focus(DomHandler.getFirstFocusableElement(this.overlay, ''));
5482
+ }
5483
+ }
5367
5484
  getDefaultMatchMode() {
5368
5485
  if (this.matchMode) {
5369
5486
  return this.matchMode;
@@ -5519,8 +5636,8 @@ class ColumnFilter {
5519
5636
  this.overlaySubscription.unsubscribe();
5520
5637
  }
5521
5638
  }
5522
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ColumnFilter, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: Table }, { token: i0.Renderer2 }, { token: i1.PrimeNGConfig }, { token: i1.OverlayService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
5523
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: ColumnFilter, selector: "p-columnFilter", inputs: { field: "field", type: "type", display: "display", showMenu: "showMenu", matchMode: "matchMode", operator: "operator", showOperator: "showOperator", showClearButton: "showClearButton", showApplyButton: "showApplyButton", showMatchModes: "showMatchModes", showAddButton: "showAddButton", hideOnClear: "hideOnClear", placeholder: "placeholder", matchModeOptions: "matchModeOptions", maxConstraints: "maxConstraints", minFractionDigits: "minFractionDigits", maxFractionDigits: "maxFractionDigits", prefix: "prefix", suffix: "suffix", locale: "locale", localeMatcher: "localeMatcher", currency: "currency", currencyDisplay: "currencyDisplay", useGrouping: "useGrouping", showButtons: "showButtons" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "icon", first: true, predicate: ["icon"], descendants: true }], ngImport: i0, template: `
5639
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ColumnFilter, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: Table }, { token: i0.Renderer2 }, { token: i1.PrimeNGConfig }, { token: i1.OverlayService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
5640
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: ColumnFilter, selector: "p-columnFilter", inputs: { field: "field", type: "type", display: "display", showMenu: "showMenu", matchMode: "matchMode", operator: "operator", showOperator: "showOperator", showClearButton: "showClearButton", showApplyButton: "showApplyButton", showMatchModes: "showMatchModes", showAddButton: "showAddButton", hideOnClear: "hideOnClear", placeholder: "placeholder", matchModeOptions: "matchModeOptions", maxConstraints: "maxConstraints", minFractionDigits: "minFractionDigits", maxFractionDigits: "maxFractionDigits", prefix: "prefix", suffix: "suffix", locale: "locale", localeMatcher: "localeMatcher", currency: "currency", currencyDisplay: "currencyDisplay", useGrouping: "useGrouping", showButtons: "showButtons" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "icon", first: true, predicate: ["icon"], descendants: true }, { propertyName: "clearButtonViewChild", first: true, predicate: ["clearBtn"], descendants: true }], ngImport: i0, template: `
5524
5641
  <div class="p-column-filter" [ngClass]="{ 'p-column-filter-row': display === 'row', 'p-column-filter-menu': display === 'menu' }">
5525
5642
  <p-columnFilterFormElement
5526
5643
  *ngIf="display === 'row'"
@@ -5547,6 +5664,7 @@ class ColumnFilter {
5547
5664
  type="button"
5548
5665
  class="p-column-filter-menu-button p-link"
5549
5666
  aria-haspopup="true"
5667
+ [attr.aria-controls]="overlayId"
5550
5668
  [attr.aria-expanded]="overlayVisible"
5551
5669
  [ngClass]="{ 'p-column-filter-menu-button-open': overlayVisible, 'p-column-filter-menu-button-active': hasFilter() }"
5552
5670
  (click)="toggleMenu()"
@@ -5564,6 +5682,9 @@ class ColumnFilter {
5564
5682
  <div
5565
5683
  *ngIf="showMenu && overlayVisible"
5566
5684
  [ngClass]="{ 'p-column-filter-overlay p-component p-fluid': true, 'p-column-filter-overlay-menu': display === 'menu' }"
5685
+ [id]="overlayId"
5686
+ [attr.aria-modal]="true"
5687
+ role="dialog"
5567
5688
  (click)="onContentClick()"
5568
5689
  [@overlayAnimation]="'visible'"
5569
5690
  (@overlayAnimation.start)="onOverlayAnimationStart($event)"
@@ -5630,7 +5751,7 @@ class ColumnFilter {
5630
5751
  </button>
5631
5752
  </div>
5632
5753
  <div class="p-column-filter-buttonbar">
5633
- <button *ngIf="showClearButton" type="button" pButton class="p-button-outlined p-button-sm" (click)="clearFilter()" [label]="clearButtonLabel" pRipple></button>
5754
+ <button #clearBtn *ngIf="showClearButton" type="button" pButton class="p-button-outlined p-button-sm" (click)="clearFilter()" [label]="clearButtonLabel" pRipple></button>
5634
5755
  <button *ngIf="showApplyButton" type="button" pButton (click)="applyFilter()" class="p-button-sm" [label]="applyButtonLabel" pRipple></button>
5635
5756
  </div>
5636
5757
  </ng-template>
@@ -5639,7 +5760,7 @@ class ColumnFilter {
5639
5760
  </div>
5640
5761
  `, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i2.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i0.forwardRef(function () { return i5.Dropdown; }), selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "directive", type: i0.forwardRef(function () { return i6.NgControlStatus; }), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(function () { return i6.NgModel; }), selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i0.forwardRef(function () { return i7.ButtonDirective; }), selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i0.forwardRef(function () { return FilterIcon; }), selector: "FilterIcon" }, { kind: "component", type: i0.forwardRef(function () { return FilterSlashIcon; }), selector: "FilterSlashIcon" }, { kind: "component", type: i0.forwardRef(function () { return ColumnFilterFormElement; }), selector: "p-columnFilterFormElement", inputs: ["field", "type", "filterConstraint", "filterTemplate", "placeholder", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping"] }], animations: [trigger('overlayAnimation', [transition(':enter', [style({ opacity: 0, transform: 'scaleY(0.8)' }), animate('.12s cubic-bezier(0, 0, 0.2, 1)')]), transition(':leave', [animate('.1s linear', style({ opacity: 0 }))])])], encapsulation: i0.ViewEncapsulation.None });
5641
5762
  }
5642
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ColumnFilter, decorators: [{
5763
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ColumnFilter, decorators: [{
5643
5764
  type: Component,
5644
5765
  args: [{
5645
5766
  selector: 'p-columnFilter',
@@ -5670,6 +5791,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
5670
5791
  type="button"
5671
5792
  class="p-column-filter-menu-button p-link"
5672
5793
  aria-haspopup="true"
5794
+ [attr.aria-controls]="overlayId"
5673
5795
  [attr.aria-expanded]="overlayVisible"
5674
5796
  [ngClass]="{ 'p-column-filter-menu-button-open': overlayVisible, 'p-column-filter-menu-button-active': hasFilter() }"
5675
5797
  (click)="toggleMenu()"
@@ -5687,6 +5809,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
5687
5809
  <div
5688
5810
  *ngIf="showMenu && overlayVisible"
5689
5811
  [ngClass]="{ 'p-column-filter-overlay p-component p-fluid': true, 'p-column-filter-overlay-menu': display === 'menu' }"
5812
+ [id]="overlayId"
5813
+ [attr.aria-modal]="true"
5814
+ role="dialog"
5690
5815
  (click)="onContentClick()"
5691
5816
  [@overlayAnimation]="'visible'"
5692
5817
  (@overlayAnimation.start)="onOverlayAnimationStart($event)"
@@ -5753,7 +5878,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
5753
5878
  </button>
5754
5879
  </div>
5755
5880
  <div class="p-column-filter-buttonbar">
5756
- <button *ngIf="showClearButton" type="button" pButton class="p-button-outlined p-button-sm" (click)="clearFilter()" [label]="clearButtonLabel" pRipple></button>
5881
+ <button #clearBtn *ngIf="showClearButton" type="button" pButton class="p-button-outlined p-button-sm" (click)="clearFilter()" [label]="clearButtonLabel" pRipple></button>
5757
5882
  <button *ngIf="showApplyButton" type="button" pButton (click)="applyFilter()" class="p-button-sm" [label]="applyButtonLabel" pRipple></button>
5758
5883
  </div>
5759
5884
  </ng-template>
@@ -5823,6 +5948,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
5823
5948
  }], icon: [{
5824
5949
  type: ViewChild,
5825
5950
  args: ['icon']
5951
+ }], clearButtonViewChild: [{
5952
+ type: ViewChild,
5953
+ args: ['clearBtn']
5826
5954
  }], templates: [{
5827
5955
  type: ContentChildren,
5828
5956
  args: [PrimeTemplate]
@@ -5874,8 +6002,8 @@ class ColumnFilterFormElement {
5874
6002
  event.preventDefault();
5875
6003
  }
5876
6004
  }
5877
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ColumnFilterFormElement, deps: [{ token: Table }, { token: ColumnFilter }], target: i0.ɵɵFactoryTarget.Component });
5878
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: ColumnFilterFormElement, selector: "p-columnFilterFormElement", inputs: { field: "field", type: "type", filterConstraint: "filterConstraint", filterTemplate: "filterTemplate", placeholder: "placeholder", minFractionDigits: "minFractionDigits", maxFractionDigits: "maxFractionDigits", prefix: "prefix", suffix: "suffix", locale: "locale", localeMatcher: "localeMatcher", currency: "currency", currencyDisplay: "currencyDisplay", useGrouping: "useGrouping" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
6005
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ColumnFilterFormElement, deps: [{ token: Table }, { token: ColumnFilter }], target: i0.ɵɵFactoryTarget.Component });
6006
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: ColumnFilterFormElement, selector: "p-columnFilterFormElement", inputs: { field: "field", type: "type", filterConstraint: "filterConstraint", filterTemplate: "filterTemplate", placeholder: "placeholder", minFractionDigits: "minFractionDigits", maxFractionDigits: "maxFractionDigits", prefix: "prefix", suffix: "suffix", locale: "locale", localeMatcher: "localeMatcher", currency: "currency", currencyDisplay: "currencyDisplay", useGrouping: "useGrouping" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
5879
6007
  <ng-container *ngIf="filterTemplate; else builtInElement">
5880
6008
  <ng-container
5881
6009
  *ngTemplateOutlet="
@@ -5926,9 +6054,9 @@ class ColumnFilterFormElement {
5926
6054
  <p-calendar *ngSwitchCase="'date'" [placeholder]="placeholder" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)"></p-calendar>
5927
6055
  </ng-container>
5928
6056
  </ng-template>
5929
- `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i8.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "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", "showClear", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i9.InputText, selector: "[pInputText]" }, { kind: "component", type: i10.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", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "component", type: i11.TriStateCheckbox, selector: "p-triStateCheckbox", inputs: ["disabled", "name", "ariaLabel", "ariaLabelledBy", "tabindex", "inputId", "style", "styleClass", "label", "readonly", "checkboxTrueIcon", "checkboxFalseIcon"], outputs: ["onChange"] }], encapsulation: i0.ViewEncapsulation.None });
6057
+ `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i8.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "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", "showClear", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i9.InputText, selector: "[pInputText]" }, { kind: "component", type: i10.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "component", type: i11.TriStateCheckbox, selector: "p-triStateCheckbox", inputs: ["disabled", "name", "ariaLabel", "ariaLabelledBy", "tabindex", "inputId", "style", "styleClass", "label", "readonly", "checkboxTrueIcon", "checkboxFalseIcon"], outputs: ["onChange"] }], encapsulation: i0.ViewEncapsulation.None });
5930
6058
  }
5931
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ColumnFilterFormElement, decorators: [{
6059
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ColumnFilterFormElement, decorators: [{
5932
6060
  type: Component,
5933
6061
  args: [{
5934
6062
  selector: 'p-columnFilterFormElement',
@@ -6019,8 +6147,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
6019
6147
  type: Input
6020
6148
  }] } });
6021
6149
  class TableModule {
6022
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: TableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6023
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: TableModule, declarations: [Table, SortableColumn, FrozenColumn, RowGroupHeader, SelectableRow, RowToggler, ContextMenuRow, ResizableColumn, ReorderableColumn, EditableColumn, CellEditor, TableBody, SortIcon, TableRadioButton, TableCheckbox, TableHeaderCheckbox, ReorderableRowHandle, ReorderableRow, SelectableRowDblClick, EditableRow, InitEditableRow, SaveEditableRow, CancelEditableRow, ColumnFilter, ColumnFilterFormElement], imports: [CommonModule,
6150
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6151
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: TableModule, declarations: [Table, SortableColumn, FrozenColumn, RowGroupHeader, SelectableRow, RowToggler, ContextMenuRow, ResizableColumn, ReorderableColumn, EditableColumn, CellEditor, TableBody, SortIcon, TableRadioButton, TableCheckbox, TableHeaderCheckbox, ReorderableRowHandle, ReorderableRow, SelectableRowDblClick, EditableRow, InitEditableRow, SaveEditableRow, CancelEditableRow, ColumnFilter, ColumnFilterFormElement], imports: [CommonModule,
6024
6152
  PaginatorModule,
6025
6153
  InputTextModule,
6026
6154
  DropdownModule,
@@ -6040,7 +6168,7 @@ class TableModule {
6040
6168
  CheckIcon,
6041
6169
  FilterIcon,
6042
6170
  FilterSlashIcon], exports: [Table, SharedModule, SortableColumn, FrozenColumn, RowGroupHeader, SelectableRow, RowToggler, ContextMenuRow, ResizableColumn, ReorderableColumn, EditableColumn, CellEditor, SortIcon, TableRadioButton, TableCheckbox, TableHeaderCheckbox, ReorderableRowHandle, ReorderableRow, SelectableRowDblClick, EditableRow, InitEditableRow, SaveEditableRow, CancelEditableRow, ColumnFilter, ColumnFilterFormElement, ScrollerModule] });
6043
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: TableModule, imports: [CommonModule,
6171
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TableModule, imports: [CommonModule,
6044
6172
  PaginatorModule,
6045
6173
  InputTextModule,
6046
6174
  DropdownModule,
@@ -6062,7 +6190,7 @@ class TableModule {
6062
6190
  FilterSlashIcon, SharedModule,
6063
6191
  ScrollerModule] });
6064
6192
  }
6065
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: TableModule, decorators: [{
6193
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TableModule, decorators: [{
6066
6194
  type: NgModule,
6067
6195
  args: [{
6068
6196
  imports: [