primeng 17.12.0 → 17.13.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 (479) hide show
  1. package/accordion/accordion.d.ts +5 -0
  2. package/animateonscroll/animateonscroll.d.ts +2 -0
  3. package/api/messageservice.d.ts +1 -1
  4. package/api/translation.d.ts +2 -0
  5. package/api/translationkeys.d.ts +1 -0
  6. package/api/treenode.d.ts +1 -0
  7. package/autocomplete/autocomplete.d.ts +27 -0
  8. package/autocomplete/autocomplete.interface.d.ts +1 -1
  9. package/autofocus/autofocus.d.ts +1 -0
  10. package/badge/badge.d.ts +1 -0
  11. package/baseicon/baseicon.d.ts +1 -0
  12. package/blockui/blockui.d.ts +2 -0
  13. package/button/button.d.ts +58 -4
  14. package/calendar/calendar.d.ts +39 -8
  15. package/carousel/carousel.d.ts +4 -0
  16. package/cascadeselect/cascadeselect.d.ts +11 -2
  17. package/chart/chart.d.ts +1 -0
  18. package/checkbox/checkbox.d.ts +5 -0
  19. package/chip/chip.d.ts +1 -0
  20. package/chips/chips.d.ts +8 -0
  21. package/colorpicker/colorpicker.d.ts +4 -0
  22. package/confirmdialog/confirmdialog.d.ts +10 -0
  23. package/confirmpopup/confirmpopup.d.ts +2 -0
  24. package/contextmenu/contextmenu.d.ts +11 -0
  25. package/dataview/dataview.d.ts +16 -0
  26. package/dialog/dialog.d.ts +18 -0
  27. package/dragdrop/dragdrop.d.ts +1 -0
  28. package/dropdown/dropdown.d.ts +23 -0
  29. package/dynamicdialog/dialogservice.d.ts +3 -3
  30. package/dynamicdialog/dynamicdialog-ref.d.ts +8 -2
  31. package/dynamicdialog/dynamicdialog.d.ts +1 -0
  32. package/editor/editor.d.ts +8 -8
  33. package/esm2022/accordion/accordion.mjs +14 -9
  34. package/esm2022/animateonscroll/animateonscroll.mjs +7 -5
  35. package/esm2022/api/messageservice.mjs +2 -2
  36. package/esm2022/api/primengconfig.mjs +4 -2
  37. package/esm2022/api/translation.mjs +1 -1
  38. package/esm2022/api/translationkeys.mjs +2 -1
  39. package/esm2022/api/treenode.mjs +1 -1
  40. package/esm2022/autocomplete/autocomplete.interface.mjs +1 -1
  41. package/esm2022/autocomplete/autocomplete.mjs +64 -37
  42. package/esm2022/autofocus/autofocus.mjs +5 -4
  43. package/esm2022/badge/badge.mjs +5 -4
  44. package/esm2022/baseicon/baseicon.mjs +5 -4
  45. package/esm2022/blockui/blockui.mjs +7 -5
  46. package/esm2022/button/button.mjs +112 -13
  47. package/esm2022/calendar/calendar.mjs +113 -101
  48. package/esm2022/carousel/carousel.mjs +11 -7
  49. package/esm2022/cascadeselect/cascadeselect.mjs +33 -23
  50. package/esm2022/chart/chart.mjs +5 -4
  51. package/esm2022/checkbox/checkbox.mjs +13 -8
  52. package/esm2022/chip/chip.mjs +5 -4
  53. package/esm2022/chips/chips.mjs +19 -11
  54. package/esm2022/colorpicker/colorpicker.mjs +11 -7
  55. package/esm2022/confirmdialog/confirmdialog.mjs +24 -14
  56. package/esm2022/confirmpopup/confirmpopup.mjs +8 -6
  57. package/esm2022/contextmenu/contextmenu.mjs +26 -15
  58. package/esm2022/dataview/dataview.mjs +36 -20
  59. package/esm2022/dialog/dialog.mjs +44 -22
  60. package/esm2022/dragdrop/dragdrop.mjs +5 -4
  61. package/esm2022/dropdown/dropdown.mjs +61 -37
  62. package/esm2022/dynamicdialog/dialogservice.mjs +3 -3
  63. package/esm2022/dynamicdialog/dynamicdialog-ref.mjs +7 -1
  64. package/esm2022/dynamicdialog/dynamicdialog.mjs +6 -2
  65. package/esm2022/editor/editor.mjs +49 -45
  66. package/esm2022/fieldset/fieldset.mjs +7 -5
  67. package/esm2022/fileupload/fileupload.mjs +76 -19
  68. package/esm2022/focustrap/focustrap.mjs +5 -4
  69. package/esm2022/galleria/galleria.mjs +57 -32
  70. package/esm2022/image/image.mjs +5 -4
  71. package/esm2022/inplace/inplace.mjs +12 -8
  72. package/esm2022/inputmask/inputmask.mjs +25 -14
  73. package/esm2022/inputnumber/inputnumber.interface.mjs +1 -1
  74. package/esm2022/inputnumber/inputnumber.mjs +46 -20
  75. package/esm2022/inputotp/inputotp.mjs +9 -10
  76. package/esm2022/inputswitch/inputswitch.mjs +9 -6
  77. package/esm2022/inputtextarea/inputtextarea.mjs +5 -4
  78. package/esm2022/keyfilter/keyfilter.mjs +5 -4
  79. package/esm2022/knob/knob.mjs +21 -12
  80. package/esm2022/listbox/listbox.mjs +41 -19
  81. package/esm2022/megamenu/megamenu.mjs +16 -10
  82. package/esm2022/menu/menu.mjs +11 -17
  83. package/esm2022/menubar/menubar.mjs +26 -15
  84. package/esm2022/message/message.mjs +5 -4
  85. package/esm2022/messages/messages.mjs +9 -6
  86. package/esm2022/metergroup/metergroup.mjs +4 -4
  87. package/esm2022/multiselect/multiselect.mjs +82 -48
  88. package/esm2022/orderlist/orderlist.mjs +18 -11
  89. package/esm2022/organizationchart/organizationchart.mjs +12 -8
  90. package/esm2022/overlaypanel/overlaypanel.mjs +13 -8
  91. package/esm2022/paginator/paginator.mjs +42 -12
  92. package/esm2022/panel/panel.mjs +9 -6
  93. package/esm2022/panelmenu/panelmenu.mjs +33 -16
  94. package/esm2022/password/password.mjs +16 -10
  95. package/esm2022/picklist/picklist.mjs +36 -20
  96. package/esm2022/progressbar/progressbar.mjs +7 -5
  97. package/esm2022/radiobutton/radiobutton.mjs +7 -5
  98. package/esm2022/rating/rating.mjs +17 -13
  99. package/esm2022/scroller/scroller.mjs +2 -2
  100. package/esm2022/scrollpanel/scrollpanel.mjs +5 -4
  101. package/esm2022/scrolltop/scrolltop.mjs +5 -4
  102. package/esm2022/selectbutton/selectbutton.mjs +13 -8
  103. package/esm2022/sidebar/sidebar.mjs +17 -10
  104. package/esm2022/slidemenu/slidemenu.mjs +38 -21
  105. package/esm2022/slider/slider.mjs +17 -10
  106. package/esm2022/speeddial/speeddial.interface.mjs +1 -1
  107. package/esm2022/speeddial/speeddial.mjs +94 -74
  108. package/esm2022/spinner/spinner.mjs +23 -13
  109. package/esm2022/splitbutton/splitbutton.mjs +152 -18
  110. package/esm2022/splitter/splitter.mjs +9 -6
  111. package/esm2022/steps/steps.mjs +13 -10
  112. package/esm2022/styleclass/styleclass.mjs +7 -5
  113. package/esm2022/table/table.mjs +152 -87
  114. package/esm2022/tabmenu/tabmenu.mjs +7 -5
  115. package/esm2022/tabview/tabview.mjs +18 -11
  116. package/esm2022/tag/tag.mjs +19 -7
  117. package/esm2022/tieredmenu/tieredmenu.mjs +35 -29
  118. package/esm2022/toast/toast.mjs +18 -11
  119. package/esm2022/togglebutton/togglebutton.mjs +9 -7
  120. package/esm2022/tooltip/tooltip.mjs +21 -12
  121. package/esm2022/tree/tree.mjs +44 -24
  122. package/esm2022/treeselect/treeselect.mjs +45 -10
  123. package/esm2022/treetable/treetable.mjs +290 -103
  124. package/esm2022/tristatecheckbox/tristatecheckbox.mjs +9 -6
  125. package/esm2022/virtualscroller/virtualscroller.mjs +9 -6
  126. package/fesm2022/primeng-accordion.mjs +13 -8
  127. package/fesm2022/primeng-accordion.mjs.map +1 -1
  128. package/fesm2022/primeng-animateonscroll.mjs +6 -4
  129. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  130. package/fesm2022/primeng-api.mjs +5 -2
  131. package/fesm2022/primeng-api.mjs.map +1 -1
  132. package/fesm2022/primeng-autocomplete.mjs +63 -36
  133. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  134. package/fesm2022/primeng-autofocus.mjs +4 -3
  135. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  136. package/fesm2022/primeng-badge.mjs +4 -3
  137. package/fesm2022/primeng-badge.mjs.map +1 -1
  138. package/fesm2022/primeng-baseicon.mjs +4 -3
  139. package/fesm2022/primeng-baseicon.mjs.map +1 -1
  140. package/fesm2022/primeng-blockui.mjs +6 -4
  141. package/fesm2022/primeng-blockui.mjs.map +1 -1
  142. package/fesm2022/primeng-button.mjs +111 -12
  143. package/fesm2022/primeng-button.mjs.map +1 -1
  144. package/fesm2022/primeng-calendar.mjs +112 -100
  145. package/fesm2022/primeng-calendar.mjs.map +1 -1
  146. package/fesm2022/primeng-carousel.mjs +10 -6
  147. package/fesm2022/primeng-carousel.mjs.map +1 -1
  148. package/fesm2022/primeng-cascadeselect.mjs +32 -22
  149. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  150. package/fesm2022/primeng-chart.mjs +4 -3
  151. package/fesm2022/primeng-chart.mjs.map +1 -1
  152. package/fesm2022/primeng-checkbox.mjs +12 -7
  153. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  154. package/fesm2022/primeng-chip.mjs +4 -3
  155. package/fesm2022/primeng-chip.mjs.map +1 -1
  156. package/fesm2022/primeng-chips.mjs +18 -10
  157. package/fesm2022/primeng-chips.mjs.map +1 -1
  158. package/fesm2022/primeng-colorpicker.mjs +10 -6
  159. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  160. package/fesm2022/primeng-confirmdialog.mjs +23 -13
  161. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  162. package/fesm2022/primeng-confirmpopup.mjs +7 -5
  163. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  164. package/fesm2022/primeng-contextmenu.mjs +25 -14
  165. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  166. package/fesm2022/primeng-dataview.mjs +35 -19
  167. package/fesm2022/primeng-dataview.mjs.map +1 -1
  168. package/fesm2022/primeng-dialog.mjs +43 -21
  169. package/fesm2022/primeng-dialog.mjs.map +1 -1
  170. package/fesm2022/primeng-dragdrop.mjs +4 -3
  171. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  172. package/fesm2022/primeng-dropdown.mjs +60 -36
  173. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  174. package/fesm2022/primeng-dynamicdialog.mjs +13 -3
  175. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  176. package/fesm2022/primeng-editor.mjs +48 -43
  177. package/fesm2022/primeng-editor.mjs.map +1 -1
  178. package/fesm2022/primeng-fieldset.mjs +6 -4
  179. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  180. package/fesm2022/primeng-fileupload.mjs +75 -18
  181. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  182. package/fesm2022/primeng-focustrap.mjs +4 -3
  183. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  184. package/fesm2022/primeng-galleria.mjs +56 -31
  185. package/fesm2022/primeng-galleria.mjs.map +1 -1
  186. package/fesm2022/primeng-image.mjs +4 -3
  187. package/fesm2022/primeng-image.mjs.map +1 -1
  188. package/fesm2022/primeng-inplace.mjs +11 -7
  189. package/fesm2022/primeng-inplace.mjs.map +1 -1
  190. package/fesm2022/primeng-inputmask.mjs +24 -13
  191. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  192. package/fesm2022/primeng-inputnumber.mjs +45 -19
  193. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  194. package/fesm2022/primeng-inputotp.mjs +8 -9
  195. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  196. package/fesm2022/primeng-inputswitch.mjs +8 -5
  197. package/fesm2022/primeng-inputswitch.mjs.map +1 -1
  198. package/fesm2022/primeng-inputtextarea.mjs +4 -3
  199. package/fesm2022/primeng-inputtextarea.mjs.map +1 -1
  200. package/fesm2022/primeng-keyfilter.mjs +4 -3
  201. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  202. package/fesm2022/primeng-knob.mjs +20 -11
  203. package/fesm2022/primeng-knob.mjs.map +1 -1
  204. package/fesm2022/primeng-listbox.mjs +40 -18
  205. package/fesm2022/primeng-listbox.mjs.map +1 -1
  206. package/fesm2022/primeng-megamenu.mjs +15 -9
  207. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  208. package/fesm2022/primeng-menu.mjs +10 -16
  209. package/fesm2022/primeng-menu.mjs.map +1 -1
  210. package/fesm2022/primeng-menubar.mjs +25 -14
  211. package/fesm2022/primeng-menubar.mjs.map +1 -1
  212. package/fesm2022/primeng-message.mjs +4 -3
  213. package/fesm2022/primeng-message.mjs.map +1 -1
  214. package/fesm2022/primeng-messages.mjs +8 -5
  215. package/fesm2022/primeng-messages.mjs.map +1 -1
  216. package/fesm2022/primeng-metergroup.mjs +3 -3
  217. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  218. package/fesm2022/primeng-multiselect.mjs +81 -47
  219. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  220. package/fesm2022/primeng-orderlist.mjs +17 -10
  221. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  222. package/fesm2022/primeng-organizationchart.mjs +11 -7
  223. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  224. package/fesm2022/primeng-overlaypanel.mjs +12 -7
  225. package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
  226. package/fesm2022/primeng-paginator.mjs +41 -11
  227. package/fesm2022/primeng-paginator.mjs.map +1 -1
  228. package/fesm2022/primeng-panel.mjs +8 -5
  229. package/fesm2022/primeng-panel.mjs.map +1 -1
  230. package/fesm2022/primeng-panelmenu.mjs +32 -15
  231. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  232. package/fesm2022/primeng-password.mjs +15 -9
  233. package/fesm2022/primeng-password.mjs.map +1 -1
  234. package/fesm2022/primeng-picklist.mjs +35 -19
  235. package/fesm2022/primeng-picklist.mjs.map +1 -1
  236. package/fesm2022/primeng-progressbar.mjs +6 -4
  237. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  238. package/fesm2022/primeng-radiobutton.mjs +6 -4
  239. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  240. package/fesm2022/primeng-rating.mjs +16 -12
  241. package/fesm2022/primeng-rating.mjs.map +1 -1
  242. package/fesm2022/primeng-scroller.mjs +1 -1
  243. package/fesm2022/primeng-scroller.mjs.map +1 -1
  244. package/fesm2022/primeng-scrollpanel.mjs +4 -3
  245. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  246. package/fesm2022/primeng-scrolltop.mjs +4 -3
  247. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  248. package/fesm2022/primeng-selectbutton.mjs +12 -7
  249. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  250. package/fesm2022/primeng-sidebar.mjs +16 -9
  251. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  252. package/fesm2022/primeng-slidemenu.mjs +37 -20
  253. package/fesm2022/primeng-slidemenu.mjs.map +1 -1
  254. package/fesm2022/primeng-slider.mjs +16 -9
  255. package/fesm2022/primeng-slider.mjs.map +1 -1
  256. package/fesm2022/primeng-speeddial.mjs +93 -73
  257. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  258. package/fesm2022/primeng-spinner.mjs +22 -12
  259. package/fesm2022/primeng-spinner.mjs.map +1 -1
  260. package/fesm2022/primeng-splitbutton.mjs +151 -17
  261. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  262. package/fesm2022/primeng-splitter.mjs +8 -5
  263. package/fesm2022/primeng-splitter.mjs.map +1 -1
  264. package/fesm2022/primeng-steps.mjs +12 -9
  265. package/fesm2022/primeng-steps.mjs.map +1 -1
  266. package/fesm2022/primeng-styleclass.mjs +6 -4
  267. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  268. package/fesm2022/primeng-table.mjs +151 -86
  269. package/fesm2022/primeng-table.mjs.map +1 -1
  270. package/fesm2022/primeng-tabmenu.mjs +6 -4
  271. package/fesm2022/primeng-tabmenu.mjs.map +1 -1
  272. package/fesm2022/primeng-tabview.mjs +17 -10
  273. package/fesm2022/primeng-tabview.mjs.map +1 -1
  274. package/fesm2022/primeng-tag.mjs +18 -6
  275. package/fesm2022/primeng-tag.mjs.map +1 -1
  276. package/fesm2022/primeng-tieredmenu.mjs +34 -28
  277. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  278. package/fesm2022/primeng-toast.mjs +17 -10
  279. package/fesm2022/primeng-toast.mjs.map +1 -1
  280. package/fesm2022/primeng-togglebutton.mjs +8 -6
  281. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  282. package/fesm2022/primeng-tooltip.mjs +20 -11
  283. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  284. package/fesm2022/primeng-tree.mjs +43 -23
  285. package/fesm2022/primeng-tree.mjs.map +1 -1
  286. package/fesm2022/primeng-treeselect.mjs +44 -9
  287. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  288. package/fesm2022/primeng-treetable.mjs +289 -102
  289. package/fesm2022/primeng-treetable.mjs.map +1 -1
  290. package/fesm2022/primeng-tristatecheckbox.mjs +8 -5
  291. package/fesm2022/primeng-tristatecheckbox.mjs.map +1 -1
  292. package/fesm2022/primeng-virtualscroller.mjs +8 -5
  293. package/fesm2022/primeng-virtualscroller.mjs.map +1 -1
  294. package/fieldset/fieldset.d.ts +2 -0
  295. package/fileupload/fileupload.d.ts +11 -0
  296. package/focustrap/focustrap.d.ts +1 -0
  297. package/galleria/galleria.d.ts +25 -0
  298. package/image/image.d.ts +1 -0
  299. package/inplace/inplace.d.ts +4 -0
  300. package/inputmask/inputmask.d.ts +11 -0
  301. package/inputnumber/inputnumber.d.ts +17 -0
  302. package/inputnumber/inputnumber.interface.d.ts +1 -1
  303. package/inputswitch/inputswitch.d.ts +3 -0
  304. package/inputtextarea/inputtextarea.d.ts +1 -0
  305. package/keyfilter/keyfilter.d.ts +1 -0
  306. package/knob/knob.d.ts +9 -0
  307. package/listbox/listbox.d.ts +22 -2
  308. package/megamenu/megamenu.d.ts +6 -0
  309. package/menu/menu.d.ts +4 -0
  310. package/menubar/menubar.d.ts +11 -0
  311. package/message/message.d.ts +1 -0
  312. package/messages/messages.d.ts +3 -0
  313. package/metergroup/metergroup.d.ts +2 -2
  314. package/multiselect/multiselect.d.ts +23 -1
  315. package/orderlist/orderlist.d.ts +7 -0
  316. package/organizationchart/organizationchart.d.ts +4 -0
  317. package/overlaypanel/overlaypanel.d.ts +5 -0
  318. package/package.json +104 -104
  319. package/paginator/paginator.d.ts +19 -2
  320. package/panel/panel.d.ts +3 -0
  321. package/panelmenu/panelmenu.d.ts +11 -0
  322. package/password/password.d.ts +6 -0
  323. package/picklist/picklist.d.ts +12 -0
  324. package/progressbar/progressbar.d.ts +2 -0
  325. package/radiobutton/radiobutton.d.ts +2 -0
  326. package/rating/rating.d.ts +4 -0
  327. package/resources/components/calendar/calendar.css +1 -0
  328. package/resources/components/cascadeselect/cascadeselect.css +1 -0
  329. package/resources/components/rating/rating.css +2 -0
  330. package/resources/themes/arya-blue/fonts/Inter-italic.var.woff2 +0 -0
  331. package/resources/themes/arya-blue/fonts/Inter-roman.var.woff2 +0 -0
  332. package/resources/themes/arya-blue/theme.css +429 -529
  333. package/resources/themes/arya-green/fonts/Inter-italic.var.woff2 +0 -0
  334. package/resources/themes/arya-green/fonts/Inter-roman.var.woff2 +0 -0
  335. package/resources/themes/arya-green/theme.css +429 -529
  336. package/resources/themes/arya-orange/fonts/Inter-italic.var.woff2 +0 -0
  337. package/resources/themes/arya-orange/fonts/Inter-roman.var.woff2 +0 -0
  338. package/resources/themes/arya-orange/theme.css +429 -529
  339. package/resources/themes/arya-purple/fonts/Inter-italic.var.woff2 +0 -0
  340. package/resources/themes/arya-purple/fonts/Inter-roman.var.woff2 +0 -0
  341. package/resources/themes/arya-purple/theme.css +429 -529
  342. package/resources/themes/aura-dark-amber/fonts/Inter-italic.var.woff2 +0 -0
  343. package/resources/themes/aura-dark-amber/fonts/Inter-roman.var.woff2 +0 -0
  344. package/resources/themes/aura-dark-amber/theme.css +7724 -0
  345. package/resources/themes/aura-dark-blue/fonts/Inter-italic.var.woff2 +0 -0
  346. package/resources/themes/aura-dark-blue/fonts/Inter-roman.var.woff2 +0 -0
  347. package/resources/themes/aura-dark-blue/theme.css +7724 -0
  348. package/resources/themes/aura-dark-cyan/fonts/Inter-italic.var.woff2 +0 -0
  349. package/resources/themes/aura-dark-cyan/fonts/Inter-roman.var.woff2 +0 -0
  350. package/resources/themes/aura-dark-cyan/theme.css +7724 -0
  351. package/resources/themes/aura-dark-green/fonts/Inter-italic.var.woff2 +0 -0
  352. package/resources/themes/aura-dark-green/fonts/Inter-roman.var.woff2 +0 -0
  353. package/resources/themes/aura-dark-green/theme.css +7724 -0
  354. package/resources/themes/aura-dark-indigo/fonts/Inter-italic.var.woff2 +0 -0
  355. package/resources/themes/aura-dark-indigo/fonts/Inter-roman.var.woff2 +0 -0
  356. package/resources/themes/aura-dark-indigo/theme.css +7724 -0
  357. package/resources/themes/aura-dark-lime/fonts/Inter-italic.var.woff2 +0 -0
  358. package/resources/themes/aura-dark-lime/fonts/Inter-roman.var.woff2 +0 -0
  359. package/resources/themes/aura-dark-lime/theme.css +7724 -0
  360. package/resources/themes/aura-dark-noir/fonts/Inter-italic.var.woff2 +0 -0
  361. package/resources/themes/aura-dark-noir/fonts/Inter-roman.var.woff2 +0 -0
  362. package/resources/themes/aura-dark-noir/theme.css +7724 -0
  363. package/resources/themes/aura-dark-pink/fonts/Inter-italic.var.woff2 +0 -0
  364. package/resources/themes/aura-dark-pink/fonts/Inter-roman.var.woff2 +0 -0
  365. package/resources/themes/aura-dark-pink/theme.css +7724 -0
  366. package/resources/themes/aura-dark-purple/fonts/Inter-italic.var.woff2 +0 -0
  367. package/resources/themes/aura-dark-purple/fonts/Inter-roman.var.woff2 +0 -0
  368. package/resources/themes/aura-dark-purple/theme.css +7724 -0
  369. package/resources/themes/aura-dark-teal/fonts/Inter-italic.var.woff2 +0 -0
  370. package/resources/themes/aura-dark-teal/fonts/Inter-roman.var.woff2 +0 -0
  371. package/resources/themes/aura-dark-teal/theme.css +7724 -0
  372. package/resources/themes/aura-light-amber/fonts/Inter-italic.var.woff2 +0 -0
  373. package/resources/themes/aura-light-amber/fonts/Inter-roman.var.woff2 +0 -0
  374. package/resources/themes/aura-light-amber/theme.css +7726 -0
  375. package/resources/themes/aura-light-blue/fonts/Inter-italic.var.woff2 +0 -0
  376. package/resources/themes/aura-light-blue/fonts/Inter-roman.var.woff2 +0 -0
  377. package/resources/themes/aura-light-blue/theme.css +7726 -0
  378. package/resources/themes/aura-light-cyan/fonts/Inter-italic.var.woff2 +0 -0
  379. package/resources/themes/aura-light-cyan/fonts/Inter-roman.var.woff2 +0 -0
  380. package/resources/themes/aura-light-cyan/theme.css +7726 -0
  381. package/resources/themes/aura-light-green/fonts/Inter-italic.var.woff2 +0 -0
  382. package/resources/themes/aura-light-green/fonts/Inter-roman.var.woff2 +0 -0
  383. package/resources/themes/aura-light-green/theme.css +7726 -0
  384. package/resources/themes/aura-light-indigo/fonts/Inter-italic.var.woff2 +0 -0
  385. package/resources/themes/aura-light-indigo/fonts/Inter-roman.var.woff2 +0 -0
  386. package/resources/themes/aura-light-indigo/theme.css +7726 -0
  387. package/resources/themes/aura-light-lime/fonts/Inter-italic.var.woff2 +0 -0
  388. package/resources/themes/aura-light-lime/fonts/Inter-roman.var.woff2 +0 -0
  389. package/resources/themes/aura-light-lime/theme.css +7726 -0
  390. package/resources/themes/aura-light-noir/fonts/Inter-italic.var.woff2 +0 -0
  391. package/resources/themes/aura-light-noir/fonts/Inter-roman.var.woff2 +0 -0
  392. package/resources/themes/aura-light-noir/theme.css +7734 -0
  393. package/resources/themes/aura-light-pink/fonts/Inter-italic.var.woff2 +0 -0
  394. package/resources/themes/aura-light-pink/fonts/Inter-roman.var.woff2 +0 -0
  395. package/resources/themes/aura-light-pink/theme.css +7726 -0
  396. package/resources/themes/aura-light-purple/fonts/Inter-italic.var.woff2 +0 -0
  397. package/resources/themes/aura-light-purple/fonts/Inter-roman.var.woff2 +0 -0
  398. package/resources/themes/aura-light-purple/theme.css +7726 -0
  399. package/resources/themes/aura-light-teal/fonts/Inter-italic.var.woff2 +0 -0
  400. package/resources/themes/aura-light-teal/fonts/Inter-roman.var.woff2 +0 -0
  401. package/resources/themes/aura-light-teal/theme.css +7726 -0
  402. package/resources/themes/bootstrap4-dark-blue/theme.css +430 -529
  403. package/resources/themes/bootstrap4-dark-purple/theme.css +430 -529
  404. package/resources/themes/bootstrap4-light-blue/theme.css +430 -529
  405. package/resources/themes/bootstrap4-light-purple/theme.css +430 -529
  406. package/resources/themes/fluent-light/theme.css +456 -540
  407. package/resources/themes/lara-dark-amber/theme.css +649 -448
  408. package/resources/themes/lara-dark-blue/theme.css +494 -531
  409. package/resources/themes/lara-dark-cyan/theme.css +649 -448
  410. package/resources/themes/lara-dark-green/theme.css +649 -448
  411. package/resources/themes/lara-dark-indigo/theme.css +494 -531
  412. package/resources/themes/lara-dark-pink/theme.css +649 -448
  413. package/resources/themes/lara-dark-purple/theme.css +494 -531
  414. package/resources/themes/lara-dark-teal/theme.css +494 -531
  415. package/resources/themes/lara-light-amber/theme.css +619 -467
  416. package/resources/themes/lara-light-blue/theme.css +450 -539
  417. package/resources/themes/lara-light-cyan/theme.css +619 -467
  418. package/resources/themes/lara-light-green/theme.css +619 -467
  419. package/resources/themes/lara-light-indigo/theme.css +450 -539
  420. package/resources/themes/lara-light-pink/theme.css +619 -467
  421. package/resources/themes/lara-light-purple/theme.css +450 -539
  422. package/resources/themes/lara-light-teal/theme.css +450 -539
  423. package/resources/themes/luna-amber/theme.css +443 -542
  424. package/resources/themes/luna-blue/theme.css +443 -542
  425. package/resources/themes/luna-green/theme.css +443 -542
  426. package/resources/themes/luna-pink/theme.css +443 -542
  427. package/resources/themes/md-dark-deeppurple/theme.css +773 -691
  428. package/resources/themes/md-dark-indigo/theme.css +773 -691
  429. package/resources/themes/md-light-deeppurple/theme.css +655 -573
  430. package/resources/themes/md-light-indigo/theme.css +655 -573
  431. package/resources/themes/mdc-dark-deeppurple/theme.css +773 -691
  432. package/resources/themes/mdc-dark-indigo/theme.css +773 -691
  433. package/resources/themes/mdc-light-deeppurple/theme.css +655 -573
  434. package/resources/themes/mdc-light-indigo/theme.css +655 -573
  435. package/resources/themes/mira/theme.css +467 -536
  436. package/resources/themes/nano/theme.css +427 -529
  437. package/resources/themes/nova/theme.css +431 -529
  438. package/resources/themes/nova-accent/theme.css +428 -529
  439. package/resources/themes/nova-alt/theme.css +431 -529
  440. package/resources/themes/rhea/theme.css +428 -529
  441. package/resources/themes/saga-blue/theme.css +429 -529
  442. package/resources/themes/saga-green/theme.css +429 -529
  443. package/resources/themes/saga-orange/theme.css +429 -529
  444. package/resources/themes/saga-purple/theme.css +429 -529
  445. package/resources/themes/soho-dark/theme.css +463 -560
  446. package/resources/themes/soho-light/theme.css +439 -534
  447. package/resources/themes/tailwind-light/theme.css +470 -559
  448. package/resources/themes/vela-blue/theme.css +429 -529
  449. package/resources/themes/vela-green/theme.css +429 -529
  450. package/resources/themes/vela-orange/theme.css +429 -529
  451. package/resources/themes/vela-purple/theme.css +429 -529
  452. package/resources/themes/viva-dark/theme.css +453 -534
  453. package/resources/themes/viva-light/theme.css +453 -534
  454. package/scrollpanel/scrollpanel.d.ts +1 -0
  455. package/scrolltop/scrolltop.d.ts +1 -0
  456. package/selectbutton/selectbutton.d.ts +5 -0
  457. package/sidebar/sidebar.d.ts +7 -0
  458. package/slidemenu/slidemenu.d.ts +17 -0
  459. package/slider/slider.d.ts +7 -0
  460. package/speeddial/speeddial.d.ts +7 -0
  461. package/speeddial/speeddial.interface.d.ts +17 -0
  462. package/spinner/spinner.d.ts +10 -0
  463. package/splitbutton/splitbutton.d.ts +72 -6
  464. package/splitter/splitter.d.ts +3 -0
  465. package/steps/steps.d.ts +3 -0
  466. package/styleclass/styleclass.d.ts +2 -0
  467. package/table/table.d.ts +65 -0
  468. package/tabmenu/tabmenu.d.ts +2 -0
  469. package/tabview/tabview.d.ts +7 -0
  470. package/tag/tag.d.ts +11 -2
  471. package/tieredmenu/tieredmenu.d.ts +14 -3
  472. package/toast/toast.d.ts +7 -0
  473. package/togglebutton/togglebutton.d.ts +2 -0
  474. package/tooltip/tooltip.d.ts +9 -0
  475. package/tree/tree.d.ts +20 -0
  476. package/treeselect/treeselect.d.ts +25 -2
  477. package/treetable/treetable.d.ts +62 -4
  478. package/tristatecheckbox/tristatecheckbox.d.ts +3 -0
  479. package/virtualscroller/virtualscroller.d.ts +3 -0
@@ -1,7 +1,7 @@
1
1
  import * as i2 from '@angular/common';
2
2
  import { DOCUMENT, isPlatformBrowser, CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Injectable, EventEmitter, Component, ViewEncapsulation, Inject, Input, Output, ViewChild, ContentChildren, PLATFORM_ID, Directive, HostListener, ChangeDetectionStrategy, NgModule } from '@angular/core';
4
+ import { Injectable, EventEmitter, booleanAttribute, numberAttribute, Component, ViewEncapsulation, Inject, Input, Output, ViewChild, ContentChildren, PLATFORM_ID, Directive, HostListener, ChangeDetectionStrategy, NgModule } from '@angular/core';
5
5
  import * as i1 from 'primeng/api';
6
6
  import { PrimeTemplate, SharedModule } from 'primeng/api';
7
7
  import { DomHandler } from 'primeng/dom';
@@ -421,7 +421,17 @@ class TreeTable {
421
421
  this._virtualRowHeight = val;
422
422
  console.warn('The virtualRowHeight property is deprecated, use virtualScrollItemSize property instead.');
423
423
  }
424
- _virtualRowHeight = 28;
424
+ /**
425
+ * A map of keys to control the selection state.
426
+ * @group Props
427
+ */
428
+ get selectionKeys() {
429
+ return this._selectionKeys;
430
+ }
431
+ set selectionKeys(value) {
432
+ this._selectionKeys = value;
433
+ this.selectionKeysChange.emit(this._selectionKeys);
434
+ }
425
435
  /**
426
436
  * Callback to invoke on selected node change.
427
437
  * @param {TreeTableNode} object - Node instance.
@@ -530,6 +540,12 @@ class TreeTable {
530
540
  * @group Emits
531
541
  */
532
542
  onEditCancel = new EventEmitter();
543
+ /**
544
+ * Callback to invoke when selectionKeys are changed.
545
+ * @param {Object} object - updated value of the selectionKeys.
546
+ * @group Emits
547
+ */
548
+ selectionKeysChange = new EventEmitter();
533
549
  containerViewChild;
534
550
  resizeHelperViewChild;
535
551
  reorderIndicatorUpViewChild;
@@ -539,6 +555,8 @@ class TreeTable {
539
555
  scrollableFrozenViewChild;
540
556
  templates;
541
557
  _value = [];
558
+ _virtualRowHeight = 28;
559
+ _selectionKeys;
542
560
  serializedValue;
543
561
  _totalRecords = 0;
544
562
  _multiSortMeta;
@@ -578,7 +596,7 @@ class TreeTable {
578
596
  dropPosition;
579
597
  preventSelectionSetterPropagation;
580
598
  _selection;
581
- selectionKeys = {};
599
+ selectedKeys = {};
582
600
  rowTouched;
583
601
  editingCell;
584
602
  editingCellData;
@@ -726,7 +744,7 @@ class TreeTable {
726
744
  if (simpleChange.selection) {
727
745
  this._selection = simpleChange.selection.currentValue;
728
746
  if (!this.preventSelectionSetterPropagation) {
729
- this.updateSelectionKeys();
747
+ this.updateselectedKeys();
730
748
  this.tableService.onSelectionChange();
731
749
  }
732
750
  this.preventSelectionSetterPropagation = false;
@@ -775,16 +793,16 @@ class TreeTable {
775
793
  }
776
794
  }
777
795
  }
778
- updateSelectionKeys() {
796
+ updateselectedKeys() {
779
797
  if (this.dataKey && this._selection) {
780
- this.selectionKeys = {};
798
+ this.selectedKeys = {};
781
799
  if (Array.isArray(this._selection)) {
782
800
  for (let node of this._selection) {
783
- this.selectionKeys[String(ObjectUtils.resolveFieldData(node.data, this.dataKey))] = 1;
801
+ this.selectedKeys[String(ObjectUtils.resolveFieldData(node.data, this.dataKey))] = 1;
784
802
  }
785
803
  }
786
804
  else {
787
- this.selectionKeys[String(ObjectUtils.resolveFieldData(this._selection.data, this.dataKey))] = 1;
805
+ this.selectedKeys[String(ObjectUtils.resolveFieldData(this._selection.data, this.dataKey))] = 1;
788
806
  }
789
807
  }
790
808
  }
@@ -1257,7 +1275,7 @@ class TreeTable {
1257
1275
  if (selected && metaKey) {
1258
1276
  if (this.isSingleSelectionMode()) {
1259
1277
  this._selection = null;
1260
- this.selectionKeys = {};
1278
+ this.selectedKeys = {};
1261
1279
  this.selectionChange.emit(null);
1262
1280
  }
1263
1281
  else {
@@ -1265,7 +1283,7 @@ class TreeTable {
1265
1283
  this._selection = this.selection.filter((val, i) => i != selectionIndex);
1266
1284
  this.selectionChange.emit(this.selection);
1267
1285
  if (dataKeyValue) {
1268
- delete this.selectionKeys[dataKeyValue];
1286
+ delete this.selectedKeys[dataKeyValue];
1269
1287
  }
1270
1288
  }
1271
1289
  this.onNodeUnselect.emit({ originalEvent: event.originalEvent, node: rowNode.node, type: 'row' });
@@ -1275,8 +1293,8 @@ class TreeTable {
1275
1293
  this._selection = rowNode.node;
1276
1294
  this.selectionChange.emit(rowNode.node);
1277
1295
  if (dataKeyValue) {
1278
- this.selectionKeys = {};
1279
- this.selectionKeys[dataKeyValue] = 1;
1296
+ this.selectedKeys = {};
1297
+ this.selectedKeys[dataKeyValue] = 1;
1280
1298
  }
1281
1299
  }
1282
1300
  else if (this.isMultipleSelectionMode()) {
@@ -1285,12 +1303,12 @@ class TreeTable {
1285
1303
  }
1286
1304
  else {
1287
1305
  this._selection = [];
1288
- this.selectionKeys = {};
1306
+ this.selectedKeys = {};
1289
1307
  }
1290
1308
  this._selection = [...this.selection, rowNode.node];
1291
1309
  this.selectionChange.emit(this.selection);
1292
1310
  if (dataKeyValue) {
1293
- this.selectionKeys[dataKeyValue] = 1;
1311
+ this.selectedKeys[dataKeyValue] = 1;
1294
1312
  }
1295
1313
  }
1296
1314
  this.onNodeSelect.emit({ originalEvent: event.originalEvent, node: rowNode.node, type: 'row', index: event.rowIndex });
@@ -1300,7 +1318,7 @@ class TreeTable {
1300
1318
  if (this.selectionMode === 'single') {
1301
1319
  if (selected) {
1302
1320
  this._selection = null;
1303
- this.selectionKeys = {};
1321
+ this.selectedKeys = {};
1304
1322
  this.selectionChange.emit(this.selection);
1305
1323
  this.onNodeUnselect.emit({ originalEvent: event.originalEvent, node: rowNode.node, type: 'row' });
1306
1324
  }
@@ -1309,8 +1327,8 @@ class TreeTable {
1309
1327
  this.selectionChange.emit(this.selection);
1310
1328
  this.onNodeSelect.emit({ originalEvent: event.originalEvent, node: rowNode.node, type: 'row', index: event.rowIndex });
1311
1329
  if (dataKeyValue) {
1312
- this.selectionKeys = {};
1313
- this.selectionKeys[dataKeyValue] = 1;
1330
+ this.selectedKeys = {};
1331
+ this.selectedKeys[dataKeyValue] = 1;
1314
1332
  }
1315
1333
  }
1316
1334
  }
@@ -1321,7 +1339,7 @@ class TreeTable {
1321
1339
  this.selectionChange.emit(this.selection);
1322
1340
  this.onNodeUnselect.emit({ originalEvent: event.originalEvent, node: rowNode.node, type: 'row' });
1323
1341
  if (dataKeyValue) {
1324
- delete this.selectionKeys[dataKeyValue];
1342
+ delete this.selectedKeys[dataKeyValue];
1325
1343
  }
1326
1344
  }
1327
1345
  else {
@@ -1329,7 +1347,7 @@ class TreeTable {
1329
1347
  this.selectionChange.emit(this.selection);
1330
1348
  this.onNodeSelect.emit({ originalEvent: event.originalEvent, node: rowNode.node, type: 'row', index: event.rowIndex });
1331
1349
  if (dataKeyValue) {
1332
- this.selectionKeys[dataKeyValue] = 1;
1350
+ this.selectedKeys[dataKeyValue] = 1;
1333
1351
  }
1334
1352
  }
1335
1353
  }
@@ -1365,7 +1383,7 @@ class TreeTable {
1365
1383
  this.selectionChange.emit(this.selection);
1366
1384
  }
1367
1385
  if (dataKeyValue) {
1368
- this.selectionKeys[dataKeyValue] = 1;
1386
+ this.selectedKeys[dataKeyValue] = 1;
1369
1387
  }
1370
1388
  }
1371
1389
  this.contextMenu.show(event.originalEvent);
@@ -1374,6 +1392,7 @@ class TreeTable {
1374
1392
  }
1375
1393
  }
1376
1394
  toggleNodeWithCheckbox(event) {
1395
+ // legacy selection support, will be removed in v18
1377
1396
  this.selection = this.selection || [];
1378
1397
  this.preventSelectionSetterPropagation = true;
1379
1398
  let node = event.rowNode.node;
@@ -1397,25 +1416,40 @@ class TreeTable {
1397
1416
  this.tableService.onSelectionChange();
1398
1417
  }
1399
1418
  toggleNodesWithCheckbox(event, check) {
1419
+ // legacy selection support, will be removed in v18
1400
1420
  let data = this.filteredNodes || this.value;
1401
1421
  this._selection = check && data ? data.slice() : [];
1402
- if (check) {
1422
+ this.toggleAll(check);
1423
+ if (!check) {
1424
+ this._selection = [];
1425
+ this.selectedKeys = {};
1426
+ }
1427
+ this.preventSelectionSetterPropagation = true;
1428
+ this.selectionChange.emit(this._selection);
1429
+ this.tableService.onSelectionChange();
1430
+ this.onHeaderCheckboxToggle.emit({ originalEvent: event, checked: check });
1431
+ }
1432
+ toggleAll(checked) {
1433
+ let data = this.filteredNodes || this.value;
1434
+ if (!this.selectionKeys) {
1403
1435
  if (data && data.length) {
1404
1436
  for (let node of data) {
1405
- this.propagateSelectionDown(node, true);
1437
+ this.propagateSelectionDown(node, checked);
1406
1438
  }
1407
1439
  }
1408
1440
  }
1409
1441
  else {
1410
- this._selection = [];
1411
- this.selectionKeys = {};
1442
+ // legacy selection support, will be removed in v18
1443
+ if (data && data.length) {
1444
+ for (let node of data) {
1445
+ this.propagateDown(node, checked);
1446
+ }
1447
+ this.selectionKeysChange.emit(this.selectionKeys);
1448
+ }
1412
1449
  }
1413
- this.preventSelectionSetterPropagation = true;
1414
- this.selectionChange.emit(this._selection);
1415
- this.tableService.onSelectionChange();
1416
- this.onHeaderCheckboxToggle.emit({ originalEvent: event, checked: check });
1417
1450
  }
1418
1451
  propagateSelectionUp(node, select) {
1452
+ // legacy selection support, will be removed in v18
1419
1453
  if (node.children && node.children.length) {
1420
1454
  let selectedChildCount = 0;
1421
1455
  let childPartialSelected = false;
@@ -1430,7 +1464,7 @@ class TreeTable {
1430
1464
  this._selection = [...(this.selection || []), node];
1431
1465
  node.partialSelected = false;
1432
1466
  if (dataKeyValue) {
1433
- this.selectionKeys[dataKeyValue] = 1;
1467
+ this.selectedKeys[dataKeyValue] = 1;
1434
1468
  }
1435
1469
  }
1436
1470
  else {
@@ -1439,7 +1473,7 @@ class TreeTable {
1439
1473
  if (index >= 0) {
1440
1474
  this._selection = this.selection.filter((val, i) => i != index);
1441
1475
  if (dataKeyValue) {
1442
- delete this.selectionKeys[dataKeyValue];
1476
+ delete this.selectedKeys[dataKeyValue];
1443
1477
  }
1444
1478
  }
1445
1479
  }
@@ -1450,26 +1484,29 @@ class TreeTable {
1450
1484
  }
1451
1485
  }
1452
1486
  let parent = node.parent;
1487
+ node.checked = select;
1453
1488
  if (parent) {
1454
1489
  this.propagateSelectionUp(parent, select);
1455
1490
  }
1456
1491
  }
1457
1492
  propagateSelectionDown(node, select) {
1493
+ // legacy selection support, will be removed in v18
1458
1494
  let index = this.findIndexInSelection(node);
1459
1495
  let dataKeyValue = this.dataKey ? String(ObjectUtils.resolveFieldData(node.data, this.dataKey)) : null;
1460
1496
  if (select && index == -1) {
1461
1497
  this._selection = [...(this.selection || []), node];
1462
1498
  if (dataKeyValue) {
1463
- this.selectionKeys[dataKeyValue] = 1;
1499
+ this.selectedKeys[dataKeyValue] = 1;
1464
1500
  }
1465
1501
  }
1466
1502
  else if (!select && index > -1) {
1467
1503
  this._selection = this.selection.filter((val, i) => i != index);
1468
1504
  if (dataKeyValue) {
1469
- delete this.selectionKeys[dataKeyValue];
1505
+ delete this.selectedKeys[dataKeyValue];
1470
1506
  }
1471
1507
  }
1472
1508
  node.partialSelected = false;
1509
+ node.checked = select;
1473
1510
  if (node.children && node.children.length) {
1474
1511
  for (let child of node.children) {
1475
1512
  this.propagateSelectionDown(child, select);
@@ -1477,9 +1514,15 @@ class TreeTable {
1477
1514
  }
1478
1515
  }
1479
1516
  isSelected(node) {
1517
+ // legacy selection support, will be removed in v18
1480
1518
  if (node && this.selection) {
1481
1519
  if (this.dataKey) {
1482
- return this.selectionKeys[ObjectUtils.resolveFieldData(node.data, this.dataKey)] !== undefined;
1520
+ if (node.hasOwnProperty('checked')) {
1521
+ return node['checked'];
1522
+ }
1523
+ else {
1524
+ return this.selectedKeys[ObjectUtils.resolveFieldData(node.data, this.dataKey)] !== undefined;
1525
+ }
1483
1526
  }
1484
1527
  else {
1485
1528
  if (Array.isArray(this.selection))
@@ -1490,6 +1533,69 @@ class TreeTable {
1490
1533
  }
1491
1534
  return false;
1492
1535
  }
1536
+ isNodeSelected(node) {
1537
+ return this.selectionMode && this.selectionKeys ? this.selectionKeys[this.nodeKey(node)]?.checked === true : false;
1538
+ }
1539
+ isNodePartialSelected(node) {
1540
+ return this.selectionMode && this.selectionKeys ? this.selectionKeys[this.nodeKey(node)]?.partialChecked === true : false;
1541
+ }
1542
+ nodeKey(node) {
1543
+ return ObjectUtils.resolveFieldData(node, this.dataKey) || ObjectUtils.resolveFieldData(node?.data, this.dataKey);
1544
+ }
1545
+ toggleCheckbox(event) {
1546
+ let { rowNode, check, originalEvent } = event;
1547
+ let node = rowNode.node;
1548
+ if (this.selectionKeys) {
1549
+ this.propagateDown(node, check);
1550
+ if (node.parent) {
1551
+ this.propagateUp(node.parent, check);
1552
+ }
1553
+ this.selectionKeysChange.emit(this.selectionKeys);
1554
+ }
1555
+ else {
1556
+ this.toggleNodeWithCheckbox({ originalEvent, rowNode });
1557
+ }
1558
+ this.tableService.onSelectionChange();
1559
+ }
1560
+ propagateDown(node, check) {
1561
+ if (check) {
1562
+ this.selectionKeys[this.nodeKey(node)] = { checked: true, partialChecked: false };
1563
+ }
1564
+ else {
1565
+ delete this.selectionKeys[this.nodeKey(node)];
1566
+ }
1567
+ if (node.children && node.children.length) {
1568
+ for (let child of node.children) {
1569
+ this.propagateDown(child, check);
1570
+ }
1571
+ }
1572
+ }
1573
+ propagateUp(node, check) {
1574
+ let checkedChildCount = 0;
1575
+ let childPartialSelected = false;
1576
+ for (let child of node.children) {
1577
+ if (this.selectionKeys[this.nodeKey(child)] && this.selectionKeys[this.nodeKey(child)].checked)
1578
+ checkedChildCount++;
1579
+ else if (this.selectionKeys[this.nodeKey(child)] && this.selectionKeys[this.nodeKey(child)].partialChecked)
1580
+ childPartialSelected = true;
1581
+ }
1582
+ if (check && checkedChildCount === node.children.length) {
1583
+ this.selectionKeys[this.nodeKey(node)] = { checked: true, partialChecked: false };
1584
+ }
1585
+ else {
1586
+ if (!check) {
1587
+ delete this.selectionKeys[this.nodeKey(node)];
1588
+ }
1589
+ if (childPartialSelected || (checkedChildCount > 0 && checkedChildCount !== node.children.length))
1590
+ this.selectionKeys[this.nodeKey(node)] = { checked: false, partialChecked: true };
1591
+ else
1592
+ this.selectionKeys[this.nodeKey(node)] = { checked: false, partialChecked: false };
1593
+ }
1594
+ let parent = node.parent;
1595
+ if (parent) {
1596
+ this.propagateUp(parent, check);
1597
+ }
1598
+ }
1493
1599
  findIndexInSelection(node) {
1494
1600
  let index = -1;
1495
1601
  if (this.selection && this.selection.length) {
@@ -1509,7 +1615,7 @@ class TreeTable {
1509
1615
  return this.selectionMode === 'multiple';
1510
1616
  }
1511
1617
  equals(node1, node2) {
1512
- return this.compareSelectionBy === 'equals' ? node1 === node2 : ObjectUtils.equals(node1.data, node2.data, this.dataKey);
1618
+ return this.compareSelectionBy === 'equals' ? ObjectUtils.equals(node1, node2) : ObjectUtils.equals(node1.data, node2.data, this.dataKey);
1513
1619
  }
1514
1620
  filter(value, field, matchMode) {
1515
1621
  if (this.filterTimeout) {
@@ -1726,7 +1832,7 @@ class TreeTable {
1726
1832
  this.initialized = null;
1727
1833
  }
1728
1834
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TreeTable, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: TreeTableService }, { token: i1.FilterService }], target: i0.ɵɵFactoryTarget.Component });
1729
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: TreeTable, selector: "p-treeTable", inputs: { columns: "columns", style: "style", styleClass: "styleClass", tableStyle: "tableStyle", tableStyleClass: "tableStyleClass", autoLayout: "autoLayout", lazy: "lazy", lazyLoadOnInit: "lazyLoadOnInit", paginator: "paginator", rows: "rows", first: "first", pageLinks: "pageLinks", rowsPerPageOptions: "rowsPerPageOptions", alwaysShowPaginator: "alwaysShowPaginator", paginatorPosition: "paginatorPosition", paginatorStyleClass: "paginatorStyleClass", paginatorDropdownAppendTo: "paginatorDropdownAppendTo", currentPageReportTemplate: "currentPageReportTemplate", showCurrentPageReport: "showCurrentPageReport", showJumpToPageDropdown: "showJumpToPageDropdown", showFirstLastIcon: "showFirstLastIcon", showPageLinks: "showPageLinks", defaultSortOrder: "defaultSortOrder", sortMode: "sortMode", resetPageOnSort: "resetPageOnSort", customSort: "customSort", selectionMode: "selectionMode", contextMenuSelection: "contextMenuSelection", contextMenuSelectionMode: "contextMenuSelectionMode", dataKey: "dataKey", metaKeySelection: "metaKeySelection", compareSelectionBy: "compareSelectionBy", rowHover: "rowHover", loading: "loading", loadingIcon: "loadingIcon", showLoader: "showLoader", scrollable: "scrollable", scrollHeight: "scrollHeight", virtualScroll: "virtualScroll", virtualScrollItemSize: "virtualScrollItemSize", virtualScrollOptions: "virtualScrollOptions", virtualScrollDelay: "virtualScrollDelay", frozenWidth: "frozenWidth", frozenColumns: "frozenColumns", resizableColumns: "resizableColumns", columnResizeMode: "columnResizeMode", reorderableColumns: "reorderableColumns", contextMenu: "contextMenu", rowTrackBy: "rowTrackBy", filters: "filters", globalFilterFields: "globalFilterFields", filterDelay: "filterDelay", filterMode: "filterMode", filterLocale: "filterLocale", paginatorLocale: "paginatorLocale", totalRecords: "totalRecords", sortField: "sortField", sortOrder: "sortOrder", multiSortMeta: "multiSortMeta", selection: "selection", value: "value", virtualRowHeight: "virtualRowHeight" }, outputs: { selectionChange: "selectionChange", contextMenuSelectionChange: "contextMenuSelectionChange", onFilter: "onFilter", onNodeExpand: "onNodeExpand", onNodeCollapse: "onNodeCollapse", onPage: "onPage", onSort: "onSort", onLazyLoad: "onLazyLoad", sortFunction: "sortFunction", onColResize: "onColResize", onColReorder: "onColReorder", onNodeSelect: "onNodeSelect", onNodeUnselect: "onNodeUnselect", onContextMenuSelect: "onContextMenuSelect", onHeaderCheckboxToggle: "onHeaderCheckboxToggle", onEditInit: "onEditInit", onEditComplete: "onEditComplete", onEditCancel: "onEditCancel" }, host: { classAttribute: "p-element" }, providers: [TreeTableService], 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: "tableViewChild", first: true, predicate: ["table"], descendants: true }, { propertyName: "scrollableViewChild", first: true, predicate: ["scrollableView"], descendants: true }, { propertyName: "scrollableFrozenViewChild", first: true, predicate: ["scrollableFrozenView"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
1835
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.1", type: TreeTable, selector: "p-treeTable", inputs: { columns: "columns", style: "style", styleClass: "styleClass", tableStyle: "tableStyle", tableStyleClass: "tableStyleClass", autoLayout: ["autoLayout", "autoLayout", booleanAttribute], lazy: ["lazy", "lazy", booleanAttribute], lazyLoadOnInit: ["lazyLoadOnInit", "lazyLoadOnInit", booleanAttribute], paginator: ["paginator", "paginator", booleanAttribute], rows: ["rows", "rows", numberAttribute], first: ["first", "first", numberAttribute], pageLinks: ["pageLinks", "pageLinks", numberAttribute], rowsPerPageOptions: "rowsPerPageOptions", alwaysShowPaginator: ["alwaysShowPaginator", "alwaysShowPaginator", booleanAttribute], paginatorPosition: "paginatorPosition", paginatorStyleClass: "paginatorStyleClass", paginatorDropdownAppendTo: "paginatorDropdownAppendTo", currentPageReportTemplate: "currentPageReportTemplate", showCurrentPageReport: ["showCurrentPageReport", "showCurrentPageReport", booleanAttribute], showJumpToPageDropdown: ["showJumpToPageDropdown", "showJumpToPageDropdown", booleanAttribute], showFirstLastIcon: ["showFirstLastIcon", "showFirstLastIcon", booleanAttribute], showPageLinks: ["showPageLinks", "showPageLinks", booleanAttribute], defaultSortOrder: ["defaultSortOrder", "defaultSortOrder", numberAttribute], sortMode: "sortMode", resetPageOnSort: ["resetPageOnSort", "resetPageOnSort", booleanAttribute], customSort: ["customSort", "customSort", booleanAttribute], selectionMode: "selectionMode", contextMenuSelection: "contextMenuSelection", contextMenuSelectionMode: "contextMenuSelectionMode", dataKey: "dataKey", metaKeySelection: ["metaKeySelection", "metaKeySelection", booleanAttribute], compareSelectionBy: "compareSelectionBy", rowHover: ["rowHover", "rowHover", booleanAttribute], loading: ["loading", "loading", booleanAttribute], loadingIcon: "loadingIcon", showLoader: ["showLoader", "showLoader", booleanAttribute], scrollable: ["scrollable", "scrollable", booleanAttribute], scrollHeight: "scrollHeight", virtualScroll: ["virtualScroll", "virtualScroll", booleanAttribute], virtualScrollItemSize: ["virtualScrollItemSize", "virtualScrollItemSize", numberAttribute], virtualScrollOptions: "virtualScrollOptions", virtualScrollDelay: ["virtualScrollDelay", "virtualScrollDelay", numberAttribute], frozenWidth: "frozenWidth", frozenColumns: "frozenColumns", resizableColumns: ["resizableColumns", "resizableColumns", booleanAttribute], columnResizeMode: "columnResizeMode", reorderableColumns: ["reorderableColumns", "reorderableColumns", booleanAttribute], contextMenu: "contextMenu", rowTrackBy: ["rowTrackBy", "rowTrackBy", numberAttribute], filters: "filters", globalFilterFields: "globalFilterFields", filterDelay: ["filterDelay", "filterDelay", numberAttribute], filterMode: "filterMode", filterLocale: "filterLocale", paginatorLocale: "paginatorLocale", totalRecords: "totalRecords", sortField: "sortField", sortOrder: "sortOrder", multiSortMeta: "multiSortMeta", selection: "selection", value: "value", virtualRowHeight: "virtualRowHeight", selectionKeys: "selectionKeys" }, outputs: { selectionChange: "selectionChange", contextMenuSelectionChange: "contextMenuSelectionChange", onFilter: "onFilter", onNodeExpand: "onNodeExpand", onNodeCollapse: "onNodeCollapse", onPage: "onPage", onSort: "onSort", onLazyLoad: "onLazyLoad", sortFunction: "sortFunction", onColResize: "onColResize", onColReorder: "onColReorder", onNodeSelect: "onNodeSelect", onNodeUnselect: "onNodeUnselect", onContextMenuSelect: "onContextMenuSelect", onHeaderCheckboxToggle: "onHeaderCheckboxToggle", onEditInit: "onEditInit", onEditComplete: "onEditComplete", onEditCancel: "onEditCancel", selectionKeysChange: "selectionKeysChange" }, host: { classAttribute: "p-element" }, providers: [TreeTableService], 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: "tableViewChild", first: true, predicate: ["table"], descendants: true }, { propertyName: "scrollableViewChild", first: true, predicate: ["scrollableView"], descendants: true }, { propertyName: "scrollableFrozenViewChild", first: true, predicate: ["scrollableFrozenView"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
1730
1836
  <div
1731
1837
  #container
1732
1838
  [ngStyle]="style"
@@ -1872,7 +1978,7 @@ class TreeTable {
1872
1978
  <ng-template *ngTemplateOutlet="reorderIndicatorDownIconTemplate"></ng-template>
1873
1979
  </span>
1874
1980
  </div>
1875
- `, isInline: true, styles: ["@layer primeng{.p-treetable{position:relative}.p-treetable table{border-collapse:collapse;width:100%;table-layout:fixed}.p-treetable .p-sortable-column{cursor:pointer;-webkit-user-select:none;user-select:none}.p-treetable .p-sortable-column .p-column-title,.p-treetable .p-sortable-column .p-sortable-column-icon,.p-treetable .p-sortable-column .p-sortable-column-badge{vertical-align:middle}.p-treetable .p-sortable-column .p-sortable-column-badge{display:inline-flex;align-items:center;justify-content:center}.p-treetable-auto-layout>.p-treetable-wrapper{overflow-x:auto}.p-treetable-auto-layout>.p-treetable-wrapper>table{table-layout:auto}.p-treetable-hoverable-rows .p-treetable-tbody>tr{cursor:pointer}.p-treetable-toggler{cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;overflow:hidden;position:relative}p-treetabletoggler+p-treetablecheckbox .p-checkbox{vertical-align:middle}p-treetabletoggler+p-treetablecheckbox+span{vertical-align:middle}.p-treetable-scrollable-wrapper{position:relative}.p-treetable-scrollable-header,.p-treetable-scrollable-footer{overflow:hidden;flex-shrink:0}.p-treetable-scrollable-body{overflow:auto;position:relative}.p-treetable-scrollable-body>table>.p-treetable-tbody>tr:first-child>td{border-top:0 none}.p-treetable-virtual-table{position:absolute}.p-treetable-frozen-view .p-treetable-scrollable-body{overflow:hidden}.p-treetable-frozen-view>.p-treetable-scrollable-body>table>.p-treetable-tbody>tr>td:last-child{border-right:0 none}.p-treetable-unfrozen-view{position:absolute;top:0}.p-treetable-flex-scrollable,.p-treetable-flex-scrollable .p-treetable-scrollable-wrapper,.p-treetable-flex-scrollable .p-treetable-scrollable-view{display:flex;flex-direction:column;flex:1;height:100%}.p-treetable-flex-scrollable .p-treetable-virtual-scrollable-body{flex:1}.p-treetable-resizable>.p-treetable-wrapper{overflow-x:auto}.p-treetable-resizable .p-treetable-thead>tr>th,.p-treetable-resizable .p-treetable-tfoot>tr>td,.p-treetable-resizable .p-treetable-tbody>tr>td{overflow:hidden}.p-treetable-resizable .p-resizable-column{background-clip:padding-box;position:relative}.p-treetable-resizable-fit .p-resizable-column:last-child .p-column-resizer{display:none}.p-treetable .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-treetable .p-column-resizer-helper{width:1px;position:absolute;z-index:10;display:none}.p-treetable .p-row-editor-init,.p-treetable .p-row-editor-save,.p-treetable .p-row-editor-cancel,.p-treetable .p-row-toggler{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.p-treetable-reorder-indicator-up,.p-treetable-reorder-indicator-down{position:absolute;display:none}[ttReorderableColumn]{cursor:move}.p-treetable .p-treetable-loading-overlay{position:absolute;display:flex;align-items:center;justify-content:center;z-index:2}.p-treetable .p-scroller-loading{transform:none!important;min-height:0;position:sticky;top:0;left:0}}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => i2.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i2.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i2.NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(() => i2.NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i0.forwardRef(() => 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(() => i1.PrimeTemplate), selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i0.forwardRef(() => SpinnerIcon), selector: "SpinnerIcon" }, { kind: "component", type: i0.forwardRef(() => ArrowDownIcon), selector: "ArrowDownIcon" }, { kind: "component", type: i0.forwardRef(() => ArrowUpIcon), selector: "ArrowUpIcon" }, { kind: "component", type: i0.forwardRef(() => TTScrollableView), selector: "[ttScrollableView]", inputs: ["ttScrollableView", "frozen", "scrollHeight"] }, { kind: "component", type: i0.forwardRef(() => TTBody), selector: "[pTreeTableBody]", inputs: ["pTreeTableBody", "pTreeTableBodyTemplate", "frozen", "serializedNodes", "scrollerOptions"] }], encapsulation: i0.ViewEncapsulation.None });
1981
+ `, isInline: true, styles: ["@layer primeng{.p-treetable{position:relative}.p-treetable table{border-collapse:collapse;width:100%;table-layout:fixed}.p-treetable .p-sortable-column{cursor:pointer;-webkit-user-select:none;user-select:none}.p-treetable .p-sortable-column .p-column-title,.p-treetable .p-sortable-column .p-sortable-column-icon,.p-treetable .p-sortable-column .p-sortable-column-badge{vertical-align:middle}.p-treetable .p-sortable-column .p-sortable-column-badge{display:inline-flex;align-items:center;justify-content:center}.p-treetable-auto-layout>.p-treetable-wrapper{overflow-x:auto}.p-treetable-auto-layout>.p-treetable-wrapper>table{table-layout:auto}.p-treetable-hoverable-rows .p-treetable-tbody>tr{cursor:pointer}.p-treetable-toggler{cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;overflow:hidden;position:relative}p-treetabletoggler+p-treetablecheckbox .p-checkbox{vertical-align:middle}p-treetabletoggler+p-treetablecheckbox+span{vertical-align:middle}.p-treetable-scrollable-wrapper{position:relative}.p-treetable-scrollable-header,.p-treetable-scrollable-footer{overflow:hidden;flex-shrink:0}.p-treetable-scrollable-body{overflow:auto;position:relative}.p-treetable-scrollable-body>table>.p-treetable-tbody>tr:first-child>td{border-top:0 none}.p-treetable-virtual-table{position:absolute}.p-treetable-frozen-view .p-treetable-scrollable-body{overflow:hidden}.p-treetable-frozen-view>.p-treetable-scrollable-body>table>.p-treetable-tbody>tr>td:last-child{border-right:0 none}.p-treetable-unfrozen-view{position:absolute;top:0}.p-treetable-flex-scrollable,.p-treetable-flex-scrollable .p-treetable-scrollable-wrapper,.p-treetable-flex-scrollable .p-treetable-scrollable-view{display:flex;flex-direction:column;flex:1;height:100%}.p-treetable-flex-scrollable .p-treetable-virtual-scrollable-body{flex:1}.p-treetable-resizable>.p-treetable-wrapper{overflow-x:auto}.p-treetable-resizable .p-treetable-thead>tr>th,.p-treetable-resizable .p-treetable-tfoot>tr>td,.p-treetable-resizable .p-treetable-tbody>tr>td{overflow:hidden}.p-treetable-resizable .p-resizable-column{background-clip:padding-box;position:relative}.p-treetable-resizable-fit .p-resizable-column:last-child .p-column-resizer{display:none}.p-treetable .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-treetable .p-column-resizer-helper{width:1px;position:absolute;z-index:10;display:none}.p-treetable .p-row-editor-init,.p-treetable .p-row-editor-save,.p-treetable .p-row-editor-cancel,.p-treetable .p-row-toggler{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.p-treetable-reorder-indicator-up,.p-treetable-reorder-indicator-down{position:absolute;display:none}[ttReorderableColumn]{cursor:move}.p-treetable .p-treetable-loading-overlay{position:absolute;display:flex;align-items:center;justify-content:center;z-index:2}.p-treetable .p-scroller-loading{transform:none!important;min-height:0;position:sticky;top:0;left:0}}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => i2.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i2.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i2.NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(() => i2.NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i0.forwardRef(() => i3.Paginator), selector: "p-paginator", inputs: ["pageLinkSize", "style", "styleClass", "alwaysShow", "dropdownAppendTo", "templateLeft", "templateRight", "appendTo", "dropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showFirstLastIcon", "totalRecords", "rows", "rowsPerPageOptions", "showJumpToPageDropdown", "showJumpToPageInput", "jumpToPageItemTemplate", "showPageLinks", "locale", "dropdownItemTemplate", "first"], outputs: ["onPageChange"] }, { kind: "directive", type: i0.forwardRef(() => i1.PrimeTemplate), selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i0.forwardRef(() => SpinnerIcon), selector: "SpinnerIcon" }, { kind: "component", type: i0.forwardRef(() => ArrowDownIcon), selector: "ArrowDownIcon" }, { kind: "component", type: i0.forwardRef(() => ArrowUpIcon), selector: "ArrowUpIcon" }, { kind: "component", type: i0.forwardRef(() => TTScrollableView), selector: "[ttScrollableView]", inputs: ["ttScrollableView", "frozen", "scrollHeight"] }, { kind: "component", type: i0.forwardRef(() => TTBody), selector: "[pTreeTableBody]", inputs: ["pTreeTableBody", "pTreeTableBodyTemplate", "frozen", "serializedNodes", "scrollerOptions"] }], encapsulation: i0.ViewEncapsulation.None });
1876
1982
  }
1877
1983
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TreeTable, decorators: [{
1878
1984
  type: Component,
@@ -2039,23 +2145,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
2039
2145
  }], tableStyleClass: [{
2040
2146
  type: Input
2041
2147
  }], autoLayout: [{
2042
- type: Input
2148
+ type: Input,
2149
+ args: [{ transform: booleanAttribute }]
2043
2150
  }], lazy: [{
2044
- type: Input
2151
+ type: Input,
2152
+ args: [{ transform: booleanAttribute }]
2045
2153
  }], lazyLoadOnInit: [{
2046
- type: Input
2154
+ type: Input,
2155
+ args: [{ transform: booleanAttribute }]
2047
2156
  }], paginator: [{
2048
- type: Input
2157
+ type: Input,
2158
+ args: [{ transform: booleanAttribute }]
2049
2159
  }], rows: [{
2050
- type: Input
2160
+ type: Input,
2161
+ args: [{ transform: numberAttribute }]
2051
2162
  }], first: [{
2052
- type: Input
2163
+ type: Input,
2164
+ args: [{ transform: numberAttribute }]
2053
2165
  }], pageLinks: [{
2054
- type: Input
2166
+ type: Input,
2167
+ args: [{ transform: numberAttribute }]
2055
2168
  }], rowsPerPageOptions: [{
2056
2169
  type: Input
2057
2170
  }], alwaysShowPaginator: [{
2058
- type: Input
2171
+ type: Input,
2172
+ args: [{ transform: booleanAttribute }]
2059
2173
  }], paginatorPosition: [{
2060
2174
  type: Input
2061
2175
  }], paginatorStyleClass: [{
@@ -2065,21 +2179,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
2065
2179
  }], currentPageReportTemplate: [{
2066
2180
  type: Input
2067
2181
  }], showCurrentPageReport: [{
2068
- type: Input
2182
+ type: Input,
2183
+ args: [{ transform: booleanAttribute }]
2069
2184
  }], showJumpToPageDropdown: [{
2070
- type: Input
2185
+ type: Input,
2186
+ args: [{ transform: booleanAttribute }]
2071
2187
  }], showFirstLastIcon: [{
2072
- type: Input
2188
+ type: Input,
2189
+ args: [{ transform: booleanAttribute }]
2073
2190
  }], showPageLinks: [{
2074
- type: Input
2191
+ type: Input,
2192
+ args: [{ transform: booleanAttribute }]
2075
2193
  }], defaultSortOrder: [{
2076
- type: Input
2194
+ type: Input,
2195
+ args: [{ transform: numberAttribute }]
2077
2196
  }], sortMode: [{
2078
2197
  type: Input
2079
2198
  }], resetPageOnSort: [{
2080
- type: Input
2199
+ type: Input,
2200
+ args: [{ transform: booleanAttribute }]
2081
2201
  }], customSort: [{
2082
- type: Input
2202
+ type: Input,
2203
+ args: [{ transform: booleanAttribute }]
2083
2204
  }], selectionMode: [{
2084
2205
  type: Input
2085
2206
  }], contextMenuSelection: [{
@@ -2089,49 +2210,61 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
2089
2210
  }], dataKey: [{
2090
2211
  type: Input
2091
2212
  }], metaKeySelection: [{
2092
- type: Input
2213
+ type: Input,
2214
+ args: [{ transform: booleanAttribute }]
2093
2215
  }], compareSelectionBy: [{
2094
2216
  type: Input
2095
2217
  }], rowHover: [{
2096
- type: Input
2218
+ type: Input,
2219
+ args: [{ transform: booleanAttribute }]
2097
2220
  }], loading: [{
2098
- type: Input
2221
+ type: Input,
2222
+ args: [{ transform: booleanAttribute }]
2099
2223
  }], loadingIcon: [{
2100
2224
  type: Input
2101
2225
  }], showLoader: [{
2102
- type: Input
2226
+ type: Input,
2227
+ args: [{ transform: booleanAttribute }]
2103
2228
  }], scrollable: [{
2104
- type: Input
2229
+ type: Input,
2230
+ args: [{ transform: booleanAttribute }]
2105
2231
  }], scrollHeight: [{
2106
2232
  type: Input
2107
2233
  }], virtualScroll: [{
2108
- type: Input
2234
+ type: Input,
2235
+ args: [{ transform: booleanAttribute }]
2109
2236
  }], virtualScrollItemSize: [{
2110
- type: Input
2237
+ type: Input,
2238
+ args: [{ transform: numberAttribute }]
2111
2239
  }], virtualScrollOptions: [{
2112
2240
  type: Input
2113
2241
  }], virtualScrollDelay: [{
2114
- type: Input
2242
+ type: Input,
2243
+ args: [{ transform: numberAttribute }]
2115
2244
  }], frozenWidth: [{
2116
2245
  type: Input
2117
2246
  }], frozenColumns: [{
2118
2247
  type: Input
2119
2248
  }], resizableColumns: [{
2120
- type: Input
2249
+ type: Input,
2250
+ args: [{ transform: booleanAttribute }]
2121
2251
  }], columnResizeMode: [{
2122
2252
  type: Input
2123
2253
  }], reorderableColumns: [{
2124
- type: Input
2254
+ type: Input,
2255
+ args: [{ transform: booleanAttribute }]
2125
2256
  }], contextMenu: [{
2126
2257
  type: Input
2127
2258
  }], rowTrackBy: [{
2128
- type: Input
2259
+ type: Input,
2260
+ args: [{ transform: numberAttribute }]
2129
2261
  }], filters: [{
2130
2262
  type: Input
2131
2263
  }], globalFilterFields: [{
2132
2264
  type: Input
2133
2265
  }], filterDelay: [{
2134
- type: Input
2266
+ type: Input,
2267
+ args: [{ transform: numberAttribute }]
2135
2268
  }], filterMode: [{
2136
2269
  type: Input
2137
2270
  }], filterLocale: [{
@@ -2152,6 +2285,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
2152
2285
  type: Input
2153
2286
  }], virtualRowHeight: [{
2154
2287
  type: Input
2288
+ }], selectionKeys: [{
2289
+ type: Input
2155
2290
  }], selectionChange: [{
2156
2291
  type: Output
2157
2292
  }], contextMenuSelectionChange: [{
@@ -2188,6 +2323,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
2188
2323
  type: Output
2189
2324
  }], onEditCancel: [{
2190
2325
  type: Output
2326
+ }], selectionKeysChange: [{
2327
+ type: Output
2191
2328
  }], containerViewChild: [{
2192
2329
  type: ViewChild,
2193
2330
  args: ['container']
@@ -2250,7 +2387,7 @@ class TTBody {
2250
2387
  }
2251
2388
  }
2252
2389
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TTBody, deps: [{ token: TreeTable }, { token: TreeTableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2253
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: TTBody, selector: "[pTreeTableBody]", inputs: { columns: ["pTreeTableBody", "columns"], template: ["pTreeTableBodyTemplate", "template"], frozen: "frozen", serializedNodes: "serializedNodes", scrollerOptions: "scrollerOptions" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
2390
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.1", type: TTBody, selector: "[pTreeTableBody]", inputs: { columns: ["pTreeTableBody", "columns"], template: ["pTreeTableBodyTemplate", "template"], frozen: ["frozen", "frozen", booleanAttribute], serializedNodes: "serializedNodes", scrollerOptions: "scrollerOptions" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
2254
2391
  <ng-template ngFor let-serializedNode let-rowIndex="index" [ngForOf]="serializedNodes || tt.serializedValue" [ngForTrackBy]="tt.rowTrackBy">
2255
2392
  <ng-container *ngIf="serializedNode.visible">
2256
2393
  <ng-container *ngTemplateOutlet="template; context: { $implicit: serializedNode, node: serializedNode.node, rowData: serializedNode.node.data, columns: columns }"></ng-container>
@@ -2287,7 +2424,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
2287
2424
  type: Input,
2288
2425
  args: ['pTreeTableBodyTemplate']
2289
2426
  }], frozen: [{
2290
- type: Input
2427
+ type: Input,
2428
+ args: [{ transform: booleanAttribute }]
2291
2429
  }], serializedNodes: [{
2292
2430
  type: Input
2293
2431
  }], scrollerOptions: [{
@@ -2463,7 +2601,7 @@ class TTScrollableView {
2463
2601
  this.frozenSiblingBody = null;
2464
2602
  }
2465
2603
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TTScrollableView, deps: [{ token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: TreeTable }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
2466
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: TTScrollableView, selector: "[ttScrollableView]", inputs: { columns: ["ttScrollableView", "columns"], frozen: "frozen", scrollHeight: "scrollHeight" }, host: { classAttribute: "p-element" }, viewQueries: [{ propertyName: "scrollHeaderViewChild", first: true, predicate: ["scrollHeader"], descendants: true }, { propertyName: "scrollHeaderBoxViewChild", first: true, predicate: ["scrollHeaderBox"], descendants: true }, { propertyName: "scrollBodyViewChild", first: true, predicate: ["scrollBody"], descendants: true }, { propertyName: "scrollTableViewChild", first: true, predicate: ["scrollTable"], descendants: true }, { propertyName: "scrollLoadingTableViewChild", first: true, predicate: ["loadingTable"], descendants: true }, { propertyName: "scrollFooterViewChild", first: true, predicate: ["scrollFooter"], descendants: true }, { propertyName: "scrollFooterBoxViewChild", first: true, predicate: ["scrollFooterBox"], descendants: true }, { propertyName: "scrollableAlignerViewChild", first: true, predicate: ["scrollableAligner"], descendants: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }], ngImport: i0, template: `
2604
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.1", type: TTScrollableView, selector: "[ttScrollableView]", inputs: { columns: ["ttScrollableView", "columns"], frozen: ["frozen", "frozen", booleanAttribute], scrollHeight: "scrollHeight" }, host: { classAttribute: "p-element" }, viewQueries: [{ propertyName: "scrollHeaderViewChild", first: true, predicate: ["scrollHeader"], descendants: true }, { propertyName: "scrollHeaderBoxViewChild", first: true, predicate: ["scrollHeaderBox"], descendants: true }, { propertyName: "scrollBodyViewChild", first: true, predicate: ["scrollBody"], descendants: true }, { propertyName: "scrollTableViewChild", first: true, predicate: ["scrollTable"], descendants: true }, { propertyName: "scrollLoadingTableViewChild", first: true, predicate: ["loadingTable"], descendants: true }, { propertyName: "scrollFooterViewChild", first: true, predicate: ["scrollFooter"], descendants: true }, { propertyName: "scrollFooterBoxViewChild", first: true, predicate: ["scrollFooterBox"], descendants: true }, { propertyName: "scrollableAlignerViewChild", first: true, predicate: ["scrollableAligner"], descendants: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }], ngImport: i0, template: `
2467
2605
  <div #scrollHeader class="p-treetable-scrollable-header">
2468
2606
  <div #scrollHeaderBox class="p-treetable-scrollable-header-box">
2469
2607
  <table class="p-treetable-scrollable-header-table" [ngClass]="tt.tableStyleClass" [ngStyle]="tt.tableStyle">
@@ -2596,7 +2734,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
2596
2734
  type: Input,
2597
2735
  args: ['ttScrollableView']
2598
2736
  }], frozen: [{
2599
- type: Input
2737
+ type: Input,
2738
+ args: [{ transform: booleanAttribute }]
2600
2739
  }], scrollHeaderViewChild: [{
2601
2740
  type: ViewChild,
2602
2741
  args: ['scrollHeader']
@@ -2679,7 +2818,7 @@ class TTSortableColumn {
2679
2818
  }
2680
2819
  }
2681
2820
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TTSortableColumn, deps: [{ token: TreeTable }], target: i0.ɵɵFactoryTarget.Directive });
2682
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: TTSortableColumn, selector: "[ttSortableColumn]", inputs: { field: ["ttSortableColumn", "field"], ttSortableColumnDisabled: "ttSortableColumnDisabled" }, 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": "ariaSorted" }, classAttribute: "p-element" }, ngImport: i0 });
2821
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.1", type: TTSortableColumn, selector: "[ttSortableColumn]", inputs: { field: ["ttSortableColumn", "field"], ttSortableColumnDisabled: ["ttSortableColumnDisabled", "ttSortableColumnDisabled", booleanAttribute] }, 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": "ariaSorted" }, classAttribute: "p-element" }, ngImport: i0 });
2683
2822
  }
2684
2823
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TTSortableColumn, decorators: [{
2685
2824
  type: Directive,
@@ -2698,7 +2837,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
2698
2837
  type: Input,
2699
2838
  args: ['ttSortableColumn']
2700
2839
  }], ttSortableColumnDisabled: [{
2701
- type: Input
2840
+ type: Input,
2841
+ args: [{ transform: booleanAttribute }]
2702
2842
  }], onClick: [{
2703
2843
  type: HostListener,
2704
2844
  args: ['click', ['$event']]
@@ -2848,7 +2988,7 @@ class TTResizableColumn {
2848
2988
  this.unbindDocumentEvents();
2849
2989
  }
2850
2990
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TTResizableColumn, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: TreeTable }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
2851
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: TTResizableColumn, selector: "[ttResizableColumn]", inputs: { ttResizableColumnDisabled: "ttResizableColumnDisabled" }, host: { classAttribute: "p-element" }, ngImport: i0 });
2991
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.1", type: TTResizableColumn, selector: "[ttResizableColumn]", inputs: { ttResizableColumnDisabled: ["ttResizableColumnDisabled", "ttResizableColumnDisabled", booleanAttribute] }, host: { classAttribute: "p-element" }, ngImport: i0 });
2852
2992
  }
2853
2993
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TTResizableColumn, decorators: [{
2854
2994
  type: Directive,
@@ -2865,7 +3005,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
2865
3005
  type: Inject,
2866
3006
  args: [PLATFORM_ID]
2867
3007
  }] }, { type: i0.Renderer2 }, { type: TreeTable }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { ttResizableColumnDisabled: [{
2868
- type: Input
3008
+ type: Input,
3009
+ args: [{ transform: booleanAttribute }]
2869
3010
  }] } });
2870
3011
  class TTReorderableColumn {
2871
3012
  document;
@@ -2954,7 +3095,7 @@ class TTReorderableColumn {
2954
3095
  this.unbindEvents();
2955
3096
  }
2956
3097
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TTReorderableColumn, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: TreeTable }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
2957
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: TTReorderableColumn, selector: "[ttReorderableColumn]", inputs: { ttReorderableColumnDisabled: "ttReorderableColumnDisabled" }, host: { listeners: { "drop": "onDrop($event)" }, classAttribute: "p-element" }, ngImport: i0 });
3098
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.1", type: TTReorderableColumn, selector: "[ttReorderableColumn]", inputs: { ttReorderableColumnDisabled: ["ttReorderableColumnDisabled", "ttReorderableColumnDisabled", booleanAttribute] }, host: { listeners: { "drop": "onDrop($event)" }, classAttribute: "p-element" }, ngImport: i0 });
2958
3099
  }
2959
3100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TTReorderableColumn, decorators: [{
2960
3101
  type: Directive,
@@ -2971,7 +3112,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
2971
3112
  type: Inject,
2972
3113
  args: [PLATFORM_ID]
2973
3114
  }] }, { type: i0.Renderer2 }, { type: TreeTable }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { ttReorderableColumnDisabled: [{
2974
- type: Input
3115
+ type: Input,
3116
+ args: [{ transform: booleanAttribute }]
2975
3117
  }], onDrop: [{
2976
3118
  type: HostListener,
2977
3119
  args: ['drop', ['$event']]
@@ -3041,7 +3183,7 @@ class TTSelectableRow {
3041
3183
  }
3042
3184
  }
3043
3185
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TTSelectableRow, deps: [{ token: TreeTable }, { token: TreeTableService }], target: i0.ɵɵFactoryTarget.Directive });
3044
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: TTSelectableRow, selector: "[ttSelectableRow]", inputs: { rowNode: ["ttSelectableRow", "rowNode"], ttSelectableRowDisabled: "ttSelectableRowDisabled" }, host: { listeners: { "click": "onClick($event)", "keydown": "onKeyDown($event)", "touchend": "onTouchEnd($event)" }, properties: { "class.p-highlight": "selected", "attr.data-p-highlight": "selected", "attr.aria-checked": "selected" }, classAttribute: "p-element" }, ngImport: i0 });
3186
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.1", type: TTSelectableRow, selector: "[ttSelectableRow]", inputs: { rowNode: ["ttSelectableRow", "rowNode"], ttSelectableRowDisabled: ["ttSelectableRowDisabled", "ttSelectableRowDisabled", booleanAttribute] }, host: { listeners: { "click": "onClick($event)", "keydown": "onKeyDown($event)", "touchend": "onTouchEnd($event)" }, properties: { "class.p-highlight": "selected", "attr.data-p-highlight": "selected", "attr.aria-checked": "selected" }, classAttribute: "p-element" }, ngImport: i0 });
3045
3187
  }
3046
3188
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TTSelectableRow, decorators: [{
3047
3189
  type: Directive,
@@ -3058,7 +3200,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
3058
3200
  type: Input,
3059
3201
  args: ['ttSelectableRow']
3060
3202
  }], ttSelectableRowDisabled: [{
3061
- type: Input
3203
+ type: Input,
3204
+ args: [{ transform: booleanAttribute }]
3062
3205
  }], onClick: [{
3063
3206
  type: HostListener,
3064
3207
  args: ['click', ['$event']]
@@ -3107,7 +3250,7 @@ class TTSelectableRowDblClick {
3107
3250
  }
3108
3251
  }
3109
3252
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TTSelectableRowDblClick, deps: [{ token: TreeTable }, { token: TreeTableService }], target: i0.ɵɵFactoryTarget.Directive });
3110
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: TTSelectableRowDblClick, selector: "[ttSelectableRowDblClick]", inputs: { rowNode: ["ttSelectableRowDblClick", "rowNode"], ttSelectableRowDisabled: "ttSelectableRowDisabled" }, host: { listeners: { "dblclick": "onClick($event)" }, properties: { "class.p-highlight": "selected" }, classAttribute: "p-element" }, ngImport: i0 });
3253
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.1", type: TTSelectableRowDblClick, selector: "[ttSelectableRowDblClick]", inputs: { rowNode: ["ttSelectableRowDblClick", "rowNode"], ttSelectableRowDisabled: ["ttSelectableRowDisabled", "ttSelectableRowDisabled", booleanAttribute] }, host: { listeners: { "dblclick": "onClick($event)" }, properties: { "class.p-highlight": "selected" }, classAttribute: "p-element" }, ngImport: i0 });
3111
3254
  }
3112
3255
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TTSelectableRowDblClick, decorators: [{
3113
3256
  type: Directive,
@@ -3122,7 +3265,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
3122
3265
  type: Input,
3123
3266
  args: ['ttSelectableRowDblClick']
3124
3267
  }], ttSelectableRowDisabled: [{
3125
- type: Input
3268
+ type: Input,
3269
+ args: [{ transform: booleanAttribute }]
3126
3270
  }], onClick: [{
3127
3271
  type: HostListener,
3128
3272
  args: ['dblclick', ['$event']]
@@ -3164,7 +3308,7 @@ class TTContextMenuRow {
3164
3308
  }
3165
3309
  }
3166
3310
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TTContextMenuRow, deps: [{ token: TreeTable }, { token: TreeTableService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
3167
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: TTContextMenuRow, selector: "[ttContextMenuRow]", inputs: { rowNode: ["ttContextMenuRow", "rowNode"], ttContextMenuRowDisabled: "ttContextMenuRowDisabled" }, host: { listeners: { "contextmenu": "onContextMenu($event)" }, properties: { "class.p-highlight-contextmenu": "selected", "attr.tabindex": "isEnabled() ? 0 : undefined" }, classAttribute: "p-element" }, ngImport: i0 });
3311
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.1", type: TTContextMenuRow, selector: "[ttContextMenuRow]", inputs: { rowNode: ["ttContextMenuRow", "rowNode"], ttContextMenuRowDisabled: ["ttContextMenuRowDisabled", "ttContextMenuRowDisabled", booleanAttribute] }, host: { listeners: { "contextmenu": "onContextMenu($event)" }, properties: { "class.p-highlight-contextmenu": "selected", "attr.tabindex": "isEnabled() ? 0 : undefined" }, classAttribute: "p-element" }, ngImport: i0 });
3168
3312
  }
3169
3313
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TTContextMenuRow, decorators: [{
3170
3314
  type: Directive,
@@ -3180,7 +3324,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
3180
3324
  type: Input,
3181
3325
  args: ['ttContextMenuRow']
3182
3326
  }], ttContextMenuRowDisabled: [{
3183
- type: Input
3327
+ type: Input,
3328
+ args: [{ transform: booleanAttribute }]
3184
3329
  }], onContextMenu: [{
3185
3330
  type: HostListener,
3186
3331
  args: ['contextmenu', ['$event']]
@@ -3192,6 +3337,7 @@ class TTCheckbox {
3192
3337
  disabled;
3193
3338
  rowNode;
3194
3339
  checked;
3340
+ partialChecked;
3195
3341
  focused;
3196
3342
  subscription;
3197
3343
  constructor(tt, tableService, cd) {
@@ -3199,19 +3345,44 @@ class TTCheckbox {
3199
3345
  this.tableService = tableService;
3200
3346
  this.cd = cd;
3201
3347
  this.subscription = this.tt.tableService.selectionSource$.subscribe(() => {
3202
- this.checked = this.tt.isSelected(this.rowNode.node);
3348
+ if (this.tt.selectionKeys) {
3349
+ this.checked = this.tt.isNodeSelected(this.rowNode.node);
3350
+ this.partialChecked = this.tt.isNodePartialSelected(this.rowNode.node);
3351
+ }
3352
+ else {
3353
+ this.checked = this.tt.isSelected(this.rowNode.node);
3354
+ this.partialChecked = this.rowNode.node.partialSelected;
3355
+ }
3203
3356
  this.cd.markForCheck();
3204
3357
  });
3205
3358
  }
3206
3359
  ngOnInit() {
3207
- this.checked = this.tt.isSelected(this.rowNode.node);
3360
+ if (this.tt.selectionKeys) {
3361
+ this.checked = this.tt.isNodeSelected(this.rowNode.node);
3362
+ this.partialChecked = this.tt.isNodePartialSelected(this.rowNode.node);
3363
+ }
3364
+ else {
3365
+ // for backward compatibility
3366
+ this.checked = this.tt.isSelected(this.rowNode.node);
3367
+ this.partialChecked = this.rowNode.node.partialSelected;
3368
+ }
3208
3369
  }
3209
3370
  onClick(event) {
3210
3371
  if (!this.disabled) {
3211
- this.tt.toggleNodeWithCheckbox({
3212
- originalEvent: event,
3213
- rowNode: this.rowNode
3214
- });
3372
+ if (this.tt.selectionKeys) {
3373
+ const _check = !this.checked;
3374
+ this.tt.toggleCheckbox({
3375
+ originalEvent: event,
3376
+ check: _check,
3377
+ rowNode: this.rowNode
3378
+ });
3379
+ }
3380
+ else {
3381
+ this.tt.toggleNodeWithCheckbox({
3382
+ originalEvent: event,
3383
+ rowNode: this.rowNode
3384
+ });
3385
+ }
3215
3386
  }
3216
3387
  DomHandler.clearSelection();
3217
3388
  }
@@ -3227,18 +3398,18 @@ class TTCheckbox {
3227
3398
  }
3228
3399
  }
3229
3400
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TTCheckbox, deps: [{ token: TreeTable }, { token: TreeTableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
3230
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: TTCheckbox, selector: "p-treeTableCheckbox", inputs: { disabled: "disabled", rowNode: ["value", "rowNode"] }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
3401
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.1", type: TTCheckbox, selector: "p-treeTableCheckbox", inputs: { disabled: ["disabled", "disabled", booleanAttribute], rowNode: ["value", "rowNode"] }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
3231
3402
  <div class="p-checkbox p-component" [ngClass]="{ 'p-checkbox-focused': focused }" (click)="onClick($event)">
3232
3403
  <div class="p-hidden-accessible">
3233
3404
  <input type="checkbox" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" tabindex="-1" />
3234
3405
  </div>
3235
- <div #box [ngClass]="{ 'p-checkbox-box': true, 'p-highlight': checked, 'p-focus': focused, 'p-indeterminate': rowNode.node.partialSelected, 'p-disabled': disabled }" role="checkbox" [attr.aria-checked]="checked">
3406
+ <div #box [ngClass]="{ 'p-checkbox-box': true, 'p-highlight': checked, 'p-focus': focused, 'p-indeterminate': partialChecked, 'p-disabled': disabled }" role="checkbox" [attr.aria-checked]="checked">
3236
3407
  <ng-container *ngIf="!tt.checkboxIconTemplate">
3237
3408
  <CheckIcon [styleClass]="'p-checkbox-icon'" *ngIf="checked" />
3238
- <MinusIcon [styleClass]="'p-checkbox-icon'" *ngIf="rowNode.node.partialSelected" />
3409
+ <MinusIcon [styleClass]="'p-checkbox-icon'" *ngIf="partialChecked" />
3239
3410
  </ng-container>
3240
3411
  <span *ngIf="tt.checkboxIconTemplate">
3241
- <ng-template *ngTemplateOutlet="tt.checkboxIconTemplate; context: { $implicit: checked, partialSelected: rowNode.node.partialSelected }"></ng-template>
3412
+ <ng-template *ngTemplateOutlet="tt.checkboxIconTemplate; context: { $implicit: checked, partialSelected: partialChecked }"></ng-template>
3242
3413
  </span>
3243
3414
  </div>
3244
3415
  </div>
@@ -3253,13 +3424,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
3253
3424
  <div class="p-hidden-accessible">
3254
3425
  <input type="checkbox" [checked]="checked" (focus)="onFocus()" (blur)="onBlur()" tabindex="-1" />
3255
3426
  </div>
3256
- <div #box [ngClass]="{ 'p-checkbox-box': true, 'p-highlight': checked, 'p-focus': focused, 'p-indeterminate': rowNode.node.partialSelected, 'p-disabled': disabled }" role="checkbox" [attr.aria-checked]="checked">
3427
+ <div #box [ngClass]="{ 'p-checkbox-box': true, 'p-highlight': checked, 'p-focus': focused, 'p-indeterminate': partialChecked, 'p-disabled': disabled }" role="checkbox" [attr.aria-checked]="checked">
3257
3428
  <ng-container *ngIf="!tt.checkboxIconTemplate">
3258
3429
  <CheckIcon [styleClass]="'p-checkbox-icon'" *ngIf="checked" />
3259
- <MinusIcon [styleClass]="'p-checkbox-icon'" *ngIf="rowNode.node.partialSelected" />
3430
+ <MinusIcon [styleClass]="'p-checkbox-icon'" *ngIf="partialChecked" />
3260
3431
  </ng-container>
3261
3432
  <span *ngIf="tt.checkboxIconTemplate">
3262
- <ng-template *ngTemplateOutlet="tt.checkboxIconTemplate; context: { $implicit: checked, partialSelected: rowNode.node.partialSelected }"></ng-template>
3433
+ <ng-template *ngTemplateOutlet="tt.checkboxIconTemplate; context: { $implicit: checked, partialSelected: partialChecked }"></ng-template>
3263
3434
  </span>
3264
3435
  </div>
3265
3436
  </div>
@@ -3271,7 +3442,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
3271
3442
  }
3272
3443
  }]
3273
3444
  }], ctorParameters: () => [{ type: TreeTable }, { type: TreeTableService }, { type: i0.ChangeDetectorRef }], propDecorators: { disabled: [{
3274
- type: Input
3445
+ type: Input,
3446
+ args: [{ transform: booleanAttribute }]
3275
3447
  }], rowNode: [{
3276
3448
  type: Input,
3277
3449
  args: ['value']
@@ -3301,7 +3473,7 @@ class TTHeaderCheckbox {
3301
3473
  this.checked = this.updateCheckedState();
3302
3474
  }
3303
3475
  onClick(event, checked) {
3304
- if (this.tt.value && this.tt.value.length > 0) {
3476
+ if ((this.tt.value || this.tt.filteredNodes) && (this.tt.value.length > 0 || this.tt.filteredNodes.length > 0)) {
3305
3477
  this.tt.toggleNodesWithCheckbox(event, !checked);
3306
3478
  }
3307
3479
  DomHandler.clearSelection();
@@ -3325,13 +3497,27 @@ class TTHeaderCheckbox {
3325
3497
  let checked;
3326
3498
  const data = this.tt.filteredNodes || this.tt.value;
3327
3499
  if (data) {
3328
- for (let node of data) {
3329
- if (this.tt.isSelected(node)) {
3330
- checked = true;
3500
+ if (this.tt.selectionKeys) {
3501
+ for (let node of data) {
3502
+ if (this.tt.isNodeSelected(node)) {
3503
+ checked = true;
3504
+ }
3505
+ else {
3506
+ checked = false;
3507
+ break;
3508
+ }
3331
3509
  }
3332
- else {
3333
- checked = false;
3334
- break;
3510
+ }
3511
+ if (!this.tt.selectionKeys) {
3512
+ // legacy selection support, will be removed in v18
3513
+ for (let node of data) {
3514
+ if (this.tt.isSelected(node)) {
3515
+ checked = true;
3516
+ }
3517
+ else {
3518
+ checked = false;
3519
+ break;
3520
+ }
3335
3521
  }
3336
3522
  }
3337
3523
  }
@@ -3539,7 +3725,7 @@ class TTEditableColumn {
3539
3725
  return this.ttEditableColumnDisabled !== true;
3540
3726
  }
3541
3727
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TTEditableColumn, deps: [{ token: TreeTable }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
3542
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: TTEditableColumn, selector: "[ttEditableColumn]", inputs: { data: ["ttEditableColumn", "data"], field: ["ttEditableColumnField", "field"], ttEditableColumnDisabled: "ttEditableColumnDisabled" }, host: { listeners: { "click": "onClick($event)", "keydown": "onKeyDown($event)" }, classAttribute: "p-element" }, ngImport: i0 });
3728
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.1", type: TTEditableColumn, selector: "[ttEditableColumn]", inputs: { data: ["ttEditableColumn", "data"], field: ["ttEditableColumnField", "field"], ttEditableColumnDisabled: ["ttEditableColumnDisabled", "ttEditableColumnDisabled", booleanAttribute] }, host: { listeners: { "click": "onClick($event)", "keydown": "onKeyDown($event)" }, classAttribute: "p-element" }, ngImport: i0 });
3543
3729
  }
3544
3730
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TTEditableColumn, decorators: [{
3545
3731
  type: Directive,
@@ -3556,7 +3742,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
3556
3742
  type: Input,
3557
3743
  args: ['ttEditableColumnField']
3558
3744
  }], ttEditableColumnDisabled: [{
3559
- type: Input
3745
+ type: Input,
3746
+ args: [{ transform: booleanAttribute }]
3560
3747
  }], onClick: [{
3561
3748
  type: HostListener,
3562
3749
  args: ['click', ['$event']]