primevue 3.44.0 → 3.45.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 (467) hide show
  1. package/accordion/Accordion.vue +1 -0
  2. package/accordion/accordion.cjs.js +1 -0
  3. package/accordion/accordion.cjs.min.js +1 -1
  4. package/accordion/accordion.esm.js +1 -0
  5. package/accordion/accordion.esm.min.js +1 -1
  6. package/accordion/accordion.js +1 -0
  7. package/accordion/accordion.min.js +1 -1
  8. package/basecomponent/BaseComponent.vue +1 -1
  9. package/basecomponent/basecomponent.cjs.js +2 -2
  10. package/basecomponent/basecomponent.cjs.min.js +1 -1
  11. package/basecomponent/basecomponent.esm.js +2 -2
  12. package/basecomponent/basecomponent.esm.min.js +1 -1
  13. package/basecomponent/basecomponent.js +2 -2
  14. package/basecomponent/basecomponent.min.js +1 -1
  15. package/basecomponent/style/basecomponentstyle.cjs.js +1 -1
  16. package/basecomponent/style/basecomponentstyle.cjs.min.js +1 -1
  17. package/basecomponent/style/basecomponentstyle.esm.js +1 -1
  18. package/basecomponent/style/basecomponentstyle.esm.min.js +1 -1
  19. package/basecomponent/style/basecomponentstyle.js +1 -1
  20. package/basecomponent/style/basecomponentstyle.min.js +1 -1
  21. package/baseicon/BaseIcon.vue +8 -14
  22. package/baseicon/baseicon.cjs.js +10 -15
  23. package/baseicon/baseicon.cjs.min.js +1 -1
  24. package/baseicon/baseicon.esm.js +10 -15
  25. package/baseicon/baseicon.esm.min.js +1 -1
  26. package/baseicon/baseicon.js +10 -15
  27. package/baseicon/baseicon.min.js +1 -1
  28. package/calendar/Calendar.vue +5 -2
  29. package/calendar/calendar.cjs.js +5 -2
  30. package/calendar/calendar.cjs.min.js +1 -1
  31. package/calendar/calendar.esm.js +5 -2
  32. package/calendar/calendar.esm.min.js +1 -1
  33. package/calendar/calendar.js +5 -2
  34. package/calendar/calendar.min.js +1 -1
  35. package/cascadeselect/CascadeSelect.vue +1 -0
  36. package/cascadeselect/cascadeselect.cjs.js +1 -0
  37. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  38. package/cascadeselect/cascadeselect.esm.js +1 -0
  39. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  40. package/cascadeselect/cascadeselect.js +1 -0
  41. package/cascadeselect/cascadeselect.min.js +1 -1
  42. package/cascadeselect/style/cascadeselectstyle.cjs.js +1 -1
  43. package/cascadeselect/style/cascadeselectstyle.cjs.min.js +1 -1
  44. package/cascadeselect/style/cascadeselectstyle.esm.js +1 -1
  45. package/cascadeselect/style/cascadeselectstyle.esm.min.js +1 -1
  46. package/cascadeselect/style/cascadeselectstyle.js +1 -1
  47. package/cascadeselect/style/cascadeselectstyle.min.js +1 -1
  48. package/chips/Chips.vue +1 -0
  49. package/chips/chips.cjs.js +1 -0
  50. package/chips/chips.cjs.min.js +1 -1
  51. package/chips/chips.esm.js +1 -0
  52. package/chips/chips.esm.min.js +1 -1
  53. package/chips/chips.js +1 -0
  54. package/chips/chips.min.js +1 -1
  55. package/column/Column.vue +7 -0
  56. package/column/column.cjs.js +9 -0
  57. package/column/column.cjs.min.js +1 -1
  58. package/column/column.esm.js +9 -0
  59. package/column/column.esm.min.js +1 -1
  60. package/column/column.js +9 -0
  61. package/column/column.min.js +1 -1
  62. package/columngroup/ColumnGroup.vue +7 -0
  63. package/columngroup/columngroup.cjs.js +9 -0
  64. package/columngroup/columngroup.cjs.min.js +1 -1
  65. package/columngroup/columngroup.esm.js +9 -0
  66. package/columngroup/columngroup.esm.min.js +1 -1
  67. package/columngroup/columngroup.js +9 -0
  68. package/columngroup/columngroup.min.js +1 -1
  69. package/confirmdialog/ConfirmDialog.d.ts +1 -1
  70. package/confirmpopup/ConfirmPopup.vue +2 -2
  71. package/confirmpopup/confirmpopup.cjs.js +2 -2
  72. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  73. package/confirmpopup/confirmpopup.esm.js +2 -2
  74. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  75. package/confirmpopup/confirmpopup.js +2 -2
  76. package/confirmpopup/confirmpopup.min.js +1 -1
  77. package/contextmenu/ContextMenu.vue +1 -0
  78. package/contextmenu/contextmenu.cjs.js +1 -0
  79. package/contextmenu/contextmenu.cjs.min.js +1 -1
  80. package/contextmenu/contextmenu.esm.js +1 -0
  81. package/contextmenu/contextmenu.esm.min.js +1 -1
  82. package/contextmenu/contextmenu.js +1 -0
  83. package/contextmenu/contextmenu.min.js +1 -1
  84. package/core/core.js +276 -132
  85. package/core/core.min.js +22 -22
  86. package/datatable/BaseDataTable.vue +2 -2
  87. package/datatable/BodyRow.vue +578 -0
  88. package/datatable/ColumnFilter.vue +1 -0
  89. package/datatable/DataTable.d.ts +1 -1
  90. package/datatable/DataTable.vue +111 -132
  91. package/datatable/HeaderCell.vue +9 -7
  92. package/datatable/TableBody.vue +74 -414
  93. package/datatable/TableFooter.vue +19 -26
  94. package/datatable/TableHeader.vue +19 -26
  95. package/datatable/datatable.cjs.js +891 -634
  96. package/datatable/datatable.cjs.min.js +1 -1
  97. package/datatable/datatable.esm.js +892 -635
  98. package/datatable/datatable.esm.min.js +1 -1
  99. package/datatable/datatable.js +891 -634
  100. package/datatable/datatable.min.js +1 -1
  101. package/datatable/style/datatablestyle.cjs.js +5 -4
  102. package/datatable/style/datatablestyle.cjs.min.js +1 -1
  103. package/datatable/style/datatablestyle.esm.js +5 -4
  104. package/datatable/style/datatablestyle.esm.min.js +1 -1
  105. package/datatable/style/datatablestyle.js +5 -4
  106. package/datatable/style/datatablestyle.min.js +1 -1
  107. package/dialog/style/dialogstyle.cjs.js +1 -1
  108. package/dialog/style/dialogstyle.cjs.min.js +1 -1
  109. package/dialog/style/dialogstyle.esm.js +1 -1
  110. package/dialog/style/dialogstyle.esm.min.js +1 -1
  111. package/dialog/style/dialogstyle.js +1 -1
  112. package/dialog/style/dialogstyle.min.js +1 -1
  113. package/dock/DockSub.vue +1 -0
  114. package/dock/dock.cjs.js +1 -0
  115. package/dock/dock.cjs.min.js +1 -1
  116. package/dock/dock.esm.js +1 -0
  117. package/dock/dock.esm.min.js +1 -1
  118. package/dock/dock.js +1 -0
  119. package/dock/dock.min.js +1 -1
  120. package/dropdown/Dropdown.vue +26 -0
  121. package/dropdown/dropdown.cjs.js +49 -25
  122. package/dropdown/dropdown.cjs.min.js +1 -1
  123. package/dropdown/dropdown.esm.js +49 -25
  124. package/dropdown/dropdown.esm.min.js +1 -1
  125. package/dropdown/dropdown.js +49 -25
  126. package/dropdown/dropdown.min.js +1 -1
  127. package/fieldset/Fieldset.vue +1 -1
  128. package/fieldset/fieldset.cjs.js +1 -1
  129. package/fieldset/fieldset.cjs.min.js +1 -1
  130. package/fieldset/fieldset.esm.js +1 -1
  131. package/fieldset/fieldset.esm.min.js +1 -1
  132. package/fieldset/fieldset.js +1 -1
  133. package/fieldset/fieldset.min.js +1 -1
  134. package/galleria/GalleriaItem.vue +1 -0
  135. package/galleria/GalleriaThumbnails.vue +1 -1
  136. package/galleria/galleria.cjs.js +2 -1
  137. package/galleria/galleria.cjs.min.js +1 -1
  138. package/galleria/galleria.esm.js +2 -1
  139. package/galleria/galleria.esm.min.js +1 -1
  140. package/galleria/galleria.js +2 -1
  141. package/galleria/galleria.min.js +1 -1
  142. package/icons/sortamountdown/index.cjs.js +10 -7
  143. package/icons/sortamountdown/index.cjs.min.js +1 -1
  144. package/icons/sortamountdown/index.esm.js +11 -8
  145. package/icons/sortamountdown/index.esm.min.js +1 -1
  146. package/icons/sortamountdown/index.js +10 -7
  147. package/icons/sortamountdown/index.min.js +1 -1
  148. package/icons/sortamountdown/index.vue +1 -21
  149. package/icons/sortamountupalt/index.cjs.js +10 -7
  150. package/icons/sortamountupalt/index.cjs.min.js +1 -1
  151. package/icons/sortamountupalt/index.esm.js +11 -8
  152. package/icons/sortamountupalt/index.esm.min.js +1 -1
  153. package/icons/sortamountupalt/index.js +10 -7
  154. package/icons/sortamountupalt/index.min.js +1 -1
  155. package/icons/sortamountupalt/index.vue +1 -21
  156. package/image/Image.vue +2 -6
  157. package/image/image.cjs.js +2 -5
  158. package/image/image.cjs.min.js +1 -1
  159. package/image/image.esm.js +2 -5
  160. package/image/image.esm.min.js +1 -1
  161. package/image/image.js +2 -5
  162. package/image/image.min.js +1 -1
  163. package/image/style/imagestyle.cjs.js +1 -1
  164. package/image/style/imagestyle.cjs.min.js +1 -1
  165. package/image/style/imagestyle.esm.js +1 -1
  166. package/image/style/imagestyle.esm.min.js +1 -1
  167. package/image/style/imagestyle.js +1 -1
  168. package/image/style/imagestyle.min.js +1 -1
  169. package/inputnumber/BaseInputNumber.vue +7 -0
  170. package/inputnumber/InputNumber.d.ts +7 -0
  171. package/inputnumber/InputNumber.vue +4 -3
  172. package/inputnumber/inputnumber.cjs.js +13 -3
  173. package/inputnumber/inputnumber.cjs.min.js +1 -1
  174. package/inputnumber/inputnumber.esm.js +13 -3
  175. package/inputnumber/inputnumber.esm.min.js +1 -1
  176. package/inputnumber/inputnumber.js +13 -3
  177. package/inputnumber/inputnumber.min.js +1 -1
  178. package/knob/Knob.vue +1 -1
  179. package/knob/knob.cjs.js +1 -1
  180. package/knob/knob.cjs.min.js +1 -1
  181. package/knob/knob.esm.js +1 -1
  182. package/knob/knob.esm.min.js +1 -1
  183. package/knob/knob.js +1 -1
  184. package/knob/knob.min.js +1 -1
  185. package/listbox/BaseListbox.vue +1 -1
  186. package/listbox/Listbox.d.ts +1 -1
  187. package/listbox/Listbox.vue +2 -0
  188. package/listbox/listbox.cjs.js +3 -1
  189. package/listbox/listbox.cjs.min.js +1 -1
  190. package/listbox/listbox.esm.js +3 -1
  191. package/listbox/listbox.esm.min.js +1 -1
  192. package/listbox/listbox.js +3 -1
  193. package/listbox/listbox.min.js +1 -1
  194. package/megamenu/MegaMenu.vue +2 -1
  195. package/megamenu/megamenu.cjs.js +2 -1
  196. package/megamenu/megamenu.cjs.min.js +1 -1
  197. package/megamenu/megamenu.esm.js +2 -1
  198. package/megamenu/megamenu.esm.min.js +1 -1
  199. package/megamenu/megamenu.js +2 -1
  200. package/megamenu/megamenu.min.js +1 -1
  201. package/menu/Menu.vue +1 -0
  202. package/menu/menu.cjs.js +1 -0
  203. package/menu/menu.cjs.min.js +1 -1
  204. package/menu/menu.esm.js +1 -0
  205. package/menu/menu.esm.min.js +1 -1
  206. package/menu/menu.js +1 -0
  207. package/menu/menu.min.js +1 -1
  208. package/menubar/Menubar.vue +2 -1
  209. package/menubar/menubar.cjs.js +2 -1
  210. package/menubar/menubar.cjs.min.js +1 -1
  211. package/menubar/menubar.esm.js +2 -1
  212. package/menubar/menubar.esm.min.js +1 -1
  213. package/menubar/menubar.js +2 -1
  214. package/menubar/menubar.min.js +1 -1
  215. package/menuitem/MenuItem.d.ts +0 -6
  216. package/message/style/messagestyle.cjs.js +1 -1
  217. package/message/style/messagestyle.cjs.min.js +1 -1
  218. package/message/style/messagestyle.esm.js +1 -1
  219. package/message/style/messagestyle.esm.min.js +1 -1
  220. package/message/style/messagestyle.js +1 -1
  221. package/message/style/messagestyle.min.js +1 -1
  222. package/multiselect/MultiSelect.vue +2 -0
  223. package/multiselect/multiselect.cjs.js +2 -0
  224. package/multiselect/multiselect.cjs.min.js +1 -1
  225. package/multiselect/multiselect.esm.js +2 -0
  226. package/multiselect/multiselect.esm.min.js +1 -1
  227. package/multiselect/multiselect.js +2 -0
  228. package/multiselect/multiselect.min.js +1 -1
  229. package/orderlist/BaseOrderList.vue +1 -1
  230. package/orderlist/OrderList.d.ts +1 -1
  231. package/orderlist/OrderList.vue +1 -0
  232. package/orderlist/orderlist.cjs.js +2 -1
  233. package/orderlist/orderlist.cjs.min.js +1 -1
  234. package/orderlist/orderlist.esm.js +2 -1
  235. package/orderlist/orderlist.esm.min.js +1 -1
  236. package/orderlist/orderlist.js +2 -1
  237. package/orderlist/orderlist.min.js +1 -1
  238. package/organizationchart/OrganizationChartNode.vue +1 -1
  239. package/organizationchart/organizationchart.cjs.js +1 -1
  240. package/organizationchart/organizationchart.cjs.min.js +1 -1
  241. package/organizationchart/organizationchart.esm.js +1 -1
  242. package/organizationchart/organizationchart.esm.min.js +1 -1
  243. package/organizationchart/organizationchart.js +1 -1
  244. package/organizationchart/organizationchart.min.js +1 -1
  245. package/package.json +1 -1
  246. package/paginator/Paginator.vue +4 -4
  247. package/paginator/paginator.cjs.js +2 -2
  248. package/paginator/paginator.cjs.min.js +1 -1
  249. package/paginator/paginator.esm.js +2 -2
  250. package/paginator/paginator.esm.min.js +1 -1
  251. package/paginator/paginator.js +2 -2
  252. package/paginator/paginator.min.js +1 -1
  253. package/panel/Panel.vue +1 -1
  254. package/panel/panel.cjs.js +1 -1
  255. package/panel/panel.cjs.min.js +1 -1
  256. package/panel/panel.esm.js +1 -1
  257. package/panel/panel.esm.min.js +1 -1
  258. package/panel/panel.js +1 -1
  259. package/panel/panel.min.js +1 -1
  260. package/panelmenu/PanelMenu.vue +1 -0
  261. package/panelmenu/PanelMenuList.vue +1 -0
  262. package/panelmenu/panelmenu.cjs.js +2 -0
  263. package/panelmenu/panelmenu.cjs.min.js +1 -1
  264. package/panelmenu/panelmenu.esm.js +2 -0
  265. package/panelmenu/panelmenu.esm.min.js +1 -1
  266. package/panelmenu/panelmenu.js +2 -0
  267. package/panelmenu/panelmenu.min.js +1 -1
  268. package/picklist/BasePickList.vue +1 -1
  269. package/picklist/PickList.d.ts +1 -1
  270. package/picklist/PickList.vue +2 -1
  271. package/picklist/picklist.cjs.js +3 -2
  272. package/picklist/picklist.cjs.min.js +1 -1
  273. package/picklist/picklist.esm.js +3 -2
  274. package/picklist/picklist.esm.min.js +1 -1
  275. package/picklist/picklist.js +3 -2
  276. package/picklist/picklist.min.js +1 -1
  277. package/picklist/style/pickliststyle.cjs.js +1 -1
  278. package/picklist/style/pickliststyle.cjs.min.js +1 -1
  279. package/picklist/style/pickliststyle.esm.js +1 -1
  280. package/picklist/style/pickliststyle.esm.min.js +1 -1
  281. package/picklist/style/pickliststyle.js +1 -1
  282. package/picklist/style/pickliststyle.min.js +1 -1
  283. package/resources/themes/arya-blue/theme.css +4 -4
  284. package/resources/themes/arya-green/theme.css +4 -4
  285. package/resources/themes/arya-orange/theme.css +4 -4
  286. package/resources/themes/arya-purple/theme.css +4 -4
  287. package/resources/themes/bootstrap4-dark-blue/theme.css +4 -4
  288. package/resources/themes/bootstrap4-dark-purple/theme.css +4 -4
  289. package/resources/themes/bootstrap4-light-blue/theme.css +4 -4
  290. package/resources/themes/bootstrap4-light-purple/theme.css +4 -4
  291. package/resources/themes/fluent-light/theme.css +4 -4
  292. package/resources/themes/lara-dark-amber/theme.css +4 -4
  293. package/resources/themes/lara-dark-blue/theme.css +4 -4
  294. package/resources/themes/lara-dark-cyan/theme.css +4 -4
  295. package/resources/themes/lara-dark-green/theme.css +4 -4
  296. package/resources/themes/lara-dark-indigo/theme.css +4 -4
  297. package/resources/themes/lara-dark-pink/theme.css +4 -4
  298. package/resources/themes/lara-dark-purple/theme.css +4 -4
  299. package/resources/themes/lara-dark-teal/theme.css +4 -4
  300. package/resources/themes/lara-light-amber/theme.css +4 -4
  301. package/resources/themes/lara-light-blue/theme.css +4 -4
  302. package/resources/themes/lara-light-cyan/theme.css +4 -4
  303. package/resources/themes/lara-light-green/theme.css +4 -4
  304. package/resources/themes/lara-light-indigo/theme.css +4 -4
  305. package/resources/themes/lara-light-pink/theme.css +4 -4
  306. package/resources/themes/lara-light-purple/theme.css +4 -4
  307. package/resources/themes/lara-light-teal/theme.css +44 -44
  308. package/resources/themes/luna-amber/theme.css +4 -4
  309. package/resources/themes/luna-blue/theme.css +4 -4
  310. package/resources/themes/luna-green/theme.css +4 -4
  311. package/resources/themes/luna-pink/theme.css +4 -4
  312. package/resources/themes/md-dark-deeppurple/theme.css +4 -4
  313. package/resources/themes/md-dark-indigo/theme.css +4 -4
  314. package/resources/themes/md-light-deeppurple/theme.css +4 -4
  315. package/resources/themes/md-light-indigo/theme.css +4 -4
  316. package/resources/themes/mdc-dark-deeppurple/theme.css +4 -4
  317. package/resources/themes/mdc-dark-indigo/theme.css +4 -4
  318. package/resources/themes/mdc-light-deeppurple/theme.css +4 -4
  319. package/resources/themes/mdc-light-indigo/theme.css +4 -4
  320. package/resources/themes/mira/theme.css +4 -4
  321. package/resources/themes/nano/theme.css +4 -4
  322. package/resources/themes/nova/theme.css +4 -4
  323. package/resources/themes/nova-accent/theme.css +4 -4
  324. package/resources/themes/nova-alt/theme.css +4 -4
  325. package/resources/themes/nova-vue/theme.css +4 -4
  326. package/resources/themes/rhea/theme.css +4 -4
  327. package/resources/themes/saga-blue/theme.css +4 -4
  328. package/resources/themes/saga-green/theme.css +4 -4
  329. package/resources/themes/saga-orange/theme.css +4 -4
  330. package/resources/themes/saga-purple/theme.css +4 -4
  331. package/resources/themes/soho-dark/theme.css +4 -4
  332. package/resources/themes/soho-light/theme.css +4 -4
  333. package/resources/themes/tailwind-light/theme.css +4 -4
  334. package/resources/themes/vela-blue/theme.css +4 -4
  335. package/resources/themes/vela-green/theme.css +4 -4
  336. package/resources/themes/vela-orange/theme.css +4 -4
  337. package/resources/themes/vela-purple/theme.css +4 -4
  338. package/resources/themes/viva-dark/theme.css +4 -4
  339. package/resources/themes/viva-light/theme.css +4 -4
  340. package/ripple/style/ripplestyle.cjs.js +1 -1
  341. package/ripple/style/ripplestyle.cjs.min.js +1 -1
  342. package/ripple/style/ripplestyle.esm.js +1 -1
  343. package/ripple/style/ripplestyle.esm.min.js +1 -1
  344. package/ripple/style/ripplestyle.js +1 -1
  345. package/ripple/style/ripplestyle.min.js +1 -1
  346. package/row/Row.vue +7 -0
  347. package/row/row.cjs.js +9 -0
  348. package/row/row.cjs.min.js +1 -1
  349. package/row/row.esm.js +9 -0
  350. package/row/row.esm.min.js +1 -1
  351. package/row/row.js +9 -0
  352. package/row/row.min.js +1 -1
  353. package/slider/Slider.vue +26 -19
  354. package/slider/slider.cjs.js +19 -11
  355. package/slider/slider.cjs.min.js +1 -1
  356. package/slider/slider.esm.js +19 -11
  357. package/slider/slider.esm.min.js +1 -1
  358. package/slider/slider.js +19 -11
  359. package/slider/slider.min.js +1 -1
  360. package/speeddial/SpeedDial.vue +1 -0
  361. package/speeddial/speeddial.cjs.js +1 -0
  362. package/speeddial/speeddial.cjs.min.js +1 -1
  363. package/speeddial/speeddial.esm.js +1 -0
  364. package/speeddial/speeddial.esm.min.js +1 -1
  365. package/speeddial/speeddial.js +1 -0
  366. package/speeddial/speeddial.min.js +1 -1
  367. package/steps/Steps.vue +1 -0
  368. package/steps/steps.cjs.js +1 -0
  369. package/steps/steps.cjs.min.js +1 -1
  370. package/steps/steps.esm.js +1 -0
  371. package/steps/steps.esm.min.js +1 -1
  372. package/steps/steps.js +1 -0
  373. package/steps/steps.min.js +1 -1
  374. package/tabmenu/TabMenu.vue +1 -0
  375. package/tabmenu/tabmenu.cjs.js +1 -0
  376. package/tabmenu/tabmenu.cjs.min.js +1 -1
  377. package/tabmenu/tabmenu.esm.js +1 -0
  378. package/tabmenu/tabmenu.esm.min.js +1 -1
  379. package/tabmenu/tabmenu.js +1 -0
  380. package/tabmenu/tabmenu.min.js +1 -1
  381. package/tabview/TabView.vue +1 -0
  382. package/tabview/tabview.cjs.js +1 -0
  383. package/tabview/tabview.cjs.min.js +1 -1
  384. package/tabview/tabview.esm.js +1 -0
  385. package/tabview/tabview.esm.min.js +1 -1
  386. package/tabview/tabview.js +1 -0
  387. package/tabview/tabview.min.js +1 -1
  388. package/terminal/Terminal.vue +1 -1
  389. package/terminal/terminal.cjs.js +1 -1
  390. package/terminal/terminal.cjs.min.js +1 -1
  391. package/terminal/terminal.esm.js +1 -1
  392. package/terminal/terminal.esm.min.js +1 -1
  393. package/terminal/terminal.js +1 -1
  394. package/terminal/terminal.min.js +1 -1
  395. package/tieredmenu/TieredMenu.vue +1 -0
  396. package/tieredmenu/tieredmenu.cjs.js +1 -0
  397. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  398. package/tieredmenu/tieredmenu.esm.js +1 -0
  399. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  400. package/tieredmenu/tieredmenu.js +1 -0
  401. package/tieredmenu/tieredmenu.min.js +1 -1
  402. package/tree/BaseTree.vue +1 -1
  403. package/tree/Tree.d.ts +1 -1
  404. package/tree/Tree.vue +1 -1
  405. package/tree/TreeNode.vue +1 -0
  406. package/tree/tree.cjs.js +3 -2
  407. package/tree/tree.cjs.min.js +1 -1
  408. package/tree/tree.esm.js +3 -2
  409. package/tree/tree.esm.min.js +1 -1
  410. package/tree/tree.js +3 -2
  411. package/tree/tree.min.js +1 -1
  412. package/treeselect/BaseTreeSelect.vue +1 -1
  413. package/treeselect/TreeSelect.d.ts +1 -1
  414. package/treeselect/TreeSelect.vue +1 -0
  415. package/treeselect/treeselect.cjs.js +2 -1
  416. package/treeselect/treeselect.cjs.min.js +1 -1
  417. package/treeselect/treeselect.esm.js +2 -1
  418. package/treeselect/treeselect.esm.min.js +1 -1
  419. package/treeselect/treeselect.js +2 -1
  420. package/treeselect/treeselect.min.js +1 -1
  421. package/treetable/BaseTreeTable.vue +5 -1
  422. package/treetable/HeaderCell.vue +1 -1
  423. package/treetable/TreeTable.d.ts +6 -1
  424. package/treetable/TreeTable.vue +32 -24
  425. package/treetable/TreeTableRow.vue +32 -20
  426. package/treetable/style/treetablestyle.cjs.js +1 -1
  427. package/treetable/style/treetablestyle.cjs.min.js +1 -1
  428. package/treetable/style/treetablestyle.esm.js +1 -1
  429. package/treetable/style/treetablestyle.esm.min.js +1 -1
  430. package/treetable/style/treetablestyle.js +1 -1
  431. package/treetable/style/treetablestyle.min.js +1 -1
  432. package/treetable/treetable.cjs.js +70 -43
  433. package/treetable/treetable.cjs.min.js +1 -1
  434. package/treetable/treetable.esm.js +71 -44
  435. package/treetable/treetable.esm.min.js +1 -1
  436. package/treetable/treetable.js +70 -43
  437. package/treetable/treetable.min.js +1 -1
  438. package/tristatecheckbox/TriStateCheckbox.vue +1 -1
  439. package/tristatecheckbox/tristatecheckbox.cjs.js +1 -1
  440. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  441. package/tristatecheckbox/tristatecheckbox.esm.js +1 -1
  442. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  443. package/tristatecheckbox/tristatecheckbox.js +1 -1
  444. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  445. package/utils/Utils.d.ts +9 -0
  446. package/utils/utils.cjs.js +142 -41
  447. package/utils/utils.cjs.min.js +1 -1
  448. package/utils/utils.esm.js +142 -42
  449. package/utils/utils.esm.min.js +1 -1
  450. package/utils/utils.js +142 -41
  451. package/utils/utils.min.js +1 -1
  452. package/vetur-attributes.json +4 -0
  453. package/vetur-tags.json +1 -0
  454. package/virtualscroller/VirtualScroller.vue +19 -15
  455. package/virtualscroller/style/virtualscrollerstyle.cjs.js +1 -1
  456. package/virtualscroller/style/virtualscrollerstyle.cjs.min.js +1 -1
  457. package/virtualscroller/style/virtualscrollerstyle.esm.js +1 -1
  458. package/virtualscroller/style/virtualscrollerstyle.esm.min.js +1 -1
  459. package/virtualscroller/style/virtualscrollerstyle.js +1 -1
  460. package/virtualscroller/style/virtualscrollerstyle.min.js +1 -1
  461. package/virtualscroller/virtualscroller.cjs.js +19 -15
  462. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  463. package/virtualscroller/virtualscroller.esm.js +19 -15
  464. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  465. package/virtualscroller/virtualscroller.js +19 -15
  466. package/virtualscroller/virtualscroller.min.js +1 -1
  467. package/web-types.json +11 -1
@@ -1,128 +1,78 @@
1
1
  <template>
2
2
  <tbody :ref="bodyRef" :class="cx('tbody')" role="rowgroup" :style="bodyStyle" v-bind="ptm('tbody', ptmTBodyOptions)">
3
3
  <template v-if="!empty">
4
- <template v-for="(rowData, index) of value">
5
- <tr
6
- v-if="templates['groupheader'] && rowGroupMode === 'subheader' && shouldRenderRowGroupHeader(value, rowData, getRowIndex(index))"
7
- :key="getRowKey(rowData, getRowIndex(index)) + '_subheader'"
8
- :class="cx('rowGroupHeader')"
9
- :style="rowGroupHeaderStyle"
10
- role="row"
11
- v-bind="ptm('rowGroupHeader')"
12
- >
13
- <td :colspan="columnsLength - 1" v-bind="{ ...getColumnPT('bodycell'), ...ptm('rowGroupHeaderCell') }">
14
- <button v-if="expandableRowGroups" :class="cx('rowGroupToggler')" @click="onRowGroupToggle($event, rowData)" type="button" v-bind="ptm('rowGroupToggler')">
15
- <component v-if="templates['rowgrouptogglericon']" :is="templates['rowgrouptogglericon']" :expanded="isRowGroupExpanded(rowData)" />
16
- <template v-else>
17
- <span v-if="isRowGroupExpanded(rowData) && expandedRowIcon" :class="[cx('rowGroupTogglerIcon'), expandedRowIcon]" v-bind="ptm('rowGroupTogglerIcon')" />
18
- <ChevronDownIcon v-else-if="isRowGroupExpanded(rowData) && !expandedRowIcon" :class="cx('rowGroupTogglerIcon')" v-bind="ptm('rowGroupTogglerIcon')" />
19
- <span v-else-if="!isRowGroupExpanded(rowData) && collapsedRowIcon" :class="[cx('rowGroupTogglerIcon'), collapsedRowIcon]" v-bind="ptm('rowGroupTogglerIcon')" />
20
- <ChevronRightIcon v-else-if="!isRowGroupExpanded(rowData) && !collapsedRowIcon" :class="cx('rowGroupTogglerIcon')" v-bind="ptm('rowGroupTogglerIcon')" />
21
- </template>
22
- </button>
23
- <component :is="templates['groupheader']" :data="rowData" :index="getRowIndex(index)" />
24
- </td>
25
- </tr>
26
- <tr
27
- v-if="expandableRowGroups ? isRowGroupExpanded(rowData) : true"
28
- :key="getRowKey(rowData, getRowIndex(index))"
29
- :class="getRowClass(rowData)"
30
- :style="getRowStyle(rowData)"
31
- :tabindex="setRowTabindex(index)"
32
- role="row"
33
- :aria-selected="selectionMode ? isSelected(rowData) : null"
34
- @click="onRowClick($event, rowData, getRowIndex(index))"
35
- @dblclick="onRowDblClick($event, rowData, getRowIndex(index))"
36
- @contextmenu="onRowRightClick($event, rowData, getRowIndex(index))"
37
- @touchend="onRowTouchEnd($event)"
38
- @keydown.self="onRowKeyDown($event, rowData, getRowIndex(index))"
39
- @mousedown="onRowMouseDown($event)"
40
- @dragstart="onRowDragStart($event, getRowIndex(index))"
41
- @dragover="onRowDragOver($event, getRowIndex(index))"
42
- @dragleave="onRowDragLeave($event)"
43
- @dragend="onRowDragEnd($event)"
44
- @drop="onRowDrop($event)"
45
- v-bind="getBodyRowPTOptions('bodyRow', rowData, index)"
46
- :data-p-selectable-row="selectionMode ? true : false"
47
- :data-p-highlight="selection && isSelected(rowData)"
48
- :data-p-highlight-contextmenu="contextMenuSelection && isSelectedWithContextMenu(rowData)"
49
- >
50
- <template v-for="(col, i) of columns">
51
- <DTBodyCell
52
- v-if="shouldRenderBodyCell(value, col, getRowIndex(index))"
53
- :key="columnProp(col, 'columnKey') || columnProp(col, 'field') || i"
54
- :rowData="rowData"
55
- :column="col"
56
- :rowIndex="getRowIndex(index)"
57
- :index="i"
58
- :selected="isSelected(rowData)"
59
- :frozenRow="frozenRow"
60
- :rowspan="rowGroupMode === 'rowspan' ? calculateRowGroupSize(value, col, getRowIndex(index)) : null"
61
- :editMode="editMode"
62
- :editing="editMode === 'row' && isRowEditing(rowData)"
63
- :editingMeta="editingMeta"
64
- :responsiveLayout="responsiveLayout"
65
- :virtualScrollerContentProps="virtualScrollerContentProps"
66
- :ariaControls="expandedRowId + '_' + index + '_expansion'"
67
- :name="nameAttributeSelector"
68
- :isRowExpanded="isRowExpanded(rowData)"
69
- :expandedRowIcon="expandedRowIcon"
70
- :collapsedRowIcon="collapsedRowIcon"
71
- @radio-change="onRadioChange($event)"
72
- @checkbox-change="onCheckboxChange($event)"
73
- @row-toggle="onRowToggle($event)"
74
- @cell-edit-init="onCellEditInit($event)"
75
- @cell-edit-complete="onCellEditComplete($event)"
76
- @cell-edit-cancel="onCellEditCancel($event)"
77
- @row-edit-init="onRowEditInit($event)"
78
- @row-edit-save="onRowEditSave($event)"
79
- @row-edit-cancel="onRowEditCancel($event)"
80
- @editing-meta-change="onEditingMetaChange"
81
- :unstyled="unstyled"
82
- :pt="pt"
83
- />
84
- </template>
85
- </tr>
86
- <tr
87
- v-if="templates['expansion'] && expandedRows && isRowExpanded(rowData)"
88
- :key="getRowKey(rowData, getRowIndex(index)) + '_expansion'"
89
- :id="expandedRowId + '_' + index + '_expansion'"
90
- :class="cx('rowExpansion')"
91
- role="row"
92
- v-bind="ptm('rowExpansion')"
93
- >
94
- <td :colspan="columnsLength" v-bind="{ ...getColumnPT('bodycell'), ...ptm('rowExpansionCell') }">
95
- <component :is="templates['expansion']" :data="rowData" :index="getRowIndex(index)" />
96
- </td>
97
- </tr>
98
- <tr
99
- v-if="templates['groupfooter'] && rowGroupMode === 'subheader' && shouldRenderRowGroupFooter(value, rowData, getRowIndex(index))"
100
- :key="getRowKey(rowData, getRowIndex(index)) + '_subfooter'"
101
- :class="cx('rowGroupFooter')"
102
- role="row"
103
- v-bind="ptm('rowGroupFooter')"
104
- >
105
- <td :colspan="columnsLength - 1" v-bind="{ ...getColumnPT('bodycell'), ...ptm('rowGroupFooterCell') }">
106
- <component :is="templates['groupfooter']" :data="rowData" :index="getRowIndex(index)" />
107
- </td>
108
- </tr>
4
+ <template v-for="(rowData, rowIndex) of value" :key="rowIndex">
5
+ <DTBodyRow
6
+ :rowData="rowData"
7
+ :index="rowIndex"
8
+ :value="value"
9
+ :columns="columns"
10
+ :frozenRow="frozenRow"
11
+ :empty="empty"
12
+ :first="first"
13
+ :dataKey="dataKey"
14
+ :selection="selection"
15
+ :selectionKeys="selectionKeys"
16
+ :selectionMode="selectionMode"
17
+ :contextMenu="contextMenu"
18
+ :contextMenuSelection="contextMenuSelection"
19
+ :rowGroupMode="rowGroupMode"
20
+ :groupRowsBy="groupRowsBy"
21
+ :expandableRowGroups="expandableRowGroups"
22
+ :rowClass="rowClass"
23
+ :rowStyle="rowStyle"
24
+ :editMode="editMode"
25
+ :compareSelectionBy="compareSelectionBy"
26
+ :scrollable="scrollable"
27
+ :expandedRowIcon="expandedRowIcon"
28
+ :collapsedRowIcon="collapsedRowIcon"
29
+ :expandedRows="expandedRows"
30
+ :expandedRowGroups="expandedRowGroups"
31
+ :editingRows="editingRows"
32
+ :editingRowKeys="editingRowKeys"
33
+ :templates="templates"
34
+ :responsiveLayout="responsiveLayout"
35
+ :virtualScrollerContentProps="virtualScrollerContentProps"
36
+ :isVirtualScrollerDisabled="isVirtualScrollerDisabled"
37
+ :editingMeta="editingMeta"
38
+ :rowGroupHeaderStyle="rowGroupHeaderStyle"
39
+ :expandedRowId="expandedRowId"
40
+ :nameAttributeSelector="nameAttributeSelector"
41
+ @rowgroup-toggle="$emit('rowgroup-toggle', $event)"
42
+ @row-click="$emit('row-click', $event)"
43
+ @row-dblclick="$emit('row-dblclick', $event)"
44
+ @row-rightclick="$emit('row-rightclick', $event)"
45
+ @row-touchend="$emit('row-touchend', $event)"
46
+ @row-keydown="$emit('row-keydown', $event)"
47
+ @row-mousedown="$emit('row-mousedown', $event)"
48
+ @row-dragstart="$emit('row-dragstart', $event)"
49
+ @row-dragover="$emit('row-dragover', $event)"
50
+ @row-dragleave="$emit('row-dragleave', $event)"
51
+ @row-dragend="$emit('row-dragend', $event)"
52
+ @row-drop="$emit('row-drop', $event)"
53
+ @row-toggle="$emit('row-toggle', $event)"
54
+ @radio-change="$emit('radio-change', $event)"
55
+ @checkbox-change="$emit('checkbox-change', $event)"
56
+ @cell-edit-init="$emit('cell-edit-init', $event)"
57
+ @cell-edit-complete="$emit('cell-edit-complete', $event)"
58
+ @cell-edit-cancel="$emit('cell-edit-cancel', $event)"
59
+ @row-edit-init="$emit('row-edit-init', $event)"
60
+ @row-edit-save="$emit('row-edit-save', $event)"
61
+ @row-edit-cancel="$emit('row-edit-cancel', $event)"
62
+ @editing-meta-change="$emit('editing-meta-change', $event)"
63
+ :unstyled="unstyled"
64
+ :pt="pt"
65
+ />
109
66
  </template>
110
67
  </template>
111
- <tr v-else :class="cx('emptyMessage')" role="row" v-bind="ptm('emptyMessage')">
112
- <td :colspan="columnsLength" v-bind="{ ...getColumnPT('bodycell'), ...ptm('emptyMessageCell') }">
113
- <component v-if="templates.empty" :is="templates.empty" />
114
- </td>
115
- </tr>
68
+ <DTBodyRow v-else :empty="empty" :columns="columns" :templates="templates" />
116
69
  </tbody>
117
70
  </template>
118
71
 
119
72
  <script>
120
73
  import BaseComponent from 'primevue/basecomponent';
121
- import ChevronDownIcon from 'primevue/icons/chevrondown';
122
- import ChevronRightIcon from 'primevue/icons/chevronright';
123
- import { DomHandler, ObjectUtils, UniqueComponentId } from 'primevue/utils';
124
- import { mergeProps } from 'vue';
125
- import BodyCell from './BodyCell.vue';
74
+ import { DomHandler, UniqueComponentId } from 'primevue/utils';
75
+ import BodyRow from './BodyRow.vue';
126
76
 
127
77
  export default {
128
78
  name: 'TableBody',
@@ -202,11 +152,7 @@ export default {
202
152
  default: null
203
153
  },
204
154
  expandedRows: {
205
- type: Array,
206
- default: null
207
- },
208
- expandedRowKeys: {
209
- type: null,
155
+ type: [Array, Object],
210
156
  default: null
211
157
  },
212
158
  selection: {
@@ -280,9 +226,7 @@ export default {
280
226
  },
281
227
  data() {
282
228
  return {
283
- rowGroupHeaderStyleObject: {},
284
- tabindexArray: [],
285
- isARowSelected: false
229
+ rowGroupHeaderStyleObject: {}
286
230
  };
287
231
  },
288
232
  mounted() {
@@ -304,271 +248,6 @@ export default {
304
248
  }
305
249
  },
306
250
  methods: {
307
- columnProp(col, prop) {
308
- return ObjectUtils.getVNodeProp(col, prop);
309
- },
310
- getColumnPT(key) {
311
- const columnMetaData = {
312
- parent: {
313
- instance: this,
314
- props: this.$props,
315
- state: this.$data
316
- }
317
- };
318
-
319
- return mergeProps(this.ptm(`column.${key}`, { column: columnMetaData }), this.ptm(`column.${key}`, columnMetaData), this.ptmo(this.getColumnProp({}), key, columnMetaData));
320
- },
321
- getColumnProp(column) {
322
- return column.props && column.props.pt ? column.props.pt : undefined; //@todo
323
- },
324
- getBodyRowPTOptions(key, rowdata, index) {
325
- return this.ptm(key, {
326
- context: {
327
- index,
328
- selectable: this.$parentInstance?.$parentInstance?.rowHover || this.$parentInstance?.$parentInstance?.selectionMode,
329
- selected: this.isSelected(rowdata),
330
- stripedRows: this.$parentInstance?.$parentInstance?.stripedRows || false
331
- }
332
- });
333
- },
334
- shouldRenderRowGroupHeader(value, rowData, i) {
335
- let currentRowFieldData = ObjectUtils.resolveFieldData(rowData, this.groupRowsBy);
336
- let prevRowData = value[i - 1];
337
-
338
- if (prevRowData) {
339
- let previousRowFieldData = ObjectUtils.resolveFieldData(prevRowData, this.groupRowsBy);
340
-
341
- return currentRowFieldData !== previousRowFieldData;
342
- } else {
343
- return true;
344
- }
345
- },
346
- getRowKey(rowData, index) {
347
- return this.dataKey ? ObjectUtils.resolveFieldData(rowData, this.dataKey) : this.getRowIndex(index);
348
- },
349
- getRowIndex(index) {
350
- const getItemOptions = this.getVirtualScrollerProp('getItemOptions');
351
-
352
- return getItemOptions ? getItemOptions(index).index : index;
353
- },
354
- getRowStyle(rowData) {
355
- if (this.rowStyle) {
356
- return this.rowStyle(rowData);
357
- }
358
- },
359
- getRowClass(rowData) {
360
- let rowStyleClass = [];
361
-
362
- if (this.rowClass) {
363
- let rowClassValue = this.rowClass(rowData);
364
-
365
- if (rowClassValue) {
366
- rowStyleClass.push(rowClassValue);
367
- }
368
- }
369
-
370
- return [this.cx('row', { rowData }), rowStyleClass];
371
- },
372
- shouldRenderRowGroupFooter(value, rowData, i) {
373
- if (this.expandableRowGroups && !this.isRowGroupExpanded(rowData)) {
374
- return false;
375
- } else {
376
- let currentRowFieldData = ObjectUtils.resolveFieldData(rowData, this.groupRowsBy);
377
- let nextRowData = value[i + 1];
378
-
379
- if (nextRowData) {
380
- let nextRowFieldData = ObjectUtils.resolveFieldData(nextRowData, this.groupRowsBy);
381
-
382
- return currentRowFieldData !== nextRowFieldData;
383
- } else {
384
- return true;
385
- }
386
- }
387
- },
388
- shouldRenderBodyCell(value, column, i) {
389
- if (this.rowGroupMode) {
390
- if (this.rowGroupMode === 'subheader') {
391
- return this.groupRowsBy !== this.columnProp(column, 'field');
392
- } else if (this.rowGroupMode === 'rowspan') {
393
- if (this.isGrouped(column)) {
394
- let prevRowData = value[i - 1];
395
-
396
- if (prevRowData) {
397
- let currentRowFieldData = ObjectUtils.resolveFieldData(value[i], this.columnProp(column, 'field'));
398
- let previousRowFieldData = ObjectUtils.resolveFieldData(prevRowData, this.columnProp(column, 'field'));
399
-
400
- return currentRowFieldData !== previousRowFieldData;
401
- } else {
402
- return true;
403
- }
404
- } else {
405
- return true;
406
- }
407
- }
408
- } else {
409
- return !this.columnProp(column, 'hidden');
410
- }
411
- },
412
- calculateRowGroupSize(value, column, index) {
413
- if (this.isGrouped(column)) {
414
- let currentRowFieldData = ObjectUtils.resolveFieldData(value[index], this.columnProp(column, 'field'));
415
- let nextRowFieldData = currentRowFieldData;
416
- let groupRowSpan = 0;
417
-
418
- while (currentRowFieldData === nextRowFieldData) {
419
- groupRowSpan++;
420
- let nextRowData = value[++index];
421
-
422
- if (nextRowData) {
423
- nextRowFieldData = ObjectUtils.resolveFieldData(nextRowData, this.columnProp(column, 'field'));
424
- } else {
425
- break;
426
- }
427
- }
428
-
429
- return groupRowSpan === 1 ? null : groupRowSpan;
430
- } else {
431
- return null;
432
- }
433
- },
434
- isGrouped(column) {
435
- if (this.groupRowsBy && this.columnProp(column, 'field')) {
436
- if (Array.isArray(this.groupRowsBy)) return this.groupRowsBy.indexOf(column.props.field) > -1;
437
- else return this.groupRowsBy === column.props.field;
438
- } else {
439
- return false;
440
- }
441
- },
442
- isRowEditing(rowData) {
443
- if (rowData && this.editingRows) {
444
- if (this.dataKey) return this.editingRowKeys ? this.editingRowKeys[ObjectUtils.resolveFieldData(rowData, this.dataKey)] !== undefined : false;
445
- else return this.findIndex(rowData, this.editingRows) > -1;
446
- }
447
-
448
- return false;
449
- },
450
- isRowExpanded(rowData) {
451
- if (rowData && this.expandedRows) {
452
- if (this.dataKey) return this.expandedRowKeys ? this.expandedRowKeys[ObjectUtils.resolveFieldData(rowData, this.dataKey)] !== undefined : false;
453
- else return this.findIndex(rowData, this.expandedRows) > -1;
454
- }
455
-
456
- return false;
457
- },
458
- isRowGroupExpanded(rowData) {
459
- if (this.expandableRowGroups && this.expandedRowGroups) {
460
- let groupFieldValue = ObjectUtils.resolveFieldData(rowData, this.groupRowsBy);
461
-
462
- return this.expandedRowGroups.indexOf(groupFieldValue) > -1;
463
- }
464
-
465
- return false;
466
- },
467
- isSelected(rowData) {
468
- if (rowData && this.selection) {
469
- if (this.dataKey) {
470
- return this.selectionKeys ? this.selectionKeys[ObjectUtils.resolveFieldData(rowData, this.dataKey)] !== undefined : false;
471
- } else {
472
- if (this.selection instanceof Array) return this.findIndexInSelection(rowData) > -1;
473
- else return this.equals(rowData, this.selection);
474
- }
475
- }
476
-
477
- return false;
478
- },
479
- isSelectedWithContextMenu(rowData) {
480
- if (rowData && this.contextMenuSelection) {
481
- return this.equals(rowData, this.contextMenuSelection, this.dataKey);
482
- }
483
-
484
- return false;
485
- },
486
- findIndexInSelection(rowData) {
487
- return this.findIndex(rowData, this.selection);
488
- },
489
- findIndex(rowData, collection) {
490
- let index = -1;
491
-
492
- if (collection && collection.length) {
493
- for (let i = 0; i < collection.length; i++) {
494
- if (this.equals(rowData, collection[i])) {
495
- index = i;
496
- break;
497
- }
498
- }
499
- }
500
-
501
- return index;
502
- },
503
- equals(data1, data2) {
504
- return this.compareSelectionBy === 'equals' ? data1 === data2 : ObjectUtils.equals(data1, data2, this.dataKey);
505
- },
506
- onRowGroupToggle(event, data) {
507
- this.$emit('rowgroup-toggle', { originalEvent: event, data: data });
508
- },
509
- onRowClick(event, rowData, rowIndex) {
510
- this.$emit('row-click', { originalEvent: event, data: rowData, index: rowIndex });
511
- },
512
- onRowDblClick(event, rowData, rowIndex) {
513
- this.$emit('row-dblclick', { originalEvent: event, data: rowData, index: rowIndex });
514
- },
515
- onRowRightClick(event, rowData, rowIndex) {
516
- this.$emit('row-rightclick', { originalEvent: event, data: rowData, index: rowIndex });
517
- },
518
- onRowTouchEnd(event) {
519
- this.$emit('row-touchend', event);
520
- },
521
- onRowKeyDown(event, rowData, rowIndex) {
522
- this.$emit('row-keydown', { originalEvent: event, data: rowData, index: rowIndex });
523
- },
524
- onRowMouseDown(event) {
525
- this.$emit('row-mousedown', event);
526
- },
527
- onRowDragStart(event, rowIndex) {
528
- this.$emit('row-dragstart', { originalEvent: event, index: rowIndex });
529
- },
530
- onRowDragOver(event, rowIndex) {
531
- this.$emit('row-dragover', { originalEvent: event, index: rowIndex });
532
- },
533
- onRowDragLeave(event) {
534
- this.$emit('row-dragleave', event);
535
- },
536
- onRowDragEnd(event) {
537
- this.$emit('row-dragend', event);
538
- },
539
- onRowDrop(event) {
540
- this.$emit('row-drop', event);
541
- },
542
- onRowToggle(event) {
543
- this.$emit('row-toggle', event);
544
- },
545
- onRadioChange(event) {
546
- this.$emit('radio-change', event);
547
- },
548
- onCheckboxChange(event) {
549
- this.$emit('checkbox-change', event);
550
- },
551
- onCellEditInit(event) {
552
- this.$emit('cell-edit-init', event);
553
- },
554
- onCellEditComplete(event) {
555
- this.$emit('cell-edit-complete', event);
556
- },
557
- onCellEditCancel(event) {
558
- this.$emit('cell-edit-cancel', event);
559
- },
560
- onRowEditInit(event) {
561
- this.$emit('row-edit-init', event);
562
- },
563
- onRowEditSave(event) {
564
- this.$emit('row-edit-save', event);
565
- },
566
- onRowEditCancel(event) {
567
- this.$emit('row-edit-cancel', event);
568
- },
569
- onEditingMetaChange(event) {
570
- this.$emit('editing-meta-change', event);
571
- },
572
251
  updateFrozenRowStickyPosition() {
573
252
  this.$el.style.top = DomHandler.getOuterHeight(this.$el.previousElementSibling) + 'px';
574
253
  },
@@ -587,26 +266,9 @@ export default {
587
266
  const contentRef = this.getVirtualScrollerProp('contentRef');
588
267
 
589
268
  contentRef && contentRef(el);
590
- },
591
- setRowTabindex(index) {
592
- if (this.selection === null && (this.selectionMode === 'single' || this.selectionMode === 'multiple')) {
593
- return index === 0 ? 0 : -1;
594
- }
595
-
596
- return -1;
597
269
  }
598
270
  },
599
271
  computed: {
600
- columnsLength() {
601
- let hiddenColLength = 0;
602
-
603
- this.columns.forEach((column) => {
604
- if (this.columnProp(column, 'selectionMode') === 'single') hiddenColLength--;
605
- if (this.columnProp(column, 'hidden')) hiddenColLength++;
606
- });
607
-
608
- return this.columns ? this.columns.length - hiddenColLength : 0;
609
- },
610
272
  rowGroupHeaderStyle() {
611
273
  if (this.scrollable) {
612
274
  return { top: this.rowGroupHeaderStyleObject.top };
@@ -617,24 +279,22 @@ export default {
617
279
  bodyStyle() {
618
280
  return this.getVirtualScrollerProp('contentStyle');
619
281
  },
620
- expandedRowId() {
621
- return UniqueComponentId();
622
- },
623
- nameAttributeSelector() {
624
- return UniqueComponentId();
625
- },
626
282
  ptmTBodyOptions() {
627
283
  return {
628
284
  context: {
629
285
  scrollable: this.$parentInstance?.$parentInstance?.scrollable
630
286
  }
631
287
  };
288
+ },
289
+ expandedRowId() {
290
+ return UniqueComponentId();
291
+ },
292
+ nameAttributeSelector() {
293
+ return UniqueComponentId();
632
294
  }
633
295
  },
634
296
  components: {
635
- DTBodyCell: BodyCell,
636
- ChevronDownIcon: ChevronDownIcon,
637
- ChevronRightIcon: ChevronRightIcon
297
+ DTBodyRow: BodyRow
638
298
  }
639
299
  };
640
300
  </script>
@@ -17,7 +17,7 @@
17
17
 
18
18
  <script>
19
19
  import BaseComponent from 'primevue/basecomponent';
20
- import { ObjectUtils } from 'primevue/utils';
20
+ import { HelperSet, ObjectUtils } from 'primevue/utils';
21
21
  import { mergeProps } from 'vue';
22
22
  import FooterCell from './FooterCell.vue';
23
23
 
@@ -35,6 +35,22 @@ export default {
35
35
  default: null
36
36
  }
37
37
  },
38
+ provide() {
39
+ return {
40
+ $rows: this.d_footerRows,
41
+ $columns: this.d_footerColumns
42
+ };
43
+ },
44
+ data() {
45
+ return {
46
+ d_footerRows: new HelperSet({ type: 'Row' }),
47
+ d_footerColumns: new HelperSet({ type: 'Column' })
48
+ };
49
+ },
50
+ beforeUnmount() {
51
+ this.d_footerRows.clear();
52
+ this.d_footerColumns.clear();
53
+ },
38
54
  methods: {
39
55
  columnProp(col, prop) {
40
56
  return ObjectUtils.getVNodeProp(col, prop);
@@ -77,33 +93,10 @@ export default {
77
93
  return row.props && row.props.pt ? row.props.pt : undefined; //@todo
78
94
  },
79
95
  getFooterRows() {
80
- let rows = [];
81
-
82
- let columnGroup = this.columnGroup;
83
-
84
- if (columnGroup.children && columnGroup.children.default) {
85
- for (let child of columnGroup.children.default()) {
86
- if (child.type.name === 'Row') {
87
- rows.push(child);
88
- } else if (child.children && child.children instanceof Array) {
89
- rows = child.children;
90
- }
91
- }
92
-
93
- return rows;
94
- }
96
+ return this.d_footerRows?.get(this.columnGroup, this.columnGroup.children);
95
97
  },
96
98
  getFooterColumns(row) {
97
- let cols = [];
98
-
99
- if (row.children && row.children.default) {
100
- row.children.default().forEach((child) => {
101
- if (child.children && child.children instanceof Array) cols = [...cols, ...child.children];
102
- else if (child.type.name === 'Column') cols.push(child);
103
- });
104
-
105
- return cols;
106
- }
99
+ return this.d_footerColumns?.get(row, row.children);
107
100
  }
108
101
  },
109
102
  computed: {