primevue 3.20.0 → 3.22.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 (593) hide show
  1. package/README.md +3 -15
  2. package/accordion/accordion.cjs.js +1 -1
  3. package/accordion/accordion.cjs.min.js +1 -1
  4. package/accordion/accordion.esm.js +1 -1
  5. package/accordion/accordion.esm.min.js +1 -1
  6. package/accordion/accordion.js +1 -1
  7. package/accordion/accordion.min.js +1 -1
  8. package/autocomplete/AutoComplete.d.ts +9 -1
  9. package/autocomplete/AutoComplete.vue +41 -22
  10. package/autocomplete/autocomplete.cjs.js +53 -25
  11. package/autocomplete/autocomplete.cjs.min.js +1 -1
  12. package/autocomplete/autocomplete.esm.js +53 -25
  13. package/autocomplete/autocomplete.esm.min.js +1 -1
  14. package/autocomplete/autocomplete.js +53 -25
  15. package/autocomplete/autocomplete.min.js +1 -1
  16. package/avatar/avatar.cjs.js +1 -1
  17. package/avatar/avatar.cjs.min.js +1 -1
  18. package/avatar/avatar.esm.js +1 -1
  19. package/avatar/avatar.esm.min.js +1 -1
  20. package/avatar/avatar.js +1 -1
  21. package/avatar/avatar.min.js +1 -1
  22. package/avatargroup/avatargroup.cjs.js +1 -1
  23. package/avatargroup/avatargroup.cjs.min.js +1 -1
  24. package/avatargroup/avatargroup.esm.js +1 -1
  25. package/avatargroup/avatargroup.esm.min.js +1 -1
  26. package/avatargroup/avatargroup.js +1 -1
  27. package/avatargroup/avatargroup.min.js +1 -1
  28. package/badgedirective/badgedirective.cjs.js +1 -1
  29. package/badgedirective/badgedirective.cjs.min.js +1 -1
  30. package/badgedirective/badgedirective.esm.js +1 -1
  31. package/badgedirective/badgedirective.esm.min.js +1 -1
  32. package/badgedirective/badgedirective.js +1 -1
  33. package/badgedirective/badgedirective.min.js +1 -1
  34. package/breadcrumb/Breadcrumb.vue +1 -1
  35. package/breadcrumb/breadcrumb.cjs.js +2 -3
  36. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  37. package/breadcrumb/breadcrumb.esm.js +2 -3
  38. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  39. package/breadcrumb/breadcrumb.js +2 -3
  40. package/breadcrumb/breadcrumb.min.js +1 -1
  41. package/calendar/Calendar.d.ts +1 -1
  42. package/calendar/Calendar.vue +3 -2
  43. package/calendar/calendar.cjs.js +4 -3
  44. package/calendar/calendar.cjs.min.js +1 -1
  45. package/calendar/calendar.esm.js +4 -3
  46. package/calendar/calendar.esm.min.js +1 -1
  47. package/calendar/calendar.js +4 -3
  48. package/calendar/calendar.min.js +1 -1
  49. package/carousel/Carousel.d.ts +9 -1
  50. package/carousel/Carousel.vue +144 -19
  51. package/carousel/carousel.cjs.js +159 -45
  52. package/carousel/carousel.cjs.min.js +1 -1
  53. package/carousel/carousel.esm.js +160 -46
  54. package/carousel/carousel.esm.min.js +1 -1
  55. package/carousel/carousel.js +160 -46
  56. package/carousel/carousel.min.js +1 -1
  57. package/cascadeselect/CascadeSelect.vue +9 -4
  58. package/cascadeselect/cascadeselect.cjs.js +9 -4
  59. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  60. package/cascadeselect/cascadeselect.esm.js +9 -4
  61. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  62. package/cascadeselect/cascadeselect.js +9 -4
  63. package/cascadeselect/cascadeselect.min.js +1 -1
  64. package/chart/Chart.d.ts +5 -0
  65. package/chart/Chart.vue +5 -1
  66. package/chart/chart.cjs.js +6 -2
  67. package/chart/chart.cjs.min.js +1 -1
  68. package/chart/chart.esm.js +7 -3
  69. package/chart/chart.esm.min.js +1 -1
  70. package/chart/chart.js +6 -2
  71. package/chart/chart.min.js +1 -1
  72. package/checkbox/Checkbox.vue +1 -3
  73. package/checkbox/checkbox.cjs.js +3 -4
  74. package/checkbox/checkbox.cjs.min.js +1 -1
  75. package/checkbox/checkbox.esm.js +4 -5
  76. package/checkbox/checkbox.esm.min.js +1 -1
  77. package/checkbox/checkbox.js +3 -4
  78. package/checkbox/checkbox.min.js +1 -1
  79. package/chip/chip.cjs.js +1 -1
  80. package/chip/chip.cjs.min.js +1 -1
  81. package/chip/chip.esm.js +1 -1
  82. package/chip/chip.esm.min.js +1 -1
  83. package/chip/chip.js +1 -1
  84. package/chip/chip.min.js +1 -1
  85. package/chips/chips.cjs.js +1 -1
  86. package/chips/chips.cjs.min.js +1 -1
  87. package/chips/chips.esm.js +1 -1
  88. package/chips/chips.esm.min.js +1 -1
  89. package/chips/chips.js +1 -1
  90. package/chips/chips.min.js +1 -1
  91. package/colorpicker/ColorPicker.vue +5 -7
  92. package/colorpicker/colorpicker.cjs.js +5 -7
  93. package/colorpicker/colorpicker.cjs.min.js +1 -1
  94. package/colorpicker/colorpicker.esm.js +5 -7
  95. package/colorpicker/colorpicker.esm.min.js +1 -1
  96. package/colorpicker/colorpicker.js +6 -8
  97. package/colorpicker/colorpicker.min.js +1 -1
  98. package/config/PrimeVue.d.ts +37 -0
  99. package/config/config.cjs.js +38 -1
  100. package/config/config.cjs.min.js +1 -1
  101. package/config/config.esm.js +38 -1
  102. package/config/config.esm.min.js +1 -1
  103. package/config/config.js +38 -1
  104. package/config/config.min.js +1 -1
  105. package/confirmationservice/ConfirmationService.d.ts +1 -1
  106. package/confirmdialog/ConfirmDialog.vue +1 -1
  107. package/confirmdialog/confirmdialog.cjs.js +6 -3
  108. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  109. package/confirmdialog/confirmdialog.esm.js +7 -4
  110. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  111. package/confirmdialog/confirmdialog.js +6 -3
  112. package/confirmdialog/confirmdialog.min.js +1 -1
  113. package/confirmpopup/ConfirmPopup.vue +11 -10
  114. package/confirmpopup/confirmpopup.cjs.js +15 -13
  115. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  116. package/confirmpopup/confirmpopup.esm.js +15 -13
  117. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  118. package/confirmpopup/confirmpopup.js +15 -13
  119. package/confirmpopup/confirmpopup.min.js +1 -1
  120. package/contextmenu/ContextMenuSub.vue +3 -5
  121. package/contextmenu/contextmenu.cjs.js +4 -6
  122. package/contextmenu/contextmenu.cjs.min.js +1 -1
  123. package/contextmenu/contextmenu.esm.js +4 -6
  124. package/contextmenu/contextmenu.esm.min.js +1 -1
  125. package/contextmenu/contextmenu.js +4 -6
  126. package/contextmenu/contextmenu.min.js +1 -1
  127. package/core/core.js +537 -261
  128. package/core/core.min.js +13 -13
  129. package/datatable/BodyCell.vue +39 -14
  130. package/datatable/ColumnFilter.vue +67 -41
  131. package/datatable/DataTable.d.ts +11 -3
  132. package/datatable/DataTable.vue +162 -25
  133. package/datatable/HeaderCell.vue +12 -6
  134. package/datatable/HeaderCheckbox.vue +17 -14
  135. package/datatable/RowCheckbox.vue +28 -13
  136. package/datatable/RowRadioButton.vue +11 -3
  137. package/datatable/TableBody.vue +25 -7
  138. package/datatable/TableFooter.vue +1 -1
  139. package/datatable/TableHeader.vue +9 -3
  140. package/datatable/TableLoadingBody.vue +1 -1
  141. package/datatable/datatable.cjs.js +540 -269
  142. package/datatable/datatable.cjs.min.js +1 -1
  143. package/datatable/datatable.esm.js +539 -269
  144. package/datatable/datatable.esm.min.js +1 -1
  145. package/datatable/datatable.js +539 -269
  146. package/datatable/datatable.min.js +1 -1
  147. package/dataviewlayoutoptions/DataViewLayoutOptions.vue +23 -3
  148. package/dataviewlayoutoptions/dataviewlayoutoptions.cjs.js +40 -11
  149. package/dataviewlayoutoptions/dataviewlayoutoptions.cjs.min.js +1 -1
  150. package/dataviewlayoutoptions/dataviewlayoutoptions.esm.js +40 -11
  151. package/dataviewlayoutoptions/dataviewlayoutoptions.esm.min.js +1 -1
  152. package/dataviewlayoutoptions/dataviewlayoutoptions.js +40 -11
  153. package/dataviewlayoutoptions/dataviewlayoutoptions.min.js +1 -1
  154. package/dialog/Dialog.vue +12 -7
  155. package/dialog/dialog.cjs.js +15 -10
  156. package/dialog/dialog.cjs.min.js +1 -1
  157. package/dialog/dialog.esm.js +15 -10
  158. package/dialog/dialog.esm.min.js +1 -1
  159. package/dialog/dialog.js +15 -10
  160. package/dialog/dialog.min.js +1 -1
  161. package/divider/divider.cjs.js +1 -1
  162. package/divider/divider.cjs.min.js +1 -1
  163. package/divider/divider.esm.js +1 -1
  164. package/divider/divider.esm.min.js +1 -1
  165. package/divider/divider.js +1 -1
  166. package/divider/divider.min.js +1 -1
  167. package/dock/dock.cjs.js +1 -1
  168. package/dock/dock.cjs.min.js +1 -1
  169. package/dock/dock.esm.js +1 -1
  170. package/dock/dock.esm.min.js +1 -1
  171. package/dock/dock.js +1 -1
  172. package/dock/dock.min.js +1 -1
  173. package/dropdown/Dropdown.vue +24 -16
  174. package/dropdown/dropdown.cjs.js +25 -17
  175. package/dropdown/dropdown.cjs.min.js +1 -1
  176. package/dropdown/dropdown.esm.js +25 -17
  177. package/dropdown/dropdown.esm.min.js +1 -1
  178. package/dropdown/dropdown.js +25 -17
  179. package/dropdown/dropdown.min.js +1 -1
  180. package/editor/Editor.vue +7 -1
  181. package/editor/editor.cjs.js +35 -6
  182. package/editor/editor.cjs.min.js +1 -1
  183. package/editor/editor.esm.js +35 -6
  184. package/editor/editor.esm.min.js +1 -1
  185. package/editor/editor.js +35 -6
  186. package/editor/editor.min.js +1 -1
  187. package/fieldset/Fieldset.vue +1 -1
  188. package/fieldset/fieldset.cjs.js +2 -2
  189. package/fieldset/fieldset.cjs.min.js +1 -1
  190. package/fieldset/fieldset.esm.js +2 -2
  191. package/fieldset/fieldset.esm.min.js +1 -1
  192. package/fieldset/fieldset.js +3 -3
  193. package/fieldset/fieldset.min.js +1 -1
  194. package/fileupload/FileUpload.d.ts +51 -1
  195. package/fileupload/FileUpload.vue +2 -2
  196. package/fileupload/fileupload.cjs.js +3 -3
  197. package/fileupload/fileupload.cjs.min.js +1 -1
  198. package/fileupload/fileupload.esm.js +3 -3
  199. package/fileupload/fileupload.esm.min.js +1 -1
  200. package/fileupload/fileupload.js +3 -3
  201. package/fileupload/fileupload.min.js +1 -1
  202. package/focustrap/focustrap.cjs.js +86 -64
  203. package/focustrap/focustrap.cjs.min.js +1 -1
  204. package/focustrap/focustrap.esm.js +85 -63
  205. package/focustrap/focustrap.esm.min.js +1 -1
  206. package/focustrap/focustrap.js +86 -64
  207. package/focustrap/focustrap.min.js +1 -1
  208. package/galleria/Galleria.d.ts +15 -3
  209. package/galleria/Galleria.vue +36 -6
  210. package/galleria/GalleriaContent.vue +11 -7
  211. package/galleria/GalleriaItem.vue +36 -6
  212. package/galleria/GalleriaThumbnails.vue +108 -4
  213. package/galleria/galleria.cjs.js +259 -123
  214. package/galleria/galleria.cjs.min.js +1 -1
  215. package/galleria/galleria.esm.js +258 -123
  216. package/galleria/galleria.esm.min.js +1 -1
  217. package/galleria/galleria.js +259 -124
  218. package/galleria/galleria.min.js +1 -1
  219. package/image/Image.vue +71 -13
  220. package/image/image.cjs.js +113 -40
  221. package/image/image.cjs.min.js +1 -1
  222. package/image/image.esm.js +113 -41
  223. package/image/image.esm.min.js +1 -1
  224. package/image/image.js +113 -41
  225. package/image/image.min.js +1 -1
  226. package/inlinemessage/inlinemessage.cjs.js +1 -1
  227. package/inlinemessage/inlinemessage.cjs.min.js +1 -1
  228. package/inlinemessage/inlinemessage.esm.js +1 -1
  229. package/inlinemessage/inlinemessage.esm.min.js +1 -1
  230. package/inlinemessage/inlinemessage.js +1 -1
  231. package/inlinemessage/inlinemessage.min.js +1 -1
  232. package/inplace/inplace.cjs.js +1 -1
  233. package/inplace/inplace.cjs.min.js +1 -1
  234. package/inplace/inplace.esm.js +1 -1
  235. package/inplace/inplace.esm.min.js +1 -1
  236. package/inplace/inplace.js +1 -1
  237. package/inplace/inplace.min.js +1 -1
  238. package/inputnumber/InputNumber.vue +11 -20
  239. package/inputnumber/inputnumber.cjs.js +12 -21
  240. package/inputnumber/inputnumber.cjs.min.js +1 -1
  241. package/inputnumber/inputnumber.esm.js +12 -21
  242. package/inputnumber/inputnumber.esm.min.js +1 -1
  243. package/inputnumber/inputnumber.js +12 -21
  244. package/inputnumber/inputnumber.min.js +1 -1
  245. package/knob/knob.cjs.js +1 -1
  246. package/knob/knob.cjs.min.js +1 -1
  247. package/knob/knob.esm.js +1 -1
  248. package/knob/knob.esm.min.js +1 -1
  249. package/knob/knob.js +1 -1
  250. package/knob/knob.min.js +1 -1
  251. package/listbox/Listbox.vue +12 -8
  252. package/listbox/listbox.cjs.js +13 -9
  253. package/listbox/listbox.cjs.min.js +1 -1
  254. package/listbox/listbox.esm.js +13 -9
  255. package/listbox/listbox.esm.min.js +1 -1
  256. package/listbox/listbox.js +14 -10
  257. package/listbox/listbox.min.js +1 -1
  258. package/megamenu/MegaMenu.vue +10 -1
  259. package/megamenu/MegaMenuSub.vue +3 -5
  260. package/megamenu/megamenu.cjs.js +14 -7
  261. package/megamenu/megamenu.cjs.min.js +1 -1
  262. package/megamenu/megamenu.esm.js +14 -7
  263. package/megamenu/megamenu.esm.min.js +1 -1
  264. package/megamenu/megamenu.js +14 -7
  265. package/megamenu/megamenu.min.js +1 -1
  266. package/menu/Menu.vue +8 -2
  267. package/menu/menu.cjs.js +9 -3
  268. package/menu/menu.cjs.min.js +1 -1
  269. package/menu/menu.esm.js +9 -3
  270. package/menu/menu.esm.min.js +1 -1
  271. package/menu/menu.js +9 -3
  272. package/menu/menu.min.js +1 -1
  273. package/menubar/Menubar.vue +7 -2
  274. package/menubar/MenubarSub.vue +3 -5
  275. package/menubar/menubar.cjs.js +11 -8
  276. package/menubar/menubar.cjs.min.js +1 -1
  277. package/menubar/menubar.esm.js +11 -8
  278. package/menubar/menubar.esm.min.js +1 -1
  279. package/menubar/menubar.js +11 -8
  280. package/menubar/menubar.min.js +1 -1
  281. package/message/Message.d.ts +5 -1
  282. package/message/Message.vue +15 -5
  283. package/message/message.cjs.js +24 -10
  284. package/message/message.cjs.min.js +1 -1
  285. package/message/message.esm.js +25 -11
  286. package/message/message.esm.min.js +1 -1
  287. package/message/message.js +24 -10
  288. package/message/message.min.js +1 -1
  289. package/multiselect/MultiSelect.vue +53 -36
  290. package/multiselect/multiselect.cjs.js +54 -37
  291. package/multiselect/multiselect.cjs.min.js +1 -1
  292. package/multiselect/multiselect.esm.js +55 -38
  293. package/multiselect/multiselect.esm.min.js +1 -1
  294. package/multiselect/multiselect.js +54 -37
  295. package/multiselect/multiselect.min.js +1 -1
  296. package/orderlist/OrderList.d.ts +33 -1
  297. package/orderlist/OrderList.vue +265 -63
  298. package/orderlist/orderlist.cjs.js +280 -70
  299. package/orderlist/orderlist.cjs.min.js +1 -1
  300. package/orderlist/orderlist.esm.js +281 -71
  301. package/orderlist/orderlist.esm.min.js +1 -1
  302. package/orderlist/orderlist.js +281 -71
  303. package/orderlist/orderlist.min.js +1 -1
  304. package/organizationchart/OrganizationChartNode.vue +7 -1
  305. package/organizationchart/organizationchart.cjs.js +8 -2
  306. package/organizationchart/organizationchart.cjs.min.js +1 -1
  307. package/organizationchart/organizationchart.esm.js +9 -3
  308. package/organizationchart/organizationchart.esm.min.js +1 -1
  309. package/organizationchart/organizationchart.js +8 -2
  310. package/organizationchart/organizationchart.min.js +1 -1
  311. package/overlaypanel/overlaypanel.cjs.js +1 -1
  312. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  313. package/overlaypanel/overlaypanel.esm.js +1 -1
  314. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  315. package/overlaypanel/overlaypanel.js +1 -1
  316. package/overlaypanel/overlaypanel.min.js +1 -1
  317. package/package.json +2 -2
  318. package/paginator/CurrentPageReport.vue +0 -1
  319. package/paginator/JumpToPageDropdown.vue +0 -1
  320. package/paginator/JumpToPageInput.vue +19 -4
  321. package/paginator/PageLinks.vue +16 -1
  322. package/paginator/Paginator.vue +24 -11
  323. package/paginator/RowsPerPageDropdown.vue +0 -1
  324. package/paginator/paginator.cjs.js +51 -20
  325. package/paginator/paginator.cjs.min.js +1 -1
  326. package/paginator/paginator.esm.js +51 -20
  327. package/paginator/paginator.esm.min.js +1 -1
  328. package/paginator/paginator.js +51 -20
  329. package/paginator/paginator.min.js +1 -1
  330. package/panel/Panel.vue +2 -2
  331. package/panel/panel.cjs.js +3 -3
  332. package/panel/panel.cjs.min.js +1 -1
  333. package/panel/panel.esm.js +3 -3
  334. package/panel/panel.esm.min.js +1 -1
  335. package/panel/panel.js +4 -4
  336. package/panel/panel.min.js +1 -1
  337. package/panelmenu/PanelMenu.vue +4 -4
  338. package/panelmenu/PanelMenuList.vue +57 -0
  339. package/panelmenu/PanelMenuSub.vue +3 -5
  340. package/panelmenu/panelmenu.cjs.js +78 -10
  341. package/panelmenu/panelmenu.cjs.min.js +1 -1
  342. package/panelmenu/panelmenu.esm.js +78 -10
  343. package/panelmenu/panelmenu.esm.min.js +1 -1
  344. package/panelmenu/panelmenu.js +78 -10
  345. package/panelmenu/panelmenu.min.js +1 -1
  346. package/password/Password.vue +5 -0
  347. package/password/password.cjs.js +1 -1
  348. package/password/password.cjs.min.js +1 -1
  349. package/password/password.esm.js +1 -1
  350. package/password/password.esm.min.js +1 -1
  351. package/password/password.js +1 -1
  352. package/password/password.min.js +1 -1
  353. package/picklist/PickList.d.ts +45 -1
  354. package/picklist/PickList.vue +305 -58
  355. package/picklist/picklist.cjs.js +350 -89
  356. package/picklist/picklist.cjs.min.js +1 -1
  357. package/picklist/picklist.esm.js +351 -90
  358. package/picklist/picklist.esm.min.js +1 -1
  359. package/picklist/picklist.js +351 -90
  360. package/picklist/picklist.min.js +1 -1
  361. package/progressbar/progressbar.cjs.js +1 -1
  362. package/progressbar/progressbar.cjs.min.js +1 -1
  363. package/progressbar/progressbar.esm.js +1 -1
  364. package/progressbar/progressbar.esm.min.js +1 -1
  365. package/progressbar/progressbar.js +1 -1
  366. package/progressbar/progressbar.min.js +1 -1
  367. package/progressspinner/ProgressSpinner.vue +0 -47
  368. package/progressspinner/progressspinner.cjs.js +1 -1
  369. package/progressspinner/progressspinner.cjs.min.js +1 -1
  370. package/progressspinner/progressspinner.esm.js +1 -1
  371. package/progressspinner/progressspinner.esm.min.js +1 -1
  372. package/progressspinner/progressspinner.js +1 -1
  373. package/progressspinner/progressspinner.min.js +1 -1
  374. package/rating/Rating.d.ts +1 -0
  375. package/rating/rating.cjs.js +1 -1
  376. package/rating/rating.cjs.min.js +1 -1
  377. package/rating/rating.esm.js +1 -1
  378. package/rating/rating.esm.min.js +1 -1
  379. package/rating/rating.js +1 -1
  380. package/rating/rating.min.js +1 -1
  381. package/resources/primevue.css +2 -6
  382. package/resources/primevue.min.css +1 -1
  383. package/resources/themes/arya-blue/theme.css +77 -14
  384. package/resources/themes/arya-green/theme.css +77 -14
  385. package/resources/themes/arya-orange/theme.css +77 -14
  386. package/resources/themes/arya-purple/theme.css +77 -14
  387. package/resources/themes/bootstrap4-dark-blue/theme.css +77 -14
  388. package/resources/themes/bootstrap4-dark-purple/theme.css +77 -14
  389. package/resources/themes/bootstrap4-light-blue/theme.css +77 -14
  390. package/resources/themes/bootstrap4-light-purple/theme.css +77 -14
  391. package/resources/themes/fluent-light/theme.css +77 -14
  392. package/resources/themes/lara-dark-blue/theme.css +81 -14
  393. package/resources/themes/lara-dark-indigo/theme.css +81 -14
  394. package/resources/themes/lara-dark-purple/theme.css +81 -14
  395. package/resources/themes/lara-dark-teal/theme.css +81 -14
  396. package/resources/themes/lara-light-blue/theme.css +81 -14
  397. package/resources/themes/lara-light-indigo/theme.css +81 -14
  398. package/resources/themes/lara-light-purple/theme.css +81 -14
  399. package/resources/themes/lara-light-teal/theme.css +81 -14
  400. package/resources/themes/luna-amber/theme.css +77 -14
  401. package/resources/themes/luna-blue/theme.css +77 -14
  402. package/resources/themes/luna-green/theme.css +77 -14
  403. package/resources/themes/luna-pink/theme.css +77 -14
  404. package/resources/themes/md-dark-deeppurple/theme.css +101 -20
  405. package/resources/themes/md-dark-indigo/theme.css +101 -20
  406. package/resources/themes/md-light-deeppurple/theme.css +101 -20
  407. package/resources/themes/md-light-indigo/theme.css +101 -20
  408. package/resources/themes/mdc-dark-deeppurple/theme.css +101 -20
  409. package/resources/themes/mdc-dark-indigo/theme.css +101 -20
  410. package/resources/themes/mdc-light-deeppurple/theme.css +101 -20
  411. package/resources/themes/mdc-light-indigo/theme.css +101 -20
  412. package/resources/themes/nova/theme.css +77 -14
  413. package/resources/themes/nova-accent/theme.css +77 -14
  414. package/resources/themes/nova-alt/theme.css +77 -14
  415. package/resources/themes/nova-vue/theme.css +77 -14
  416. package/resources/themes/rhea/theme.css +77 -14
  417. package/resources/themes/saga-blue/theme.css +77 -14
  418. package/resources/themes/saga-green/theme.css +77 -14
  419. package/resources/themes/saga-orange/theme.css +77 -14
  420. package/resources/themes/saga-purple/theme.css +77 -14
  421. package/resources/themes/tailwind-light/theme.css +81 -14
  422. package/resources/themes/vela-blue/theme.css +77 -14
  423. package/resources/themes/vela-green/theme.css +77 -14
  424. package/resources/themes/vela-orange/theme.css +77 -14
  425. package/resources/themes/vela-purple/theme.css +77 -14
  426. package/scrollpanel/scrollpanel.cjs.js +1 -1
  427. package/scrollpanel/scrollpanel.cjs.min.js +1 -1
  428. package/scrollpanel/scrollpanel.esm.js +1 -1
  429. package/scrollpanel/scrollpanel.esm.min.js +1 -1
  430. package/scrollpanel/scrollpanel.js +1 -1
  431. package/scrollpanel/scrollpanel.min.js +1 -1
  432. package/scrolltop/scrolltop.cjs.js +1 -1
  433. package/scrolltop/scrolltop.cjs.min.js +1 -1
  434. package/scrolltop/scrolltop.esm.js +1 -1
  435. package/scrolltop/scrolltop.esm.min.js +1 -1
  436. package/scrolltop/scrolltop.js +1 -1
  437. package/scrolltop/scrolltop.min.js +1 -1
  438. package/selectbutton/SelectButton.vue +1 -1
  439. package/selectbutton/selectbutton.cjs.js +1 -1
  440. package/selectbutton/selectbutton.cjs.min.js +1 -1
  441. package/selectbutton/selectbutton.esm.js +1 -1
  442. package/selectbutton/selectbutton.esm.min.js +1 -1
  443. package/selectbutton/selectbutton.js +2 -2
  444. package/selectbutton/selectbutton.min.js +1 -1
  445. package/sidebar/Sidebar.d.ts +4 -0
  446. package/sidebar/Sidebar.vue +210 -142
  447. package/sidebar/sidebar.cjs.js +146 -121
  448. package/sidebar/sidebar.cjs.min.js +1 -1
  449. package/sidebar/sidebar.esm.js +147 -122
  450. package/sidebar/sidebar.esm.min.js +1 -1
  451. package/sidebar/sidebar.js +146 -121
  452. package/sidebar/sidebar.min.js +1 -1
  453. package/skeleton/skeleton.cjs.js +1 -1
  454. package/skeleton/skeleton.cjs.min.js +1 -1
  455. package/skeleton/skeleton.esm.js +1 -1
  456. package/skeleton/skeleton.esm.min.js +1 -1
  457. package/skeleton/skeleton.js +1 -1
  458. package/skeleton/skeleton.min.js +1 -1
  459. package/slider/slider.cjs.js +1 -1
  460. package/slider/slider.cjs.min.js +1 -1
  461. package/slider/slider.esm.js +1 -1
  462. package/slider/slider.esm.min.js +1 -1
  463. package/slider/slider.js +1 -1
  464. package/slider/slider.min.js +1 -1
  465. package/speeddial/SpeedDial.d.ts +19 -1
  466. package/speeddial/SpeedDial.vue +254 -7
  467. package/speeddial/speeddial.cjs.js +255 -14
  468. package/speeddial/speeddial.cjs.min.js +1 -1
  469. package/speeddial/speeddial.esm.js +256 -15
  470. package/speeddial/speeddial.esm.min.js +1 -1
  471. package/speeddial/speeddial.js +255 -14
  472. package/speeddial/speeddial.min.js +1 -1
  473. package/splitbutton/SplitButton.d.ts +20 -4
  474. package/splitbutton/SplitButton.vue +56 -8
  475. package/splitbutton/splitbutton.cjs.js +57 -17
  476. package/splitbutton/splitbutton.cjs.min.js +1 -1
  477. package/splitbutton/splitbutton.esm.js +57 -17
  478. package/splitbutton/splitbutton.esm.min.js +1 -1
  479. package/splitbutton/splitbutton.js +57 -17
  480. package/splitbutton/splitbutton.min.js +1 -1
  481. package/splitter/Splitter.vue +1 -1
  482. package/splitter/splitter.cjs.js +1 -1
  483. package/splitter/splitter.cjs.min.js +1 -1
  484. package/splitter/splitter.esm.js +1 -1
  485. package/splitter/splitter.esm.min.js +1 -1
  486. package/splitter/splitter.js +1 -1
  487. package/splitter/splitter.min.js +1 -1
  488. package/steps/steps.cjs.js +1 -1
  489. package/steps/steps.cjs.min.js +1 -1
  490. package/steps/steps.esm.js +1 -1
  491. package/steps/steps.esm.min.js +1 -1
  492. package/steps/steps.js +1 -1
  493. package/steps/steps.min.js +1 -1
  494. package/tabmenu/TabMenu.vue +4 -16
  495. package/tabmenu/tabmenu.cjs.js +19 -16
  496. package/tabmenu/tabmenu.cjs.min.js +1 -1
  497. package/tabmenu/tabmenu.esm.js +19 -16
  498. package/tabmenu/tabmenu.esm.min.js +1 -1
  499. package/tabmenu/tabmenu.js +19 -16
  500. package/tabmenu/tabmenu.min.js +1 -1
  501. package/tabview/TabView.vue +2 -2
  502. package/tabview/tabview.cjs.js +3 -3
  503. package/tabview/tabview.cjs.min.js +1 -1
  504. package/tabview/tabview.esm.js +3 -3
  505. package/tabview/tabview.esm.min.js +1 -1
  506. package/tabview/tabview.js +3 -3
  507. package/tabview/tabview.min.js +1 -1
  508. package/tag/tag.cjs.js +1 -1
  509. package/tag/tag.cjs.min.js +1 -1
  510. package/tag/tag.esm.js +1 -1
  511. package/tag/tag.esm.min.js +1 -1
  512. package/tag/tag.js +1 -1
  513. package/tag/tag.min.js +1 -1
  514. package/terminal/terminal.cjs.js +1 -1
  515. package/terminal/terminal.cjs.min.js +1 -1
  516. package/terminal/terminal.esm.js +1 -1
  517. package/terminal/terminal.esm.min.js +1 -1
  518. package/terminal/terminal.js +1 -1
  519. package/terminal/terminal.min.js +1 -1
  520. package/tieredmenu/TieredMenu.vue +13 -3
  521. package/tieredmenu/TieredMenuSub.vue +3 -5
  522. package/tieredmenu/tieredmenu.cjs.js +17 -9
  523. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  524. package/tieredmenu/tieredmenu.esm.js +17 -9
  525. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  526. package/tieredmenu/tieredmenu.js +17 -9
  527. package/tieredmenu/tieredmenu.min.js +1 -1
  528. package/timeline/timeline.cjs.js +1 -1
  529. package/timeline/timeline.cjs.min.js +1 -1
  530. package/timeline/timeline.esm.js +1 -1
  531. package/timeline/timeline.esm.min.js +1 -1
  532. package/timeline/timeline.js +1 -1
  533. package/timeline/timeline.min.js +1 -1
  534. package/toast/Toast.d.ts +5 -1
  535. package/toast/Toast.vue +5 -0
  536. package/toast/ToastMessage.vue +36 -8
  537. package/toast/toast.cjs.js +49 -13
  538. package/toast/toast.cjs.min.js +1 -1
  539. package/toast/toast.esm.js +50 -14
  540. package/toast/toast.esm.min.js +1 -1
  541. package/toast/toast.js +49 -13
  542. package/toast/toast.min.js +1 -1
  543. package/toolbar/Toolbar.d.ts +6 -0
  544. package/toolbar/Toolbar.vue +12 -2
  545. package/toolbar/toolbar.cjs.js +7 -3
  546. package/toolbar/toolbar.cjs.min.js +1 -1
  547. package/toolbar/toolbar.esm.js +7 -3
  548. package/toolbar/toolbar.esm.min.js +1 -1
  549. package/toolbar/toolbar.js +7 -3
  550. package/toolbar/toolbar.min.js +1 -1
  551. package/tree/Tree.d.ts +8 -0
  552. package/tree/Tree.vue +10 -2
  553. package/tree/TreeNode.vue +174 -37
  554. package/tree/tree.cjs.js +193 -59
  555. package/tree/tree.cjs.min.js +1 -1
  556. package/tree/tree.esm.js +193 -59
  557. package/tree/tree.esm.min.js +1 -1
  558. package/tree/tree.js +193 -59
  559. package/tree/tree.min.js +1 -1
  560. package/treeselect/TreeSelect.vue +40 -26
  561. package/treeselect/treeselect.cjs.js +46 -30
  562. package/treeselect/treeselect.cjs.min.js +1 -1
  563. package/treeselect/treeselect.esm.js +44 -28
  564. package/treeselect/treeselect.esm.min.js +1 -1
  565. package/treeselect/treeselect.js +45 -29
  566. package/treeselect/treeselect.min.js +1 -1
  567. package/treetable/BodyCell.vue +4 -4
  568. package/treetable/HeaderCell.vue +4 -2
  569. package/treetable/TreeTable.d.ts +4 -0
  570. package/treetable/TreeTable.vue +43 -17
  571. package/treetable/TreeTableRow.vue +200 -59
  572. package/treetable/treetable.cjs.js +798 -621
  573. package/treetable/treetable.cjs.min.js +1 -1
  574. package/treetable/treetable.esm.js +795 -618
  575. package/treetable/treetable.esm.min.js +1 -1
  576. package/treetable/treetable.js +795 -618
  577. package/treetable/treetable.min.js +1 -1
  578. package/utils/utils.cjs.js +67 -47
  579. package/utils/utils.cjs.min.js +1 -1
  580. package/utils/utils.esm.js +67 -47
  581. package/utils/utils.esm.min.js +1 -1
  582. package/utils/utils.js +67 -47
  583. package/utils/utils.min.js +1 -1
  584. package/vetur-attributes.json +35 -283
  585. package/vetur-tags.json +26 -89
  586. package/virtualscroller/virtualscroller.cjs.js +1 -1
  587. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  588. package/virtualscroller/virtualscroller.esm.js +1 -1
  589. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  590. package/virtualscroller/virtualscroller.js +1 -1
  591. package/virtualscroller/virtualscroller.min.js +1 -1
  592. package/web-types.json +94 -998
  593. package/galleria/GalleriaItemSlot.vue +0 -53
@@ -1,17 +1,17 @@
1
1
  import { FilterOperator, FilterService, FilterMatchMode } from 'primevue/api';
2
2
  import Paginator from 'primevue/paginator';
3
- import { DomHandler, ObjectUtils, ZIndexUtils, ConnectedOverlayScrollHandler, UniqueComponentId } from 'primevue/utils';
3
+ import { DomHandler, ObjectUtils, UniqueComponentId, ZIndexUtils, ConnectedOverlayScrollHandler } from 'primevue/utils';
4
4
  import VirtualScroller from 'primevue/virtualscroller';
5
5
  import OverlayEventBus from 'primevue/overlayeventbus';
6
- import { openBlock, createElementBlock, normalizeClass, withKeys, withModifiers, createElementVNode, resolveComponent, resolveDirective, normalizeStyle, createBlock, resolveDynamicComponent, toDisplayString, createCommentVNode, Fragment, withDirectives, createTextVNode, renderList, createVNode, withCtx, Transition, renderSlot, createSlots, mergeProps } from 'vue';
7
6
  import Ripple from 'primevue/ripple';
8
- import Dropdown from 'primevue/dropdown';
7
+ import { openBlock, createElementBlock, normalizeClass, createElementVNode, withKeys, withModifiers, resolveComponent, resolveDirective, normalizeStyle, createBlock, resolveDynamicComponent, toDisplayString, createCommentVNode, Fragment, withDirectives, createTextVNode, renderList, mergeProps, createVNode, withCtx, Transition, renderSlot, createSlots } from 'vue';
9
8
  import Button from 'primevue/button';
9
+ import Dropdown from 'primevue/dropdown';
10
+ import FocusTrap from 'primevue/focustrap';
10
11
  import Portal from 'primevue/portal';
11
12
 
12
13
  var script$a = {
13
- name: 'RowRadioButton',
14
- inheritAttrs: false,
14
+ name: 'RowCheckbox',
15
15
  emits: ['change'],
16
16
  props: {
17
17
  value: null,
@@ -24,57 +24,82 @@ var script$a = {
24
24
  },
25
25
  methods: {
26
26
  onClick(event) {
27
- if (!this.disabled) {
28
- if (!this.checked) {
29
- this.$emit('change', {
30
- originalEvent: event,
31
- data: this.value
32
- });
33
- }
27
+ if (!this.$attrs.disabled) {
28
+ this.$emit('change', {
29
+ originalEvent: event,
30
+ data: this.value
31
+ });
32
+
33
+ DomHandler.focus(this.$refs.input);
34
34
  }
35
+
36
+ event.preventDefault();
35
37
  },
36
38
  onFocus() {
37
39
  this.focused = true;
38
40
  },
39
41
  onBlur() {
40
42
  this.focused = false;
43
+ },
44
+ onKeydown(event) {
45
+ switch (event.code) {
46
+ case 'Space': {
47
+ this.onClick(event);
48
+
49
+ break;
50
+ }
51
+ }
52
+ }
53
+ },
54
+ computed: {
55
+ checkboxAriaLabel() {
56
+ return this.$primevue.config.locale.aria ? (this.checked ? this.$primevue.config.locale.aria.selectRow : this.$primevue.config.locale.aria.unselectRow) : undefined;
41
57
  }
42
58
  }
43
59
  };
44
60
 
45
- const _hoisted_1$a = ["aria-checked"];
46
- const _hoisted_2$7 = /*#__PURE__*/createElementVNode("div", { class: "p-radiobutton-icon" }, null, -1);
47
- const _hoisted_3$6 = [
48
- _hoisted_2$7
49
- ];
61
+ const _hoisted_1$a = { class: "p-hidden-accessible" };
62
+ const _hoisted_2$9 = ["checked", "disabled", "tabindex", "aria-label"];
50
63
 
51
64
  function render$a(_ctx, _cache, $props, $setup, $data, $options) {
52
65
  return (openBlock(), createElementBlock("div", {
53
- class: normalizeClass(['p-radiobutton p-component', { 'p-radiobutton-focused': $data.focused }]),
54
- onClick: _cache[0] || (_cache[0] = (...args) => ($options.onClick && $options.onClick(...args))),
55
- tabindex: "0",
56
- onFocus: _cache[1] || (_cache[1] = $event => ($options.onFocus($event))),
57
- onBlur: _cache[2] || (_cache[2] = $event => ($options.onBlur($event))),
58
- onKeydown: _cache[3] || (_cache[3] = withKeys(withModifiers((...args) => ($options.onClick && $options.onClick(...args)), ["prevent"]), ["space"]))
66
+ class: normalizeClass(['p-checkbox p-component', { 'p-checkbox-focused': $data.focused }]),
67
+ onClick: _cache[3] || (_cache[3] = (...args) => ($options.onClick && $options.onClick(...args)))
59
68
  }, [
69
+ createElementVNode("div", _hoisted_1$a, [
70
+ createElementVNode("input", {
71
+ ref: "input",
72
+ type: "checkbox",
73
+ checked: $props.checked,
74
+ disabled: _ctx.$attrs.disabled,
75
+ tabindex: _ctx.$attrs.disabled ? null : '0',
76
+ "aria-label": $options.checkboxAriaLabel,
77
+ onFocus: _cache[0] || (_cache[0] = $event => ($options.onFocus($event))),
78
+ onBlur: _cache[1] || (_cache[1] = $event => ($options.onBlur($event))),
79
+ onKeydown: _cache[2] || (_cache[2] = (...args) => ($options.onKeydown && $options.onKeydown(...args)))
80
+ }, null, 40, _hoisted_2$9)
81
+ ]),
60
82
  createElementVNode("div", {
61
83
  ref: "box",
62
- class: normalizeClass(['p-radiobutton-box p-component', { 'p-highlight': $props.checked, 'p-disabled': _ctx.$attrs.disabled, 'p-focus': $data.focused }]),
63
- role: "radio",
64
- "aria-checked": $props.checked
65
- }, _hoisted_3$6, 10, _hoisted_1$a)
66
- ], 34))
84
+ class: normalizeClass(['p-checkbox-box p-component', { 'p-highlight': $props.checked, 'p-disabled': _ctx.$attrs.disabled, 'p-focus': $data.focused }])
85
+ }, [
86
+ createElementVNode("span", {
87
+ class: normalizeClass(['p-checkbox-icon', { 'pi pi-check': $props.checked }])
88
+ }, null, 2)
89
+ ], 2)
90
+ ], 2))
67
91
  }
68
92
 
69
93
  script$a.render = render$a;
70
94
 
71
95
  var script$9 = {
72
- name: 'RowCheckbox',
96
+ name: 'RowRadioButton',
73
97
  inheritAttrs: false,
74
98
  emits: ['change'],
75
99
  props: {
76
100
  value: null,
77
- checked: null
101
+ checked: null,
102
+ name: null
78
103
  },
79
104
  data() {
80
105
  return {
@@ -83,12 +108,15 @@ var script$9 = {
83
108
  },
84
109
  methods: {
85
110
  onClick(event) {
86
- if (!this.$attrs.disabled) {
87
- this.focused = true;
88
- this.$emit('change', {
89
- originalEvent: event,
90
- data: this.value
91
- });
111
+ if (!this.disabled) {
112
+ if (!this.checked) {
113
+ this.$emit('change', {
114
+ originalEvent: event,
115
+ data: this.value
116
+ });
117
+
118
+ DomHandler.focus(this.$refs.input);
119
+ }
92
120
  }
93
121
  },
94
122
  onFocus() {
@@ -100,27 +128,35 @@ var script$9 = {
100
128
  }
101
129
  };
102
130
 
103
- const _hoisted_1$9 = ["aria-checked", "tabindex"];
131
+ const _hoisted_1$9 = { class: "p-hidden-accessible" };
132
+ const _hoisted_2$8 = ["checked", "disabled", "name"];
133
+ const _hoisted_3$6 = /*#__PURE__*/createElementVNode("div", { class: "p-radiobutton-icon" }, null, -1);
134
+ const _hoisted_4$5 = [
135
+ _hoisted_3$6
136
+ ];
104
137
 
105
138
  function render$9(_ctx, _cache, $props, $setup, $data, $options) {
106
139
  return (openBlock(), createElementBlock("div", {
107
- class: normalizeClass(['p-checkbox p-component', { 'p-checkbox-focused': $data.focused }]),
108
- onClick: _cache[3] || (_cache[3] = withModifiers((...args) => ($options.onClick && $options.onClick(...args)), ["stop","prevent"]))
140
+ class: normalizeClass(['p-radiobutton p-component', { 'p-radiobutton-focused': $data.focused }]),
141
+ onClick: _cache[3] || (_cache[3] = (...args) => ($options.onClick && $options.onClick(...args)))
109
142
  }, [
143
+ createElementVNode("div", _hoisted_1$9, [
144
+ createElementVNode("input", {
145
+ ref: "input",
146
+ type: "radio",
147
+ checked: $props.checked,
148
+ disabled: _ctx.$attrs.disabled,
149
+ name: $props.name,
150
+ tabindex: "0",
151
+ onFocus: _cache[0] || (_cache[0] = $event => ($options.onFocus($event))),
152
+ onBlur: _cache[1] || (_cache[1] = $event => ($options.onBlur($event))),
153
+ onKeydown: _cache[2] || (_cache[2] = withKeys(withModifiers((...args) => ($options.onClick && $options.onClick(...args)), ["prevent"]), ["space"]))
154
+ }, null, 40, _hoisted_2$8)
155
+ ]),
110
156
  createElementVNode("div", {
111
157
  ref: "box",
112
- class: normalizeClass(['p-checkbox-box p-component', { 'p-highlight': $props.checked, 'p-disabled': _ctx.$attrs.disabled, 'p-focus': $data.focused }]),
113
- role: "checkbox",
114
- "aria-checked": $props.checked,
115
- tabindex: _ctx.$attrs.disabled ? null : '0',
116
- onKeydown: _cache[0] || (_cache[0] = withKeys(withModifiers((...args) => ($options.onClick && $options.onClick(...args)), ["prevent"]), ["space"])),
117
- onFocus: _cache[1] || (_cache[1] = $event => ($options.onFocus($event))),
118
- onBlur: _cache[2] || (_cache[2] = $event => ($options.onBlur($event)))
119
- }, [
120
- createElementVNode("span", {
121
- class: normalizeClass(['p-checkbox-icon', { 'pi pi-check': $props.checked }])
122
- }, null, 2)
123
- ], 42, _hoisted_1$9)
158
+ class: normalizeClass(['p-radiobutton-box p-component', { 'p-highlight': $props.checked, 'p-disabled': _ctx.$attrs.disabled, 'p-focus': $data.focused }])
159
+ }, _hoisted_4$5, 2)
124
160
  ], 2))
125
161
  }
126
162
 
@@ -177,6 +213,14 @@ var script$8 = {
177
213
  virtualScrollerContentProps: {
178
214
  type: Object,
179
215
  default: null
216
+ },
217
+ ariaControls: {
218
+ type: String,
219
+ default: null
220
+ },
221
+ name: {
222
+ type: String,
223
+ default: null
180
224
  }
181
225
  },
182
226
  documentEditListener: null,
@@ -185,7 +229,8 @@ var script$8 = {
185
229
  data() {
186
230
  return {
187
231
  d_editing: this.editing,
188
- styleObject: {}
232
+ styleObject: {},
233
+ isRowExpanded: false
189
234
  };
190
235
  },
191
236
  watch: {
@@ -226,6 +271,7 @@ var script$8 = {
226
271
  return ObjectUtils.resolveFieldData(this.rowData, this.field);
227
272
  },
228
273
  toggleRow(event) {
274
+ this.isRowExpanded = !this.isRowExpanded;
229
275
  this.$emit('row-toggle', {
230
276
  originalEvent: event,
231
277
  data: this.rowData
@@ -309,17 +355,17 @@ var script$8 = {
309
355
  },
310
356
  onKeyDown(event) {
311
357
  if (this.editMode === 'cell') {
312
- switch (event.which) {
313
- case 13:
358
+ switch (event.code) {
359
+ case 'Enter':
314
360
  this.completeEdit(event, 'enter');
315
361
  break;
316
362
 
317
- case 27:
363
+ case 'Escape':
318
364
  this.switchCellToViewMode();
319
365
  this.$emit('cell-edit-cancel', { originalEvent: event, data: this.rowData, field: this.field, index: this.rowIndex });
320
366
  break;
321
367
 
322
- case 9:
368
+ case 'Tab':
323
369
  this.completeEdit(event, 'tab');
324
370
 
325
371
  if (event.shiftKey) this.moveToPreviousCell(event);
@@ -497,11 +543,23 @@ var script$8 = {
497
543
  field: this.field
498
544
  })
499
545
  );
546
+ },
547
+ expandButtonAriaLabel() {
548
+ return this.$primevue.config.locale.aria ? (this.isRowExpanded ? this.$primevue.config.locale.aria.expandRow : this.$primevue.config.locale.aria.collapseRow) : undefined;
549
+ },
550
+ initButtonAriaLabel() {
551
+ return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.editRow : undefined;
552
+ },
553
+ saveButtonAriaLabel() {
554
+ return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.saveEdit : undefined;
555
+ },
556
+ cancelButtonAriaLabel() {
557
+ return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.cancelEdit : undefined;
500
558
  }
501
559
  },
502
560
  components: {
503
- DTRadioButton: script$a,
504
- DTCheckbox: script$9
561
+ DTRadioButton: script$9,
562
+ DTCheckbox: script$a
505
563
  },
506
564
  directives: {
507
565
  ripple: Ripple
@@ -512,17 +570,21 @@ const _hoisted_1$8 = {
512
570
  key: 0,
513
571
  class: "p-column-title"
514
572
  };
515
- const _hoisted_2$6 = /*#__PURE__*/createElementVNode("span", { class: "p-row-editor-init-icon pi pi-fw pi-pencil" }, null, -1);
516
- const _hoisted_3$5 = [
517
- _hoisted_2$6
518
- ];
519
- const _hoisted_4$4 = /*#__PURE__*/createElementVNode("span", { class: "p-row-editor-save-icon pi pi-fw pi-check" }, null, -1);
573
+ const _hoisted_2$7 = ["aria-expanded", "aria-controls", "aria-label"];
574
+ const _hoisted_3$5 = ["aria-label"];
575
+ const _hoisted_4$4 = /*#__PURE__*/createElementVNode("span", { class: "p-row-editor-init-icon pi pi-fw pi-pencil" }, null, -1);
520
576
  const _hoisted_5$3 = [
521
577
  _hoisted_4$4
522
578
  ];
523
- const _hoisted_6$3 = /*#__PURE__*/createElementVNode("span", { class: "p-row-editor-cancel-icon pi pi-fw pi-times" }, null, -1);
524
- const _hoisted_7$1 = [
525
- _hoisted_6$3
579
+ const _hoisted_6$3 = ["aria-label"];
580
+ const _hoisted_7$2 = /*#__PURE__*/createElementVNode("span", { class: "p-row-editor-save-icon pi pi-fw pi-check" }, null, -1);
581
+ const _hoisted_8$1 = [
582
+ _hoisted_7$2
583
+ ];
584
+ const _hoisted_9$1 = ["aria-label"];
585
+ const _hoisted_10$1 = /*#__PURE__*/createElementVNode("span", { class: "p-row-editor-cancel-icon pi pi-fw pi-times" }, null, -1);
586
+ const _hoisted_11$1 = [
587
+ _hoisted_10$1
526
588
  ];
527
589
 
528
590
  function render$8(_ctx, _cache, $props, $setup, $data, $options) {
@@ -592,16 +654,18 @@ function render$8(_ctx, _cache, $props, $setup, $data, $options) {
592
654
  ? (openBlock(), createBlock(_component_DTRadioButton, {
593
655
  key: 0,
594
656
  value: $props.rowData,
657
+ name: $props.name,
595
658
  checked: $props.selected,
596
659
  onChange: _cache[0] || (_cache[0] = $event => ($options.toggleRowWithRadio($event, $props.rowIndex)))
597
- }, null, 8, ["value", "checked"]))
660
+ }, null, 8, ["value", "name", "checked"]))
598
661
  : ($options.columnProp('selectionMode') === 'multiple')
599
662
  ? (openBlock(), createBlock(_component_DTCheckbox, {
600
663
  key: 1,
601
664
  value: $props.rowData,
602
665
  checked: $props.selected,
666
+ "aria-selected": $props.selected ? true : undefined,
603
667
  onChange: _cache[1] || (_cache[1] = $event => ($options.toggleRowWithCheckbox($event, $props.rowIndex)))
604
- }, null, 8, ["value", "checked"]))
668
+ }, null, 8, ["value", "checked", "aria-selected"]))
605
669
  : createCommentVNode("", true)
606
670
  ], 64))
607
671
  : ($options.columnProp('rowReorder'))
@@ -613,13 +677,16 @@ function render$8(_ctx, _cache, $props, $setup, $data, $options) {
613
677
  ? withDirectives((openBlock(), createElementBlock("button", {
614
678
  key: 6,
615
679
  class: "p-row-toggler p-link",
616
- onClick: _cache[2] || (_cache[2] = (...args) => ($options.toggleRow && $options.toggleRow(...args))),
617
- type: "button"
680
+ type: "button",
681
+ "aria-expanded": $data.isRowExpanded,
682
+ "aria-controls": $props.ariaControls,
683
+ "aria-label": $options.expandButtonAriaLabel,
684
+ onClick: _cache[2] || (_cache[2] = (...args) => ($options.toggleRow && $options.toggleRow(...args)))
618
685
  }, [
619
686
  createElementVNode("span", {
620
687
  class: normalizeClass($props.rowTogglerIcon)
621
688
  }, null, 2)
622
- ])), [
689
+ ], 8, _hoisted_2$7)), [
623
690
  [_directive_ripple]
624
691
  ])
625
692
  : ($props.editMode === 'row' && $options.columnProp('rowEditor'))
@@ -628,9 +695,10 @@ function render$8(_ctx, _cache, $props, $setup, $data, $options) {
628
695
  ? withDirectives((openBlock(), createElementBlock("button", {
629
696
  key: 0,
630
697
  class: "p-row-editor-init p-link",
631
- onClick: _cache[3] || (_cache[3] = (...args) => ($options.onRowEditInit && $options.onRowEditInit(...args))),
632
- type: "button"
633
- }, _hoisted_3$5)), [
698
+ type: "button",
699
+ "aria-label": $options.initButtonAriaLabel,
700
+ onClick: _cache[3] || (_cache[3] = (...args) => ($options.onRowEditInit && $options.onRowEditInit(...args)))
701
+ }, _hoisted_5$3, 8, _hoisted_3$5)), [
634
702
  [_directive_ripple]
635
703
  ])
636
704
  : createCommentVNode("", true),
@@ -638,9 +706,10 @@ function render$8(_ctx, _cache, $props, $setup, $data, $options) {
638
706
  ? withDirectives((openBlock(), createElementBlock("button", {
639
707
  key: 1,
640
708
  class: "p-row-editor-save p-link",
641
- onClick: _cache[4] || (_cache[4] = (...args) => ($options.onRowEditSave && $options.onRowEditSave(...args))),
642
- type: "button"
643
- }, _hoisted_5$3)), [
709
+ type: "button",
710
+ "aria-label": $options.saveButtonAriaLabel,
711
+ onClick: _cache[4] || (_cache[4] = (...args) => ($options.onRowEditSave && $options.onRowEditSave(...args)))
712
+ }, _hoisted_8$1, 8, _hoisted_6$3)), [
644
713
  [_directive_ripple]
645
714
  ])
646
715
  : createCommentVNode("", true),
@@ -648,9 +717,10 @@ function render$8(_ctx, _cache, $props, $setup, $data, $options) {
648
717
  ? withDirectives((openBlock(), createElementBlock("button", {
649
718
  key: 2,
650
719
  class: "p-row-editor-cancel p-link",
651
- onClick: _cache[5] || (_cache[5] = (...args) => ($options.onRowEditCancel && $options.onRowEditCancel(...args))),
652
- type: "button"
653
- }, _hoisted_7$1)), [
720
+ type: "button",
721
+ "aria-label": $options.cancelButtonAriaLabel,
722
+ onClick: _cache[5] || (_cache[5] = (...args) => ($options.onRowEditCancel && $options.onRowEditCancel(...args)))
723
+ }, _hoisted_11$1, 8, _hoisted_9$1)), [
654
724
  [_directive_ripple]
655
725
  ])
656
726
  : createCommentVNode("", true)
@@ -813,7 +883,9 @@ var script$7 = {
813
883
  },
814
884
  data() {
815
885
  return {
816
- rowGroupHeaderStyleObject: {}
886
+ rowGroupHeaderStyleObject: {},
887
+ tabindexArray: [],
888
+ isARowSelected: false
817
889
  };
818
890
  },
819
891
  watch: {
@@ -1131,6 +1203,13 @@ var script$7 = {
1131
1203
  const contentRef = this.getVirtualScrollerProp('contentRef');
1132
1204
 
1133
1205
  contentRef && contentRef(el);
1206
+ },
1207
+ setRowTabindex(index) {
1208
+ if (this.selection === null && (this.selectionMode === 'single' || this.selectionMode === 'multiple')) {
1209
+ return index === 0 ? 0 : -1;
1210
+ }
1211
+
1212
+ return -1;
1134
1213
  }
1135
1214
  },
1136
1215
  computed: {
@@ -1152,6 +1231,12 @@ var script$7 = {
1152
1231
  },
1153
1232
  bodyStyle() {
1154
1233
  return this.getVirtualScrollerProp('contentStyle');
1234
+ },
1235
+ expandedRowId() {
1236
+ return UniqueComponentId();
1237
+ },
1238
+ nameAttributeSelector() {
1239
+ return UniqueComponentId();
1155
1240
  }
1156
1241
  },
1157
1242
  components: {
@@ -1160,15 +1245,16 @@ var script$7 = {
1160
1245
  };
1161
1246
 
1162
1247
  const _hoisted_1$7 = ["colspan"];
1163
- const _hoisted_2$5 = ["onClick"];
1164
- const _hoisted_3$4 = ["onClick", "onDblclick", "onContextmenu", "onKeydown", "tabindex", "onDragstart", "onDragover"];
1165
- const _hoisted_4$3 = ["colspan"];
1166
- const _hoisted_5$2 = {
1248
+ const _hoisted_2$6 = ["onClick"];
1249
+ const _hoisted_3$4 = ["tabindex", "aria-selected", "onClick", "onDblclick", "onContextmenu", "onKeydown", "onDragstart", "onDragover"];
1250
+ const _hoisted_4$3 = ["id"];
1251
+ const _hoisted_5$2 = ["colspan"];
1252
+ const _hoisted_6$2 = {
1167
1253
  key: 1,
1168
1254
  class: "p-datatable-emptymessage",
1169
1255
  role: "row"
1170
1256
  };
1171
- const _hoisted_6$2 = ["colspan"];
1257
+ const _hoisted_7$1 = ["colspan"];
1172
1258
 
1173
1259
  function render$7(_ctx, _cache, $props, $setup, $data, $options) {
1174
1260
  const _component_DTBodyCell = resolveComponent("DTBodyCell");
@@ -1204,7 +1290,7 @@ function render$7(_ctx, _cache, $props, $setup, $data, $options) {
1204
1290
  createElementVNode("span", {
1205
1291
  class: normalizeClass($options.rowGroupTogglerIcon(rowData))
1206
1292
  }, null, 2)
1207
- ], 8, _hoisted_2$5))
1293
+ ], 8, _hoisted_2$6))
1208
1294
  : createCommentVNode("", true),
1209
1295
  (openBlock(), createBlock(resolveDynamicComponent($props.templates['groupheader']), {
1210
1296
  data: rowData,
@@ -1218,19 +1304,20 @@ function render$7(_ctx, _cache, $props, $setup, $data, $options) {
1218
1304
  key: $options.getRowKey(rowData, $options.getRowIndex(index)),
1219
1305
  class: normalizeClass($options.getRowClass(rowData)),
1220
1306
  style: normalizeStyle($props.rowStyle),
1307
+ tabindex: $options.setRowTabindex(index),
1308
+ role: "row",
1309
+ "aria-selected": $props.selectionMode ? $options.isSelected(rowData) : null,
1221
1310
  onClick: $event => ($options.onRowClick($event, rowData, $options.getRowIndex(index))),
1222
1311
  onDblclick: $event => ($options.onRowDblClick($event, rowData, $options.getRowIndex(index))),
1223
1312
  onContextmenu: $event => ($options.onRowRightClick($event, rowData, $options.getRowIndex(index))),
1224
1313
  onTouchend: _cache[9] || (_cache[9] = $event => ($options.onRowTouchEnd($event))),
1225
1314
  onKeydown: $event => ($options.onRowKeyDown($event, rowData, $options.getRowIndex(index))),
1226
- tabindex: $props.selectionMode || $props.contextMenu ? '0' : null,
1227
1315
  onMousedown: _cache[10] || (_cache[10] = $event => ($options.onRowMouseDown($event))),
1228
1316
  onDragstart: $event => ($options.onRowDragStart($event, $options.getRowIndex(index))),
1229
1317
  onDragover: $event => ($options.onRowDragOver($event, $options.getRowIndex(index))),
1230
1318
  onDragleave: _cache[11] || (_cache[11] = $event => ($options.onRowDragLeave($event))),
1231
1319
  onDragend: _cache[12] || (_cache[12] = $event => ($options.onRowDragEnd($event))),
1232
- onDrop: _cache[13] || (_cache[13] = $event => ($options.onRowDrop($event))),
1233
- role: "row"
1320
+ onDrop: _cache[13] || (_cache[13] = $event => ($options.onRowDrop($event)))
1234
1321
  }, [
1235
1322
  (openBlock(true), createElementBlock(Fragment, null, renderList($props.columns, (col, i) => {
1236
1323
  return (openBlock(), createElementBlock(Fragment, {
@@ -1249,7 +1336,11 @@ function render$7(_ctx, _cache, $props, $setup, $data, $options) {
1249
1336
  rowspan: $props.rowGroupMode === 'rowspan' ? $options.calculateRowGroupSize($props.value, col, $options.getRowIndex(index)) : null,
1250
1337
  editMode: $props.editMode,
1251
1338
  editing: $props.editMode === 'row' && $options.isRowEditing(rowData),
1339
+ editingMeta: $props.editingMeta,
1252
1340
  responsiveLayout: $props.responsiveLayout,
1341
+ virtualScrollerContentProps: $props.virtualScrollerContentProps,
1342
+ ariaControls: $options.expandedRowId + '_' + index + '_expansion',
1343
+ name: $options.nameAttributeSelector,
1253
1344
  onRadioChange: _cache[0] || (_cache[0] = $event => ($options.onRadioChange($event))),
1254
1345
  onCheckboxChange: _cache[1] || (_cache[1] = $event => ($options.onCheckboxChange($event))),
1255
1346
  onRowToggle: _cache[2] || (_cache[2] = $event => ($options.onRowToggle($event))),
@@ -1259,10 +1350,8 @@ function render$7(_ctx, _cache, $props, $setup, $data, $options) {
1259
1350
  onRowEditInit: _cache[6] || (_cache[6] = $event => ($options.onRowEditInit($event))),
1260
1351
  onRowEditSave: _cache[7] || (_cache[7] = $event => ($options.onRowEditSave($event))),
1261
1352
  onRowEditCancel: _cache[8] || (_cache[8] = $event => ($options.onRowEditCancel($event))),
1262
- editingMeta: $props.editingMeta,
1263
- onEditingMetaChange: $options.onEditingMetaChange,
1264
- virtualScrollerContentProps: $props.virtualScrollerContentProps
1265
- }, null, 8, ["rowData", "column", "rowIndex", "index", "selected", "rowTogglerIcon", "frozenRow", "rowspan", "editMode", "editing", "responsiveLayout", "editingMeta", "onEditingMetaChange", "virtualScrollerContentProps"]))
1353
+ onEditingMetaChange: $options.onEditingMetaChange
1354
+ }, null, 8, ["rowData", "column", "rowIndex", "index", "selected", "rowTogglerIcon", "frozenRow", "rowspan", "editMode", "editing", "editingMeta", "responsiveLayout", "virtualScrollerContentProps", "ariaControls", "name", "onEditingMetaChange"]))
1266
1355
  : createCommentVNode("", true)
1267
1356
  ], 64))
1268
1357
  }), 128))
@@ -1271,6 +1360,7 @@ function render$7(_ctx, _cache, $props, $setup, $data, $options) {
1271
1360
  ($props.templates['expansion'] && $props.expandedRows && $options.isRowExpanded(rowData))
1272
1361
  ? (openBlock(), createElementBlock("tr", {
1273
1362
  key: $options.getRowKey(rowData, $options.getRowIndex(index)) + '_expansion',
1363
+ id: $options.expandedRowId + '_' + index + '_expansion',
1274
1364
  class: "p-datatable-row-expansion",
1275
1365
  role: "row"
1276
1366
  }, [
@@ -1279,8 +1369,8 @@ function render$7(_ctx, _cache, $props, $setup, $data, $options) {
1279
1369
  data: rowData,
1280
1370
  index: $options.getRowIndex(index)
1281
1371
  }, null, 8, ["data", "index"]))
1282
- ], 8, _hoisted_4$3)
1283
- ]))
1372
+ ], 8, _hoisted_5$2)
1373
+ ], 8, _hoisted_4$3))
1284
1374
  : createCommentVNode("", true),
1285
1375
  ($props.templates['groupfooter'] && $props.rowGroupMode === 'subheader' && $options.shouldRenderRowGroupFooter($props.value, rowData, $options.getRowIndex(index)))
1286
1376
  ? (openBlock(), createElementBlock("tr", {
@@ -1296,12 +1386,12 @@ function render$7(_ctx, _cache, $props, $setup, $data, $options) {
1296
1386
  : createCommentVNode("", true)
1297
1387
  ], 64))
1298
1388
  }), 128))
1299
- : (openBlock(), createElementBlock("tr", _hoisted_5$2, [
1389
+ : (openBlock(), createElementBlock("tr", _hoisted_6$2, [
1300
1390
  createElementVNode("td", { colspan: $options.columnsLength }, [
1301
1391
  ($props.templates.empty)
1302
1392
  ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.empty), { key: 0 }))
1303
1393
  : createCommentVNode("", true)
1304
- ], 8, _hoisted_6$2)
1394
+ ], 8, _hoisted_7$1)
1305
1395
  ]))
1306
1396
  ], 4))
1307
1397
  }
@@ -1476,7 +1566,7 @@ const _hoisted_1$5 = {
1476
1566
  class: "p-datatable-tfoot",
1477
1567
  role: "rowgroup"
1478
1568
  };
1479
- const _hoisted_2$4 = {
1569
+ const _hoisted_2$5 = {
1480
1570
  key: 0,
1481
1571
  role: "row"
1482
1572
  };
@@ -1487,7 +1577,7 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
1487
1577
  return ($options.hasFooter)
1488
1578
  ? (openBlock(), createElementBlock("tfoot", _hoisted_1$5, [
1489
1579
  (!$props.columnGroup)
1490
- ? (openBlock(), createElementBlock("tr", _hoisted_2$4, [
1580
+ ? (openBlock(), createElementBlock("tr", _hoisted_2$5, [
1491
1581
  (openBlock(true), createElementBlock(Fragment, null, renderList($props.columns, (col, i) => {
1492
1582
  return (openBlock(), createElementBlock(Fragment, {
1493
1583
  key: $options.columnProp(col, 'columnKey') || $options.columnProp(col, 'field') || i
@@ -1527,63 +1617,6 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
1527
1617
  script$5.render = render$5;
1528
1618
 
1529
1619
  var script$4 = {
1530
- name: 'HeaderCheckbox',
1531
- inheritAttrs: false,
1532
- emits: ['change'],
1533
- props: {
1534
- checked: null
1535
- },
1536
- data() {
1537
- return {
1538
- focused: false
1539
- };
1540
- },
1541
- methods: {
1542
- onClick(event) {
1543
- if (!this.$attrs.disabled) {
1544
- this.focused = true;
1545
- this.$emit('change', {
1546
- originalEvent: event,
1547
- checked: !this.checked
1548
- });
1549
- }
1550
- },
1551
- onFocus() {
1552
- this.focused = true;
1553
- },
1554
- onBlur() {
1555
- this.focused = false;
1556
- }
1557
- }
1558
- };
1559
-
1560
- const _hoisted_1$4 = ["aria-checked", "tabindex"];
1561
-
1562
- function render$4(_ctx, _cache, $props, $setup, $data, $options) {
1563
- return (openBlock(), createElementBlock("div", {
1564
- class: normalizeClass(['p-checkbox p-component', { 'p-checkbox-focused': $data.focused, 'p-disabled': _ctx.$attrs.disabled }]),
1565
- onClick: _cache[2] || (_cache[2] = (...args) => ($options.onClick && $options.onClick(...args))),
1566
- onKeydown: _cache[3] || (_cache[3] = withKeys(withModifiers((...args) => ($options.onClick && $options.onClick(...args)), ["prevent"]), ["space"]))
1567
- }, [
1568
- createElementVNode("div", {
1569
- ref: "box",
1570
- class: normalizeClass(['p-checkbox-box p-component', { 'p-highlight': $props.checked, 'p-disabled': _ctx.$attrs.disabled, 'p-focus': $data.focused }]),
1571
- role: "checkbox",
1572
- "aria-checked": $props.checked,
1573
- tabindex: _ctx.$attrs.disabled ? null : '0',
1574
- onFocus: _cache[0] || (_cache[0] = $event => ($options.onFocus($event))),
1575
- onBlur: _cache[1] || (_cache[1] = $event => ($options.onBlur($event)))
1576
- }, [
1577
- createElementVNode("span", {
1578
- class: normalizeClass(['p-checkbox-icon', { 'pi pi-check': $props.checked }])
1579
- }, null, 2)
1580
- ], 42, _hoisted_1$4)
1581
- ], 34))
1582
- }
1583
-
1584
- script$4.render = render$4;
1585
-
1586
- var script$3 = {
1587
1620
  name: 'ColumnFilter',
1588
1621
  emits: ['filter-change', 'filter-apply', 'operator-change', 'matchmode-change', 'constraint-add', 'constraint-remove', 'filter-clear', 'apply-click'],
1589
1622
  props: {
@@ -1655,6 +1688,10 @@ var script$3 = {
1655
1688
  filterMenuStyle: {
1656
1689
  type: null,
1657
1690
  default: null
1691
+ },
1692
+ filterInputProps: {
1693
+ type: null,
1694
+ default: null
1658
1695
  }
1659
1696
  },
1660
1697
  data() {
@@ -1740,36 +1777,18 @@ var script$3 = {
1740
1777
  this.overlayVisible = !this.overlayVisible;
1741
1778
  },
1742
1779
  onToggleButtonKeyDown(event) {
1743
- switch (event.key) {
1744
- case 'Escape':
1745
- case 'Tab':
1746
- this.overlayVisible = false;
1780
+ switch (event.code) {
1781
+ case 'Enter':
1782
+ case 'Space':
1783
+ this.toggleMenu();
1784
+ event.preventDefault();
1747
1785
  break;
1748
1786
 
1749
- case 'ArrowDown':
1750
- if (this.overlayVisible) {
1751
- let focusable = DomHandler.getFocusableElements(this.overlay);
1752
-
1753
- if (focusable) {
1754
- focusable[0].focus();
1755
- }
1756
-
1757
- event.preventDefault();
1758
- } else if (event.altKey) {
1759
- this.overlayVisible = true;
1760
- event.preventDefault();
1761
- }
1762
-
1787
+ case 'Escape':
1788
+ this.overlayVisible = false;
1763
1789
  break;
1764
1790
  }
1765
1791
  },
1766
- onEscape() {
1767
- this.overlayVisible = false;
1768
-
1769
- if (this.$refs.icon) {
1770
- this.$refs.icon.focus();
1771
- }
1772
- },
1773
1792
  onRowMatchModeChange(matchMode) {
1774
1793
  let _filters = { ...this.filters };
1775
1794
 
@@ -1782,7 +1801,7 @@ var script$3 = {
1782
1801
  onRowMatchModeKeyDown(event) {
1783
1802
  let item = event.target;
1784
1803
 
1785
- switch (event.key) {
1804
+ switch (event.code) {
1786
1805
  case 'ArrowDown':
1787
1806
  var nextItem = this.findNextItem(item);
1788
1807
 
@@ -1868,11 +1887,13 @@ var script$3 = {
1868
1887
  findPrevItem(item) {
1869
1888
  let prevItem = item.previousElementSibling;
1870
1889
 
1871
- if (prevItem) DomHandler.hasClass(prevItem, 'p-column-filter-separator') ? this.findPrevItem(prevItem) : prevItem;
1890
+ if (prevItem) return DomHandler.hasClass(prevItem, 'p-column-filter-separator') ? this.findPrevItem(prevItem) : prevItem;
1872
1891
  else return item.parentElement.lastElementChild;
1873
1892
  },
1874
1893
  hide() {
1875
1894
  this.overlayVisible = false;
1895
+
1896
+ DomHandler.focus(this.$refs.icon);
1876
1897
  },
1877
1898
  onContentClick(event) {
1878
1899
  this.selfClick = true;
@@ -2005,6 +2026,9 @@ var script$3 = {
2005
2026
  showMenuButton() {
2006
2027
  return this.showMenu && (this.display === 'row' ? this.type !== 'boolean' : true);
2007
2028
  },
2029
+ overlayId() {
2030
+ return UniqueComponentId();
2031
+ },
2008
2032
  matchModes() {
2009
2033
  return (
2010
2034
  this.matchModeOptions ||
@@ -2023,7 +2047,7 @@ var script$3 = {
2023
2047
  ];
2024
2048
  },
2025
2049
  noFilterLabel() {
2026
- return this.$primevue.config.locale.noFilter;
2050
+ return this.$primevue.config.locale ? this.$primevue.config.locale.noFilter : undefined;
2027
2051
  },
2028
2052
  isShowOperator() {
2029
2053
  return this.showOperator && this.filters[this.field].operator;
@@ -2038,41 +2062,50 @@ var script$3 = {
2038
2062
  return this.fieldConstraints.length > 1;
2039
2063
  },
2040
2064
  removeRuleButtonLabel() {
2041
- return this.$primevue.config.locale.removeRule;
2065
+ return this.$primevue.config.locale ? this.$primevue.config.locale.removeRule : undefined;
2042
2066
  },
2043
2067
  addRuleButtonLabel() {
2044
- return this.$primevue.config.locale.addRule;
2068
+ return this.$primevue.config.locale ? this.$primevue.config.locale.addRule : undefined;
2045
2069
  },
2046
2070
  isShowAddConstraint() {
2047
2071
  return this.showAddButton && this.filters[this.field].operator && this.fieldConstraints && this.fieldConstraints.length < this.maxConstraints;
2048
2072
  },
2049
2073
  clearButtonLabel() {
2050
- return this.$primevue.config.locale.clear;
2074
+ return this.$primevue.config.locale ? this.$primevue.config.locale.clear : undefined;
2051
2075
  },
2052
2076
  applyButtonLabel() {
2053
- return this.$primevue.config.locale.apply;
2077
+ return this.$primevue.config.locale ? this.$primevue.config.locale.apply : undefined;
2078
+ },
2079
+ filterMenuButtonAriaLabel() {
2080
+ return this.$primevue.config.locale ? (this.overlayVisible ? this.$primevue.config.locale.showFilterMenu : this.$primevue.config.locale.hideFilterMenu) : undefined;
2081
+ },
2082
+ filterOperatorAriaLabel() {
2083
+ return this.$primevue.config.locale ? this.$primevue.config.locale.filterOperator : undefined;
2084
+ },
2085
+ filterConstraintAriaLabel() {
2086
+ return this.$primevue.config.locale ? this.$primevue.config.locale.filterConstraint : undefined;
2054
2087
  }
2055
2088
  },
2056
2089
  components: {
2057
2090
  CFDropdown: Dropdown,
2058
2091
  CFButton: Button,
2059
2092
  Portal: Portal
2093
+ },
2094
+ directives: {
2095
+ focustrap: FocusTrap
2060
2096
  }
2061
2097
  };
2062
2098
 
2063
- const _hoisted_1$3 = {
2064
- key: 0,
2065
- class: "p-fluid p-column-filter-element"
2066
- };
2067
- const _hoisted_2$3 = ["aria-expanded"];
2068
- const _hoisted_3$3 = /*#__PURE__*/createElementVNode("span", { class: "pi pi-filter-icon pi-filter" }, null, -1);
2069
- const _hoisted_4$2 = [
2070
- _hoisted_3$3
2099
+ const _hoisted_1$4 = ["aria-label", "aria-expanded", "aria-controls"];
2100
+ const _hoisted_2$4 = /*#__PURE__*/createElementVNode("span", { class: "pi pi-filter-icon pi-filter" }, null, -1);
2101
+ const _hoisted_3$3 = [
2102
+ _hoisted_2$4
2071
2103
  ];
2072
- const _hoisted_5$1 = /*#__PURE__*/createElementVNode("span", { class: "pi pi-filter-slash" }, null, -1);
2073
- const _hoisted_6$1 = [
2074
- _hoisted_5$1
2104
+ const _hoisted_4$2 = /*#__PURE__*/createElementVNode("span", { class: "pi pi-filter-slash" }, null, -1);
2105
+ const _hoisted_5$1 = [
2106
+ _hoisted_4$2
2075
2107
  ];
2108
+ const _hoisted_6$1 = ["id", "aria-modal"];
2076
2109
  const _hoisted_7 = {
2077
2110
  key: 0,
2078
2111
  class: "p-column-filter-row-items"
@@ -2090,22 +2123,26 @@ const _hoisted_12 = {
2090
2123
  };
2091
2124
  const _hoisted_13 = { class: "p-column-filter-buttonbar" };
2092
2125
 
2093
- function render$3(_ctx, _cache, $props, $setup, $data, $options) {
2126
+ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
2094
2127
  const _component_CFDropdown = resolveComponent("CFDropdown");
2095
2128
  const _component_CFButton = resolveComponent("CFButton");
2096
2129
  const _component_Portal = resolveComponent("Portal");
2130
+ const _directive_focustrap = resolveDirective("focustrap");
2097
2131
 
2098
2132
  return (openBlock(), createElementBlock("div", {
2099
2133
  class: normalizeClass($options.containerClass)
2100
2134
  }, [
2101
2135
  ($props.display === 'row')
2102
- ? (openBlock(), createElementBlock("div", _hoisted_1$3, [
2136
+ ? (openBlock(), createElementBlock("div", mergeProps({
2137
+ key: 0,
2138
+ class: "p-fluid p-column-filter-element"
2139
+ }, $props.filterInputProps), [
2103
2140
  (openBlock(), createBlock(resolveDynamicComponent($props.filterElement), {
2104
2141
  field: $props.field,
2105
2142
  filterModel: $props.filters[$props.field],
2106
2143
  filterCallback: $options.filterCallback
2107
2144
  }, null, 8, ["field", "filterModel", "filterCallback"]))
2108
- ]))
2145
+ ], 16))
2109
2146
  : createCommentVNode("", true),
2110
2147
  ($options.showMenuButton)
2111
2148
  ? (openBlock(), createElementBlock("button", {
@@ -2113,11 +2150,13 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
2113
2150
  ref: "icon",
2114
2151
  type: "button",
2115
2152
  class: normalizeClass(["p-column-filter-menu-button p-link", { 'p-column-filter-menu-button-open': $data.overlayVisible, 'p-column-filter-menu-button-active': $options.hasFilter() }]),
2153
+ "aria-label": $options.filterMenuButtonAriaLabel,
2116
2154
  "aria-haspopup": "true",
2117
2155
  "aria-expanded": $data.overlayVisible,
2156
+ "aria-controls": $options.overlayId,
2118
2157
  onClick: _cache[0] || (_cache[0] = $event => ($options.toggleMenu())),
2119
2158
  onKeydown: _cache[1] || (_cache[1] = $event => ($options.onToggleButtonKeyDown($event)))
2120
- }, _hoisted_4$2, 42, _hoisted_2$3))
2159
+ }, _hoisted_3$3, 42, _hoisted_1$4))
2121
2160
  : createCommentVNode("", true),
2122
2161
  ($props.showClearButton && $props.display === 'row')
2123
2162
  ? (openBlock(), createElementBlock("button", {
@@ -2125,7 +2164,7 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
2125
2164
  class: normalizeClass([{ 'p-hidden-space': !$options.hasRowFilter() }, "p-column-filter-clear-button p-link"]),
2126
2165
  type: "button",
2127
2166
  onClick: _cache[2] || (_cache[2] = $event => ($options.clearFilter()))
2128
- }, _hoisted_6$1, 2))
2167
+ }, _hoisted_5$1, 2))
2129
2168
  : createCommentVNode("", true),
2130
2169
  createVNode(_component_Portal, null, {
2131
2170
  default: withCtx(() => [
@@ -2137,13 +2176,16 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
2137
2176
  }, {
2138
2177
  default: withCtx(() => [
2139
2178
  ($data.overlayVisible)
2140
- ? (openBlock(), createElementBlock("div", {
2179
+ ? withDirectives((openBlock(), createElementBlock("div", {
2141
2180
  key: 0,
2142
2181
  ref: $options.overlayRef,
2182
+ id: $options.overlayId,
2183
+ "aria-modal": $data.overlayVisible,
2184
+ role: "dialog",
2143
2185
  class: normalizeClass($options.overlayClass),
2144
- onKeydown: _cache[11] || (_cache[11] = withKeys((...args) => ($options.onEscape && $options.onEscape(...args)), ["escape"])),
2145
- onClick: _cache[12] || (_cache[12] = (...args) => ($options.onContentClick && $options.onContentClick(...args))),
2146
- onMousedown: _cache[13] || (_cache[13] = (...args) => ($options.onContentMouseDown && $options.onContentMouseDown(...args)))
2186
+ onKeydown: _cache[10] || (_cache[10] = withKeys((...args) => ($options.hide && $options.hide(...args)), ["escape"])),
2187
+ onClick: _cache[11] || (_cache[11] = (...args) => ($options.onContentClick && $options.onContentClick(...args))),
2188
+ onMousedown: _cache[12] || (_cache[12] = (...args) => ($options.onContentMouseDown && $options.onContentMouseDown(...args)))
2147
2189
  }, [
2148
2190
  (openBlock(), createBlock(resolveDynamicComponent($props.filterHeaderTemplate), {
2149
2191
  field: $props.field,
@@ -2180,11 +2222,12 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
2180
2222
  createVNode(_component_CFDropdown, {
2181
2223
  options: $options.operatorOptions,
2182
2224
  modelValue: $options.operator,
2183
- "onUpdate:modelValue": _cache[7] || (_cache[7] = $event => ($options.onOperatorChange($event))),
2225
+ "aria-label": $options.filterOperatorAriaLabel,
2184
2226
  class: "p-column-filter-operator-dropdown",
2185
2227
  optionLabel: "label",
2186
- optionValue: "value"
2187
- }, null, 8, ["options", "modelValue"])
2228
+ optionValue: "value",
2229
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = $event => ($options.onOperatorChange($event)))
2230
+ }, null, 8, ["options", "modelValue", "aria-label"])
2188
2231
  ]))
2189
2232
  : createCommentVNode("", true),
2190
2233
  createElementVNode("div", _hoisted_11, [
@@ -2198,11 +2241,12 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
2198
2241
  key: 0,
2199
2242
  options: $options.matchModes,
2200
2243
  modelValue: fieldConstraint.matchMode,
2244
+ class: "p-column-filter-matchmode-dropdown",
2201
2245
  optionLabel: "label",
2202
2246
  optionValue: "value",
2203
- "onUpdate:modelValue": $event => ($options.onMenuMatchModeChange($event, i)),
2204
- class: "p-column-filter-matchmode-dropdown"
2205
- }, null, 8, ["options", "modelValue", "onUpdate:modelValue"]))
2247
+ "aria-label": $options.filterConstraintAriaLabel,
2248
+ "onUpdate:modelValue": $event => ($options.onMenuMatchModeChange($event, i))
2249
+ }, null, 8, ["options", "modelValue", "aria-label", "onUpdate:modelValue"]))
2206
2250
  : createCommentVNode("", true),
2207
2251
  ($props.display === 'menu')
2208
2252
  ? (openBlock(), createBlock(resolveDynamicComponent($props.filterElement), {
@@ -2244,9 +2288,9 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
2244
2288
  key: 0,
2245
2289
  type: "button",
2246
2290
  class: "p-button-outlined p-button-sm",
2247
- onClick: _cache[9] || (_cache[9] = $event => ($options.clearFilter())),
2248
- label: $options.clearButtonLabel
2249
- }, null, 8, ["label"]))
2291
+ label: $options.clearButtonLabel,
2292
+ onClick: $options.clearFilter
2293
+ }, null, 8, ["label", "onClick"]))
2250
2294
  : (openBlock(), createBlock(resolveDynamicComponent($props.filterClearTemplate), {
2251
2295
  key: 1,
2252
2296
  field: $props.field,
@@ -2260,8 +2304,8 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
2260
2304
  key: 0,
2261
2305
  type: "button",
2262
2306
  class: "p-button-sm",
2263
- onClick: _cache[10] || (_cache[10] = $event => ($options.applyFilter())),
2264
- label: $options.applyButtonLabel
2307
+ label: $options.applyButtonLabel,
2308
+ onClick: _cache[9] || (_cache[9] = $event => ($options.applyFilter()))
2265
2309
  }, null, 8, ["label"]))
2266
2310
  : (openBlock(), createBlock(resolveDynamicComponent($props.filterApplyTemplate), {
2267
2311
  key: 1,
@@ -2278,7 +2322,9 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
2278
2322
  filterModel: $props.filters[$props.field],
2279
2323
  filterCallback: $options.filterCallback
2280
2324
  }, null, 8, ["field", "filterModel", "filterCallback"]))
2281
- ], 34))
2325
+ ], 42, _hoisted_6$1)), [
2326
+ [_directive_focustrap, { autoFocus: true }]
2327
+ ])
2282
2328
  : createCommentVNode("", true)
2283
2329
  ]),
2284
2330
  _: 1
@@ -2289,6 +2335,77 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
2289
2335
  ], 2))
2290
2336
  }
2291
2337
 
2338
+ script$4.render = render$4;
2339
+
2340
+ var script$3 = {
2341
+ name: 'HeaderCheckbox',
2342
+ emits: ['change'],
2343
+ props: {
2344
+ checked: null,
2345
+ disabled: null
2346
+ },
2347
+ data() {
2348
+ return {
2349
+ focused: false
2350
+ };
2351
+ },
2352
+ methods: {
2353
+ onClick(event) {
2354
+ if (!this.disabled) {
2355
+ this.$emit('change', {
2356
+ originalEvent: event,
2357
+ checked: !this.checked
2358
+ });
2359
+
2360
+ DomHandler.focus(this.$refs.input);
2361
+ }
2362
+ },
2363
+ onFocus() {
2364
+ this.focused = true;
2365
+ },
2366
+ onBlur() {
2367
+ this.focused = false;
2368
+ }
2369
+ },
2370
+ computed: {
2371
+ headerCheckboxAriaLabel() {
2372
+ return this.$primevue.config.locale.aria ? (this.checked ? this.$primevue.config.locale.aria.selectAll : this.$primevue.config.locale.aria.unselectAll) : undefined;
2373
+ }
2374
+ }
2375
+ };
2376
+
2377
+ const _hoisted_1$3 = { class: "p-hidden-accessible" };
2378
+ const _hoisted_2$3 = ["checked", "disabled", "tabindex", "aria-label"];
2379
+
2380
+ function render$3(_ctx, _cache, $props, $setup, $data, $options) {
2381
+ return (openBlock(), createElementBlock("div", {
2382
+ class: normalizeClass(['p-checkbox p-component', { 'p-checkbox-focused': $data.focused, 'p-disabled': $props.disabled }]),
2383
+ onClick: _cache[2] || (_cache[2] = (...args) => ($options.onClick && $options.onClick(...args))),
2384
+ onKeydown: _cache[3] || (_cache[3] = withKeys(withModifiers((...args) => ($options.onClick && $options.onClick(...args)), ["prevent"]), ["space"]))
2385
+ }, [
2386
+ createElementVNode("div", _hoisted_1$3, [
2387
+ createElementVNode("input", {
2388
+ ref: "input",
2389
+ type: "checkbox",
2390
+ checked: $props.checked,
2391
+ disabled: $props.disabled,
2392
+ tabindex: $props.disabled ? null : '0',
2393
+ "aria-label": $options.headerCheckboxAriaLabel,
2394
+ onFocus: _cache[0] || (_cache[0] = $event => ($options.onFocus($event))),
2395
+ onBlur: _cache[1] || (_cache[1] = $event => ($options.onBlur($event)))
2396
+ }, null, 40, _hoisted_2$3)
2397
+ ]),
2398
+ createElementVNode("div", {
2399
+ ref: "box",
2400
+ class: normalizeClass(['p-checkbox-box p-component', { 'p-highlight': $props.checked, 'p-disabled': $props.disabled, 'p-focus': $data.focused }])
2401
+ }, [
2402
+ createElementVNode("span", {
2403
+ class: normalizeClass(['p-checkbox-icon', { 'pi pi-check': $props.checked }])
2404
+ }, null, 2)
2405
+ ], 2)
2406
+ ], 34))
2407
+ }
2408
+
2292
2409
  script$3.render = render$3;
2293
2410
 
2294
2411
  var script$2 = {
@@ -2371,6 +2488,10 @@ var script$2 = {
2371
2488
  reorderableColumns: {
2372
2489
  type: Boolean,
2373
2490
  default: false
2491
+ },
2492
+ filterInputProps: {
2493
+ type: null,
2494
+ default: null
2374
2495
  }
2375
2496
  },
2376
2497
  data() {
@@ -2396,8 +2517,9 @@ var script$2 = {
2396
2517
  this.$emit('column-click', { originalEvent: event, column: this.column });
2397
2518
  },
2398
2519
  onKeyDown(event) {
2399
- if (event.which === 13 && event.currentTarget.nodeName === 'TH' && DomHandler.hasClass(event.currentTarget, 'p-sortable-column')) {
2520
+ if ((event.code === 'Enter' || event.code === 'Space') && event.currentTarget.nodeName === 'TH' && DomHandler.hasClass(event.currentTarget, 'p-sortable-column')) {
2400
2521
  this.$emit('column-click', { originalEvent: event, column: this.column });
2522
+ event.preventDefault();
2401
2523
  }
2402
2524
  },
2403
2525
  onMouseDown(event) {
@@ -2529,8 +2651,8 @@ var script$2 = {
2529
2651
  }
2530
2652
  },
2531
2653
  components: {
2532
- DTHeaderCheckbox: script$4,
2533
- DTColumnFilter: script$3
2654
+ DTHeaderCheckbox: script$3,
2655
+ DTColumnFilter: script$4
2534
2656
  }
2535
2657
  };
2536
2658
 
@@ -2553,17 +2675,17 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
2553
2675
  style: normalizeStyle($options.containerStyle),
2554
2676
  class: normalizeClass($options.containerClass),
2555
2677
  tabindex: $options.columnProp('sortable') ? '0' : null,
2556
- role: "cell",
2678
+ role: "columnheader",
2679
+ colspan: $options.columnProp('colspan'),
2680
+ rowspan: $options.columnProp('rowspan'),
2681
+ "aria-sort": $options.ariaSort,
2557
2682
  onClick: _cache[8] || (_cache[8] = (...args) => ($options.onClick && $options.onClick(...args))),
2558
2683
  onKeydown: _cache[9] || (_cache[9] = (...args) => ($options.onKeyDown && $options.onKeyDown(...args))),
2559
2684
  onMousedown: _cache[10] || (_cache[10] = (...args) => ($options.onMouseDown && $options.onMouseDown(...args))),
2560
2685
  onDragstart: _cache[11] || (_cache[11] = (...args) => ($options.onDragStart && $options.onDragStart(...args))),
2561
2686
  onDragover: _cache[12] || (_cache[12] = (...args) => ($options.onDragOver && $options.onDragOver(...args))),
2562
2687
  onDragleave: _cache[13] || (_cache[13] = (...args) => ($options.onDragLeave && $options.onDragLeave(...args))),
2563
- onDrop: _cache[14] || (_cache[14] = (...args) => ($options.onDrop && $options.onDrop(...args))),
2564
- colspan: $options.columnProp('colspan'),
2565
- rowspan: $options.columnProp('rowspan'),
2566
- "aria-sort": $options.ariaSort
2688
+ onDrop: _cache[14] || (_cache[14] = (...args) => ($options.onDrop && $options.onDrop(...args)))
2567
2689
  }, [
2568
2690
  ($props.resizableColumns && !$options.columnProp('frozen'))
2569
2691
  ? (openBlock(), createElementBlock("span", {
@@ -2613,6 +2735,7 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
2613
2735
  filterApplyTemplate: $props.column.children && $props.column.children.filterapply,
2614
2736
  filters: $props.filters,
2615
2737
  filtersStore: $props.filtersStore,
2738
+ filterInputProps: $props.filterInputProps,
2616
2739
  onFilterChange: _cache[1] || (_cache[1] = $event => (_ctx.$emit('filter-change', $event))),
2617
2740
  onFilterApply: _cache[2] || (_cache[2] = $event => (_ctx.$emit('filter-apply'))),
2618
2741
  filterMenuStyle: $options.columnProp('filterMenuStyle'),
@@ -2629,7 +2752,7 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
2629
2752
  onConstraintAdd: _cache[5] || (_cache[5] = $event => (_ctx.$emit('constraint-add', $event))),
2630
2753
  onConstraintRemove: _cache[6] || (_cache[6] = $event => (_ctx.$emit('constraint-remove', $event))),
2631
2754
  onApplyClick: _cache[7] || (_cache[7] = $event => (_ctx.$emit('apply-click', $event)))
2632
- }, null, 8, ["field", "type", "showMenu", "filterElement", "filterHeaderTemplate", "filterFooterTemplate", "filterClearTemplate", "filterApplyTemplate", "filters", "filtersStore", "filterMenuStyle", "filterMenuClass", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "matchModeOptions", "maxConstraints"]))
2755
+ }, null, 8, ["field", "type", "showMenu", "filterElement", "filterHeaderTemplate", "filterFooterTemplate", "filterClearTemplate", "filterApplyTemplate", "filters", "filtersStore", "filterInputProps", "filterMenuStyle", "filterMenuClass", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "matchModeOptions", "maxConstraints"]))
2633
2756
  : createCommentVNode("", true)
2634
2757
  ])
2635
2758
  ], 46, _hoisted_1$2))
@@ -2721,6 +2844,10 @@ var script$1 = {
2721
2844
  reorderableColumns: {
2722
2845
  type: Boolean,
2723
2846
  default: false
2847
+ },
2848
+ filterInputProps: {
2849
+ type: null,
2850
+ default: null
2724
2851
  }
2725
2852
  },
2726
2853
  methods: {
@@ -2772,8 +2899,8 @@ var script$1 = {
2772
2899
  },
2773
2900
  components: {
2774
2901
  DTHeaderCell: script$2,
2775
- DTHeaderCheckbox: script$4,
2776
- DTColumnFilter: script$3
2902
+ DTHeaderCheckbox: script$3,
2903
+ DTColumnFilter: script$4
2777
2904
  }
2778
2905
  };
2779
2906
 
@@ -2825,6 +2952,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
2825
2952
  filters: $props.filters,
2826
2953
  filterDisplay: $props.filterDisplay,
2827
2954
  filtersStore: $props.filtersStore,
2955
+ filterInputProps: $props.filterInputProps,
2828
2956
  onFilterChange: _cache[8] || (_cache[8] = $event => (_ctx.$emit('filter-change', $event))),
2829
2957
  onFilterApply: _cache[9] || (_cache[9] = $event => (_ctx.$emit('filter-apply'))),
2830
2958
  onOperatorChange: _cache[10] || (_cache[10] = $event => (_ctx.$emit('operator-change', $event))),
@@ -2832,7 +2960,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
2832
2960
  onConstraintAdd: _cache[12] || (_cache[12] = $event => (_ctx.$emit('constraint-add', $event))),
2833
2961
  onConstraintRemove: _cache[13] || (_cache[13] = $event => (_ctx.$emit('constraint-remove', $event))),
2834
2962
  onApplyClick: _cache[14] || (_cache[14] = $event => (_ctx.$emit('apply-click', $event)))
2835
- }, null, 8, ["column", "groupRowsBy", "groupRowSortField", "reorderableColumns", "resizableColumns", "sortMode", "sortField", "sortOrder", "multiSortMeta", "allRowsSelected", "empty", "filters", "filterDisplay", "filtersStore"]))
2963
+ }, null, 8, ["column", "groupRowsBy", "groupRowSortField", "reorderableColumns", "resizableColumns", "sortMode", "sortField", "sortOrder", "multiSortMeta", "allRowsSelected", "empty", "filters", "filterDisplay", "filtersStore", "filterInputProps"]))
2836
2964
  : createCommentVNode("", true)
2837
2965
  ], 64))
2838
2966
  }), 128))
@@ -2853,8 +2981,8 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
2853
2981
  ? (openBlock(), createBlock(_component_DTHeaderCheckbox, {
2854
2982
  key: 0,
2855
2983
  checked: $props.allRowsSelected,
2856
- onChange: _cache[15] || (_cache[15] = $event => (_ctx.$emit('checkbox-change', $event))),
2857
- disabled: $props.empty
2984
+ disabled: $props.empty,
2985
+ onChange: _cache[15] || (_cache[15] = $event => (_ctx.$emit('checkbox-change', $event)))
2858
2986
  }, null, 8, ["checked", "disabled"]))
2859
2987
  : createCommentVNode("", true),
2860
2988
  (col.children && col.children.filter)
@@ -2871,6 +2999,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
2871
2999
  filterApplyTemplate: col.children && col.children.filterapply,
2872
3000
  filters: $props.filters,
2873
3001
  filtersStore: $props.filtersStore,
3002
+ filterInputProps: $props.filterInputProps,
2874
3003
  onFilterChange: _cache[16] || (_cache[16] = $event => (_ctx.$emit('filter-change', $event))),
2875
3004
  onFilterApply: _cache[17] || (_cache[17] = $event => (_ctx.$emit('filter-apply'))),
2876
3005
  filterMenuStyle: $options.columnProp(col, 'filterMenuStyle'),
@@ -2887,7 +3016,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
2887
3016
  onConstraintAdd: _cache[20] || (_cache[20] = $event => (_ctx.$emit('constraint-add', $event))),
2888
3017
  onConstraintRemove: _cache[21] || (_cache[21] = $event => (_ctx.$emit('constraint-remove', $event))),
2889
3018
  onApplyClick: _cache[22] || (_cache[22] = $event => (_ctx.$emit('apply-click', $event)))
2890
- }, null, 8, ["field", "type", "showMenu", "filterElement", "filterHeaderTemplate", "filterFooterTemplate", "filterClearTemplate", "filterApplyTemplate", "filters", "filtersStore", "filterMenuStyle", "filterMenuClass", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "matchModeOptions", "maxConstraints"]))
3019
+ }, null, 8, ["field", "type", "showMenu", "filterElement", "filterHeaderTemplate", "filterFooterTemplate", "filterClearTemplate", "filterApplyTemplate", "filters", "filtersStore", "filterInputProps", "filterMenuStyle", "filterMenuClass", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "matchModeOptions", "maxConstraints"]))
2891
3020
  : createCommentVNode("", true)
2892
3021
  ], 6))
2893
3022
  : createCommentVNode("", true)
@@ -3239,6 +3368,14 @@ var script = {
3239
3368
  tableClass: {
3240
3369
  type: String,
3241
3370
  default: null
3371
+ },
3372
+ tableProps: {
3373
+ type: null,
3374
+ default: null
3375
+ },
3376
+ filterInputProps: {
3377
+ type: null,
3378
+ default: null
3242
3379
  }
3243
3380
  },
3244
3381
  data() {
@@ -3592,6 +3729,9 @@ var script = {
3592
3729
  },
3593
3730
  onRowClick(e) {
3594
3731
  const event = e.originalEvent;
3732
+ const index = e.index;
3733
+ const body = this.$refs.bodyRef && this.$refs.bodyRef.$el;
3734
+ const focusedItem = DomHandler.findSingle(body, 'tr.p-selectable-row[tabindex="0"]');
3595
3735
 
3596
3736
  if (DomHandler.isClickable(event.target)) {
3597
3737
  return;
@@ -3668,6 +3808,11 @@ var script = {
3668
3808
  }
3669
3809
 
3670
3810
  this.rowTouched = false;
3811
+
3812
+ if (focusedItem) {
3813
+ focusedItem.tabIndex = '-1';
3814
+ DomHandler.find(body, 'tr.p-selectable-row')[index].tabIndex = '0';
3815
+ }
3671
3816
  },
3672
3817
  onRowDblClick(e) {
3673
3818
  const event = e.originalEvent;
@@ -3688,44 +3833,153 @@ var script = {
3688
3833
  onRowTouchEnd() {
3689
3834
  this.rowTouched = true;
3690
3835
  },
3691
- onRowKeyDown(e) {
3836
+ onRowKeyDown(e, slotProps) {
3692
3837
  const event = e.originalEvent;
3693
3838
  const rowData = e.data;
3694
3839
  const rowIndex = e.index;
3840
+ const metaKey = event.metaKey || event.ctrlKey;
3695
3841
 
3696
3842
  if (this.selectionMode) {
3697
3843
  const row = event.target;
3698
3844
 
3699
- switch (event.which) {
3700
- //down arrow
3701
- case 40:
3702
- var nextRow = this.findNextSelectableRow(row);
3845
+ switch (event.code) {
3846
+ case 'ArrowDown':
3847
+ this.onArrowDownKey(event, row, rowIndex, slotProps);
3848
+ break;
3703
3849
 
3704
- if (nextRow) {
3705
- nextRow.focus();
3706
- }
3850
+ case 'ArrowUp':
3851
+ this.onArrowUpKey(event, row, rowIndex, slotProps);
3852
+ break;
3707
3853
 
3708
- event.preventDefault();
3854
+ case 'Home':
3855
+ this.onHomeKey(event, row, rowIndex, slotProps);
3709
3856
  break;
3710
3857
 
3711
- //up arrow
3712
- case 38:
3713
- var prevRow = this.findPrevSelectableRow(row);
3858
+ case 'End':
3859
+ this.onEndKey(event, row, rowIndex, slotProps);
3860
+ break;
3714
3861
 
3715
- if (prevRow) {
3716
- prevRow.focus();
3717
- }
3862
+ case 'Enter':
3863
+ this.onEnterKey(event, rowData, rowIndex);
3864
+ break;
3865
+
3866
+ case 'Space':
3867
+ this.onSpaceKey(event, rowData, rowIndex, slotProps);
3868
+ break;
3718
3869
 
3719
- event.preventDefault();
3870
+ case 'Tab':
3871
+ this.onTabKey(event, rowIndex);
3720
3872
  break;
3721
3873
 
3722
- //enter
3723
- case 13:
3724
- this.onRowClick({ originalEvent: event, data: rowData, index: rowIndex });
3874
+ default:
3875
+ if (event.code === 'KeyA' && metaKey) {
3876
+ const data = this.dataToRender(slotProps.rows);
3877
+
3878
+ this.$emit('update:selection', data);
3879
+ }
3880
+
3725
3881
  break;
3726
3882
  }
3727
3883
  }
3728
3884
  },
3885
+ onArrowDownKey(event, row, rowIndex, slotProps) {
3886
+ const nextRow = this.findNextSelectableRow(row);
3887
+
3888
+ nextRow && this.focusRowChange(row, nextRow);
3889
+
3890
+ if (event.shiftKey) {
3891
+ const data = this.dataToRender(slotProps.rows);
3892
+ const nextRowIndex = rowIndex + 1 >= data.length ? data.length - 1 : rowIndex + 1;
3893
+
3894
+ this.onRowClick({ originalEvent: event, data: data[nextRowIndex], index: nextRowIndex });
3895
+ }
3896
+
3897
+ event.preventDefault();
3898
+ },
3899
+ onArrowUpKey(event, row, rowIndex, slotProps) {
3900
+ const prevRow = this.findPrevSelectableRow(row);
3901
+
3902
+ prevRow && this.focusRowChange(row, prevRow);
3903
+
3904
+ if (event.shiftKey) {
3905
+ const data = this.dataToRender(slotProps.rows);
3906
+ const prevRowIndex = rowIndex - 1 <= 0 ? 0 : rowIndex - 1;
3907
+
3908
+ this.onRowClick({ originalEvent: event, data: data[prevRowIndex], index: prevRowIndex });
3909
+ }
3910
+
3911
+ event.preventDefault();
3912
+ },
3913
+ onHomeKey(event, row, rowIndex, slotProps) {
3914
+ const firstRow = this.findFirstSelectableRow();
3915
+
3916
+ firstRow && this.focusRowChange(row, firstRow);
3917
+
3918
+ if (event.ctrlKey && event.shiftKey) {
3919
+ const data = this.dataToRender(slotProps.rows);
3920
+
3921
+ this.$emit('update:selection', data.slice(0, rowIndex + 1));
3922
+ }
3923
+
3924
+ event.preventDefault();
3925
+ },
3926
+ onEndKey(event, row, rowIndex, slotProps) {
3927
+ const lastRow = this.findLastSelectableRow();
3928
+
3929
+ lastRow && this.focusRowChange(row, lastRow);
3930
+
3931
+ if (event.ctrlKey && event.shiftKey) {
3932
+ const data = this.dataToRender(slotProps.rows);
3933
+
3934
+ this.$emit('update:selection', data.slice(rowIndex, data.length));
3935
+ }
3936
+
3937
+ event.preventDefault();
3938
+ },
3939
+ onEnterKey(event, rowData, rowIndex) {
3940
+ this.onRowClick({ originalEvent: event, data: rowData, index: rowIndex });
3941
+ event.preventDefault();
3942
+ },
3943
+ onSpaceKey(event, rowData, rowIndex, slotProps) {
3944
+ this.onEnterKey(event, rowData, rowIndex);
3945
+
3946
+ if (event.shiftKey && this.selection !== null) {
3947
+ const data = this.dataToRender(slotProps.rows);
3948
+ let index;
3949
+
3950
+ if (this.selection.length > 0) {
3951
+ let firstSelectedRowIndex, lastSelectedRowIndex;
3952
+
3953
+ firstSelectedRowIndex = ObjectUtils.findIndexInList(this.selection[0], data);
3954
+ lastSelectedRowIndex = ObjectUtils.findIndexInList(this.selection[this.selection.length - 1], data);
3955
+
3956
+ index = rowIndex <= firstSelectedRowIndex ? lastSelectedRowIndex : firstSelectedRowIndex;
3957
+ } else {
3958
+ index = ObjectUtils.findIndexInList(this.selection, data);
3959
+ }
3960
+
3961
+ const _selection = index !== rowIndex ? data.slice(Math.min(index, rowIndex), Math.max(index, rowIndex) + 1) : rowData;
3962
+
3963
+ this.$emit('update:selection', _selection);
3964
+ }
3965
+ },
3966
+ onTabKey(event, rowIndex) {
3967
+ const body = this.$refs.bodyRef && this.$refs.bodyRef.$el;
3968
+ const rows = DomHandler.find(body, 'tr.p-selectable-row');
3969
+
3970
+ if (event.code === 'Tab' && rows && rows.length > 0) {
3971
+ const firstSelectedRow = DomHandler.findSingle(body, 'tr.p-highlight');
3972
+ const focusedItem = DomHandler.findSingle(body, 'tr.p-selectable-row[tabindex="0"]');
3973
+
3974
+ if (firstSelectedRow) {
3975
+ firstSelectedRow.tabIndex = '0';
3976
+ focusedItem !== firstSelectedRow && (focusedItem.tabIndex = '-1');
3977
+ } else {
3978
+ rows[0].tabIndex = '0';
3979
+ focusedItem !== rows[0] && (rows[rowIndex].tabIndex = '-1');
3980
+ }
3981
+ }
3982
+ },
3729
3983
  findNextSelectableRow(row) {
3730
3984
  let nextRow = row.nextElementSibling;
3731
3985
 
@@ -3746,6 +4000,21 @@ var script = {
3746
4000
  return null;
3747
4001
  }
3748
4002
  },
4003
+ findFirstSelectableRow() {
4004
+ const firstRow = DomHandler.findSingle(this.$refs.table, '.p-selectable-row');
4005
+
4006
+ return firstRow;
4007
+ },
4008
+ findLastSelectableRow() {
4009
+ const rows = DomHandler.find(this.$refs.table, '.p-selectable-row');
4010
+
4011
+ return rows ? rows[rows.length - 1] : null;
4012
+ },
4013
+ focusRowChange(firstFocusableRow, currentFocusedRow) {
4014
+ firstFocusableRow.tabIndex = '-1';
4015
+ currentFocusedRow.tabIndex = '0';
4016
+ DomHandler.focus(currentFocusedRow);
4017
+ },
3749
4018
  toggleRowWithRadio(event) {
3750
4019
  const rowData = event.data;
3751
4020
 
@@ -4951,12 +5220,12 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
4951
5220
  showSpacer: false
4952
5221
  }), {
4953
5222
  content: withCtx((slotProps) => [
4954
- createElementVNode("table", {
5223
+ createElementVNode("table", mergeProps({
4955
5224
  ref: "table",
4956
5225
  role: "table",
4957
- class: normalizeClass([$props.tableClass, 'p-datatable-table']),
4958
- style: normalizeStyle([$props.tableStyle, slotProps.spacerStyle])
4959
- }, [
5226
+ class: [$props.tableClass, 'p-datatable-table'],
5227
+ style: [$props.tableStyle, slotProps.spacerStyle]
5228
+ }, $props.tableProps), [
4960
5229
  createVNode(_component_DTTableHeader, {
4961
5230
  columnGroup: $options.headerColumnGroup,
4962
5231
  columns: slotProps.columns,
@@ -4974,6 +5243,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
4974
5243
  filters: $data.d_filters,
4975
5244
  filtersStore: $props.filters,
4976
5245
  filterDisplay: $props.filterDisplay,
5246
+ filterInputProps: $props.filterInputProps,
4977
5247
  onColumnClick: _cache[1] || (_cache[1] = $event => ($options.onColumnHeaderClick($event))),
4978
5248
  onColumnMousedown: _cache[2] || (_cache[2] = $event => ($options.onColumnHeaderMouseDown($event))),
4979
5249
  onFilterChange: $options.onFilterChange,
@@ -4984,7 +5254,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
4984
5254
  onColumnDrop: _cache[6] || (_cache[6] = $event => ($options.onColumnHeaderDrop($event))),
4985
5255
  onColumnResizestart: _cache[7] || (_cache[7] = $event => ($options.onColumnResizeStart($event))),
4986
5256
  onCheckboxChange: _cache[8] || (_cache[8] = $event => ($options.toggleRowsWithCheckbox($event)))
4987
- }, null, 8, ["columnGroup", "columns", "rowGroupMode", "groupRowsBy", "groupRowSortField", "reorderableColumns", "resizableColumns", "allRowsSelected", "empty", "sortMode", "sortField", "sortOrder", "multiSortMeta", "filters", "filtersStore", "filterDisplay", "onFilterChange", "onFilterApply"]),
5257
+ }, null, 8, ["columnGroup", "columns", "rowGroupMode", "groupRowsBy", "groupRowSortField", "reorderableColumns", "resizableColumns", "allRowsSelected", "empty", "sortMode", "sortField", "sortOrder", "multiSortMeta", "filters", "filtersStore", "filterDisplay", "filterInputProps", "onFilterChange", "onFilterApply"]),
4988
5258
  ($props.frozenValue)
4989
5259
  ? (openBlock(), createBlock(_component_DTTableBody, {
4990
5260
  key: 0,
@@ -5016,6 +5286,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
5016
5286
  editingRowKeys: $data.d_editingRowKeys,
5017
5287
  templates: _ctx.$slots,
5018
5288
  responsiveLayout: $props.responsiveLayout,
5289
+ isVirtualScrollerDisabled: true,
5019
5290
  onRowgroupToggle: $options.toggleRowGroup,
5020
5291
  onRowClick: _cache[9] || (_cache[9] = $event => ($options.onRowClick($event))),
5021
5292
  onRowDblclick: _cache[10] || (_cache[10] = $event => ($options.onRowDblClick($event))),
@@ -5038,8 +5309,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
5038
5309
  onRowEditSave: _cache[24] || (_cache[24] = $event => ($options.onRowEditSave($event))),
5039
5310
  onRowEditCancel: _cache[25] || (_cache[25] = $event => ($options.onRowEditCancel($event))),
5040
5311
  editingMeta: $data.d_editingMeta,
5041
- onEditingMetaChange: $options.onEditingMetaChange,
5042
- isVirtualScrollerDisabled: true
5312
+ onEditingMetaChange: $options.onEditingMetaChange
5043
5313
  }, null, 8, ["value", "columns", "dataKey", "selection", "selectionKeys", "selectionMode", "contextMenu", "contextMenuSelection", "rowGroupMode", "groupRowsBy", "expandableRowGroups", "rowClass", "rowStyle", "editMode", "compareSelectionBy", "scrollable", "expandedRowIcon", "collapsedRowIcon", "expandedRows", "expandedRowKeys", "expandedRowGroups", "editingRows", "editingRowKeys", "templates", "responsiveLayout", "onRowgroupToggle", "onRowTouchend", "onRowKeydown", "onRowMousedown", "editingMeta", "onEditingMetaChange"]))
5044
5314
  : createCommentVNode("", true),
5045
5315
  createVNode(_component_DTTableBody, {
@@ -5071,12 +5341,14 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
5071
5341
  editingRowKeys: $data.d_editingRowKeys,
5072
5342
  templates: _ctx.$slots,
5073
5343
  responsiveLayout: $props.responsiveLayout,
5344
+ virtualScrollerContentProps: slotProps,
5345
+ isVirtualScrollerDisabled: $options.virtualScrollerDisabled,
5074
5346
  onRowgroupToggle: $options.toggleRowGroup,
5075
5347
  onRowClick: _cache[26] || (_cache[26] = $event => ($options.onRowClick($event))),
5076
5348
  onRowDblclick: _cache[27] || (_cache[27] = $event => ($options.onRowDblClick($event))),
5077
5349
  onRowRightclick: _cache[28] || (_cache[28] = $event => ($options.onRowRightClick($event))),
5078
5350
  onRowTouchend: $options.onRowTouchEnd,
5079
- onRowKeydown: $options.onRowKeyDown,
5351
+ onRowKeydown: $event => ($options.onRowKeyDown($event, slotProps)),
5080
5352
  onRowMousedown: $options.onRowMouseDown,
5081
5353
  onRowDragstart: _cache[29] || (_cache[29] = $event => ($options.onRowDragStart($event))),
5082
5354
  onRowDragover: _cache[30] || (_cache[30] = $event => ($options.onRowDragOver($event))),
@@ -5093,15 +5365,13 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
5093
5365
  onRowEditSave: _cache[41] || (_cache[41] = $event => ($options.onRowEditSave($event))),
5094
5366
  onRowEditCancel: _cache[42] || (_cache[42] = $event => ($options.onRowEditCancel($event))),
5095
5367
  editingMeta: $data.d_editingMeta,
5096
- onEditingMetaChange: $options.onEditingMetaChange,
5097
- virtualScrollerContentProps: slotProps,
5098
- isVirtualScrollerDisabled: $options.virtualScrollerDisabled
5099
- }, null, 8, ["value", "class", "columns", "empty", "dataKey", "selection", "selectionKeys", "selectionMode", "contextMenu", "contextMenuSelection", "rowGroupMode", "groupRowsBy", "expandableRowGroups", "rowClass", "rowStyle", "editMode", "compareSelectionBy", "scrollable", "expandedRowIcon", "collapsedRowIcon", "expandedRows", "expandedRowKeys", "expandedRowGroups", "editingRows", "editingRowKeys", "templates", "responsiveLayout", "onRowgroupToggle", "onRowTouchend", "onRowKeydown", "onRowMousedown", "editingMeta", "onEditingMetaChange", "virtualScrollerContentProps", "isVirtualScrollerDisabled"]),
5368
+ onEditingMetaChange: $options.onEditingMetaChange
5369
+ }, null, 8, ["value", "class", "columns", "empty", "dataKey", "selection", "selectionKeys", "selectionMode", "contextMenu", "contextMenuSelection", "rowGroupMode", "groupRowsBy", "expandableRowGroups", "rowClass", "rowStyle", "editMode", "compareSelectionBy", "scrollable", "expandedRowIcon", "collapsedRowIcon", "expandedRows", "expandedRowKeys", "expandedRowGroups", "editingRows", "editingRowKeys", "templates", "responsiveLayout", "virtualScrollerContentProps", "isVirtualScrollerDisabled", "onRowgroupToggle", "onRowTouchend", "onRowKeydown", "onRowMousedown", "editingMeta", "onEditingMetaChange"]),
5100
5370
  createVNode(_component_DTTableFooter, {
5101
5371
  columnGroup: $options.footerColumnGroup,
5102
5372
  columns: slotProps.columns
5103
5373
  }, null, 8, ["columnGroup", "columns"])
5104
- ], 6)
5374
+ ], 16)
5105
5375
  ]),
5106
5376
  _: 1
5107
5377
  }, 16, ["items", "columns", "style", "disabled"])
@@ -5182,7 +5452,7 @@ function styleInject(css, ref) {
5182
5452
  }
5183
5453
  }
5184
5454
 
5185
- var css_248z = "\n.p-datatable {\n position: relative;\n}\n.p-datatable table {\n border-collapse: collapse;\n min-width: 100%;\n table-layout: fixed;\n}\n.p-datatable .p-sortable-column {\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-datatable .p-sortable-column .p-column-title,\n.p-datatable .p-sortable-column .p-sortable-column-icon,\n.p-datatable .p-sortable-column .p-sortable-column-badge {\n vertical-align: middle;\n}\n.p-datatable .p-sortable-column .p-sortable-column-badge {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.p-datatable-responsive-scroll > .p-datatable-wrapper {\n overflow-x: auto;\n}\n.p-datatable-responsive-scroll > .p-datatable-wrapper > table,\n.p-datatable-auto-layout > .p-datatable-wrapper > table {\n table-layout: auto;\n}\n.p-datatable-hoverable-rows .p-selectable-row {\n cursor: pointer;\n}\n\n/* Scrollable */\n.p-datatable-scrollable .p-datatable-wrapper {\n position: relative;\n overflow: auto;\n}\n.p-datatable-scrollable .p-datatable-thead,\n.p-datatable-scrollable .p-datatable-tbody,\n.p-datatable-scrollable .p-datatable-tfoot {\n display: block;\n}\n.p-datatable-scrollable .p-datatable-thead > tr,\n.p-datatable-scrollable .p-datatable-tbody > tr,\n.p-datatable-scrollable .p-datatable-tfoot > tr {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n width: 100%;\n}\n.p-datatable-scrollable .p-datatable-thead > tr > th,\n.p-datatable-scrollable .p-datatable-tbody > tr > td,\n.p-datatable-scrollable .p-datatable-tfoot > tr > td {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-flex: 1;\n -ms-flex: 1 1 0px;\n flex: 1 1 0;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n.p-datatable-scrollable .p-datatable-thead {\n position: sticky;\n top: 0;\n z-index: 1;\n}\n.p-datatable-scrollable .p-datatable-frozen-tbody {\n position: sticky;\n z-index: 1;\n}\n.p-datatable-scrollable .p-datatable-tfoot {\n position: sticky;\n bottom: 0;\n z-index: 1;\n}\n.p-datatable-scrollable .p-frozen-column {\n position: sticky;\n background: inherit;\n}\n.p-datatable-scrollable th.p-frozen-column {\n z-index: 1;\n}\n.p-datatable-scrollable-both .p-datatable-thead > tr > th,\n.p-datatable-scrollable-both .p-datatable-tbody > tr > td,\n.p-datatable-scrollable-both .p-datatable-tfoot > tr > td,\n.p-datatable-scrollable-horizontal .p-datatable-thead > tr > th .p-datatable-scrollable-horizontal .p-datatable-tbody > tr > td,\n.p-datatable-scrollable-horizontal .p-datatable-tfoot > tr > td {\n -webkit-box-flex: 1;\n -ms-flex: 1 0 auto;\n flex: 1 0 auto;\n}\n.p-datatable-flex-scrollable {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n height: 100%;\n}\n.p-datatable-flex-scrollable .p-datatable-wrapper {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n height: 100%;\n}\n.p-datatable-scrollable .p-rowgroup-header {\n position: sticky;\n z-index: 1;\n}\n.p-datatable-scrollable.p-datatable-grouped-header .p-datatable-thead,\n.p-datatable-scrollable.p-datatable-grouped-footer .p-datatable-tfoot {\n display: table;\n border-collapse: collapse;\n width: 100%;\n table-layout: fixed;\n}\n.p-datatable-scrollable.p-datatable-grouped-header .p-datatable-thead > tr,\n.p-datatable-scrollable.p-datatable-grouped-footer .p-datatable-tfoot > tr {\n display: table-row;\n}\n.p-datatable-scrollable.p-datatable-grouped-header .p-datatable-thead > tr > th,\n.p-datatable-scrollable.p-datatable-grouped-footer .p-datatable-tfoot > tr > td {\n display: table-cell;\n}\n.p-datatable-scrollable .p-virtualscroller > .p-datatable-table {\n display: inline-block; /* For Safari */\n}\n\n/* Resizable */\n.p-datatable-resizable > .p-datatable-wrapper {\n overflow-x: auto;\n}\n.p-datatable-resizable .p-datatable-thead > tr > th,\n.p-datatable-resizable .p-datatable-tfoot > tr > td,\n.p-datatable-resizable .p-datatable-tbody > tr > td {\n overflow: hidden;\n white-space: nowrap;\n}\n.p-datatable-resizable .p-resizable-column:not(.p-frozen-column) {\n background-clip: padding-box;\n position: relative;\n}\n.p-datatable-resizable-fit .p-resizable-column:last-child .p-column-resizer {\n display: none;\n}\n.p-datatable .p-column-resizer {\n display: block;\n position: absolute !important;\n top: 0;\n right: 0;\n margin: 0;\n width: 0.5rem;\n height: 100%;\n padding: 0px;\n cursor: col-resize;\n border: 1px solid transparent;\n}\n.p-datatable .p-column-header-content {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n.p-datatable .p-column-resizer-helper {\n width: 1px;\n position: absolute;\n z-index: 10;\n display: none;\n}\n.p-datatable .p-row-editor-init,\n.p-datatable .p-row-editor-save,\n.p-datatable .p-row-editor-cancel {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n}\n\n/* Expand */\n.p-datatable .p-row-toggler {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n}\n\n/* Reorder */\n.p-datatable-reorder-indicator-up,\n.p-datatable-reorder-indicator-down {\n position: absolute;\n display: none;\n}\n.p-reorderable-column,\n.p-datatable-reorderablerow-handle {\n cursor: move;\n}\n\n/* Loader */\n.p-datatable .p-datatable-loading-overlay {\n position: absolute;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n z-index: 2;\n}\n\n/* Filter */\n.p-column-filter-row {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n width: 100%;\n}\n.p-column-filter-menu {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n margin-left: auto;\n}\n.p-column-filter-row .p-column-filter-element {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n width: 1%;\n}\n.p-column-filter-menu-button,\n.p-column-filter-clear-button {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n cursor: pointer;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n}\n.p-column-filter-overlay {\n position: absolute;\n top: 0;\n left: 0;\n}\n.p-column-filter-row-items {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.p-column-filter-row-item {\n cursor: pointer;\n}\n.p-column-filter-add-button,\n.p-column-filter-remove-button {\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.p-column-filter-add-button .p-button-label,\n.p-column-filter-remove-button .p-button-label {\n -webkit-box-flex: 0;\n -ms-flex-positive: 0;\n flex-grow: 0;\n}\n.p-column-filter-buttonbar {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n.p-column-filter-buttonbar .p-button:not(.p-button-icon-only) {\n width: auto;\n}\n\n/* Responsive */\n.p-datatable .p-datatable-tbody > tr > td > .p-column-title {\n display: none;\n}\n\n/* VirtualScroller */\n.p-datatable .p-virtualscroller-loading {\n -webkit-transform: none !important;\n transform: none !important;\n min-height: 0;\n position: sticky;\n top: 0;\n left: 0;\n}\n";
5455
+ var css_248z = "\n.p-datatable {\n position: relative;\n}\n.p-datatable table {\n border-collapse: collapse;\n min-width: 100%;\n table-layout: fixed;\n}\n.p-datatable .p-sortable-column {\n cursor: pointer;\n user-select: none;\n}\n.p-datatable .p-sortable-column .p-column-title,\n.p-datatable .p-sortable-column .p-sortable-column-icon,\n.p-datatable .p-sortable-column .p-sortable-column-badge {\n vertical-align: middle;\n}\n.p-datatable .p-sortable-column .p-sortable-column-badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n.p-datatable-responsive-scroll > .p-datatable-wrapper {\n overflow-x: auto;\n}\n.p-datatable-responsive-scroll > .p-datatable-wrapper > table,\n.p-datatable-auto-layout > .p-datatable-wrapper > table {\n table-layout: auto;\n}\n.p-datatable-hoverable-rows .p-selectable-row {\n cursor: pointer;\n}\n\n/* Scrollable */\n.p-datatable-scrollable .p-datatable-wrapper {\n position: relative;\n overflow: auto;\n}\n.p-datatable-scrollable .p-datatable-thead,\n.p-datatable-scrollable .p-datatable-tbody,\n.p-datatable-scrollable .p-datatable-tfoot {\n display: block;\n}\n.p-datatable-scrollable .p-datatable-thead > tr,\n.p-datatable-scrollable .p-datatable-tbody > tr,\n.p-datatable-scrollable .p-datatable-tfoot > tr {\n display: flex;\n flex-wrap: nowrap;\n width: 100%;\n}\n.p-datatable-scrollable .p-datatable-thead > tr > th,\n.p-datatable-scrollable .p-datatable-tbody > tr > td,\n.p-datatable-scrollable .p-datatable-tfoot > tr > td {\n display: flex;\n flex: 1 1 0;\n align-items: center;\n}\n.p-datatable-scrollable .p-datatable-thead {\n position: sticky;\n top: 0;\n z-index: 1;\n}\n.p-datatable-scrollable .p-datatable-frozen-tbody {\n position: sticky;\n z-index: 1;\n}\n.p-datatable-scrollable .p-datatable-tfoot {\n position: sticky;\n bottom: 0;\n z-index: 1;\n}\n.p-datatable-scrollable .p-frozen-column {\n position: sticky;\n background: inherit;\n}\n.p-datatable-scrollable th.p-frozen-column {\n z-index: 1;\n}\n.p-datatable-scrollable-both .p-datatable-thead > tr > th,\n.p-datatable-scrollable-both .p-datatable-tbody > tr > td,\n.p-datatable-scrollable-both .p-datatable-tfoot > tr > td,\n.p-datatable-scrollable-horizontal .p-datatable-thead > tr > th .p-datatable-scrollable-horizontal .p-datatable-tbody > tr > td,\n.p-datatable-scrollable-horizontal .p-datatable-tfoot > tr > td {\n flex: 1 0 auto;\n}\n.p-datatable-flex-scrollable {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n.p-datatable-flex-scrollable .p-datatable-wrapper {\n display: flex;\n flex-direction: column;\n flex: 1;\n height: 100%;\n}\n.p-datatable-scrollable .p-rowgroup-header {\n position: sticky;\n z-index: 1;\n}\n.p-datatable-scrollable.p-datatable-grouped-header .p-datatable-thead,\n.p-datatable-scrollable.p-datatable-grouped-footer .p-datatable-tfoot {\n display: table;\n border-collapse: collapse;\n width: 100%;\n table-layout: fixed;\n}\n.p-datatable-scrollable.p-datatable-grouped-header .p-datatable-thead > tr,\n.p-datatable-scrollable.p-datatable-grouped-footer .p-datatable-tfoot > tr {\n display: table-row;\n}\n.p-datatable-scrollable.p-datatable-grouped-header .p-datatable-thead > tr > th,\n.p-datatable-scrollable.p-datatable-grouped-footer .p-datatable-tfoot > tr > td {\n display: table-cell;\n}\n.p-datatable-scrollable .p-virtualscroller > .p-datatable-table {\n display: inline-block; /* For Safari */\n}\n\n/* Resizable */\n.p-datatable-resizable > .p-datatable-wrapper {\n overflow-x: auto;\n}\n.p-datatable-resizable .p-datatable-thead > tr > th,\n.p-datatable-resizable .p-datatable-tfoot > tr > td,\n.p-datatable-resizable .p-datatable-tbody > tr > td {\n overflow: hidden;\n white-space: nowrap;\n}\n.p-datatable-resizable .p-resizable-column:not(.p-frozen-column) {\n background-clip: padding-box;\n position: relative;\n}\n.p-datatable-resizable-fit .p-resizable-column:last-child .p-column-resizer {\n display: none;\n}\n.p-datatable .p-column-resizer {\n display: block;\n position: absolute !important;\n top: 0;\n right: 0;\n margin: 0;\n width: 0.5rem;\n height: 100%;\n padding: 0px;\n cursor: col-resize;\n border: 1px solid transparent;\n}\n.p-datatable .p-column-header-content {\n display: flex;\n align-items: center;\n}\n.p-datatable .p-column-resizer-helper {\n width: 1px;\n position: absolute;\n z-index: 10;\n display: none;\n}\n.p-datatable .p-row-editor-init,\n.p-datatable .p-row-editor-save,\n.p-datatable .p-row-editor-cancel {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n}\n\n/* Expand */\n.p-datatable .p-row-toggler {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n}\n\n/* Reorder */\n.p-datatable-reorder-indicator-up,\n.p-datatable-reorder-indicator-down {\n position: absolute;\n display: none;\n}\n.p-reorderable-column,\n.p-datatable-reorderablerow-handle {\n cursor: move;\n}\n\n/* Loader */\n.p-datatable .p-datatable-loading-overlay {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 2;\n}\n\n/* Filter */\n.p-column-filter-row {\n display: flex;\n align-items: center;\n width: 100%;\n}\n.p-column-filter-menu {\n display: inline-flex;\n margin-left: auto;\n}\n.p-column-filter-row .p-column-filter-element {\n flex: 1 1 auto;\n width: 1%;\n}\n.p-column-filter-menu-button,\n.p-column-filter-clear-button {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n}\n.p-column-filter-overlay {\n position: absolute;\n top: 0;\n left: 0;\n}\n.p-column-filter-row-items {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.p-column-filter-row-item {\n cursor: pointer;\n}\n.p-column-filter-add-button,\n.p-column-filter-remove-button {\n justify-content: center;\n}\n.p-column-filter-add-button .p-button-label,\n.p-column-filter-remove-button .p-button-label {\n flex-grow: 0;\n}\n.p-column-filter-buttonbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.p-column-filter-buttonbar .p-button:not(.p-button-icon-only) {\n width: auto;\n}\n\n/* Responsive */\n.p-datatable .p-datatable-tbody > tr > td > .p-column-title {\n display: none;\n}\n\n/* VirtualScroller */\n.p-datatable .p-virtualscroller-loading {\n transform: none !important;\n min-height: 0;\n position: sticky;\n top: 0;\n left: 0;\n}\n";
5186
5456
  styleInject(css_248z);
5187
5457
 
5188
5458
  script.render = render;