primevue 3.28.0 → 3.29.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 (420) hide show
  1. package/README.md +3 -3
  2. package/autocomplete/AutoComplete.d.ts +153 -1
  3. package/autocomplete/AutoComplete.vue +46 -17
  4. package/autocomplete/autocomplete.cjs.js +80 -74
  5. package/autocomplete/autocomplete.cjs.min.js +1 -1
  6. package/autocomplete/autocomplete.esm.js +80 -75
  7. package/autocomplete/autocomplete.esm.min.js +1 -1
  8. package/autocomplete/autocomplete.js +81 -76
  9. package/autocomplete/autocomplete.min.js +1 -1
  10. package/basecomponent/BaseComponent.vue +19 -5
  11. package/basecomponent/basecomponent.cjs.js +19 -5
  12. package/basecomponent/basecomponent.cjs.min.js +1 -1
  13. package/basecomponent/basecomponent.esm.js +19 -5
  14. package/basecomponent/basecomponent.esm.min.js +1 -1
  15. package/basecomponent/basecomponent.js +20 -7
  16. package/basecomponent/basecomponent.min.js +1 -1
  17. package/calendar/Calendar.d.ts +269 -0
  18. package/calendar/Calendar.vue +75 -59
  19. package/calendar/calendar.cjs.js +223 -259
  20. package/calendar/calendar.cjs.min.js +1 -1
  21. package/calendar/calendar.esm.js +223 -260
  22. package/calendar/calendar.esm.min.js +1 -1
  23. package/calendar/calendar.js +224 -261
  24. package/calendar/calendar.min.js +1 -1
  25. package/carousel/Carousel.d.ts +154 -0
  26. package/carousel/Carousel.vue +27 -14
  27. package/carousel/carousel.cjs.js +64 -65
  28. package/carousel/carousel.cjs.min.js +1 -1
  29. package/carousel/carousel.esm.js +64 -66
  30. package/carousel/carousel.esm.min.js +1 -1
  31. package/carousel/carousel.js +65 -67
  32. package/carousel/carousel.min.js +1 -1
  33. package/cascadeselect/CascadeSelect.d.ts +133 -0
  34. package/cascadeselect/CascadeSelect.vue +15 -12
  35. package/cascadeselect/CascadeSelectSub.vue +7 -3
  36. package/cascadeselect/cascadeselect.cjs.js +63 -66
  37. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  38. package/cascadeselect/cascadeselect.esm.js +63 -67
  39. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  40. package/cascadeselect/cascadeselect.js +64 -68
  41. package/cascadeselect/cascadeselect.min.js +1 -1
  42. package/checkbox/Checkbox.d.ts +60 -0
  43. package/checkbox/Checkbox.vue +7 -5
  44. package/checkbox/checkbox.cjs.js +17 -15
  45. package/checkbox/checkbox.cjs.min.js +1 -1
  46. package/checkbox/checkbox.esm.js +17 -16
  47. package/checkbox/checkbox.esm.min.js +1 -1
  48. package/checkbox/checkbox.js +18 -17
  49. package/checkbox/checkbox.min.js +1 -1
  50. package/chips/Chips.d.ts +80 -0
  51. package/chips/Chips.vue +9 -5
  52. package/chips/chips.cjs.js +23 -24
  53. package/chips/chips.cjs.min.js +1 -1
  54. package/chips/chips.esm.js +23 -25
  55. package/chips/chips.esm.min.js +1 -1
  56. package/chips/chips.js +24 -26
  57. package/chips/chips.min.js +1 -1
  58. package/colorpicker/ColorPicker.d.ts +76 -0
  59. package/colorpicker/ColorPicker.vue +11 -9
  60. package/colorpicker/colorpicker.cjs.js +28 -27
  61. package/colorpicker/colorpicker.cjs.min.js +1 -1
  62. package/colorpicker/colorpicker.esm.js +28 -28
  63. package/colorpicker/colorpicker.esm.min.js +1 -1
  64. package/colorpicker/colorpicker.js +29 -29
  65. package/colorpicker/colorpicker.min.js +1 -1
  66. package/column/Column.d.ts +303 -2
  67. package/column/Column.vue +3 -0
  68. package/column/column.cjs.js +7 -0
  69. package/column/column.cjs.min.js +1 -1
  70. package/column/column.esm.js +3 -0
  71. package/column/column.esm.min.js +1 -1
  72. package/column/column.js +7 -2
  73. package/column/column.min.js +1 -1
  74. package/columngroup/ColumnGroup.d.ts +34 -0
  75. package/columngroup/ColumnGroup.vue +3 -0
  76. package/columngroup/columngroup.cjs.js +7 -0
  77. package/columngroup/columngroup.cjs.min.js +1 -1
  78. package/columngroup/columngroup.esm.js +3 -0
  79. package/columngroup/columngroup.esm.min.js +1 -1
  80. package/columngroup/columngroup.js +7 -2
  81. package/columngroup/columngroup.min.js +1 -1
  82. package/config/PrimeVue.d.ts +163 -2
  83. package/confirmdialog/ConfirmDialog.d.ts +14 -7
  84. package/contextmenu/ContextMenu.d.ts +1 -1
  85. package/core/core.js +448 -331
  86. package/core/core.min.js +9 -9
  87. package/datatable/BodyCell.vue +29 -13
  88. package/datatable/ColumnFilter.vue +49 -20
  89. package/datatable/DataTable.d.ts +188 -1
  90. package/datatable/DataTable.vue +25 -14
  91. package/datatable/FooterCell.vue +15 -1
  92. package/datatable/HeaderCell.vue +31 -6
  93. package/datatable/HeaderCheckbox.vue +35 -5
  94. package/datatable/RowCheckbox.vue +36 -5
  95. package/datatable/RowRadioButton.vue +26 -6
  96. package/datatable/TableBody.vue +41 -11
  97. package/datatable/TableFooter.vue +31 -5
  98. package/datatable/TableHeader.vue +53 -6
  99. package/datatable/datatable.cjs.js +559 -376
  100. package/datatable/datatable.cjs.min.js +1 -1
  101. package/datatable/datatable.esm.js +559 -377
  102. package/datatable/datatable.esm.min.js +1 -1
  103. package/datatable/datatable.js +560 -378
  104. package/datatable/datatable.min.js +1 -1
  105. package/dataview/DataView.d.ts +72 -0
  106. package/dataview/DataView.vue +13 -8
  107. package/dataview/dataview.cjs.js +33 -37
  108. package/dataview/dataview.cjs.min.js +1 -1
  109. package/dataview/dataview.esm.js +33 -38
  110. package/dataview/dataview.esm.min.js +1 -1
  111. package/dataview/dataview.js +33 -38
  112. package/dataview/dataview.min.js +1 -1
  113. package/dataviewlayoutoptions/DataViewLayoutOptions.d.ts +65 -0
  114. package/dataviewlayoutoptions/DataViewLayoutOptions.vue +7 -5
  115. package/dataviewlayoutoptions/dataviewlayoutoptions.cjs.js +19 -17
  116. package/dataviewlayoutoptions/dataviewlayoutoptions.cjs.min.js +1 -1
  117. package/dataviewlayoutoptions/dataviewlayoutoptions.esm.js +19 -18
  118. package/dataviewlayoutoptions/dataviewlayoutoptions.esm.min.js +1 -1
  119. package/dataviewlayoutoptions/dataviewlayoutoptions.js +20 -19
  120. package/dataviewlayoutoptions/dataviewlayoutoptions.min.js +1 -1
  121. package/dialog/Dialog.d.ts +6 -4
  122. package/dialog/Dialog.vue +2 -3
  123. package/dialog/dialog.cjs.js +4 -5
  124. package/dialog/dialog.cjs.min.js +1 -1
  125. package/dialog/dialog.esm.js +4 -5
  126. package/dialog/dialog.esm.min.js +1 -1
  127. package/dialog/dialog.js +4 -5
  128. package/dialog/dialog.min.js +1 -1
  129. package/dropdown/Dropdown.d.ts +162 -1
  130. package/dropdown/Dropdown.vue +44 -25
  131. package/dropdown/dropdown.cjs.js +97 -93
  132. package/dropdown/dropdown.cjs.min.js +1 -1
  133. package/dropdown/dropdown.esm.js +97 -94
  134. package/dropdown/dropdown.esm.min.js +1 -1
  135. package/dropdown/dropdown.js +98 -95
  136. package/dropdown/dropdown.min.js +1 -1
  137. package/editor/Editor.d.ts +67 -0
  138. package/editor/Editor.vue +35 -33
  139. package/editor/editor.cjs.js +88 -73
  140. package/editor/editor.cjs.min.js +1 -1
  141. package/editor/editor.esm.js +85 -74
  142. package/editor/editor.esm.min.js +1 -1
  143. package/editor/editor.js +89 -75
  144. package/editor/editor.min.js +1 -1
  145. package/fileupload/FileUpload.d.ts +23 -23
  146. package/fileupload/FileUpload.vue +3 -3
  147. package/fileupload/fileupload.cjs.js +4 -4
  148. package/fileupload/fileupload.cjs.min.js +1 -1
  149. package/fileupload/fileupload.esm.js +4 -4
  150. package/fileupload/fileupload.esm.min.js +1 -1
  151. package/fileupload/fileupload.js +4 -4
  152. package/fileupload/fileupload.min.js +1 -1
  153. package/galleria/Galleria.d.ts +196 -0
  154. package/galleria/Galleria.vue +5 -3
  155. package/galleria/GalleriaContent.vue +10 -6
  156. package/galleria/GalleriaItem.vue +12 -9
  157. package/galleria/GalleriaThumbnails.vue +46 -9
  158. package/galleria/galleria.cjs.js +106 -104
  159. package/galleria/galleria.cjs.min.js +1 -1
  160. package/galleria/galleria.esm.js +106 -105
  161. package/galleria/galleria.esm.min.js +1 -1
  162. package/galleria/galleria.js +107 -106
  163. package/galleria/galleria.min.js +1 -1
  164. package/image/Image.d.ts +170 -0
  165. package/image/Image.vue +49 -21
  166. package/image/image.cjs.js +94 -59
  167. package/image/image.cjs.min.js +1 -1
  168. package/image/image.esm.js +94 -60
  169. package/image/image.esm.min.js +1 -1
  170. package/image/image.js +95 -61
  171. package/image/image.min.js +1 -1
  172. package/inputmask/InputMask.d.ts +25 -0
  173. package/inputmask/InputMask.vue +3 -1
  174. package/inputmask/inputmask.cjs.js +9 -3
  175. package/inputmask/inputmask.cjs.min.js +1 -1
  176. package/inputmask/inputmask.esm.js +6 -4
  177. package/inputmask/inputmask.esm.min.js +1 -1
  178. package/inputmask/inputmask.js +10 -5
  179. package/inputmask/inputmask.min.js +1 -1
  180. package/inputnumber/InputNumber.d.ts +69 -0
  181. package/inputnumber/InputNumber.vue +13 -11
  182. package/inputnumber/inputnumber.cjs.js +19 -28
  183. package/inputnumber/inputnumber.cjs.min.js +1 -1
  184. package/inputnumber/inputnumber.esm.js +19 -29
  185. package/inputnumber/inputnumber.esm.min.js +1 -1
  186. package/inputnumber/inputnumber.js +20 -30
  187. package/inputnumber/inputnumber.min.js +1 -1
  188. package/inputswitch/InputSwitch.d.ts +51 -0
  189. package/inputswitch/InputSwitch.vue +7 -4
  190. package/inputswitch/inputswitch.cjs.js +15 -11
  191. package/inputswitch/inputswitch.cjs.min.js +1 -1
  192. package/inputswitch/inputswitch.esm.js +12 -12
  193. package/inputswitch/inputswitch.esm.min.js +1 -1
  194. package/inputswitch/inputswitch.js +16 -13
  195. package/inputswitch/inputswitch.min.js +1 -1
  196. package/inputtext/InputText.d.ts +25 -0
  197. package/inputtext/InputText.vue +4 -1
  198. package/inputtext/inputtext.cjs.js +9 -3
  199. package/inputtext/inputtext.cjs.min.js +1 -1
  200. package/inputtext/inputtext.esm.js +6 -4
  201. package/inputtext/inputtext.esm.min.js +1 -1
  202. package/inputtext/inputtext.js +10 -5
  203. package/inputtext/inputtext.min.js +1 -1
  204. package/knob/Knob.d.ts +78 -0
  205. package/knob/Knob.vue +8 -4
  206. package/knob/knob.cjs.js +17 -13
  207. package/knob/knob.cjs.min.js +1 -1
  208. package/knob/knob.esm.js +14 -14
  209. package/knob/knob.esm.min.js +1 -1
  210. package/knob/knob.js +18 -15
  211. package/knob/knob.min.js +1 -1
  212. package/listbox/Listbox.d.ts +137 -1
  213. package/listbox/Listbox.vue +28 -15
  214. package/listbox/listbox.cjs.js +83 -78
  215. package/listbox/listbox.cjs.min.js +1 -1
  216. package/listbox/listbox.esm.js +83 -79
  217. package/listbox/listbox.esm.min.js +1 -1
  218. package/listbox/listbox.js +84 -80
  219. package/listbox/listbox.min.js +1 -1
  220. package/megamenu/MegaMenu.d.ts +5 -5
  221. package/menu/Menu.d.ts +4 -4
  222. package/menubar/Menubar.d.ts +1 -1
  223. package/multiselect/MultiSelect.d.ts +223 -1
  224. package/multiselect/MultiSelect.vue +72 -41
  225. package/multiselect/multiselect.cjs.js +156 -151
  226. package/multiselect/multiselect.cjs.min.js +1 -1
  227. package/multiselect/multiselect.esm.js +156 -152
  228. package/multiselect/multiselect.esm.min.js +1 -1
  229. package/multiselect/multiselect.js +157 -153
  230. package/multiselect/multiselect.min.js +1 -1
  231. package/orderlist/OrderList.d.ts +94 -0
  232. package/orderlist/OrderList.vue +38 -18
  233. package/orderlist/orderlist.cjs.js +50 -36
  234. package/orderlist/orderlist.cjs.min.js +1 -1
  235. package/orderlist/orderlist.esm.js +50 -37
  236. package/orderlist/orderlist.esm.min.js +1 -1
  237. package/orderlist/orderlist.js +51 -38
  238. package/orderlist/orderlist.min.js +1 -1
  239. package/organizationchart/OrganizationChart.d.ts +129 -0
  240. package/organizationchart/OrganizationChart.vue +14 -2
  241. package/organizationchart/OrganizationChartNode.vue +37 -16
  242. package/organizationchart/organizationchart.cjs.js +77 -61
  243. package/organizationchart/organizationchart.cjs.min.js +1 -1
  244. package/organizationchart/organizationchart.esm.js +77 -62
  245. package/organizationchart/organizationchart.esm.min.js +1 -1
  246. package/organizationchart/organizationchart.js +78 -63
  247. package/organizationchart/organizationchart.min.js +1 -1
  248. package/package.json +1 -1
  249. package/paginator/CurrentPageReport.vue +5 -1
  250. package/paginator/FirstPageLink.vue +13 -2
  251. package/paginator/JumpToPageDropdown.vue +3 -1
  252. package/paginator/JumpToPageInput.vue +3 -1
  253. package/paginator/LastPageLink.vue +13 -2
  254. package/paginator/NextPageLink.vue +13 -2
  255. package/paginator/PageLinks.vue +12 -2
  256. package/paginator/Paginator.d.ts +133 -0
  257. package/paginator/Paginator.vue +23 -12
  258. package/paginator/PrevPageLink.vue +13 -2
  259. package/paginator/RowsPerPageDropdown.vue +3 -1
  260. package/paginator/paginator.cjs.js +135 -76
  261. package/paginator/paginator.cjs.min.js +1 -1
  262. package/paginator/paginator.esm.js +135 -77
  263. package/paginator/paginator.esm.min.js +1 -1
  264. package/paginator/paginator.js +136 -78
  265. package/paginator/paginator.min.js +1 -1
  266. package/panelmenu/PanelMenu.d.ts +4 -8
  267. package/password/Password.d.ts +104 -0
  268. package/password/Password.vue +11 -9
  269. package/password/password.cjs.js +26 -28
  270. package/password/password.cjs.min.js +1 -1
  271. package/password/password.esm.js +26 -29
  272. package/password/password.esm.min.js +1 -1
  273. package/password/password.js +27 -30
  274. package/password/password.min.js +1 -1
  275. package/picklist/PickList.d.ts +160 -0
  276. package/picklist/PickList.vue +46 -34
  277. package/picklist/picklist.cjs.js +111 -85
  278. package/picklist/picklist.cjs.min.js +1 -1
  279. package/picklist/picklist.esm.js +111 -86
  280. package/picklist/picklist.esm.min.js +1 -1
  281. package/picklist/picklist.js +112 -87
  282. package/picklist/picklist.min.js +1 -1
  283. package/radiobutton/RadioButton.d.ts +55 -0
  284. package/radiobutton/RadioButton.vue +7 -5
  285. package/radiobutton/radiobutton.cjs.js +19 -16
  286. package/radiobutton/radiobutton.cjs.min.js +1 -1
  287. package/radiobutton/radiobutton.esm.js +16 -17
  288. package/radiobutton/radiobutton.esm.min.js +1 -1
  289. package/radiobutton/radiobutton.js +20 -18
  290. package/radiobutton/radiobutton.min.js +1 -1
  291. package/rating/Rating.d.ts +96 -0
  292. package/rating/Rating.vue +32 -9
  293. package/rating/rating.cjs.js +41 -34
  294. package/rating/rating.cjs.min.js +1 -1
  295. package/rating/rating.esm.js +41 -35
  296. package/rating/rating.esm.min.js +1 -1
  297. package/rating/rating.js +42 -36
  298. package/rating/rating.min.js +1 -1
  299. package/row/Row.d.ts +29 -0
  300. package/row/Row.vue +3 -0
  301. package/row/row.cjs.js +7 -0
  302. package/row/row.cjs.min.js +1 -1
  303. package/row/row.esm.js +3 -0
  304. package/row/row.esm.min.js +1 -1
  305. package/row/row.js +7 -2
  306. package/row/row.min.js +1 -1
  307. package/selectbutton/SelectButton.d.ts +68 -0
  308. package/selectbutton/SelectButton.vue +13 -2
  309. package/selectbutton/selectbutton.cjs.js +20 -10
  310. package/selectbutton/selectbutton.cjs.min.js +1 -1
  311. package/selectbutton/selectbutton.esm.js +20 -11
  312. package/selectbutton/selectbutton.esm.min.js +1 -1
  313. package/selectbutton/selectbutton.js +21 -12
  314. package/selectbutton/selectbutton.min.js +1 -1
  315. package/slider/Slider.d.ts +48 -0
  316. package/slider/Slider.vue +7 -2
  317. package/slider/slider.cjs.js +22 -16
  318. package/slider/slider.cjs.min.js +1 -1
  319. package/slider/slider.esm.js +19 -17
  320. package/slider/slider.esm.min.js +1 -1
  321. package/slider/slider.js +23 -18
  322. package/slider/slider.min.js +1 -1
  323. package/splitbutton/SplitButton.d.ts +0 -4
  324. package/splitbutton/SplitButton.vue +2 -2
  325. package/splitbutton/splitbutton.cjs.js +7 -6
  326. package/splitbutton/splitbutton.cjs.min.js +1 -1
  327. package/splitbutton/splitbutton.esm.js +7 -6
  328. package/splitbutton/splitbutton.esm.min.js +1 -1
  329. package/splitbutton/splitbutton.js +7 -6
  330. package/splitbutton/splitbutton.min.js +1 -1
  331. package/splitter/Splitter.d.ts +3 -3
  332. package/textarea/Textarea.d.ts +32 -0
  333. package/textarea/Textarea.vue +4 -1
  334. package/textarea/textarea.cjs.js +9 -3
  335. package/textarea/textarea.cjs.min.js +1 -1
  336. package/textarea/textarea.esm.js +6 -4
  337. package/textarea/textarea.esm.min.js +1 -1
  338. package/textarea/textarea.js +10 -5
  339. package/textarea/textarea.min.js +1 -1
  340. package/timeline/Timeline.d.ts +49 -0
  341. package/timeline/Timeline.vue +9 -7
  342. package/timeline/timeline.cjs.js +19 -21
  343. package/timeline/timeline.cjs.min.js +1 -1
  344. package/timeline/timeline.esm.js +16 -22
  345. package/timeline/timeline.esm.min.js +1 -1
  346. package/timeline/timeline.js +20 -23
  347. package/timeline/timeline.min.js +1 -1
  348. package/toast/Toast.d.ts +4 -0
  349. package/toast/Toast.vue +1 -1
  350. package/toast/toast.cjs.js +3 -3
  351. package/toast/toast.cjs.min.js +1 -1
  352. package/toast/toast.esm.js +3 -3
  353. package/toast/toast.esm.min.js +1 -1
  354. package/toast/toast.js +3 -3
  355. package/toast/toast.min.js +1 -1
  356. package/togglebutton/ToggleButton.d.ts +59 -0
  357. package/togglebutton/ToggleButton.vue +7 -5
  358. package/togglebutton/togglebutton.cjs.js +15 -14
  359. package/togglebutton/togglebutton.cjs.min.js +1 -1
  360. package/togglebutton/togglebutton.esm.js +15 -15
  361. package/togglebutton/togglebutton.esm.min.js +1 -1
  362. package/togglebutton/togglebutton.js +16 -16
  363. package/togglebutton/togglebutton.min.js +1 -1
  364. package/tooltip/Tooltip.d.ts +10 -0
  365. package/tooltip/tooltip.cjs.js +51 -9
  366. package/tooltip/tooltip.cjs.min.js +1 -1
  367. package/tooltip/tooltip.esm.js +52 -10
  368. package/tooltip/tooltip.esm.min.js +1 -1
  369. package/tooltip/tooltip.js +51 -9
  370. package/tooltip/tooltip.min.js +1 -1
  371. package/tree/Tree.d.ts +137 -0
  372. package/tree/Tree.vue +12 -9
  373. package/tree/TreeNode.vue +23 -10
  374. package/tree/tree.cjs.js +85 -79
  375. package/tree/tree.cjs.min.js +1 -1
  376. package/tree/tree.esm.js +85 -80
  377. package/tree/tree.esm.min.js +1 -1
  378. package/tree/tree.js +86 -81
  379. package/tree/tree.min.js +1 -1
  380. package/treeselect/TreeSelect.d.ts +103 -1
  381. package/treeselect/TreeSelect.vue +15 -12
  382. package/treeselect/treeselect.cjs.js +37 -39
  383. package/treeselect/treeselect.cjs.min.js +1 -1
  384. package/treeselect/treeselect.esm.js +37 -40
  385. package/treeselect/treeselect.esm.min.js +1 -1
  386. package/treeselect/treeselect.js +38 -41
  387. package/treeselect/treeselect.min.js +1 -1
  388. package/treetable/BodyCell.vue +38 -10
  389. package/treetable/FooterCell.vue +15 -1
  390. package/treetable/HeaderCell.vue +28 -5
  391. package/treetable/TreeTable.d.ts +162 -0
  392. package/treetable/TreeTable.vue +25 -19
  393. package/treetable/TreeTableRow.vue +5 -0
  394. package/treetable/treetable.cjs.js +205 -158
  395. package/treetable/treetable.cjs.min.js +1 -1
  396. package/treetable/treetable.esm.js +205 -159
  397. package/treetable/treetable.esm.min.js +1 -1
  398. package/treetable/treetable.js +206 -160
  399. package/treetable/treetable.min.js +1 -1
  400. package/tristatecheckbox/TriStateCheckbox.d.ts +93 -0
  401. package/tristatecheckbox/TriStateCheckbox.vue +19 -8
  402. package/tristatecheckbox/tristatecheckbox.cjs.js +31 -22
  403. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  404. package/tristatecheckbox/tristatecheckbox.esm.js +31 -23
  405. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  406. package/tristatecheckbox/tristatecheckbox.js +32 -24
  407. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  408. package/ts-helpers.d.ts +3 -1
  409. package/vetur-attributes.json +180 -0
  410. package/vetur-tags.json +94 -39
  411. package/virtualscroller/VirtualScroller.d.ts +97 -0
  412. package/virtualscroller/VirtualScroller.vue +7 -5
  413. package/virtualscroller/virtualscroller.cjs.js +22 -19
  414. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  415. package/virtualscroller/virtualscroller.esm.js +22 -20
  416. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  417. package/virtualscroller/virtualscroller.js +23 -21
  418. package/virtualscroller/virtualscroller.min.js +1 -1
  419. package/web-types.json +467 -3
  420. package/datatable/TableLoadingBody.vue +0 -25
@@ -1,9 +1,10 @@
1
1
  this.primevue = this.primevue || {};
2
- this.primevue.treeselect = (function (ChevronDownIcon, OverlayEventBus, Portal, Ripple, Tree, utils, vue) {
2
+ this.primevue.treeselect = (function (BaseComponent, ChevronDownIcon, OverlayEventBus, Portal, Ripple, Tree, utils, vue) {
3
3
  'use strict';
4
4
 
5
5
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
6
6
 
7
+ var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
7
8
  var ChevronDownIcon__default = /*#__PURE__*/_interopDefaultLegacy(ChevronDownIcon);
8
9
  var OverlayEventBus__default = /*#__PURE__*/_interopDefaultLegacy(OverlayEventBus);
9
10
  var Portal__default = /*#__PURE__*/_interopDefaultLegacy(Portal);
@@ -12,6 +13,7 @@ this.primevue.treeselect = (function (ChevronDownIcon, OverlayEventBus, Portal,
12
13
 
13
14
  var script = {
14
15
  name: 'TreeSelect',
16
+ extends: BaseComponent__default["default"],
15
17
  emits: ['update:modelValue', 'before-show', 'before-hide', 'change', 'show', 'hide', 'node-select', 'node-unselect', 'node-expand', 'node-collapse', 'focus', 'blur'],
16
18
  props: {
17
19
  modelValue: null,
@@ -453,26 +455,19 @@ this.primevue.treeselect = (function (ChevronDownIcon, OverlayEventBus, Portal,
453
455
  }
454
456
  };
455
457
 
456
- const _hoisted_1 = { class: "p-hidden-accessible" };
457
- const _hoisted_2 = ["id", "disabled", "tabindex", "aria-labelledby", "aria-label", "aria-expanded", "aria-controls"];
458
- const _hoisted_3 = { class: "p-treeselect-label-container" };
459
- const _hoisted_4 = { class: "p-treeselect-token-label" };
460
- const _hoisted_5 = ["aria-expanded"];
461
- const _hoisted_6 = {
462
- key: 0,
463
- class: "p-treeselect-empty-message"
464
- };
458
+ const _hoisted_1 = ["id", "disabled", "tabindex", "aria-labelledby", "aria-label", "aria-expanded", "aria-controls"];
459
+ const _hoisted_2 = ["aria-expanded"];
465
460
 
466
461
  function render(_ctx, _cache, $props, $setup, $data, $options) {
467
462
  const _component_TSTree = vue.resolveComponent("TSTree");
468
463
  const _component_Portal = vue.resolveComponent("Portal");
469
464
 
470
- return (vue.openBlock(), vue.createElementBlock("div", {
465
+ return (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
471
466
  ref: "container",
472
- class: vue.normalizeClass($options.containerClass),
467
+ class: $options.containerClass,
473
468
  onClick: _cache[7] || (_cache[7] = (...args) => ($options.onClick && $options.onClick(...args)))
474
- }, [
475
- vue.createElementVNode("div", _hoisted_1, [
469
+ }, _ctx.ptm('root')), [
470
+ vue.createElementVNode("div", vue.mergeProps({ class: "p-hidden-accessible" }, _ctx.ptm('hiddenInputWrapper')), [
476
471
  vue.createElementVNode("input", vue.mergeProps({
477
472
  ref: "focusInput",
478
473
  id: $props.inputId,
@@ -491,12 +486,10 @@ this.primevue.treeselect = (function (ChevronDownIcon, OverlayEventBus, Portal,
491
486
  onFocus: _cache[0] || (_cache[0] = $event => ($options.onFocus($event))),
492
487
  onBlur: _cache[1] || (_cache[1] = $event => ($options.onBlur($event))),
493
488
  onKeydown: _cache[2] || (_cache[2] = $event => ($options.onKeyDown($event)))
494
- }, $props.inputProps), null, 16, _hoisted_2)
495
- ]),
496
- vue.createElementVNode("div", _hoisted_3, [
497
- vue.createElementVNode("div", {
498
- class: vue.normalizeClass($options.labelClass)
499
- }, [
489
+ }, { ...$props.inputProps, ..._ctx.ptm('hiddenInput') }), null, 16, _hoisted_1)
490
+ ], 16),
491
+ vue.createElementVNode("div", vue.mergeProps({ class: "p-treeselect-label-container" }, _ctx.ptm('labelContainer')), [
492
+ vue.createElementVNode("div", vue.mergeProps({ class: $options.labelClass }, _ctx.ptm('label')), [
500
493
  vue.renderSlot(_ctx.$slots, "value", {
501
494
  value: $options.selectedNodes,
502
495
  placeholder: $props.placeholder
@@ -508,12 +501,12 @@ this.primevue.treeselect = (function (ChevronDownIcon, OverlayEventBus, Portal,
508
501
  : ($props.display === 'chip')
509
502
  ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
510
503
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($options.selectedNodes, (node) => {
511
- return (vue.openBlock(), vue.createElementBlock("div", {
504
+ return (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
512
505
  key: node.key,
513
506
  class: "p-treeselect-token"
514
- }, [
515
- vue.createElementVNode("span", _hoisted_4, vue.toDisplayString(node.label), 1)
516
- ]))
507
+ }, _ctx.ptm('token')), [
508
+ vue.createElementVNode("span", vue.mergeProps({ class: "p-treeselect-token-label" }, _ctx.ptm('tokenLabel')), vue.toDisplayString(node.label), 17)
509
+ ], 16))
517
510
  }), 128)),
518
511
  ($options.emptyValue)
519
512
  ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
@@ -523,18 +516,18 @@ this.primevue.treeselect = (function (ChevronDownIcon, OverlayEventBus, Portal,
523
516
  ], 64))
524
517
  : vue.createCommentVNode("", true)
525
518
  ])
526
- ], 2)
527
- ]),
528
- vue.createElementVNode("div", {
519
+ ], 16)
520
+ ], 16),
521
+ vue.createElementVNode("div", vue.mergeProps({
529
522
  class: "p-treeselect-trigger",
530
523
  role: "button",
531
524
  "aria-haspopup": "tree",
532
525
  "aria-expanded": $data.overlayVisible
533
- }, [
526
+ }, _ctx.ptm('trigger')), [
534
527
  vue.renderSlot(_ctx.$slots, "triggericon", {}, () => [
535
- (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent('ChevronDownIcon'), { class: "p-treeselect-trigger-icon" }))
528
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent('ChevronDownIcon'), vue.mergeProps({ class: "p-treeselect-trigger-icon" }, _ctx.ptm('triggerIcon')), null, 16))
536
529
  ])
537
- ], 8, _hoisted_5),
530
+ ], 16, _hoisted_2),
538
531
  vue.createVNode(_component_Portal, { appendTo: $props.appendTo }, {
539
532
  default: vue.withCtx(() => [
540
533
  vue.createVNode(vue.Transition, {
@@ -551,15 +544,15 @@ this.primevue.treeselect = (function (ChevronDownIcon, OverlayEventBus, Portal,
551
544
  onClick: _cache[5] || (_cache[5] = (...args) => ($options.onOverlayClick && $options.onOverlayClick(...args))),
552
545
  class: $options.panelStyleClass,
553
546
  onKeydown: _cache[6] || (_cache[6] = (...args) => ($options.onOverlayKeydown && $options.onOverlayKeydown(...args)))
554
- }, $props.panelProps), [
547
+ }, { ...$props.panelProps, ..._ctx.ptm('panel') }), [
555
548
  vue.renderSlot(_ctx.$slots, "header", {
556
549
  value: $props.modelValue,
557
550
  options: $props.options
558
551
  }),
559
- vue.createElementVNode("div", {
552
+ vue.createElementVNode("div", vue.mergeProps({
560
553
  class: "p-treeselect-items-wrapper",
561
- style: vue.normalizeStyle({ 'max-height': $props.scrollHeight })
562
- }, [
554
+ style: { 'max-height': $props.scrollHeight }
555
+ }, _ctx.ptm('wrapper')), [
563
556
  vue.createVNode(_component_TSTree, {
564
557
  ref: "tree",
565
558
  id: $options.listId,
@@ -574,7 +567,8 @@ this.primevue.treeselect = (function (ChevronDownIcon, OverlayEventBus, Portal,
574
567
  onNodeCollapse: _cache[4] || (_cache[4] = $event => (_ctx.$emit('node-collapse', $event))),
575
568
  onNodeSelect: $options.onNodeSelect,
576
569
  onNodeUnselect: $options.onNodeUnselect,
577
- level: 0
570
+ level: 0,
571
+ pt: _ctx.ptm('tree')
578
572
  }, vue.createSlots({ _: 2 }, [
579
573
  (_ctx.$slots.itemtogglericon)
580
574
  ? {
@@ -602,15 +596,18 @@ this.primevue.treeselect = (function (ChevronDownIcon, OverlayEventBus, Portal,
602
596
  key: "1"
603
597
  }
604
598
  : undefined
605
- ]), 1032, ["id", "value", "selectionMode", "onUpdate:selectionKeys", "selectionKeys", "expandedKeys", "onUpdate:expandedKeys", "metaKeySelection", "onNodeSelect", "onNodeUnselect"]),
599
+ ]), 1032, ["id", "value", "selectionMode", "onUpdate:selectionKeys", "selectionKeys", "expandedKeys", "onUpdate:expandedKeys", "metaKeySelection", "onNodeSelect", "onNodeUnselect", "pt"]),
606
600
  ($options.emptyOptions)
607
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6, [
601
+ ? (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
602
+ key: 0,
603
+ class: "p-treeselect-empty-message"
604
+ }, _ctx.ptm('emptyMessage')), [
608
605
  vue.renderSlot(_ctx.$slots, "empty", {}, () => [
609
606
  vue.createTextVNode(vue.toDisplayString($options.emptyMessageText), 1)
610
607
  ])
611
- ]))
608
+ ], 16))
612
609
  : vue.createCommentVNode("", true)
613
- ], 4),
610
+ ], 16),
614
611
  vue.renderSlot(_ctx.$slots, "footer", {
615
612
  value: $props.modelValue,
616
613
  options: $props.options
@@ -623,7 +620,7 @@ this.primevue.treeselect = (function (ChevronDownIcon, OverlayEventBus, Portal,
623
620
  ]),
624
621
  _: 3
625
622
  }, 8, ["appendTo"])
626
- ], 2))
623
+ ], 16))
627
624
  }
628
625
 
629
626
  function styleInject(css, ref) {
@@ -660,4 +657,4 @@ this.primevue.treeselect = (function (ChevronDownIcon, OverlayEventBus, Portal,
660
657
 
661
658
  return script;
662
659
 
663
- })(primevue.icons.chevrondown, primevue.overlayeventbus, primevue.portal, primevue.ripple, primevue.tree, primevue.utils, Vue);
660
+ })(primevue.basecomponent, primevue.icons.chevrondown, primevue.overlayeventbus, primevue.portal, primevue.ripple, primevue.tree, primevue.utils, Vue);
@@ -1 +1 @@
1
- this.primevue=this.primevue||{},this.primevue.treeselect=function(e,t,l,i,n,s,o){"use strict";function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=r(e),d=r(t),c=r(l),p=r(i),h={name:"TreeSelect",emits:["update:modelValue","before-show","before-hide","change","show","hide","node-select","node-unselect","node-expand","node-collapse","focus","blur"],props:{modelValue:null,options:Array,scrollHeight:{type:String,default:"400px"},placeholder:{type:String,default:null},disabled:{type:Boolean,default:!1},tabindex:{type:Number,default:null},selectionMode:{type:String,default:"single"},appendTo:{type:String,default:"body"},emptyMessage:{type:String,default:null},display:{type:String,default:"comma"},metaKeySelection:{type:Boolean,default:!0},inputId:{type:String,default:null},inputClass:{type:[String,Object],default:null},inputStyle:{type:Object,default:null},inputProps:{type:null,default:null},panelClass:{type:[String,Object],default:null},panelProps:{type:null,default:null},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},data:()=>({focused:!1,overlayVisible:!1,expandedKeys:{}}),watch:{modelValue:{handler:function(){this.selfChange||this.updateTreeState(),this.selfChange=!1},immediate:!0},options(){this.updateTreeState()}},outsideClickListener:null,resizeListener:null,scrollHandler:null,overlay:null,selfChange:!1,selfClick:!1,beforeUnmount(){this.unbindOutsideClickListener(),this.unbindResizeListener(),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.overlay&&(s.ZIndexUtils.clear(this.overlay),this.overlay=null)},mounted(){this.updateTreeState()},methods:{show(){this.$emit("before-show"),this.overlayVisible=!0},hide(){this.$emit("before-hide"),this.overlayVisible=!1,this.$refs.focusInput.focus()},onFocus(e){this.focused=!0,this.$emit("focus",e)},onBlur(e){this.focused=!1,this.$emit("blur",e)},onClick(e){this.disabled||this.overlay&&this.overlay.contains(e.target)||s.DomHandler.hasClass(e.target,"p-treeselect-close")||(this.overlayVisible?this.hide():this.show(),this.$refs.focusInput.focus())},onSelectionChange(e){this.selfChange=!0,this.$emit("update:modelValue",e),this.$emit("change",e)},onNodeSelect(e){this.$emit("node-select",e),"single"===this.selectionMode&&this.hide()},onNodeUnselect(e){this.$emit("node-unselect",e)},onNodeToggle(e){this.expandedKeys=e},onKeyDown(e){switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"Space":case"Enter":this.onEnterKey(e);break;case"Escape":this.onEscapeKey(e)}},onArrowDownKey(e){this.overlayVisible||(this.show(),this.$nextTick((()=>{const e=[...s.DomHandler.find(this.$refs.tree.$el,".p-treenode")].find((e=>"0"===e.getAttribute("tabindex")));s.DomHandler.focus(e)})),e.preventDefault())},onEnterKey(e){this.overlayVisible?this.hide():this.onArrowDownKey(e),e.preventDefault()},onEscapeKey(e){this.overlayVisible&&(this.hide(),e.preventDefault())},onOverlayEnter(e){s.ZIndexUtils.set("overlay",e,this.$primevue.config.zIndex.overlay),this.alignOverlay(),this.bindOutsideClickListener(),this.bindScrollListener(),this.bindResizeListener(),this.scrollValueInView(),this.$emit("show")},onOverlayLeave(){this.unbindOutsideClickListener(),this.unbindScrollListener(),this.unbindResizeListener(),this.$emit("hide"),this.overlay=null},onOverlayAfterLeave(e){s.ZIndexUtils.clear(e)},alignOverlay(){"self"===this.appendTo?s.DomHandler.relativePosition(this.overlay,this.$el):(this.overlay.style.minWidth=s.DomHandler.getOuterWidth(this.$el)+"px",s.DomHandler.absolutePosition(this.overlay,this.$el))},bindOutsideClickListener(){this.outsideClickListener||(this.outsideClickListener=e=>{this.overlayVisible&&!this.selfClick&&this.isOutsideClicked(e)&&this.hide(),this.selfClick=!1},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindScrollListener(){this.scrollHandler||(this.scrollHandler=new s.ConnectedOverlayScrollHandler(this.$refs.container,(()=>{this.overlayVisible&&this.hide()}))),this.scrollHandler.bindScrollListener()},unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()},bindResizeListener(){this.resizeListener||(this.resizeListener=()=>{this.overlayVisible&&!s.DomHandler.isTouchDevice()&&this.hide()},window.addEventListener("resize",this.resizeListener))},unbindResizeListener(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},isOutsideClicked(e){return!(this.$el.isSameNode(e.target)||this.$el.contains(e.target)||this.overlay&&this.overlay.contains(e.target))},overlayRef(e){this.overlay=e},onOverlayClick(e){d.default.emit("overlay-click",{originalEvent:e,target:this.$el}),this.selfClick=!0},onOverlayKeydown(e){"Escape"===e.code&&this.hide()},findSelectedNodes(e,t,l){if(e){if(this.isSelected(e,t)&&(l.push(e),delete t[e.key]),Object.keys(t).length&&e.children)for(let i of e.children)this.findSelectedNodes(i,t,l)}else for(let e of this.options)this.findSelectedNodes(e,t,l)},isSelected(e,t){return"checkbox"===this.selectionMode?t[e.key]&&t[e.key].checked:t[e.key]},updateTreeState(){let e={...this.modelValue};this.expandedKeys={},e&&this.options&&this.updateTreeBranchState(null,null,e)},updateTreeBranchState(e,t,l){if(e){if(this.isSelected(e,l)&&(this.expandPath(t),delete l[e.key]),Object.keys(l).length&&e.children)for(let i of e.children)t.push(e.key),this.updateTreeBranchState(i,t,l)}else for(let e of this.options)this.updateTreeBranchState(e,[],l)},expandPath(e){if(e.length>0)for(let t of e)this.expandedKeys[t]=!0},scrollValueInView(){if(this.overlay){let e=s.DomHandler.findSingle(this.overlay,"li.p-highlight");e&&e.scrollIntoView({block:"nearest",inline:"start"})}}},computed:{containerClass(){return["p-treeselect p-component p-inputwrapper",{"p-treeselect-chip":"chip"===this.display,"p-disabled":this.disabled,"p-focus":this.focused,"p-inputwrapper-filled":!this.emptyValue,"p-inputwrapper-focus":this.focused||this.overlayVisible}]},labelClass(){return["p-treeselect-label",{"p-placeholder":this.label===this.placeholder,"p-treeselect-label-empty":!this.placeholder&&this.emptyValue}]},panelStyleClass(){return["p-treeselect-panel p-component",this.panelClass,{"p-input-filled":"filled"===this.$primevue.config.inputStyle,"p-ripple-disabled":!1===this.$primevue.config.ripple}]},selectedNodes(){let e=[];if(this.modelValue&&this.options){let t={...this.modelValue};this.findSelectedNodes(null,t,e)}return e},label(){let e=this.selectedNodes;return e.length?e.map((e=>e.label)).join(", "):this.placeholder},emptyMessageText(){return this.emptyMessage||this.$primevue.config.locale.emptyMessage},emptyValue(){return!this.modelValue||0===Object.keys(this.modelValue).length},emptyOptions(){return!this.options||0===this.options.length},listId:()=>s.UniqueComponentId()+"_list"},components:{TSTree:r(n).default,Portal:c.default,ChevronDownIcon:a.default},directives:{ripple:p.default}};const u={class:"p-hidden-accessible"},y=["id","disabled","tabindex","aria-labelledby","aria-label","aria-expanded","aria-controls"],m={class:"p-treeselect-label-container"},f={class:"p-treeselect-token-label"},v=["aria-expanded"],b={key:0,class:"p-treeselect-empty-message"};return function(e,t){void 0===t&&(t={});var l=t.insertAt;if(e&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===l&&i.firstChild?i.insertBefore(n,i.firstChild):i.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-treeselect {\n display: inline-flex;\n cursor: pointer;\n position: relative;\n user-select: none;\n}\n.p-treeselect-trigger {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n.p-treeselect-label-container {\n overflow: hidden;\n flex: 1 1 auto;\n cursor: pointer;\n}\n.p-treeselect-label {\n display: block;\n white-space: nowrap;\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.p-treeselect-label-empty {\n overflow: hidden;\n visibility: hidden;\n}\n.p-treeselect-token {\n cursor: default;\n display: inline-flex;\n align-items: center;\n flex: 0 0 auto;\n}\n.p-treeselect .p-treeselect-panel {\n min-width: 100%;\n}\n.p-treeselect-panel {\n position: absolute;\n top: 0;\n left: 0;\n}\n.p-treeselect-items-wrapper {\n overflow: auto;\n}\n.p-fluid .p-treeselect {\n display: flex;\n}\n"),h.render=function(e,t,l,i,n,s){const r=o.resolveComponent("TSTree"),a=o.resolveComponent("Portal");return o.openBlock(),o.createElementBlock("div",{ref:"container",class:o.normalizeClass(s.containerClass),onClick:t[7]||(t[7]=(...e)=>s.onClick&&s.onClick(...e))},[o.createElementVNode("div",u,[o.createElementVNode("input",o.mergeProps({ref:"focusInput",id:l.inputId,type:"text",role:"combobox",class:l.inputClass,style:l.inputStyle,readonly:"",disabled:l.disabled,tabindex:l.disabled?-1:l.tabindex,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,"aria-haspopup":"tree","aria-expanded":n.overlayVisible,"aria-controls":s.listId,onFocus:t[0]||(t[0]=e=>s.onFocus(e)),onBlur:t[1]||(t[1]=e=>s.onBlur(e)),onKeydown:t[2]||(t[2]=e=>s.onKeyDown(e))},l.inputProps),null,16,y)]),o.createElementVNode("div",m,[o.createElementVNode("div",{class:o.normalizeClass(s.labelClass)},[o.renderSlot(e.$slots,"value",{value:s.selectedNodes,placeholder:l.placeholder},(()=>["comma"===l.display?(o.openBlock(),o.createElementBlock(o.Fragment,{key:0},[o.createTextVNode(o.toDisplayString(s.label||"empty"),1)],64)):"chip"===l.display?(o.openBlock(),o.createElementBlock(o.Fragment,{key:1},[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(s.selectedNodes,(e=>(o.openBlock(),o.createElementBlock("div",{key:e.key,class:"p-treeselect-token"},[o.createElementVNode("span",f,o.toDisplayString(e.label),1)])))),128)),s.emptyValue?(o.openBlock(),o.createElementBlock(o.Fragment,{key:0},[o.createTextVNode(o.toDisplayString(l.placeholder||"empty"),1)],64)):o.createCommentVNode("",!0)],64)):o.createCommentVNode("",!0)]))],2)]),o.createElementVNode("div",{class:"p-treeselect-trigger",role:"button","aria-haspopup":"tree","aria-expanded":n.overlayVisible},[o.renderSlot(e.$slots,"triggericon",{},(()=>[(o.openBlock(),o.createBlock(o.resolveDynamicComponent("ChevronDownIcon"),{class:"p-treeselect-trigger-icon"}))]))],8,v),o.createVNode(a,{appendTo:l.appendTo},{default:o.withCtx((()=>[o.createVNode(o.Transition,{name:"p-connected-overlay",onEnter:s.onOverlayEnter,onLeave:s.onOverlayLeave,onAfterLeave:s.onOverlayAfterLeave},{default:o.withCtx((()=>[n.overlayVisible?(o.openBlock(),o.createElementBlock("div",o.mergeProps({key:0,ref:s.overlayRef,onClick:t[5]||(t[5]=(...e)=>s.onOverlayClick&&s.onOverlayClick(...e)),class:s.panelStyleClass,onKeydown:t[6]||(t[6]=(...e)=>s.onOverlayKeydown&&s.onOverlayKeydown(...e))},l.panelProps),[o.renderSlot(e.$slots,"header",{value:l.modelValue,options:l.options}),o.createElementVNode("div",{class:"p-treeselect-items-wrapper",style:o.normalizeStyle({"max-height":l.scrollHeight})},[o.createVNode(r,{ref:"tree",id:s.listId,value:l.options,selectionMode:l.selectionMode,"onUpdate:selectionKeys":s.onSelectionChange,selectionKeys:l.modelValue,expandedKeys:n.expandedKeys,"onUpdate:expandedKeys":s.onNodeToggle,metaKeySelection:l.metaKeySelection,onNodeExpand:t[3]||(t[3]=t=>e.$emit("node-expand",t)),onNodeCollapse:t[4]||(t[4]=t=>e.$emit("node-collapse",t)),onNodeSelect:s.onNodeSelect,onNodeUnselect:s.onNodeUnselect,level:0},o.createSlots({_:2},[e.$slots.itemtogglericon?{name:"togglericon",fn:o.withCtx((t=>[o.renderSlot(e.$slots,"itemtogglericon",{node:t.node,expanded:t.expanded,class:o.normalizeClass(t.class)})])),key:"0"}:void 0,e.$slots.itemcheckboxicon?{name:"checkboxicon",fn:o.withCtx((t=>[o.renderSlot(e.$slots,"itemcheckboxicon",{checked:t.checked,partialChecked:t.partialChecked,class:o.normalizeClass(t.class)})])),key:"1"}:void 0]),1032,["id","value","selectionMode","onUpdate:selectionKeys","selectionKeys","expandedKeys","onUpdate:expandedKeys","metaKeySelection","onNodeSelect","onNodeUnselect"]),s.emptyOptions?(o.openBlock(),o.createElementBlock("div",b,[o.renderSlot(e.$slots,"empty",{},(()=>[o.createTextVNode(o.toDisplayString(s.emptyMessageText),1)]))])):o.createCommentVNode("",!0)],4),o.renderSlot(e.$slots,"footer",{value:l.modelValue,options:l.options})],16)):o.createCommentVNode("",!0)])),_:3},8,["onEnter","onLeave","onAfterLeave"])])),_:3},8,["appendTo"])],2)},h}(primevue.icons.chevrondown,primevue.overlayeventbus,primevue.portal,primevue.ripple,primevue.tree,primevue.utils,Vue);
1
+ this.primevue=this.primevue||{},this.primevue.treeselect=function(e,t,l,i,n,s,o,r){"use strict";function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=a(e),c=a(t),p=a(l),h=a(i),u=a(n),m=a(s),y={name:"TreeSelect",extends:d.default,emits:["update:modelValue","before-show","before-hide","change","show","hide","node-select","node-unselect","node-expand","node-collapse","focus","blur"],props:{modelValue:null,options:Array,scrollHeight:{type:String,default:"400px"},placeholder:{type:String,default:null},disabled:{type:Boolean,default:!1},tabindex:{type:Number,default:null},selectionMode:{type:String,default:"single"},appendTo:{type:String,default:"body"},emptyMessage:{type:String,default:null},display:{type:String,default:"comma"},metaKeySelection:{type:Boolean,default:!0},inputId:{type:String,default:null},inputClass:{type:[String,Object],default:null},inputStyle:{type:Object,default:null},inputProps:{type:null,default:null},panelClass:{type:[String,Object],default:null},panelProps:{type:null,default:null},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},data:()=>({focused:!1,overlayVisible:!1,expandedKeys:{}}),watch:{modelValue:{handler:function(){this.selfChange||this.updateTreeState(),this.selfChange=!1},immediate:!0},options(){this.updateTreeState()}},outsideClickListener:null,resizeListener:null,scrollHandler:null,overlay:null,selfChange:!1,selfClick:!1,beforeUnmount(){this.unbindOutsideClickListener(),this.unbindResizeListener(),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.overlay&&(o.ZIndexUtils.clear(this.overlay),this.overlay=null)},mounted(){this.updateTreeState()},methods:{show(){this.$emit("before-show"),this.overlayVisible=!0},hide(){this.$emit("before-hide"),this.overlayVisible=!1,this.$refs.focusInput.focus()},onFocus(e){this.focused=!0,this.$emit("focus",e)},onBlur(e){this.focused=!1,this.$emit("blur",e)},onClick(e){this.disabled||this.overlay&&this.overlay.contains(e.target)||o.DomHandler.hasClass(e.target,"p-treeselect-close")||(this.overlayVisible?this.hide():this.show(),this.$refs.focusInput.focus())},onSelectionChange(e){this.selfChange=!0,this.$emit("update:modelValue",e),this.$emit("change",e)},onNodeSelect(e){this.$emit("node-select",e),"single"===this.selectionMode&&this.hide()},onNodeUnselect(e){this.$emit("node-unselect",e)},onNodeToggle(e){this.expandedKeys=e},onKeyDown(e){switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"Space":case"Enter":this.onEnterKey(e);break;case"Escape":this.onEscapeKey(e)}},onArrowDownKey(e){this.overlayVisible||(this.show(),this.$nextTick((()=>{const e=[...o.DomHandler.find(this.$refs.tree.$el,".p-treenode")].find((e=>"0"===e.getAttribute("tabindex")));o.DomHandler.focus(e)})),e.preventDefault())},onEnterKey(e){this.overlayVisible?this.hide():this.onArrowDownKey(e),e.preventDefault()},onEscapeKey(e){this.overlayVisible&&(this.hide(),e.preventDefault())},onOverlayEnter(e){o.ZIndexUtils.set("overlay",e,this.$primevue.config.zIndex.overlay),this.alignOverlay(),this.bindOutsideClickListener(),this.bindScrollListener(),this.bindResizeListener(),this.scrollValueInView(),this.$emit("show")},onOverlayLeave(){this.unbindOutsideClickListener(),this.unbindScrollListener(),this.unbindResizeListener(),this.$emit("hide"),this.overlay=null},onOverlayAfterLeave(e){o.ZIndexUtils.clear(e)},alignOverlay(){"self"===this.appendTo?o.DomHandler.relativePosition(this.overlay,this.$el):(this.overlay.style.minWidth=o.DomHandler.getOuterWidth(this.$el)+"px",o.DomHandler.absolutePosition(this.overlay,this.$el))},bindOutsideClickListener(){this.outsideClickListener||(this.outsideClickListener=e=>{this.overlayVisible&&!this.selfClick&&this.isOutsideClicked(e)&&this.hide(),this.selfClick=!1},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindScrollListener(){this.scrollHandler||(this.scrollHandler=new o.ConnectedOverlayScrollHandler(this.$refs.container,(()=>{this.overlayVisible&&this.hide()}))),this.scrollHandler.bindScrollListener()},unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()},bindResizeListener(){this.resizeListener||(this.resizeListener=()=>{this.overlayVisible&&!o.DomHandler.isTouchDevice()&&this.hide()},window.addEventListener("resize",this.resizeListener))},unbindResizeListener(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},isOutsideClicked(e){return!(this.$el.isSameNode(e.target)||this.$el.contains(e.target)||this.overlay&&this.overlay.contains(e.target))},overlayRef(e){this.overlay=e},onOverlayClick(e){p.default.emit("overlay-click",{originalEvent:e,target:this.$el}),this.selfClick=!0},onOverlayKeydown(e){"Escape"===e.code&&this.hide()},findSelectedNodes(e,t,l){if(e){if(this.isSelected(e,t)&&(l.push(e),delete t[e.key]),Object.keys(t).length&&e.children)for(let i of e.children)this.findSelectedNodes(i,t,l)}else for(let e of this.options)this.findSelectedNodes(e,t,l)},isSelected(e,t){return"checkbox"===this.selectionMode?t[e.key]&&t[e.key].checked:t[e.key]},updateTreeState(){let e={...this.modelValue};this.expandedKeys={},e&&this.options&&this.updateTreeBranchState(null,null,e)},updateTreeBranchState(e,t,l){if(e){if(this.isSelected(e,l)&&(this.expandPath(t),delete l[e.key]),Object.keys(l).length&&e.children)for(let i of e.children)t.push(e.key),this.updateTreeBranchState(i,t,l)}else for(let e of this.options)this.updateTreeBranchState(e,[],l)},expandPath(e){if(e.length>0)for(let t of e)this.expandedKeys[t]=!0},scrollValueInView(){if(this.overlay){let e=o.DomHandler.findSingle(this.overlay,"li.p-highlight");e&&e.scrollIntoView({block:"nearest",inline:"start"})}}},computed:{containerClass(){return["p-treeselect p-component p-inputwrapper",{"p-treeselect-chip":"chip"===this.display,"p-disabled":this.disabled,"p-focus":this.focused,"p-inputwrapper-filled":!this.emptyValue,"p-inputwrapper-focus":this.focused||this.overlayVisible}]},labelClass(){return["p-treeselect-label",{"p-placeholder":this.label===this.placeholder,"p-treeselect-label-empty":!this.placeholder&&this.emptyValue}]},panelStyleClass(){return["p-treeselect-panel p-component",this.panelClass,{"p-input-filled":"filled"===this.$primevue.config.inputStyle,"p-ripple-disabled":!1===this.$primevue.config.ripple}]},selectedNodes(){let e=[];if(this.modelValue&&this.options){let t={...this.modelValue};this.findSelectedNodes(null,t,e)}return e},label(){let e=this.selectedNodes;return e.length?e.map((e=>e.label)).join(", "):this.placeholder},emptyMessageText(){return this.emptyMessage||this.$primevue.config.locale.emptyMessage},emptyValue(){return!this.modelValue||0===Object.keys(this.modelValue).length},emptyOptions(){return!this.options||0===this.options.length},listId:()=>o.UniqueComponentId()+"_list"},components:{TSTree:m.default,Portal:h.default,ChevronDownIcon:c.default},directives:{ripple:u.default}};const f=["id","disabled","tabindex","aria-labelledby","aria-label","aria-expanded","aria-controls"],v=["aria-expanded"];return function(e,t){void 0===t&&(t={});var l=t.insertAt;if(e&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===l&&i.firstChild?i.insertBefore(n,i.firstChild):i.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-treeselect {\n display: inline-flex;\n cursor: pointer;\n position: relative;\n user-select: none;\n}\n.p-treeselect-trigger {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n.p-treeselect-label-container {\n overflow: hidden;\n flex: 1 1 auto;\n cursor: pointer;\n}\n.p-treeselect-label {\n display: block;\n white-space: nowrap;\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.p-treeselect-label-empty {\n overflow: hidden;\n visibility: hidden;\n}\n.p-treeselect-token {\n cursor: default;\n display: inline-flex;\n align-items: center;\n flex: 0 0 auto;\n}\n.p-treeselect .p-treeselect-panel {\n min-width: 100%;\n}\n.p-treeselect-panel {\n position: absolute;\n top: 0;\n left: 0;\n}\n.p-treeselect-items-wrapper {\n overflow: auto;\n}\n.p-fluid .p-treeselect {\n display: flex;\n}\n"),y.render=function(e,t,l,i,n,s){const o=r.resolveComponent("TSTree"),a=r.resolveComponent("Portal");return r.openBlock(),r.createElementBlock("div",r.mergeProps({ref:"container",class:s.containerClass,onClick:t[7]||(t[7]=(...e)=>s.onClick&&s.onClick(...e))},e.ptm("root")),[r.createElementVNode("div",r.mergeProps({class:"p-hidden-accessible"},e.ptm("hiddenInputWrapper")),[r.createElementVNode("input",r.mergeProps({ref:"focusInput",id:l.inputId,type:"text",role:"combobox",class:l.inputClass,style:l.inputStyle,readonly:"",disabled:l.disabled,tabindex:l.disabled?-1:l.tabindex,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,"aria-haspopup":"tree","aria-expanded":n.overlayVisible,"aria-controls":s.listId,onFocus:t[0]||(t[0]=e=>s.onFocus(e)),onBlur:t[1]||(t[1]=e=>s.onBlur(e)),onKeydown:t[2]||(t[2]=e=>s.onKeyDown(e))},{...l.inputProps,...e.ptm("hiddenInput")}),null,16,f)],16),r.createElementVNode("div",r.mergeProps({class:"p-treeselect-label-container"},e.ptm("labelContainer")),[r.createElementVNode("div",r.mergeProps({class:s.labelClass},e.ptm("label")),[r.renderSlot(e.$slots,"value",{value:s.selectedNodes,placeholder:l.placeholder},(()=>["comma"===l.display?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createTextVNode(r.toDisplayString(s.label||"empty"),1)],64)):"chip"===l.display?(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(s.selectedNodes,(t=>(r.openBlock(),r.createElementBlock("div",r.mergeProps({key:t.key,class:"p-treeselect-token"},e.ptm("token")),[r.createElementVNode("span",r.mergeProps({class:"p-treeselect-token-label"},e.ptm("tokenLabel")),r.toDisplayString(t.label),17)],16)))),128)),s.emptyValue?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createTextVNode(r.toDisplayString(l.placeholder||"empty"),1)],64)):r.createCommentVNode("",!0)],64)):r.createCommentVNode("",!0)]))],16)],16),r.createElementVNode("div",r.mergeProps({class:"p-treeselect-trigger",role:"button","aria-haspopup":"tree","aria-expanded":n.overlayVisible},e.ptm("trigger")),[r.renderSlot(e.$slots,"triggericon",{},(()=>[(r.openBlock(),r.createBlock(r.resolveDynamicComponent("ChevronDownIcon"),r.mergeProps({class:"p-treeselect-trigger-icon"},e.ptm("triggerIcon")),null,16))]))],16,v),r.createVNode(a,{appendTo:l.appendTo},{default:r.withCtx((()=>[r.createVNode(r.Transition,{name:"p-connected-overlay",onEnter:s.onOverlayEnter,onLeave:s.onOverlayLeave,onAfterLeave:s.onOverlayAfterLeave},{default:r.withCtx((()=>[n.overlayVisible?(r.openBlock(),r.createElementBlock("div",r.mergeProps({key:0,ref:s.overlayRef,onClick:t[5]||(t[5]=(...e)=>s.onOverlayClick&&s.onOverlayClick(...e)),class:s.panelStyleClass,onKeydown:t[6]||(t[6]=(...e)=>s.onOverlayKeydown&&s.onOverlayKeydown(...e))},{...l.panelProps,...e.ptm("panel")}),[r.renderSlot(e.$slots,"header",{value:l.modelValue,options:l.options}),r.createElementVNode("div",r.mergeProps({class:"p-treeselect-items-wrapper",style:{"max-height":l.scrollHeight}},e.ptm("wrapper")),[r.createVNode(o,{ref:"tree",id:s.listId,value:l.options,selectionMode:l.selectionMode,"onUpdate:selectionKeys":s.onSelectionChange,selectionKeys:l.modelValue,expandedKeys:n.expandedKeys,"onUpdate:expandedKeys":s.onNodeToggle,metaKeySelection:l.metaKeySelection,onNodeExpand:t[3]||(t[3]=t=>e.$emit("node-expand",t)),onNodeCollapse:t[4]||(t[4]=t=>e.$emit("node-collapse",t)),onNodeSelect:s.onNodeSelect,onNodeUnselect:s.onNodeUnselect,level:0,pt:e.ptm("tree")},r.createSlots({_:2},[e.$slots.itemtogglericon?{name:"togglericon",fn:r.withCtx((t=>[r.renderSlot(e.$slots,"itemtogglericon",{node:t.node,expanded:t.expanded,class:r.normalizeClass(t.class)})])),key:"0"}:void 0,e.$slots.itemcheckboxicon?{name:"checkboxicon",fn:r.withCtx((t=>[r.renderSlot(e.$slots,"itemcheckboxicon",{checked:t.checked,partialChecked:t.partialChecked,class:r.normalizeClass(t.class)})])),key:"1"}:void 0]),1032,["id","value","selectionMode","onUpdate:selectionKeys","selectionKeys","expandedKeys","onUpdate:expandedKeys","metaKeySelection","onNodeSelect","onNodeUnselect","pt"]),s.emptyOptions?(r.openBlock(),r.createElementBlock("div",r.mergeProps({key:0,class:"p-treeselect-empty-message"},e.ptm("emptyMessage")),[r.renderSlot(e.$slots,"empty",{},(()=>[r.createTextVNode(r.toDisplayString(s.emptyMessageText),1)]))],16)):r.createCommentVNode("",!0)],16),r.renderSlot(e.$slots,"footer",{value:l.modelValue,options:l.options})],16)):r.createCommentVNode("",!0)])),_:3},8,["onEnter","onLeave","onAfterLeave"])])),_:3},8,["appendTo"])],16)},y}(primevue.basecomponent,primevue.icons.chevrondown,primevue.overlayeventbus,primevue.portal,primevue.ripple,primevue.tree,primevue.utils,Vue);
@@ -1,27 +1,28 @@
1
1
  <template>
2
- <td :style="containerStyle" :class="containerClass" role="cell">
3
- <button v-if="columnProp('expander')" v-ripple type="button" class="p-treetable-toggler p-link" @click="toggle" :style="togglerStyle" tabindex="-1">
2
+ <td :style="containerStyle" :class="containerClass" role="cell" v-bind="{ ...getColumnPTOptions('root'), ...getColumnPTOptions('bodyCell') }">
3
+ <button v-if="columnProp('expander')" v-ripple type="button" class="p-treetable-toggler p-link" @click="toggle" :style="togglerStyle" tabindex="-1" v-bind="getColumnPTOptions('rowToggler')">
4
4
  <component v-if="templates['togglericon']" :is="templates['togglericon']" :node="node" :expanded="expanded" class="p-tree-toggler-icon" />
5
- <component v-else-if="expanded" :is="node.expandedIcon ? 'span' : 'ChevronDownIcon'" class="p-tree-toggler-icon" />
6
- <component v-else :is="node.collapsedIcon ? 'span' : 'ChevronRightIcon'" class="p-tree-toggler-icon" />
5
+ <component v-else-if="expanded" :is="node.expandedIcon ? 'span' : 'ChevronDownIcon'" class="p-tree-toggler-icon" v-bind="getColumnPTOptions('rowTogglerIcon')" />
6
+ <component v-else :is="node.collapsedIcon ? 'span' : 'ChevronRightIcon'" class="p-tree-toggler-icon" v-bind="getColumnPTOptions('rowTogglerIcon')" />
7
7
  </button>
8
- <div v-if="checkboxSelectionMode && columnProp('expander')" :class="['p-checkbox p-treetable-checkbox p-component', { 'p-checkbox-focused': checkboxFocused }]" @click="toggleCheckbox">
9
- <div class="p-hidden-accessible">
10
- <input type="checkbox" @focus="onCheckboxFocus" @blur="onCheckboxBlur" tabindex="-1" />
8
+ <div v-if="checkboxSelectionMode && columnProp('expander')" :class="['p-checkbox p-treetable-checkbox p-component', { 'p-checkbox-focused': checkboxFocused }]" @click="toggleCheckbox" v-bind="getColumnPTOptions('checkboxWrapper')">
9
+ <div class="p-hidden-accessible" v-bind="getColumnPTOptions('hiddenInputWrapper')">
10
+ <input type="checkbox" @focus="onCheckboxFocus" @blur="onCheckboxBlur" tabindex="-1" v-bind="getColumnPTOptions('hiddenInput')" />
11
11
  </div>
12
- <div ref="checkboxEl" :class="checkboxClass">
12
+ <div ref="checkboxEl" :class="checkboxClass" v-bind="getColumnCheckboxPTOptions('checkbox')">
13
13
  <component v-if="templates['checkboxicon']" :is="templates['checkboxicon']" :checked="checked" :partialChecked="partialChecked" class="p-checkbox-icon" />
14
- <component v-else :is="checked ? 'CheckIcon' : partialChecked ? 'MinusIcon' : null" class="p-checkbox-icon" />
14
+ <component v-else :is="checked ? 'CheckIcon' : partialChecked ? 'MinusIcon' : null" class="p-checkbox-icon" v-bind="getColumnCheckboxPTOptions('checkboxIcon')" />
15
15
  </div>
16
16
  </div>
17
17
  <component v-if="column.children && column.children.body" :is="column.children.body" :node="node" :column="column" />
18
18
  <template v-else>
19
- <span>{{ resolveFieldData(node.data, columnProp('field')) }}</span>
19
+ <span v-bind="getColumnPTOptions('cellContent')">{{ resolveFieldData(node.data, columnProp('field')) }}</span>
20
20
  </template>
21
21
  </td>
22
22
  </template>
23
23
 
24
24
  <script>
25
+ import BaseComponent from 'primevue/basecomponent';
25
26
  import CheckIcon from 'primevue/icons/check';
26
27
  import ChevronDownIcon from 'primevue/icons/chevrondown';
27
28
  import ChevronRightIcon from 'primevue/icons/chevronright';
@@ -31,6 +32,7 @@ import { DomHandler, ObjectUtils } from 'primevue/utils';
31
32
 
32
33
  export default {
33
34
  name: 'BodyCell',
35
+ extends: BaseComponent,
34
36
  emits: ['node-toggle', 'checkbox-toggle'],
35
37
  props: {
36
38
  node: {
@@ -97,6 +99,32 @@ export default {
97
99
  columnProp(prop) {
98
100
  return ObjectUtils.getVNodeProp(this.column, prop);
99
101
  },
102
+ getColumnPTOptions(key) {
103
+ return this.ptmo(this.getColumnProp(), key, {
104
+ props: this.column.props,
105
+ parent: {
106
+ props: this.$props,
107
+ state: this.$data
108
+ }
109
+ });
110
+ },
111
+ getColumnCheckboxPTOptions(key) {
112
+ return this.ptmo(this.getColumnProp(), key, {
113
+ props: this.column.props,
114
+ parent: {
115
+ props: this.$props,
116
+ state: this.$data
117
+ },
118
+ context: {
119
+ checked: this.checked,
120
+ focused: this.checkboxFocused,
121
+ partialChecked: this.partialChecked
122
+ }
123
+ });
124
+ },
125
+ getColumnProp() {
126
+ return this.column.props && this.column.props.pt ? this.column.props.pt : undefined; //@todo
127
+ },
100
128
  updateStickyPosition() {
101
129
  if (this.columnProp('frozen')) {
102
130
  let align = this.columnProp('alignFrozen');
@@ -1,15 +1,17 @@
1
1
  <template>
2
- <td :style="containerStyle" :class="containerClass">
2
+ <td :style="containerStyle" :class="containerClass" role="cell" v-bind="{ ...getColumnPTOptions('root'), ...getColumnPTOptions('footerCell') }">
3
3
  <component v-if="column.children && column.children.footer" :is="column.children.footer" :column="column" />
4
4
  {{ columnProp('footer') }}
5
5
  </td>
6
6
  </template>
7
7
 
8
8
  <script>
9
+ import BaseComponent from 'primevue/basecomponent';
9
10
  import { DomHandler, ObjectUtils } from 'primevue/utils';
10
11
 
11
12
  export default {
12
13
  name: 'FooterCell',
14
+ extends: BaseComponent,
13
15
  props: {
14
16
  column: {
15
17
  type: Object,
@@ -35,6 +37,18 @@ export default {
35
37
  columnProp(prop) {
36
38
  return ObjectUtils.getVNodeProp(this.column, prop);
37
39
  },
40
+ getColumnPTOptions(key) {
41
+ return this.ptmo(this.getColumnProp(), key, {
42
+ props: this.column.props,
43
+ parent: {
44
+ props: this.$props,
45
+ state: this.$data
46
+ }
47
+ });
48
+ },
49
+ getColumnProp() {
50
+ return this.column.props && this.column.props.pt ? this.column.props.pt : undefined;
51
+ },
38
52
  updateStickyPosition() {
39
53
  if (this.columnProp('frozen')) {
40
54
  let align = this.columnProp('alignFrozen');
@@ -1,16 +1,26 @@
1
1
  <template>
2
- <th :style="[containerStyle]" :class="containerClass" @click="onClick" @keydown="onKeyDown" :tabindex="columnProp('sortable') ? '0' : null" :aria-sort="ariaSort" role="columnheader">
3
- <span v-if="resizableColumns && !columnProp('frozen')" class="p-column-resizer" @mousedown="onResizeStart"></span>
2
+ <th
3
+ :style="[containerStyle]"
4
+ :class="containerClass"
5
+ @click="onClick"
6
+ @keydown="onKeyDown"
7
+ :tabindex="columnProp('sortable') ? '0' : null"
8
+ :aria-sort="ariaSort"
9
+ role="columnheader"
10
+ v-bind="{ ...getColumnPTOptions('root'), ...getColumnPTOptions('headerCell') }"
11
+ >
12
+ <span v-if="resizableColumns && !columnProp('frozen')" class="p-column-resizer" @mousedown="onResizeStart" v-bind="getColumnPTOptions('columnResizer')"></span>
4
13
  <component v-if="column.children && column.children.header" :is="column.children.header" :column="column" />
5
- <span v-if="columnProp('header')" class="p-column-title">{{ columnProp('header') }}</span>
6
- <span v-if="columnProp('sortable')">
14
+ <span v-if="columnProp('header')" class="p-column-title" v-bind="getColumnPTOptions('headerTitle')">{{ columnProp('header') }}</span>
15
+ <span v-if="columnProp('sortable')" v-bind="getColumnPTOptions('sort')">
7
16
  <component :is="(column.children && column.children.sorticon) || sortableColumnIcon" :sorted="sortState.sorted" :sortOrder="sortState.sortOrder" class="p-sortable-column-icon" />
8
17
  </span>
9
- <span v-if="isMultiSorted()" class="p-sortable-column-badge">{{ getMultiSortMetaIndex() + 1 }}</span>
18
+ <span v-if="isMultiSorted()" class="p-sortable-column-badge" v-bind="getColumnPTOptions('sortBadge')">{{ getMultiSortMetaIndex() + 1 }}</span>
10
19
  </th>
11
20
  </template>
12
21
 
13
22
  <script>
23
+ import BaseComponent from 'primevue/basecomponent';
14
24
  import SortAltIcon from 'primevue/icons/sortalt';
15
25
  import SortAmountDownIcon from 'primevue/icons/sortamountdown';
16
26
  import SortAmountUpAltIcon from 'primevue/icons/sortamountupalt';
@@ -18,6 +28,7 @@ import { DomHandler, ObjectUtils } from 'primevue/utils';
18
28
 
19
29
  export default {
20
30
  name: 'HeaderCell',
31
+ extends: BaseComponent,
21
32
  emits: ['column-click', 'column-resizestart'],
22
33
  props: {
23
34
  column: {
@@ -64,6 +75,18 @@ export default {
64
75
  columnProp(prop) {
65
76
  return ObjectUtils.getVNodeProp(this.column, prop);
66
77
  },
78
+ getColumnPTOptions(key) {
79
+ return this.ptmo(this.getColumnProp(), key, {
80
+ props: this.column.props,
81
+ parent: {
82
+ props: this.$props,
83
+ state: this.$data
84
+ }
85
+ });
86
+ },
87
+ getColumnProp() {
88
+ return this.column.props && this.column.props.pt ? this.column.props.pt : undefined; //@todo:
89
+ },
67
90
  updateStickyPosition() {
68
91
  if (this.columnProp('frozen')) {
69
92
  let align = this.columnProp('alignFrozen');
@@ -8,9 +8,20 @@
8
8
  *
9
9
  */
10
10
  import { VNode } from 'vue';
11
+ import { PaginatorPassThroughOptionType } from '../paginator';
11
12
  import { TreeNode } from '../tree';
12
13
  import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
13
14
 
15
+ export declare type TreeTablePassThroughOptionType = TreeTablePassThroughAttributes | ((options: TreeTablePassThroughMethodOptions) => TreeTablePassThroughAttributes) | null | undefined;
16
+
17
+ /**
18
+ * Custom passthrough(pt) option method.
19
+ */
20
+ export interface TreeTablePassThroughMethodOptions {
21
+ props: TreeTableProps;
22
+ state: TreeTableState;
23
+ }
24
+
14
25
  /**
15
26
  * Custom treetable filter metadata.
16
27
  */
@@ -153,6 +164,152 @@ export interface TreeTableSelectionKeys {
153
164
  [key: string]: any;
154
165
  }
155
166
 
167
+ /**
168
+ * Custom passthrough(pt) options.
169
+ * @see {@link TreeTableProps.pt}
170
+ */
171
+ export interface TreeTablePassThroughOptions {
172
+ /**
173
+ * Uses to pass attributes to the root's DOM element.
174
+ */
175
+ root?: TreeTablePassThroughOptionType;
176
+ /**
177
+ * Uses to pass attributes to the loading wrapper's DOM element.
178
+ */
179
+ loadingWrapper?: TreeTablePassThroughOptionType;
180
+ /**
181
+ * Uses to pass attributes to the loading overlay's DOM element.
182
+ */
183
+ loadingOverlay?: TreeTablePassThroughOptionType;
184
+ /**
185
+ * Uses to pass attributes to the loading icon's DOM element.
186
+ */
187
+ loadingIcon?: TreeTablePassThroughOptionType;
188
+ /**
189
+ * Uses to pass attributes to the header's DOM element.
190
+ */
191
+ header?: TreeTablePassThroughOptionType;
192
+ /**
193
+ * Uses to pass attributes to the Paginator component.
194
+ * @see {@link PaginatorPassThroughOptionType}
195
+ */
196
+ paginator?: PaginatorPassThroughOptionType;
197
+ /**
198
+ * Uses to pass attributes to the wrapper's DOM element.
199
+ */
200
+ wrapper?: TreeTablePassThroughOptionType;
201
+ /**
202
+ * Uses to pass attributes to the table's DOM element.
203
+ */
204
+ table?: TreeTablePassThroughOptionType;
205
+ /**
206
+ * Uses to pass attributes to the thead's DOM element.
207
+ */
208
+ thead?: TreeTablePassThroughOptionType;
209
+ /**
210
+ * Uses to pass attributes to the header row's DOM element.
211
+ */
212
+ headerRow?: TreeTablePassThroughOptionType;
213
+ /**
214
+ * Uses to pass attributes to the header cell's DOM element.
215
+ */
216
+ headerCell?: TreeTablePassThroughOptionType;
217
+ /**
218
+ * Uses to pass attributes to the tbody's DOM element.
219
+ */
220
+ tbody?: TreeTablePassThroughOptionType;
221
+ /**
222
+ * Uses to pass attributes to the empty message's DOM element.
223
+ */
224
+ emptyMessage?: TreeTablePassThroughOptionType;
225
+ /**
226
+ * Uses to pass attributes to the body cell's DOM element.
227
+ */
228
+ bodyCell?: TreeTablePassThroughOptionType;
229
+ /**
230
+ * Uses to pass attributes to the tfoot's DOM element.
231
+ */
232
+ tfoot?: TreeTablePassThroughOptionType;
233
+ /**
234
+ * Uses to pass attributes to the footer row's DOM element.
235
+ */
236
+ footerRow?: TreeTablePassThroughOptionType;
237
+ /**
238
+ * Uses to pass attributes to the footer's DOM element.
239
+ */
240
+ footer?: TreeTablePassThroughOptionType;
241
+ /**
242
+ * Uses to pass attributes to the resize helper's DOM element.
243
+ */
244
+ resizeHelper?: TreeTablePassThroughOptionType;
245
+ }
246
+
247
+ /**
248
+ * Custom passthrough attributes for each DOM elements
249
+ */
250
+ export interface TreeTablePassThroughAttributes {
251
+ [key: string]: any;
252
+ }
253
+
254
+ /**
255
+ * Defines current inline state in TreeTable component.
256
+ */
257
+ export interface TreeTableState {
258
+ /**
259
+ * Current index of first record as a number.
260
+ */
261
+ d_first: number;
262
+ /**
263
+ * Current number of rows to display in new page as a number.
264
+ */
265
+ d_rows: number;
266
+ /**
267
+ * Current sort field.
268
+ */
269
+ d_sortField: string | ((item: any) => string) | undefined;
270
+ /**
271
+ * Current order to sort the data by default.
272
+ */
273
+ d_sortOrder: number;
274
+ /**
275
+ * Current sortmeta objects to sort the data.
276
+ */
277
+ d_multiSortMeta: TreeTableSortMeta[];
278
+ /**
279
+ * Current group sortmeta objects to sort the data.
280
+ */
281
+ d_groupRowsSortMeta: TreeTableSortMeta;
282
+ /**
283
+ * Current keys of selected rows.
284
+ */
285
+ d_selectionKeys: any[];
286
+ /**
287
+ * Current keys of rows in expanded state.
288
+ */
289
+ d_expandedRowKeys: any[];
290
+ /**
291
+ * Current order of the columns.
292
+ */
293
+ d_columnOrder: string[];
294
+ /**
295
+ * Current keys of editing rows.
296
+ */
297
+ d_editingRowKeys: any;
298
+ /**
299
+ * Current editing meta data.
300
+ */
301
+ d_editingMeta: object;
302
+ /**
303
+ * Current filters object.
304
+ */
305
+ d_filters: TreeTableFilterMeta;
306
+ /**
307
+ * Current editing as a boolean.
308
+ * @defaultValue false
309
+ */
310
+ d_editing: boolean;
311
+ }
312
+
156
313
  /**
157
314
  * Defines valid properties in TreeTable component.
158
315
  */
@@ -356,6 +513,11 @@ export interface TreeTableProps {
356
513
  * Props to pass to the table element.
357
514
  */
358
515
  tableProps?: any | undefined;
516
+ /**
517
+ * Uses to pass attributes to DOM elements inside the component.
518
+ * @type {TreeTablePassThroughOptions}
519
+ */
520
+ pt?: TreeTablePassThroughOptions;
359
521
  }
360
522
 
361
523
  /**