primeng 18.0.5-lts → 18.0.7-lts

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 (298) hide show
  1. package/LICENSE.md +3 -3
  2. package/api/translation.d.ts +1 -0
  3. package/autocomplete/autocomplete.d.ts +1 -1
  4. package/chips/chips.d.ts +237 -0
  5. package/chips/chips.interface.d.ts +66 -0
  6. package/chips/index.d.ts +5 -0
  7. package/chips/public_api.d.ts +2 -0
  8. package/chips/style/chipsstyle.d.ts +69 -0
  9. package/confirmdialog/confirmdialog.d.ts +2 -0
  10. package/datepicker/datepicker.d.ts +6 -2
  11. package/dialog/dialog.d.ts +1 -0
  12. package/dynamicdialog/dynamicdialog-config.d.ts +1 -1
  13. package/editor/editor.d.ts +25 -4
  14. package/editor/editor.interface.d.ts +67 -9
  15. package/esm2022/accordion/accordion.mjs +13 -12
  16. package/esm2022/api/translation.mjs +1 -1
  17. package/esm2022/autocomplete/autocomplete.mjs +56 -59
  18. package/esm2022/base/style/basestyle.mjs +5 -1
  19. package/esm2022/carousel/carousel.mjs +3 -3
  20. package/esm2022/chips/chips.interface.mjs +2 -0
  21. package/esm2022/chips/chips.mjs +827 -0
  22. package/esm2022/chips/primeng-chips.mjs +5 -0
  23. package/esm2022/chips/public_api.mjs +3 -0
  24. package/esm2022/chips/style/chipsstyle.mjs +175 -0
  25. package/esm2022/config/primeng.mjs +3 -2
  26. package/esm2022/confirmdialog/confirmdialog.mjs +51 -3
  27. package/esm2022/contextmenu/contextmenu.mjs +3 -3
  28. package/esm2022/dataview/dataview.mjs +2 -2
  29. package/esm2022/datepicker/datepicker.mjs +35 -11
  30. package/esm2022/datepicker/style/datepickerstyle.mjs +6 -2
  31. package/esm2022/dialog/dialog.mjs +15 -4
  32. package/esm2022/dock/dock.mjs +2 -2
  33. package/esm2022/dynamicdialog/dynamicdialog-config.mjs +2 -2
  34. package/esm2022/dynamicdialog/dynamicdialog.mjs +6 -2
  35. package/esm2022/editor/editor.interface.mjs +1 -1
  36. package/esm2022/editor/editor.mjs +61 -3
  37. package/esm2022/inputmask/inputmask.mjs +2 -1
  38. package/esm2022/inputnumber/inputnumber.mjs +13 -5
  39. package/esm2022/listbox/listbox.mjs +85 -10
  40. package/esm2022/listbox/style/listboxstyle.mjs +23 -1
  41. package/esm2022/megamenu/megamenu.mjs +7 -9
  42. package/esm2022/menu/menu.mjs +3 -2
  43. package/esm2022/menubar/menubar.mjs +4 -5
  44. package/esm2022/message/message.mjs +1 -1
  45. package/esm2022/multiselect/multiselect.interface.mjs +1 -1
  46. package/esm2022/multiselect/multiselect.mjs +30 -12
  47. package/esm2022/overlay/overlay.mjs +14 -10
  48. package/esm2022/panel/panel.mjs +1 -2
  49. package/esm2022/picklist/picklist.mjs +355 -194
  50. package/esm2022/radiobutton/radiobutton.mjs +4 -5
  51. package/esm2022/scroller/scroller.mjs +26 -10
  52. package/esm2022/select/select.mjs +37 -19
  53. package/esm2022/selectbutton/selectbutton.mjs +12 -5
  54. package/esm2022/splitbutton/splitbutton.mjs +9 -28
  55. package/esm2022/stepper/stepper.mjs +3 -3
  56. package/esm2022/table/style/tablestyle.mjs +3 -3
  57. package/esm2022/table/table.mjs +92 -49
  58. package/esm2022/tabs/tablist.mjs +2 -2
  59. package/esm2022/tabs/tabs.mjs +3 -3
  60. package/esm2022/tag/tag.mjs +1 -1
  61. package/esm2022/terminal/terminal.mjs +22 -12
  62. package/esm2022/textarea/textarea.mjs +5 -1
  63. package/esm2022/tieredmenu/style/tieredmenustyle.mjs +13 -32
  64. package/esm2022/tieredmenu/tieredmenu.mjs +9 -9
  65. package/esm2022/togglebutton/style/togglebuttonstyle.mjs +2 -2
  66. package/esm2022/tooltip/tooltip.mjs +2 -2
  67. package/esm2022/tree/tree.mjs +51 -29
  68. package/esm2022/treeselect/treeselect.mjs +8 -7
  69. package/esm2022/treetable/treetable.mjs +11 -11
  70. package/fesm2022/primeng-accordion.mjs +12 -11
  71. package/fesm2022/primeng-accordion.mjs.map +1 -1
  72. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  73. package/fesm2022/primeng-api.mjs.map +1 -1
  74. package/fesm2022/primeng-autocomplete.mjs +55 -58
  75. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  76. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  77. package/fesm2022/primeng-avatar.mjs.map +1 -1
  78. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  79. package/fesm2022/primeng-badge.mjs.map +1 -1
  80. package/fesm2022/primeng-base.mjs +4 -0
  81. package/fesm2022/primeng-base.mjs.map +1 -1
  82. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  83. package/fesm2022/primeng-blockui.mjs.map +1 -1
  84. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  85. package/fesm2022/primeng-button.mjs.map +1 -1
  86. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  87. package/fesm2022/primeng-calendar.mjs.map +1 -1
  88. package/fesm2022/primeng-card.mjs.map +1 -1
  89. package/fesm2022/primeng-carousel.mjs +2 -2
  90. package/fesm2022/primeng-carousel.mjs.map +1 -1
  91. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  92. package/fesm2022/primeng-chart.mjs.map +1 -1
  93. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  94. package/fesm2022/primeng-chip.mjs.map +1 -1
  95. package/fesm2022/primeng-chips.mjs +1006 -0
  96. package/fesm2022/primeng-chips.mjs.map +1 -0
  97. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  98. package/fesm2022/primeng-config.mjs +2 -1
  99. package/fesm2022/primeng-config.mjs.map +1 -1
  100. package/fesm2022/primeng-confirmdialog.mjs +50 -2
  101. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  102. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  103. package/fesm2022/primeng-contextmenu.mjs +2 -2
  104. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  105. package/fesm2022/primeng-dataview.mjs +1 -1
  106. package/fesm2022/primeng-dataview.mjs.map +1 -1
  107. package/fesm2022/primeng-datepicker.mjs +39 -11
  108. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  109. package/fesm2022/primeng-defer.mjs.map +1 -1
  110. package/fesm2022/primeng-dialog.mjs +14 -3
  111. package/fesm2022/primeng-dialog.mjs.map +1 -1
  112. package/fesm2022/primeng-divider.mjs.map +1 -1
  113. package/fesm2022/primeng-dock.mjs +1 -1
  114. package/fesm2022/primeng-dock.mjs.map +1 -1
  115. package/fesm2022/primeng-dom.mjs.map +1 -1
  116. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  117. package/fesm2022/primeng-drawer.mjs.map +1 -1
  118. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  119. package/fesm2022/primeng-dynamicdialog.mjs +6 -2
  120. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  121. package/fesm2022/primeng-editor.mjs +60 -2
  122. package/fesm2022/primeng-editor.mjs.map +1 -1
  123. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  124. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  125. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  126. package/fesm2022/primeng-fluid.mjs.map +1 -1
  127. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  128. package/fesm2022/primeng-galleria.mjs.map +1 -1
  129. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  130. package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -1
  131. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -1
  132. package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -1
  133. package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -1
  134. package/fesm2022/primeng-icons-angledown.mjs.map +1 -1
  135. package/fesm2022/primeng-icons-angleleft.mjs.map +1 -1
  136. package/fesm2022/primeng-icons-angleright.mjs.map +1 -1
  137. package/fesm2022/primeng-icons-angleup.mjs.map +1 -1
  138. package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
  139. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -1
  140. package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -1
  141. package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
  142. package/fesm2022/primeng-icons-arrowright.mjs.map +1 -1
  143. package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
  144. package/fesm2022/primeng-icons-ban.mjs.map +1 -1
  145. package/fesm2022/primeng-icons-bars.mjs.map +1 -1
  146. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
  147. package/fesm2022/primeng-icons-blank.mjs.map +1 -1
  148. package/fesm2022/primeng-icons-calendar.mjs.map +1 -1
  149. package/fesm2022/primeng-icons-caretleft.mjs.map +1 -1
  150. package/fesm2022/primeng-icons-caretright.mjs.map +1 -1
  151. package/fesm2022/primeng-icons-check.mjs.map +1 -1
  152. package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -1
  153. package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -1
  154. package/fesm2022/primeng-icons-chevronright.mjs.map +1 -1
  155. package/fesm2022/primeng-icons-chevronup.mjs.map +1 -1
  156. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
  157. package/fesm2022/primeng-icons-eye.mjs.map +1 -1
  158. package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
  159. package/fesm2022/primeng-icons-filter.mjs.map +1 -1
  160. package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
  161. package/fesm2022/primeng-icons-home.mjs.map +1 -1
  162. package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
  163. package/fesm2022/primeng-icons-minus.mjs.map +1 -1
  164. package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
  165. package/fesm2022/primeng-icons-plus.mjs.map +1 -1
  166. package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
  167. package/fesm2022/primeng-icons-search.mjs.map +1 -1
  168. package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
  169. package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
  170. package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
  171. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
  172. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
  173. package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
  174. package/fesm2022/primeng-icons-star.mjs.map +1 -1
  175. package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
  176. package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
  177. package/fesm2022/primeng-icons-times.mjs.map +1 -1
  178. package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
  179. package/fesm2022/primeng-icons-trash.mjs.map +1 -1
  180. package/fesm2022/primeng-icons-undo.mjs.map +1 -1
  181. package/fesm2022/primeng-icons-upload.mjs.map +1 -1
  182. package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
  183. package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
  184. package/fesm2022/primeng-iftalabel.mjs.map +1 -1
  185. package/fesm2022/primeng-image.mjs.map +1 -1
  186. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  187. package/fesm2022/primeng-inplace.mjs.map +1 -1
  188. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  189. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  190. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  191. package/fesm2022/primeng-inputmask.mjs +1 -0
  192. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  193. package/fesm2022/primeng-inputnumber.mjs +12 -4
  194. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  195. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  196. package/fesm2022/primeng-inputswitch.mjs.map +1 -1
  197. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  198. package/fesm2022/primeng-inputtextarea.mjs.map +1 -1
  199. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  200. package/fesm2022/primeng-knob.mjs.map +1 -1
  201. package/fesm2022/primeng-listbox.mjs +107 -10
  202. package/fesm2022/primeng-listbox.mjs.map +1 -1
  203. package/fesm2022/primeng-megamenu.mjs +6 -8
  204. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  205. package/fesm2022/primeng-menu.mjs +2 -1
  206. package/fesm2022/primeng-menu.mjs.map +1 -1
  207. package/fesm2022/primeng-menubar.mjs +3 -4
  208. package/fesm2022/primeng-menubar.mjs.map +1 -1
  209. package/fesm2022/primeng-message.mjs.map +1 -1
  210. package/fesm2022/primeng-messages.mjs.map +1 -1
  211. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  212. package/fesm2022/primeng-multiselect.mjs +29 -11
  213. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  214. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  215. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  216. package/fesm2022/primeng-overlay.mjs +13 -9
  217. package/fesm2022/primeng-overlay.mjs.map +1 -1
  218. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  219. package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
  220. package/fesm2022/primeng-paginator.mjs.map +1 -1
  221. package/fesm2022/primeng-panel.mjs +0 -1
  222. package/fesm2022/primeng-panel.mjs.map +1 -1
  223. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  224. package/fesm2022/primeng-password.mjs.map +1 -1
  225. package/fesm2022/primeng-picklist.mjs +354 -193
  226. package/fesm2022/primeng-picklist.mjs.map +1 -1
  227. package/fesm2022/primeng-popover.mjs.map +1 -1
  228. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  229. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  230. package/fesm2022/primeng-radiobutton.mjs +3 -4
  231. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  232. package/fesm2022/primeng-rating.mjs.map +1 -1
  233. package/fesm2022/primeng-ripple.mjs.map +1 -1
  234. package/fesm2022/primeng-scroller.mjs +25 -9
  235. package/fesm2022/primeng-scroller.mjs.map +1 -1
  236. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  237. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  238. package/fesm2022/primeng-select.mjs +36 -18
  239. package/fesm2022/primeng-select.mjs.map +1 -1
  240. package/fesm2022/primeng-selectbutton.mjs +11 -4
  241. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  242. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  243. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  244. package/fesm2022/primeng-slider.mjs.map +1 -1
  245. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  246. package/fesm2022/primeng-splitbutton.mjs +9 -28
  247. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  248. package/fesm2022/primeng-splitter.mjs.map +1 -1
  249. package/fesm2022/primeng-stepper.mjs +2 -2
  250. package/fesm2022/primeng-stepper.mjs.map +1 -1
  251. package/fesm2022/primeng-steps.mjs.map +1 -1
  252. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  253. package/fesm2022/primeng-table.mjs +94 -51
  254. package/fesm2022/primeng-table.mjs.map +1 -1
  255. package/fesm2022/primeng-tabmenu.mjs.map +1 -1
  256. package/fesm2022/primeng-tabs.mjs +3 -3
  257. package/fesm2022/primeng-tabs.mjs.map +1 -1
  258. package/fesm2022/primeng-tabview.mjs.map +1 -1
  259. package/fesm2022/primeng-tag.mjs.map +1 -1
  260. package/fesm2022/primeng-terminal.mjs +21 -11
  261. package/fesm2022/primeng-terminal.mjs.map +1 -1
  262. package/fesm2022/primeng-textarea.mjs +4 -0
  263. package/fesm2022/primeng-textarea.mjs.map +1 -1
  264. package/fesm2022/primeng-tieredmenu.mjs +21 -40
  265. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  266. package/fesm2022/primeng-timeline.mjs.map +1 -1
  267. package/fesm2022/primeng-toast.mjs.map +1 -1
  268. package/fesm2022/primeng-togglebutton.mjs +1 -1
  269. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  270. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  271. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  272. package/fesm2022/primeng-tooltip.mjs +1 -1
  273. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  274. package/fesm2022/primeng-tree.mjs +50 -28
  275. package/fesm2022/primeng-tree.mjs.map +1 -1
  276. package/fesm2022/primeng-treeselect.mjs +7 -6
  277. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  278. package/fesm2022/primeng-treetable.mjs +10 -10
  279. package/fesm2022/primeng-treetable.mjs.map +1 -1
  280. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  281. package/fesm2022/primeng-utils.mjs.map +1 -1
  282. package/inputnumber/inputnumber.d.ts +6 -1
  283. package/listbox/listbox.d.ts +28 -2
  284. package/message/message.d.ts +1 -1
  285. package/multiselect/multiselect.d.ts +11 -3
  286. package/multiselect/multiselect.interface.d.ts +1 -1
  287. package/package.json +351 -345
  288. package/panel/panel.d.ts +0 -1
  289. package/picklist/picklist.d.ts +2 -2
  290. package/scroller/scroller.d.ts +4 -0
  291. package/select/select.d.ts +1 -0
  292. package/selectbutton/selectbutton.d.ts +1 -0
  293. package/splitbutton/splitbutton.d.ts +4 -6
  294. package/table/table.d.ts +13 -3
  295. package/tag/tag.d.ts +1 -1
  296. package/terminal/terminal.d.ts +2 -1
  297. package/textarea/textarea.d.ts +1 -0
  298. package/tree/tree.d.ts +7 -1
@@ -2,7 +2,7 @@ import { trigger, transition, style, animate } from '@angular/animations';
2
2
  import * as i1 from '@angular/common';
3
3
  import { isPlatformBrowser, DOCUMENT, CommonModule } from '@angular/common';
4
4
  import * as i0 from '@angular/core';
5
- import { Injectable, EventEmitter, inject, NgZone, numberAttribute, booleanAttribute, ViewEncapsulation, ChangeDetectionStrategy, Component, ContentChild, ContentChildren, ViewChild, Output, Input, Directive, HostListener, PLATFORM_ID, Inject, Optional, forwardRef, ElementRef, NgModule } from '@angular/core';
5
+ import { Injectable, EventEmitter, inject, NgZone, numberAttribute, booleanAttribute, ViewEncapsulation, ChangeDetectionStrategy, Component, ContentChild, ContentChildren, ViewChild, Output, Input, Directive, PLATFORM_ID, Inject, ElementRef, HostListener, Optional, forwardRef, NgModule } from '@angular/core';
6
6
  import * as i5 from '@angular/forms';
7
7
  import { FormsModule } from '@angular/forms';
8
8
  import * as i3 from 'primeng/api';
@@ -175,7 +175,7 @@ const theme = ({ dt }) => `
175
175
  cursor: move;
176
176
  }
177
177
 
178
- .p-datatable-mask {
178
+ .p-datatable-mask.p-overlay-mask {
179
179
  position: absolute;
180
180
  display: flex;
181
181
  align-items: center;
@@ -629,7 +629,7 @@ p-datatable-gridlines .p-datatable-tbody > tr:last-child > td {
629
629
 
630
630
  .p-datatable-tbody > tr.p-datatable-row-selected .p-datatable-row-toggle-button:hover {
631
631
  background: ${dt('datatable.row.toggle.button.selected.hover.background')};
632
- ${dt('datatable.row.toggle.button.selected.hover.color')};
632
+ color: ${dt('datatable.row.toggle.button.selected.hover.color')};
633
633
  }
634
634
 
635
635
  .p-datatable-row-toggle-button:focus-visible {
@@ -1154,7 +1154,7 @@ function Table_p_scroller_7_Template(rf, ctx) { if (rf & 1) {
1154
1154
  } if (rf & 2) {
1155
1155
  const ctx_r0 = i0.ɵɵnextContext();
1156
1156
  i0.ɵɵstyleMap(i0.ɵɵpureFunction1(15, _c41, ctx_r0.scrollHeight !== "flex" ? ctx_r0.scrollHeight : undefined));
1157
- i0.ɵɵproperty("items", ctx_r0.processedData)("columns", ctx_r0.columns)("scrollHeight", ctx_r0.scrollHeight !== "flex" ? undefined : "100%")("itemSize", ctx_r0.virtualScrollItemSize || ctx_r0._virtualRowHeight)("step", ctx_r0.rows)("delay", ctx_r0.lazy ? ctx_r0.virtualScrollDelay : 0)("inline", true)("lazy", ctx_r0.lazy)("loaderDisabled", true)("showSpacer", false)("showLoader", ctx_r0.loadingBodyTemplate || ctx_r0._loadingBodyTemplate)("options", ctx_r0.virtualScrollOptions)("autoSize", true);
1157
+ i0.ɵɵproperty("items", ctx_r0.processedData)("columns", ctx_r0.columns)("scrollHeight", ctx_r0.scrollHeight !== "flex" ? undefined : "100%")("itemSize", ctx_r0.virtualScrollItemSize || ctx_r0._virtualRowHeight)("step", ctx_r0.rows)("delay", ctx_r0.lazy ? ctx_r0.virtualScrollDelay : 0)("inline", true)("autoSize", true)("lazy", ctx_r0.lazy)("loaderDisabled", true)("showSpacer", false)("showLoader", ctx_r0.loadingBodyTemplate || ctx_r0._loadingBodyTemplate)("options", ctx_r0.virtualScrollOptions);
1158
1158
  } }
1159
1159
  function Table_ng_container_8_ng_container_1_Template(rf, ctx) { if (rf & 1) {
1160
1160
  i0.ɵɵelementContainer(0);
@@ -1720,6 +1720,7 @@ const _c56 = ["removeruleicon"];
1720
1720
  const _c57 = ["addruleicon"];
1721
1721
  const _c58 = ["clearfiltericon"];
1722
1722
  const _c59 = ["clearBtn"];
1723
+ const _c60 = a0 => ({ hasFilter: a0 });
1723
1724
  function ColumnFilter_p_columnFilterFormElement_1_Template(rf, ctx) { if (rf & 1) {
1724
1725
  i0.ɵɵelement(0, "p-columnFilterFormElement", 8);
1725
1726
  } if (rf & 2) {
@@ -1740,10 +1741,10 @@ function ColumnFilter_p_button_2_ng_template_1_span_1_Template(rf, ctx) { if (rf
1740
1741
  } if (rf & 2) {
1741
1742
  const ctx_r0 = i0.ɵɵnextContext(3);
1742
1743
  i0.ɵɵadvance();
1743
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.filterIconTemplate || ctx_r0._filterIconTemplate);
1744
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.filterIconTemplate || ctx_r0._filterIconTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c60, ctx_r0.hasFilter));
1744
1745
  } }
1745
1746
  function ColumnFilter_p_button_2_ng_template_1_Template(rf, ctx) { if (rf & 1) {
1746
- i0.ɵɵtemplate(0, ColumnFilter_p_button_2_ng_template_1_FilterIcon_0_Template, 1, 0, "FilterIcon", 10)(1, ColumnFilter_p_button_2_ng_template_1_span_1_Template, 2, 1, "span", 11);
1747
+ i0.ɵɵtemplate(0, ColumnFilter_p_button_2_ng_template_1_FilterIcon_0_Template, 1, 0, "FilterIcon", 10)(1, ColumnFilter_p_button_2_ng_template_1_span_1_Template, 2, 4, "span", 11);
1747
1748
  } if (rf & 2) {
1748
1749
  const ctx_r0 = i0.ɵɵnextContext(2);
1749
1750
  i0.ɵɵproperty("ngIf", !ctx_r0.filterIconTemplate && !ctx_r0._filterIconTemplate);
@@ -1770,7 +1771,7 @@ function ColumnFilter_p_button_3_ng_template_1_1_Template(rf, ctx) { if (rf & 1)
1770
1771
  i0.ɵɵtemplate(0, ColumnFilter_p_button_3_ng_template_1_1_ng_template_0_Template, 0, 0, "ng-template");
1771
1772
  } }
1772
1773
  function ColumnFilter_p_button_3_ng_template_1_Template(rf, ctx) { if (rf & 1) {
1773
- i0.ɵɵtemplate(0, ColumnFilter_p_button_3_ng_template_1_FilterSlashIcon_0_Template, 1, 0, "FilterSlashIcon", 10)(1, ColumnFilter_p_button_3_ng_template_1_1_Template, 1, 0, null, 13);
1774
+ i0.ɵɵtemplate(0, ColumnFilter_p_button_3_ng_template_1_FilterSlashIcon_0_Template, 1, 0, "FilterSlashIcon", 10)(1, ColumnFilter_p_button_3_ng_template_1_1_Template, 1, 0, null, 15);
1774
1775
  } if (rf & 2) {
1775
1776
  const ctx_r0 = i0.ɵɵnextContext(2);
1776
1777
  i0.ɵɵproperty("ngIf", !ctx_r0.clearFilterIconTemplate && !ctx_r0._clearFilterIconTemplate);
@@ -1859,7 +1860,7 @@ function ColumnFilter_div_4_ng_template_3_div_2_p_button_4_Template(rf, ctx) { i
1859
1860
  const _r12 = i0.ɵɵgetCurrentView();
1860
1861
  i0.ɵɵelementStart(0, "p-button", 28);
1861
1862
  i0.ɵɵlistener("onClick", function ColumnFilter_div_4_ng_template_3_div_2_p_button_4_Template_p_button_onClick_0_listener() { i0.ɵɵrestoreView(_r12); const fieldConstraint_r11 = i0.ɵɵnextContext().$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.removeConstraint(fieldConstraint_r11)); });
1862
- i0.ɵɵtemplate(1, ColumnFilter_div_4_ng_template_3_div_2_p_button_4_TrashIcon_1_Template, 1, 0, "TrashIcon", 10)(2, ColumnFilter_div_4_ng_template_3_div_2_p_button_4_2_Template, 1, 0, null, 13);
1863
+ i0.ɵɵtemplate(1, ColumnFilter_div_4_ng_template_3_div_2_p_button_4_TrashIcon_1_Template, 1, 0, "TrashIcon", 10)(2, ColumnFilter_div_4_ng_template_3_div_2_p_button_4_2_Template, 1, 0, null, 15);
1863
1864
  i0.ɵɵelementEnd();
1864
1865
  } if (rf & 2) {
1865
1866
  const ctx_r0 = i0.ɵɵnextContext(4);
@@ -1898,7 +1899,7 @@ function ColumnFilter_div_4_ng_template_3_div_3_Template(rf, ctx) { if (rf & 1)
1898
1899
  const _r13 = i0.ɵɵgetCurrentView();
1899
1900
  i0.ɵɵelementStart(0, "div")(1, "p-button", 29);
1900
1901
  i0.ɵɵlistener("onClick", function ColumnFilter_div_4_ng_template_3_div_3_Template_p_button_onClick_1_listener() { i0.ɵɵrestoreView(_r13); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.addConstraint()); });
1901
- i0.ɵɵtemplate(2, ColumnFilter_div_4_ng_template_3_div_3_PlusIcon_2_Template, 1, 0, "PlusIcon", 10)(3, ColumnFilter_div_4_ng_template_3_div_3_3_Template, 1, 0, null, 13);
1902
+ i0.ɵɵtemplate(2, ColumnFilter_div_4_ng_template_3_div_3_PlusIcon_2_Template, 1, 0, "PlusIcon", 10)(3, ColumnFilter_div_4_ng_template_3_div_3_3_Template, 1, 0, null, 15);
1902
1903
  i0.ɵɵelementEnd()();
1903
1904
  } if (rf & 2) {
1904
1905
  const ctx_r0 = i0.ɵɵnextContext(3);
@@ -1960,9 +1961,9 @@ function ColumnFilter_div_4_ng_container_5_Template(rf, ctx) { if (rf & 1) {
1960
1961
  } }
1961
1962
  function ColumnFilter_div_4_Template(rf, ctx) { if (rf & 1) {
1962
1963
  const _r4 = i0.ɵɵgetCurrentView();
1963
- i0.ɵɵelementStart(0, "div", 15);
1964
+ i0.ɵɵelementStart(0, "div", 16);
1964
1965
  i0.ɵɵlistener("click", function ColumnFilter_div_4_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onContentClick()); })("@overlayAnimation.start", function ColumnFilter_div_4_Template_div_animation_overlayAnimation_start_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onOverlayAnimationStart($event)); })("@overlayAnimation.done", function ColumnFilter_div_4_Template_div_animation_overlayAnimation_done_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onOverlayAnimationEnd($event)); })("keydown.escape", function ColumnFilter_div_4_Template_div_keydown_escape_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onEscape()); });
1965
- i0.ɵɵtemplate(1, ColumnFilter_div_4_ng_container_1_Template, 1, 0, "ng-container", 16)(2, ColumnFilter_div_4_ul_2_Template, 5, 5, "ul", 17)(3, ColumnFilter_div_4_ng_template_3_Template, 7, 7, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor)(5, ColumnFilter_div_4_ng_container_5_Template, 1, 0, "ng-container", 16);
1966
+ i0.ɵɵtemplate(1, ColumnFilter_div_4_ng_container_1_Template, 1, 0, "ng-container", 13)(2, ColumnFilter_div_4_ul_2_Template, 5, 5, "ul", 17)(3, ColumnFilter_div_4_ng_template_3_Template, 7, 7, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor)(5, ColumnFilter_div_4_ng_container_5_Template, 1, 0, "ng-container", 13);
1966
1967
  i0.ɵɵelementEnd();
1967
1968
  } if (rf & 2) {
1968
1969
  const menu_r16 = i0.ɵɵreference(4);
@@ -1976,7 +1977,7 @@ function ColumnFilter_div_4_Template(rf, ctx) { if (rf & 1) {
1976
1977
  i0.ɵɵadvance(3);
1977
1978
  i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.footerTemplate || ctx_r0._footerTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(12, _c44, ctx_r0.field));
1978
1979
  } }
1979
- const _c60 = (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) => ({ $implicit: a0, filterCallback: a1, type: a2, field: a3, filterConstraint: a4, placeholder: a5, minFractionDigits: a6, maxFractionDigits: a7, prefix: a8, suffix: a9, locale: a10, localeMatcher: a11, currency: a12, currencyDisplay: a13, useGrouping: a14, showButtons: a15 });
1980
+ const _c61 = (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) => ({ $implicit: a0, filterCallback: a1, type: a2, field: a3, filterConstraint: a4, placeholder: a5, minFractionDigits: a6, maxFractionDigits: a7, prefix: a8, suffix: a9, locale: a10, localeMatcher: a11, currency: a12, currencyDisplay: a13, useGrouping: a14, showButtons: a15 });
1980
1981
  function ColumnFilterFormElement_ng_container_0_ng_container_1_Template(rf, ctx) { if (rf & 1) {
1981
1982
  i0.ɵɵelementContainer(0);
1982
1983
  } }
@@ -1987,7 +1988,7 @@ function ColumnFilterFormElement_ng_container_0_Template(rf, ctx) { if (rf & 1)
1987
1988
  } if (rf & 2) {
1988
1989
  const ctx_r0 = i0.ɵɵnextContext();
1989
1990
  i0.ɵɵadvance();
1990
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.filterTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunctionV(2, _c60, [ctx_r0.filterConstraint.value, ctx_r0.filterCallback, ctx_r0.type, ctx_r0.field, ctx_r0.filterConstraint, ctx_r0.placeholder, ctx_r0.minFractionDigits, ctx_r0.maxFractionDigits, ctx_r0.prefix, ctx_r0.suffix, ctx_r0.locale, ctx_r0.localeMatcher, ctx_r0.currency, ctx_r0.currencyDisplay, ctx_r0.useGrouping, ctx_r0.showButtons]));
1991
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.filterTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunctionV(2, _c61, [ctx_r0.filterConstraint.value, ctx_r0.filterCallback, ctx_r0.type, ctx_r0.field, ctx_r0.filterConstraint, ctx_r0.placeholder, ctx_r0.minFractionDigits, ctx_r0.maxFractionDigits, ctx_r0.prefix, ctx_r0.suffix, ctx_r0.locale, ctx_r0.localeMatcher, ctx_r0.currency, ctx_r0.currencyDisplay, ctx_r0.useGrouping, ctx_r0.showButtons]));
1991
1992
  } }
1992
1993
  function ColumnFilterFormElement_ng_template_1_input_1_Template(rf, ctx) { if (rf & 1) {
1993
1994
  const _r2 = i0.ɵɵgetCurrentView();
@@ -2015,7 +2016,7 @@ function ColumnFilterFormElement_ng_template_1_p_checkbox_3_Template(rf, ctx) {
2015
2016
  i0.ɵɵelementEnd();
2016
2017
  } if (rf & 2) {
2017
2018
  const ctx_r0 = i0.ɵɵnextContext(2);
2018
- i0.ɵɵproperty("indeterminate", true)("binary", true)("ngModel", ctx_r0.filterConstraint == null ? null : ctx_r0.filterConstraint.value);
2019
+ i0.ɵɵproperty("indeterminate", (ctx_r0.filterConstraint == null ? null : ctx_r0.filterConstraint.value) === null)("binary", true)("ngModel", ctx_r0.filterConstraint == null ? null : ctx_r0.filterConstraint.value);
2019
2020
  } }
2020
2021
  function ColumnFilterFormElement_ng_template_1_p_datepicker_4_Template(rf, ctx) { if (rf & 1) {
2021
2022
  const _r5 = i0.ɵɵgetCurrentView();
@@ -3443,7 +3444,7 @@ class Table extends BaseComponent {
3443
3444
  }
3444
3445
  }
3445
3446
  }
3446
- selectRange(event, rowIndex) {
3447
+ selectRange(event, rowIndex, isMetaKeySelection) {
3447
3448
  let rangeStart, rangeEnd;
3448
3449
  if (this.anchorRowIndex > rowIndex) {
3449
3450
  rangeStart = rowIndex;
@@ -3464,7 +3465,7 @@ class Table extends BaseComponent {
3464
3465
  let rangeRowsData = [];
3465
3466
  for (let i = rangeStart; i <= rangeEnd; i++) {
3466
3467
  let rangeRowData = this.filteredValue ? this.filteredValue[i] : this.value[i];
3467
- if (!this.isSelected(rangeRowData)) {
3468
+ if (!this.isSelected(rangeRowData) && !isMetaKeySelection) {
3468
3469
  if (!this.isRowSelectable(rangeRowData, rowIndex)) {
3469
3470
  continue;
3470
3471
  }
@@ -4322,7 +4323,11 @@ class Table extends BaseComponent {
4322
4323
  }
4323
4324
  saveColumnWidths(state) {
4324
4325
  let widths = [];
4325
- let headers = DomHandler.find(this.containerViewChild?.nativeElement, '.p-datatable-thead > tr > th');
4326
+ let headers = [];
4327
+ const container = this.containerViewChild?.nativeElement;
4328
+ if (container) {
4329
+ headers = DomHandler.find(container, '.p-datatable-thead > tr > th');
4330
+ }
4326
4331
  headers.forEach((header) => widths.push(DomHandler.getOuterWidth(header)));
4327
4332
  state.columnWidths = widths.join(',');
4328
4333
  if (this.columnResizeMode === 'expand') {
@@ -4556,7 +4561,7 @@ class Table extends BaseComponent {
4556
4561
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tableHeaderViewChild = _t.first);
4557
4562
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tableFooterViewChild = _t.first);
4558
4563
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.scroller = _t.first);
4559
- } }, inputs: { frozenColumns: "frozenColumns", frozenValue: "frozenValue", style: "style", styleClass: "styleClass", tableStyle: "tableStyle", tableStyleClass: "tableStyleClass", paginator: [2, "paginator", "paginator", booleanAttribute], pageLinks: [2, "pageLinks", "pageLinks", numberAttribute], rowsPerPageOptions: "rowsPerPageOptions", alwaysShowPaginator: [2, "alwaysShowPaginator", "alwaysShowPaginator", booleanAttribute], paginatorPosition: "paginatorPosition", paginatorStyleClass: "paginatorStyleClass", paginatorDropdownAppendTo: "paginatorDropdownAppendTo", paginatorDropdownScrollHeight: "paginatorDropdownScrollHeight", currentPageReportTemplate: "currentPageReportTemplate", showCurrentPageReport: [2, "showCurrentPageReport", "showCurrentPageReport", booleanAttribute], showJumpToPageDropdown: [2, "showJumpToPageDropdown", "showJumpToPageDropdown", booleanAttribute], showJumpToPageInput: [2, "showJumpToPageInput", "showJumpToPageInput", booleanAttribute], showFirstLastIcon: [2, "showFirstLastIcon", "showFirstLastIcon", booleanAttribute], showPageLinks: [2, "showPageLinks", "showPageLinks", booleanAttribute], defaultSortOrder: [2, "defaultSortOrder", "defaultSortOrder", numberAttribute], sortMode: "sortMode", resetPageOnSort: [2, "resetPageOnSort", "resetPageOnSort", booleanAttribute], selectionMode: "selectionMode", selectionPageOnly: [2, "selectionPageOnly", "selectionPageOnly", booleanAttribute], contextMenuSelection: "contextMenuSelection", contextMenuSelectionMode: "contextMenuSelectionMode", dataKey: "dataKey", metaKeySelection: [2, "metaKeySelection", "metaKeySelection", booleanAttribute], rowSelectable: "rowSelectable", rowTrackBy: "rowTrackBy", lazy: [2, "lazy", "lazy", booleanAttribute], lazyLoadOnInit: [2, "lazyLoadOnInit", "lazyLoadOnInit", booleanAttribute], compareSelectionBy: "compareSelectionBy", csvSeparator: "csvSeparator", exportFilename: "exportFilename", filters: "filters", globalFilterFields: "globalFilterFields", filterDelay: [2, "filterDelay", "filterDelay", numberAttribute], filterLocale: "filterLocale", expandedRowKeys: "expandedRowKeys", editingRowKeys: "editingRowKeys", rowExpandMode: "rowExpandMode", scrollable: [2, "scrollable", "scrollable", booleanAttribute], scrollDirection: "scrollDirection", rowGroupMode: "rowGroupMode", scrollHeight: "scrollHeight", virtualScroll: [2, "virtualScroll", "virtualScroll", booleanAttribute], virtualScrollItemSize: [2, "virtualScrollItemSize", "virtualScrollItemSize", numberAttribute], virtualScrollOptions: "virtualScrollOptions", virtualScrollDelay: [2, "virtualScrollDelay", "virtualScrollDelay", numberAttribute], frozenWidth: "frozenWidth", responsive: "responsive", contextMenu: "contextMenu", resizableColumns: [2, "resizableColumns", "resizableColumns", booleanAttribute], columnResizeMode: "columnResizeMode", reorderableColumns: [2, "reorderableColumns", "reorderableColumns", booleanAttribute], loading: [2, "loading", "loading", booleanAttribute], loadingIcon: "loadingIcon", showLoader: [2, "showLoader", "showLoader", booleanAttribute], rowHover: [2, "rowHover", "rowHover", booleanAttribute], customSort: [2, "customSort", "customSort", booleanAttribute], showInitialSortBadge: [2, "showInitialSortBadge", "showInitialSortBadge", booleanAttribute], autoLayout: [2, "autoLayout", "autoLayout", booleanAttribute], exportFunction: "exportFunction", exportHeader: "exportHeader", stateKey: "stateKey", stateStorage: "stateStorage", editMode: "editMode", groupRowsBy: "groupRowsBy", size: "size", showGridlines: [2, "showGridlines", "showGridlines", booleanAttribute], stripedRows: [2, "stripedRows", "stripedRows", booleanAttribute], groupRowsByOrder: [2, "groupRowsByOrder", "groupRowsByOrder", numberAttribute], responsiveLayout: "responsiveLayout", breakpoint: "breakpoint", paginatorLocale: "paginatorLocale", value: "value", columns: "columns", first: "first", rows: "rows", totalRecords: "totalRecords", sortField: "sortField", sortOrder: "sortOrder", multiSortMeta: "multiSortMeta", selection: "selection", virtualRowHeight: "virtualRowHeight", selectAll: "selectAll" }, 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" }, features: [i0.ɵɵProvidersFeature([TableService, TableStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], decls: 16, vars: 17, consts: [["container", ""], ["wrapper", ""], ["buildInTable", ""], ["scroller", ""], ["content", ""], ["table", ""], ["thead", ""], ["tfoot", ""], ["resizeHelper", ""], ["reorderIndicatorUp", ""], ["reorderIndicatorDown", ""], [3, "ngStyle", "ngClass"], [3, "ngClass", 4, "ngIf"], [3, "rows", "first", "totalRecords", "pageLinkSize", "alwaysShow", "rowsPerPageOptions", "templateLeft", "templateRight", "dropdownAppendTo", "dropdownScrollHeight", "currentPageReportTemplate", "showFirstLastIcon", "dropdownItemTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showPageLinks", "styleClass", "locale", "onPageChange", 4, "ngIf"], [3, "ngClass", "ngStyle"], [3, "items", "columns", "style", "scrollHeight", "itemSize", "step", "delay", "inline", "lazy", "loaderDisabled", "showSpacer", "showLoader", "options", "autoSize", "onLazyLoad", 4, "ngIf"], [4, "ngIf"], ["style", "display:none", 3, "ngClass", 4, "ngIf"], ["style", "display: none;", 3, "ngClass", 4, "ngIf"], [3, "ngClass"], [3, "class", 4, "ngIf"], [3, "spin", "styleClass", 4, "ngIf"], [3, "spin", "styleClass"], [4, "ngTemplateOutlet"], [3, "onPageChange", "rows", "first", "totalRecords", "pageLinkSize", "alwaysShow", "rowsPerPageOptions", "templateLeft", "templateRight", "dropdownAppendTo", "dropdownScrollHeight", "currentPageReportTemplate", "showFirstLastIcon", "dropdownItemTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showPageLinks", "styleClass", "locale"], ["pTemplate", "dropdownicon"], ["pTemplate", "firstpagelinkicon"], ["pTemplate", "previouspagelinkicon"], ["pTemplate", "lastpagelinkicon"], ["pTemplate", "nextpagelinkicon"], [3, "onLazyLoad", "items", "columns", "scrollHeight", "itemSize", "step", "delay", "inline", "lazy", "loaderDisabled", "showSpacer", "showLoader", "options", "autoSize"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["role", "table", 3, "ngClass"], ["role", "rowgroup", 3, "ngClass", "ngStyle"], ["role", "rowgroup", 3, "ngClass", "value", "frozenRows", "pTableBody", "pTableBodyTemplate", "frozen", 4, "ngIf"], ["role", "rowgroup", 3, "ngClass", "value", "pTableBody", "pTableBodyTemplate", "scrollerOptions"], ["role", "rowgroup", 3, "style", "ngClass", 4, "ngIf"], ["role", "rowgroup", 3, "ngClass", 4, "ngIf"], ["role", "rowgroup", 3, "ngClass", "value", "frozenRows", "pTableBody", "pTableBodyTemplate", "frozen"], ["role", "rowgroup", 3, "ngClass"], [2, "display", "none", 3, "ngClass"]], template: function Table_Template(rf, ctx) { if (rf & 1) {
4564
+ } }, inputs: { frozenColumns: "frozenColumns", frozenValue: "frozenValue", style: "style", styleClass: "styleClass", tableStyle: "tableStyle", tableStyleClass: "tableStyleClass", paginator: [2, "paginator", "paginator", booleanAttribute], pageLinks: [2, "pageLinks", "pageLinks", numberAttribute], rowsPerPageOptions: "rowsPerPageOptions", alwaysShowPaginator: [2, "alwaysShowPaginator", "alwaysShowPaginator", booleanAttribute], paginatorPosition: "paginatorPosition", paginatorStyleClass: "paginatorStyleClass", paginatorDropdownAppendTo: "paginatorDropdownAppendTo", paginatorDropdownScrollHeight: "paginatorDropdownScrollHeight", currentPageReportTemplate: "currentPageReportTemplate", showCurrentPageReport: [2, "showCurrentPageReport", "showCurrentPageReport", booleanAttribute], showJumpToPageDropdown: [2, "showJumpToPageDropdown", "showJumpToPageDropdown", booleanAttribute], showJumpToPageInput: [2, "showJumpToPageInput", "showJumpToPageInput", booleanAttribute], showFirstLastIcon: [2, "showFirstLastIcon", "showFirstLastIcon", booleanAttribute], showPageLinks: [2, "showPageLinks", "showPageLinks", booleanAttribute], defaultSortOrder: [2, "defaultSortOrder", "defaultSortOrder", numberAttribute], sortMode: "sortMode", resetPageOnSort: [2, "resetPageOnSort", "resetPageOnSort", booleanAttribute], selectionMode: "selectionMode", selectionPageOnly: [2, "selectionPageOnly", "selectionPageOnly", booleanAttribute], contextMenuSelection: "contextMenuSelection", contextMenuSelectionMode: "contextMenuSelectionMode", dataKey: "dataKey", metaKeySelection: [2, "metaKeySelection", "metaKeySelection", booleanAttribute], rowSelectable: "rowSelectable", rowTrackBy: "rowTrackBy", lazy: [2, "lazy", "lazy", booleanAttribute], lazyLoadOnInit: [2, "lazyLoadOnInit", "lazyLoadOnInit", booleanAttribute], compareSelectionBy: "compareSelectionBy", csvSeparator: "csvSeparator", exportFilename: "exportFilename", filters: "filters", globalFilterFields: "globalFilterFields", filterDelay: [2, "filterDelay", "filterDelay", numberAttribute], filterLocale: "filterLocale", expandedRowKeys: "expandedRowKeys", editingRowKeys: "editingRowKeys", rowExpandMode: "rowExpandMode", scrollable: [2, "scrollable", "scrollable", booleanAttribute], scrollDirection: "scrollDirection", rowGroupMode: "rowGroupMode", scrollHeight: "scrollHeight", virtualScroll: [2, "virtualScroll", "virtualScroll", booleanAttribute], virtualScrollItemSize: [2, "virtualScrollItemSize", "virtualScrollItemSize", numberAttribute], virtualScrollOptions: "virtualScrollOptions", virtualScrollDelay: [2, "virtualScrollDelay", "virtualScrollDelay", numberAttribute], frozenWidth: "frozenWidth", responsive: "responsive", contextMenu: "contextMenu", resizableColumns: [2, "resizableColumns", "resizableColumns", booleanAttribute], columnResizeMode: "columnResizeMode", reorderableColumns: [2, "reorderableColumns", "reorderableColumns", booleanAttribute], loading: [2, "loading", "loading", booleanAttribute], loadingIcon: "loadingIcon", showLoader: [2, "showLoader", "showLoader", booleanAttribute], rowHover: [2, "rowHover", "rowHover", booleanAttribute], customSort: [2, "customSort", "customSort", booleanAttribute], showInitialSortBadge: [2, "showInitialSortBadge", "showInitialSortBadge", booleanAttribute], autoLayout: [2, "autoLayout", "autoLayout", booleanAttribute], exportFunction: "exportFunction", exportHeader: "exportHeader", stateKey: "stateKey", stateStorage: "stateStorage", editMode: "editMode", groupRowsBy: "groupRowsBy", size: "size", showGridlines: [2, "showGridlines", "showGridlines", booleanAttribute], stripedRows: [2, "stripedRows", "stripedRows", booleanAttribute], groupRowsByOrder: [2, "groupRowsByOrder", "groupRowsByOrder", numberAttribute], responsiveLayout: "responsiveLayout", breakpoint: "breakpoint", paginatorLocale: "paginatorLocale", value: "value", columns: "columns", first: "first", rows: "rows", totalRecords: "totalRecords", sortField: "sortField", sortOrder: "sortOrder", multiSortMeta: "multiSortMeta", selection: "selection", virtualRowHeight: "virtualRowHeight", selectAll: "selectAll" }, 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" }, features: [i0.ɵɵProvidersFeature([TableService, TableStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], decls: 16, vars: 17, consts: [["container", ""], ["wrapper", ""], ["buildInTable", ""], ["scroller", ""], ["content", ""], ["table", ""], ["thead", ""], ["tfoot", ""], ["resizeHelper", ""], ["reorderIndicatorUp", ""], ["reorderIndicatorDown", ""], [3, "ngStyle", "ngClass"], [3, "ngClass", 4, "ngIf"], [3, "rows", "first", "totalRecords", "pageLinkSize", "alwaysShow", "rowsPerPageOptions", "templateLeft", "templateRight", "dropdownAppendTo", "dropdownScrollHeight", "currentPageReportTemplate", "showFirstLastIcon", "dropdownItemTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showPageLinks", "styleClass", "locale", "onPageChange", 4, "ngIf"], [3, "ngClass", "ngStyle"], [3, "items", "columns", "style", "scrollHeight", "itemSize", "step", "delay", "inline", "autoSize", "lazy", "loaderDisabled", "showSpacer", "showLoader", "options", "onLazyLoad", 4, "ngIf"], [4, "ngIf"], ["style", "display:none", 3, "ngClass", 4, "ngIf"], ["style", "display: none;", 3, "ngClass", 4, "ngIf"], [3, "ngClass"], [3, "class", 4, "ngIf"], [3, "spin", "styleClass", 4, "ngIf"], [3, "spin", "styleClass"], [4, "ngTemplateOutlet"], [3, "onPageChange", "rows", "first", "totalRecords", "pageLinkSize", "alwaysShow", "rowsPerPageOptions", "templateLeft", "templateRight", "dropdownAppendTo", "dropdownScrollHeight", "currentPageReportTemplate", "showFirstLastIcon", "dropdownItemTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showPageLinks", "styleClass", "locale"], ["pTemplate", "dropdownicon"], ["pTemplate", "firstpagelinkicon"], ["pTemplate", "previouspagelinkicon"], ["pTemplate", "lastpagelinkicon"], ["pTemplate", "nextpagelinkicon"], [3, "onLazyLoad", "items", "columns", "scrollHeight", "itemSize", "step", "delay", "inline", "autoSize", "lazy", "loaderDisabled", "showSpacer", "showLoader", "options"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["role", "table", 3, "ngClass"], ["role", "rowgroup", 3, "ngClass", "ngStyle"], ["role", "rowgroup", 3, "ngClass", "value", "frozenRows", "pTableBody", "pTableBodyTemplate", "frozen", 4, "ngIf"], ["role", "rowgroup", 3, "ngClass", "value", "pTableBody", "pTableBodyTemplate", "scrollerOptions"], ["role", "rowgroup", 3, "style", "ngClass", 4, "ngIf"], ["role", "rowgroup", 3, "ngClass", 4, "ngIf"], ["role", "rowgroup", 3, "ngClass", "value", "frozenRows", "pTableBody", "pTableBodyTemplate", "frozen"], ["role", "rowgroup", 3, "ngClass"], [2, "display", "none", 3, "ngClass"]], template: function Table_Template(rf, ctx) { if (rf & 1) {
4560
4565
  i0.ɵɵelementStart(0, "div", 11, 0);
4561
4566
  i0.ɵɵtemplate(2, Table_div_2_Template, 3, 3, "div", 12)(3, Table_div_3_Template, 2, 2, "div", 12)(4, Table_p_paginator_4_Template, 6, 24, "p-paginator", 13);
4562
4567
  i0.ɵɵelementStart(5, "div", 14, 1);
@@ -4668,13 +4673,13 @@ class Table extends BaseComponent {
4668
4673
  [step]="rows"
4669
4674
  [delay]="lazy ? virtualScrollDelay : 0"
4670
4675
  [inline]="true"
4676
+ [autoSize]="true"
4671
4677
  [lazy]="lazy"
4672
4678
  (onLazyLoad)="onLazyItemLoad($event)"
4673
4679
  [loaderDisabled]="true"
4674
4680
  [showSpacer]="false"
4675
4681
  [showLoader]="loadingBodyTemplate || _loadingBodyTemplate"
4676
4682
  [options]="virtualScrollOptions"
4677
- [autoSize]="true"
4678
4683
  >
4679
4684
  <ng-template #content let-items let-scrollerOptions="options">
4680
4685
  <ng-container *ngTemplateOutlet="buildInTable; context: { $implicit: items, options: scrollerOptions }"></ng-container>
@@ -5434,7 +5439,9 @@ class RowGroupHeader {
5434
5439
  }], () => [{ type: Table }], null); })();
5435
5440
  class FrozenColumn {
5436
5441
  el;
5437
- zone;
5442
+ renderer;
5443
+ document;
5444
+ platformId;
5438
5445
  get frozen() {
5439
5446
  return this._frozen;
5440
5447
  }
@@ -5443,16 +5450,41 @@ class FrozenColumn {
5443
5450
  Promise.resolve(null).then(() => this.updateStickyPosition());
5444
5451
  }
5445
5452
  alignFrozen = 'left';
5446
- constructor(el, zone) {
5453
+ resizeListener;
5454
+ resizeObserver;
5455
+ constructor(el, renderer, document, platformId) {
5447
5456
  this.el = el;
5448
- this.zone = zone;
5457
+ this.renderer = renderer;
5458
+ this.document = document;
5459
+ this.platformId = platformId;
5449
5460
  }
5450
5461
  ngAfterViewInit() {
5451
- this.zone.runOutsideAngular(() => {
5452
- setTimeout(() => {
5462
+ this.bindResizeListener();
5463
+ this.observeChanges();
5464
+ }
5465
+ bindResizeListener() {
5466
+ if (isPlatformBrowser(this.platformId)) {
5467
+ if (!this.resizeListener) {
5468
+ this.resizeListener = this.renderer.listen(this.document.defaultView, 'resize', () => {
5469
+ this.recalculateColumns();
5470
+ });
5471
+ }
5472
+ }
5473
+ }
5474
+ unbindResizeListener() {
5475
+ if (this.resizeListener) {
5476
+ this.resizeListener();
5477
+ this.resizeListener = null;
5478
+ }
5479
+ }
5480
+ observeChanges() {
5481
+ if (isPlatformBrowser(this.platformId)) {
5482
+ const resizeObserver = new ResizeObserver(() => {
5453
5483
  this.recalculateColumns();
5454
- }, 1000);
5455
- });
5484
+ });
5485
+ resizeObserver.observe(this.el.nativeElement);
5486
+ this.resizeObserver = resizeObserver;
5487
+ }
5456
5488
  }
5457
5489
  recalculateColumns() {
5458
5490
  const siblings = DomHandler.siblings(this.el.nativeElement);
@@ -5462,22 +5494,30 @@ class FrozenColumn {
5462
5494
  this.updateStickyPosition();
5463
5495
  }, time);
5464
5496
  }
5497
+ ngOnDestroy() {
5498
+ this.unbindResizeListener();
5499
+ if (this.resizeObserver) {
5500
+ this.resizeObserver.disconnect();
5501
+ }
5502
+ }
5465
5503
  _frozen = true;
5466
5504
  updateStickyPosition() {
5467
5505
  if (this._frozen) {
5468
5506
  if (this.alignFrozen === 'right') {
5469
5507
  let right = 0;
5470
- let next = this.el.nativeElement.nextElementSibling;
5471
- if (next) {
5472
- right = DomHandler.getOuterWidth(next) + (parseFloat(next.style.right) || 0);
5508
+ let sibling = this.el.nativeElement.nextElementSibling;
5509
+ while (sibling) {
5510
+ right += DomHandler.getOuterWidth(sibling);
5511
+ sibling = sibling.nextElementSibling;
5473
5512
  }
5474
5513
  this.el.nativeElement.style.right = right + 'px';
5475
5514
  }
5476
5515
  else {
5477
5516
  let left = 0;
5478
- let prev = this.el.nativeElement.previousElementSibling;
5479
- if (prev) {
5480
- left = DomHandler.getOuterWidth(prev) + (parseFloat(prev.style.left) || 0);
5517
+ let sibling = this.el.nativeElement.previousElementSibling;
5518
+ while (sibling) {
5519
+ left += DomHandler.getOuterWidth(sibling);
5520
+ sibling = sibling.previousElementSibling;
5481
5521
  }
5482
5522
  this.el.nativeElement.style.left = left + 'px';
5483
5523
  }
@@ -5491,28 +5531,31 @@ class FrozenColumn {
5491
5531
  }
5492
5532
  }
5493
5533
  }
5494
- static ɵfac = function FrozenColumn_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FrozenColumn)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
5495
- static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: FrozenColumn, selectors: [["", "pFrozenColumn", ""]], hostVars: 4, hostBindings: function FrozenColumn_HostBindings(rf, ctx) { if (rf & 1) {
5496
- i0.ɵɵlistener("resize", function FrozenColumn_resize_HostBindingHandler($event) { return ctx.recalculateColumns($event); }, false, i0.ɵɵresolveWindow);
5497
- } if (rf & 2) {
5534
+ static ɵfac = function FrozenColumn_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FrozenColumn)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(DOCUMENT), i0.ɵɵdirectiveInject(PLATFORM_ID)); };
5535
+ static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: FrozenColumn, selectors: [["", "pFrozenColumn", ""]], hostVars: 4, hostBindings: function FrozenColumn_HostBindings(rf, ctx) { if (rf & 2) {
5498
5536
  i0.ɵɵclassProp("p-datatable-frozen-column", ctx.frozen)("p-datatable-frozen-column-left", ctx.alignFrozen === "left");
5499
5537
  } }, inputs: { frozen: "frozen", alignFrozen: "alignFrozen" } });
5500
5538
  }
5501
5539
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FrozenColumn, [{
5502
5540
  type: Directive,
5503
5541
  args: [{ selector: '[pFrozenColumn]', host: { '[class.p-datatable-frozen-column]': 'frozen', '[class.p-datatable-frozen-column-left]': 'alignFrozen === "left"' } }]
5504
- }], () => [{ type: i0.ElementRef }, { type: i0.NgZone }], { frozen: [{
5542
+ }], () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: Document, decorators: [{
5543
+ type: Inject,
5544
+ args: [DOCUMENT]
5545
+ }] }, { type: undefined, decorators: [{
5546
+ type: Inject,
5547
+ args: [PLATFORM_ID]
5548
+ }] }], { frozen: [{
5505
5549
  type: Input
5506
5550
  }], alignFrozen: [{
5507
5551
  type: Input
5508
- }], recalculateColumns: [{
5509
- type: HostListener,
5510
- args: ['window:resize', ['$event']]
5511
5552
  }] }); })();
5512
5553
  class SortableColumn {
5513
5554
  dt;
5555
+ #elementRef = inject(ElementRef);
5514
5556
  field;
5515
5557
  pSortableColumnDisabled;
5558
+ role = this.#elementRef.nativeElement?.tagName !== 'TH' ? 'columnheader' : null;
5516
5559
  sorted;
5517
5560
  sortOrder;
5518
5561
  subscription;
@@ -5573,7 +5616,7 @@ class SortableColumn {
5573
5616
  static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: SortableColumn, selectors: [["", "pSortableColumn", ""]], hostVars: 7, hostBindings: function SortableColumn_HostBindings(rf, ctx) { if (rf & 1) {
5574
5617
  i0.ɵɵlistener("click", function SortableColumn_click_HostBindingHandler($event) { return ctx.onClick($event); })("keydown.space", function SortableColumn_keydown_space_HostBindingHandler($event) { return ctx.onEnterKey($event); })("keydown.enter", function SortableColumn_keydown_enter_HostBindingHandler($event) { return ctx.onEnterKey($event); });
5575
5618
  } if (rf & 2) {
5576
- i0.ɵɵattribute("tabindex", ctx.isEnabled() ? "0" : null)("role", "columnheader")("aria-sort", ctx.sortOrder);
5619
+ i0.ɵɵattribute("tabindex", ctx.isEnabled() ? "0" : null)("role", ctx.role)("aria-sort", ctx.sortOrder);
5577
5620
  i0.ɵɵclassProp("p-datatable-sortable-column", ctx.isEnabled())("p-datatable-column-sorted", ctx.sorted);
5578
5621
  } }, inputs: { field: [0, "pSortableColumn", "field"], pSortableColumnDisabled: [2, "pSortableColumnDisabled", "pSortableColumnDisabled", booleanAttribute] }, features: [i0.ɵɵInputTransformsFeature] });
5579
5622
  }
@@ -5581,7 +5624,7 @@ class SortableColumn {
5581
5624
  type: Directive,
5582
5625
  args: [{
5583
5626
  selector: '[pSortableColumn]',
5584
- host: { '[class.p-datatable-sortable-column]': 'isEnabled()', '[class.p-datatable-column-sorted]': 'sorted', '[attr.tabindex]': 'isEnabled() ? "0" : null', '[attr.role]': '"columnheader"', '[attr.aria-sort]': 'sortOrder' }
5627
+ host: { '[class.p-datatable-sortable-column]': 'isEnabled()', '[class.p-datatable-column-sorted]': 'sorted', '[attr.tabindex]': 'isEnabled() ? "0" : null', '[attr.role]': 'role', '[attr.aria-sort]': 'sortOrder' }
5585
5628
  }]
5586
5629
  }], () => [{ type: Table }], { field: [{
5587
5630
  type: Input,
@@ -5752,7 +5795,7 @@ class SelectableRow {
5752
5795
  if (event.code === 'KeyA' && (event.metaKey || event.ctrlKey) && this.dt.selectionMode === 'multiple') {
5753
5796
  const data = this.dt.dataToRender(this.dt.processedData);
5754
5797
  this.dt.selection = [...data];
5755
- this.dt.selectRange(event, data.length - 1);
5798
+ this.dt.selectRange(event, data.length - 1, true);
5756
5799
  event.preventDefault();
5757
5800
  }
5758
5801
  break;
@@ -5852,7 +5895,7 @@ class SelectableRow {
5852
5895
  findNextSelectableRow(row) {
5853
5896
  let nextRow = row.nextElementSibling;
5854
5897
  if (nextRow) {
5855
- if (DomHandler.hasClass(nextRow, 'p-selectable-row'))
5898
+ if (DomHandler.hasClass(nextRow, 'p-datatable-selectable-row'))
5856
5899
  return nextRow;
5857
5900
  else
5858
5901
  return this.findNextSelectableRow(nextRow);
@@ -5864,7 +5907,7 @@ class SelectableRow {
5864
5907
  findPrevSelectableRow(row) {
5865
5908
  let prevRow = row.previousElementSibling;
5866
5909
  if (prevRow) {
5867
- if (DomHandler.hasClass(prevRow, 'p-selectable-row'))
5910
+ if (DomHandler.hasClass(prevRow, 'p-datatable-selectable-row'))
5868
5911
  return prevRow;
5869
5912
  else
5870
5913
  return this.findPrevSelectableRow(prevRow);
@@ -6794,7 +6837,7 @@ class TableRadioButton {
6794
6837
  this.cd = cd;
6795
6838
  this.subscription = this.dt.tableService.selectionSource$.subscribe(() => {
6796
6839
  this.checked = this.dt.isSelected(this.value);
6797
- this.ariaLabel = this.ariaLabel || this.dt.config.translation.aria ? (this.checked ? this.dt.config.translation.aria.selectRow : this.dt.config.translation.aria.unselectRow) : undefined;
6840
+ this.ariaLabel = this.ariaLabel || (this.dt.config.translation.aria ? (this.checked ? this.dt.config.translation.aria.selectRow : this.dt.config.translation.aria.unselectRow) : undefined);
6798
6841
  this.cd.markForCheck();
6799
6842
  });
6800
6843
  }
@@ -6877,7 +6920,7 @@ class TableCheckbox {
6877
6920
  this.cd = cd;
6878
6921
  this.subscription = this.dt.tableService.selectionSource$.subscribe(() => {
6879
6922
  this.checked = this.dt.isSelected(this.value) && !this.disabled;
6880
- this.ariaLabel = this.ariaLabel || this.dt.config.translation.aria ? (this.checked ? this.dt.config.translation.aria.selectRow : this.dt.config.translation.aria.unselectRow) : undefined;
6923
+ this.ariaLabel = this.ariaLabel || (this.dt.config.translation.aria ? (this.checked ? this.dt.config.translation.aria.selectRow : this.dt.config.translation.aria.unselectRow) : undefined);
6881
6924
  this.cd.markForCheck();
6882
6925
  });
6883
6926
  }
@@ -6968,7 +7011,7 @@ class TableHeaderCheckbox {
6968
7011
  this.cd = cd;
6969
7012
  this.valueChangeSubscription = this.dt.tableService.valueSource$.subscribe(() => {
6970
7013
  this.checked = this.updateCheckedState();
6971
- this.ariaLabel = this.ariaLabel || this.dt.config.translation.aria ? (this.checked ? this.dt.config.translation.aria.selectAll : this.dt.config.translation.aria.unselectAll) : undefined;
7014
+ this.ariaLabel = this.ariaLabel || (this.dt.config.translation.aria ? (this.checked ? this.dt.config.translation.aria.selectAll : this.dt.config.translation.aria.unselectAll) : undefined);
6972
7015
  });
6973
7016
  this.selectionChangeSubscription = this.dt.tableService.selectionSource$.subscribe(() => {
6974
7017
  this.checked = this.updateCheckedState();
@@ -7800,7 +7843,7 @@ class ColumnFilter extends BaseComponent {
7800
7843
  let _t;
7801
7844
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.icon = _t.first);
7802
7845
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.clearButtonViewChild = _t.first);
7803
- } }, inputs: { field: "field", type: "type", display: "display", showMenu: [2, "showMenu", "showMenu", booleanAttribute], matchMode: "matchMode", operator: "operator", showOperator: [2, "showOperator", "showOperator", booleanAttribute], showClearButton: [2, "showClearButton", "showClearButton", booleanAttribute], showApplyButton: [2, "showApplyButton", "showApplyButton", booleanAttribute], showMatchModes: [2, "showMatchModes", "showMatchModes", booleanAttribute], showAddButton: [2, "showAddButton", "showAddButton", booleanAttribute], hideOnClear: [2, "hideOnClear", "hideOnClear", booleanAttribute], placeholder: "placeholder", matchModeOptions: "matchModeOptions", maxConstraints: [2, "maxConstraints", "maxConstraints", numberAttribute], minFractionDigits: [2, "minFractionDigits", "minFractionDigits", (value) => numberAttribute(value, null)], maxFractionDigits: [2, "maxFractionDigits", "maxFractionDigits", (value) => numberAttribute(value, null)], prefix: "prefix", suffix: "suffix", locale: "locale", localeMatcher: "localeMatcher", currency: "currency", currencyDisplay: "currencyDisplay", useGrouping: [2, "useGrouping", "useGrouping", booleanAttribute], showButtons: [2, "showButtons", "showButtons", booleanAttribute], ariaLabel: "ariaLabel", filterButtonProps: "filterButtonProps" }, outputs: { onShow: "onShow", onHide: "onHide" }, features: [i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 5, consts: [["icon", ""], ["menu", ""], ["clearBtn", ""], [3, "ngClass"], ["class", "p-fluid", 3, "type", "field", "ariaLabel", "filterConstraint", "filterTemplate", "placeholder", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping", "showButtons", 4, "ngIf"], [3, "styleClass", "ariaLabel", "buttonProps", "click", "keydown", 4, "ngIf"], [3, "styleClass", "ariaLabel", "buttonProps", "onClick", 4, "ngIf"], ["role", "dialog", 3, "ngClass", "id", "click", "keydown.escape", 4, "ngIf"], [1, "p-fluid", 3, "type", "field", "ariaLabel", "filterConstraint", "filterTemplate", "placeholder", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping", "showButtons"], [3, "click", "keydown", "styleClass", "ariaLabel", "buttonProps"], [4, "ngIf"], ["class", "pi-filter-icon", 4, "ngIf"], [1, "pi-filter-icon"], [4, "ngTemplateOutlet"], [3, "onClick", "styleClass", "ariaLabel", "buttonProps"], ["role", "dialog", 3, "click", "keydown.escape", "ngClass", "id"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [3, "ngClass", 4, "ngIf", "ngIfElse"], [3, "ngClass", "p-datatable-filter-constraint-selected", "click", "keydown", "keydown.enter", 4, "ngFor", "ngForOf"], [3, "click", "keydown", "keydown.enter", "ngClass"], [3, "ngClass", 4, "ngIf"], [3, "ngClass", 4, "ngFor", "ngForOf"], [3, "outlined", "label", "buttonProps", "onClick", 4, "ngIf"], ["size", "small", 3, "label", "buttonProps", "onClick", 4, "ngIf"], [3, "ngModelChange", "options", "ngModel", "styleClass"], [3, "options", "ngModel", "styleClass", "ngModelChange", 4, "ngIf"], [3, "type", "field", "filterConstraint", "filterTemplate", "placeholder", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping"], ["severity", "danger", "size", "small", 3, "styleClass", "text", "ariaLabel", "label", "buttonProps", "onClick", 4, "ngIf"], ["severity", "danger", "size", "small", 3, "onClick", "styleClass", "text", "ariaLabel", "label", "buttonProps"], ["type", "button", "size", "small", 3, "onClick", "label", "styleClass", "text", "buttonProps"], [3, "onClick", "outlined", "label", "buttonProps"], ["size", "small", 3, "onClick", "label", "buttonProps"]], template: function ColumnFilter_Template(rf, ctx) { if (rf & 1) {
7846
+ } }, inputs: { field: "field", type: "type", display: "display", showMenu: [2, "showMenu", "showMenu", booleanAttribute], matchMode: "matchMode", operator: "operator", showOperator: [2, "showOperator", "showOperator", booleanAttribute], showClearButton: [2, "showClearButton", "showClearButton", booleanAttribute], showApplyButton: [2, "showApplyButton", "showApplyButton", booleanAttribute], showMatchModes: [2, "showMatchModes", "showMatchModes", booleanAttribute], showAddButton: [2, "showAddButton", "showAddButton", booleanAttribute], hideOnClear: [2, "hideOnClear", "hideOnClear", booleanAttribute], placeholder: "placeholder", matchModeOptions: "matchModeOptions", maxConstraints: [2, "maxConstraints", "maxConstraints", numberAttribute], minFractionDigits: [2, "minFractionDigits", "minFractionDigits", (value) => numberAttribute(value, null)], maxFractionDigits: [2, "maxFractionDigits", "maxFractionDigits", (value) => numberAttribute(value, null)], prefix: "prefix", suffix: "suffix", locale: "locale", localeMatcher: "localeMatcher", currency: "currency", currencyDisplay: "currencyDisplay", useGrouping: [2, "useGrouping", "useGrouping", booleanAttribute], showButtons: [2, "showButtons", "showButtons", booleanAttribute], ariaLabel: "ariaLabel", filterButtonProps: "filterButtonProps" }, outputs: { onShow: "onShow", onHide: "onHide" }, features: [i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 5, consts: [["icon", ""], ["menu", ""], ["clearBtn", ""], [3, "ngClass"], ["class", "p-fluid", 3, "type", "field", "ariaLabel", "filterConstraint", "filterTemplate", "placeholder", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping", "showButtons", 4, "ngIf"], [3, "styleClass", "ariaLabel", "buttonProps", "click", "keydown", 4, "ngIf"], [3, "styleClass", "ariaLabel", "buttonProps", "onClick", 4, "ngIf"], ["role", "dialog", 3, "ngClass", "id", "click", "keydown.escape", 4, "ngIf"], [1, "p-fluid", 3, "type", "field", "ariaLabel", "filterConstraint", "filterTemplate", "placeholder", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping", "showButtons"], [3, "click", "keydown", "styleClass", "ariaLabel", "buttonProps"], [4, "ngIf"], ["class", "pi-filter-icon", 4, "ngIf"], [1, "pi-filter-icon"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [3, "onClick", "styleClass", "ariaLabel", "buttonProps"], [4, "ngTemplateOutlet"], ["role", "dialog", 3, "click", "keydown.escape", "ngClass", "id"], [3, "ngClass", 4, "ngIf", "ngIfElse"], [3, "ngClass", "p-datatable-filter-constraint-selected", "click", "keydown", "keydown.enter", 4, "ngFor", "ngForOf"], [3, "click", "keydown", "keydown.enter", "ngClass"], [3, "ngClass", 4, "ngIf"], [3, "ngClass", 4, "ngFor", "ngForOf"], [3, "outlined", "label", "buttonProps", "onClick", 4, "ngIf"], ["size", "small", 3, "label", "buttonProps", "onClick", 4, "ngIf"], [3, "ngModelChange", "options", "ngModel", "styleClass"], [3, "options", "ngModel", "styleClass", "ngModelChange", 4, "ngIf"], [3, "type", "field", "filterConstraint", "filterTemplate", "placeholder", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping"], ["severity", "danger", "size", "small", 3, "styleClass", "text", "ariaLabel", "label", "buttonProps", "onClick", 4, "ngIf"], ["severity", "danger", "size", "small", 3, "onClick", "styleClass", "text", "ariaLabel", "label", "buttonProps"], ["type", "button", "size", "small", 3, "onClick", "label", "styleClass", "text", "buttonProps"], [3, "onClick", "outlined", "label", "buttonProps"], ["size", "small", 3, "onClick", "label", "buttonProps"]], template: function ColumnFilter_Template(rf, ctx) { if (rf & 1) {
7804
7847
  i0.ɵɵelementStart(0, "div", 3);
7805
7848
  i0.ɵɵtemplate(1, ColumnFilter_p_columnFilterFormElement_1_Template, 1, 16, "p-columnFilterFormElement", 4)(2, ColumnFilter_p_button_2_Template, 3, 6, "p-button", 5)(3, ColumnFilter_p_button_3_Template, 3, 3, "p-button", 6)(4, ColumnFilter_div_4_Template, 6, 14, "div", 7);
7806
7849
  i0.ɵɵelementEnd();
@@ -7859,7 +7902,7 @@ class ColumnFilter extends BaseComponent {
7859
7902
  <ng-template #icon>
7860
7903
  <FilterIcon *ngIf="!filterIconTemplate && !_filterIconTemplate" />
7861
7904
  <span class="pi-filter-icon" *ngIf="filterIconTemplate || _filterIconTemplate">
7862
- <ng-template *ngTemplateOutlet="filterIconTemplate || _filterIconTemplate"></ng-template>
7905
+ <ng-template *ngTemplateOutlet="filterIconTemplate || _filterIconTemplate; context: { hasFilter: hasFilter }"></ng-template>
7863
7906
  </span>
7864
7907
  </ng-template>
7865
7908
  </p-button>
@@ -8192,7 +8235,7 @@ class ColumnFilterFormElement {
8192
8235
  [currencyDisplay]="currencyDisplay"
8193
8236
  [useGrouping]="useGrouping"
8194
8237
  ></p-inputNumber>
8195
- <p-checkbox [indeterminate]="true" [binary]="true" *ngSwitchCase="'boolean'" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)" />
8238
+ <p-checkbox [indeterminate]="filterConstraint?.value === null" [binary]="true" *ngSwitchCase="'boolean'" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)" />
8196
8239
 
8197
8240
  <p-datepicker [ariaLabel]="ariaLabel" *ngSwitchCase="'date'" [placeholder]="placeholder" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)" appendTo="body"></p-datepicker>
8198
8241
  </ng-container>