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
package/tree/tree.js CHANGED
@@ -1,9 +1,10 @@
1
1
  this.primevue = this.primevue || {};
2
- this.primevue.tree = (function (SearchIcon, SpinnerIcon, utils, CheckIcon, ChevronDownIcon, ChevronRightIcon, MinusIcon, Ripple, vue) {
2
+ this.primevue.tree = (function (BaseComponent, SearchIcon, SpinnerIcon, utils, CheckIcon, ChevronDownIcon, ChevronRightIcon, MinusIcon, Ripple, 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 SearchIcon__default = /*#__PURE__*/_interopDefaultLegacy(SearchIcon);
8
9
  var SpinnerIcon__default = /*#__PURE__*/_interopDefaultLegacy(SpinnerIcon);
9
10
  var CheckIcon__default = /*#__PURE__*/_interopDefaultLegacy(CheckIcon);
@@ -14,6 +15,7 @@ this.primevue.tree = (function (SearchIcon, SpinnerIcon, utils, CheckIcon, Chevr
14
15
 
15
16
  var script$1 = {
16
17
  name: 'TreeNode',
18
+ extends: BaseComponent__default["default"],
17
19
  emits: ['node-toggle', 'node-click', 'checkbox-change'],
18
20
  props: {
19
21
  node: {
@@ -65,6 +67,15 @@ this.primevue.tree = (function (SearchIcon, SpinnerIcon, utils, CheckIcon, Chevr
65
67
  onChildNodeToggle(node) {
66
68
  this.$emit('node-toggle', node);
67
69
  },
70
+ getPTOptions(key) {
71
+ return this.ptm(key, {
72
+ context: {
73
+ expanded: this.expanded,
74
+ selected: this.selected,
75
+ checked: this.checked
76
+ }
77
+ });
78
+ },
68
79
  onClick(event) {
69
80
  if (this.toggleClicked || utils.DomHandler.hasClass(event.target, 'p-tree-toggler') || utils.DomHandler.hasClass(event.target.parentElement, 'p-tree-toggler')) {
70
81
  this.toggleClicked = false;
@@ -402,25 +413,14 @@ this.primevue.tree = (function (SearchIcon, SpinnerIcon, utils, CheckIcon, Chevr
402
413
  };
403
414
 
404
415
  const _hoisted_1$1 = ["aria-label", "aria-selected", "aria-expanded", "aria-setsize", "aria-posinset", "aria-level", "aria-checked", "tabindex"];
405
- const _hoisted_2$1 = {
406
- key: 0,
407
- class: "p-checkbox p-component",
408
- "aria-hidden": "true"
409
- };
410
- const _hoisted_3$1 = { class: "p-treenode-label" };
411
- const _hoisted_4$1 = {
412
- key: 0,
413
- class: "p-treenode-children",
414
- role: "group"
415
- };
416
416
 
417
417
  function render$1(_ctx, _cache, $props, $setup, $data, $options) {
418
418
  const _component_TreeNode = vue.resolveComponent("TreeNode", true);
419
419
  const _directive_ripple = vue.resolveDirective("ripple");
420
420
 
421
- return (vue.openBlock(), vue.createElementBlock("li", {
421
+ return (vue.openBlock(), vue.createElementBlock("li", vue.mergeProps({
422
422
  ref: "currentNode",
423
- class: vue.normalizeClass($options.containerClass),
423
+ class: $options.containerClass,
424
424
  role: "treeitem",
425
425
  "aria-label": $options.label($props.node),
426
426
  "aria-selected": $options.ariaSelected,
@@ -431,20 +431,20 @@ this.primevue.tree = (function (SearchIcon, SpinnerIcon, utils, CheckIcon, Chevr
431
431
  "aria-checked": $options.ariaChecked,
432
432
  tabindex: $props.index === 0 ? 0 : -1,
433
433
  onKeydown: _cache[3] || (_cache[3] = (...args) => ($options.onKeyDown && $options.onKeyDown(...args)))
434
- }, [
435
- vue.createElementVNode("div", {
436
- class: vue.normalizeClass($options.contentClass),
434
+ }, $options.getPTOptions('node')), [
435
+ vue.createElementVNode("div", vue.mergeProps({
436
+ class: $options.contentClass,
437
437
  onClick: _cache[1] || (_cache[1] = (...args) => ($options.onClick && $options.onClick(...args))),
438
438
  onTouchend: _cache[2] || (_cache[2] = (...args) => ($options.onTouchEnd && $options.onTouchEnd(...args))),
439
- style: vue.normalizeStyle($props.node.style)
440
- }, [
441
- vue.withDirectives((vue.openBlock(), vue.createElementBlock("button", {
439
+ style: $props.node.style
440
+ }, $options.getPTOptions('content')), [
441
+ vue.withDirectives((vue.openBlock(), vue.createElementBlock("button", vue.mergeProps({
442
442
  type: "button",
443
443
  class: "p-tree-toggler p-link",
444
444
  onClick: _cache[0] || (_cache[0] = (...args) => ($options.toggle && $options.toggle(...args))),
445
445
  tabindex: "-1",
446
446
  "aria-hidden": "true"
447
- }, [
447
+ }, $options.getPTOptions('toggler')), [
448
448
  ($props.templates['togglericon'])
449
449
  ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.templates['togglericon']), {
450
450
  key: 0,
@@ -453,23 +453,27 @@ this.primevue.tree = (function (SearchIcon, SpinnerIcon, utils, CheckIcon, Chevr
453
453
  class: "p-tree-toggler-icon"
454
454
  }, null, 8, ["node", "expanded"]))
455
455
  : ($options.expanded)
456
- ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.node.expandedIcon ? 'span' : 'ChevronDownIcon'), {
456
+ ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.node.expandedIcon ? 'span' : 'ChevronDownIcon'), vue.mergeProps({
457
457
  key: 1,
458
458
  class: "p-tree-toggler-icon"
459
- }))
460
- : (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.node.collapsedIcon ? 'span' : 'ChevronRightIcon'), {
459
+ }, $options.getPTOptions('togglerIcon')), null, 16))
460
+ : (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.node.collapsedIcon ? 'span' : 'ChevronRightIcon'), vue.mergeProps({
461
461
  key: 2,
462
462
  class: "p-tree-toggler-icon"
463
- }))
464
- ])), [
463
+ }, $options.getPTOptions('togglerIcon')), null, 16))
464
+ ], 16)), [
465
465
  [_directive_ripple]
466
466
  ]),
467
467
  ($options.checkboxMode)
468
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$1, [
469
- vue.createElementVNode("div", {
470
- class: vue.normalizeClass($options.checkboxClass),
468
+ ? (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
469
+ key: 0,
470
+ class: "p-checkbox p-component",
471
+ "aria-hidden": "true"
472
+ }, $options.getPTOptions('checkboxContainer')), [
473
+ vue.createElementVNode("div", vue.mergeProps({
474
+ class: $options.checkboxClass,
471
475
  role: "checkbox"
472
- }, [
476
+ }, $options.getPTOptions('checkbox')), [
473
477
  ($props.templates['checkboxicon'])
474
478
  ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.templates['checkboxicon']), {
475
479
  key: 0,
@@ -477,17 +481,15 @@ this.primevue.tree = (function (SearchIcon, SpinnerIcon, utils, CheckIcon, Chevr
477
481
  partialChecked: $options.partialChecked,
478
482
  class: "p-checkbox-icon"
479
483
  }, null, 8, ["checked", "partialChecked"]))
480
- : (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($options.checked ? 'CheckIcon' : $options.partialChecked ? 'MinusIcon' : null), {
484
+ : (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($options.checked ? 'CheckIcon' : $options.partialChecked ? 'MinusIcon' : null), vue.mergeProps({
481
485
  key: 1,
482
486
  class: "p-checkbox-icon"
483
- }))
484
- ], 2)
485
- ]))
487
+ }, $options.getPTOptions('checkboxIcon')), null, 16))
488
+ ], 16)
489
+ ], 16))
486
490
  : vue.createCommentVNode("", true),
487
- vue.createElementVNode("span", {
488
- class: vue.normalizeClass($options.icon)
489
- }, null, 2),
490
- vue.createElementVNode("span", _hoisted_3$1, [
491
+ vue.createElementVNode("span", vue.mergeProps({ class: $options.icon }, $options.getPTOptions('nodeIcon')), null, 16),
492
+ vue.createElementVNode("span", vue.mergeProps({ class: "p-treenode-label" }, $options.getPTOptions('label')), [
491
493
  ($props.templates[$props.node.type] || $props.templates['default'])
492
494
  ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.templates[$props.node.type] || $props.templates['default']), {
493
495
  key: 0,
@@ -496,10 +498,14 @@ this.primevue.tree = (function (SearchIcon, SpinnerIcon, utils, CheckIcon, Chevr
496
498
  : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
497
499
  vue.createTextVNode(vue.toDisplayString($options.label($props.node)), 1)
498
500
  ], 64))
499
- ])
500
- ], 38),
501
+ ], 16)
502
+ ], 16),
501
503
  ($options.hasChildren && $options.expanded)
502
- ? (vue.openBlock(), vue.createElementBlock("ul", _hoisted_4$1, [
504
+ ? (vue.openBlock(), vue.createElementBlock("ul", vue.mergeProps({
505
+ key: 0,
506
+ class: "p-treenode-children",
507
+ role: "group"
508
+ }, _ctx.ptm('subgroup')), [
503
509
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($props.node.children, (childNode) => {
504
510
  return (vue.openBlock(), vue.createBlock(_component_TreeNode, {
505
511
  key: childNode.key,
@@ -511,18 +517,20 @@ this.primevue.tree = (function (SearchIcon, SpinnerIcon, utils, CheckIcon, Chevr
511
517
  onNodeClick: $options.onChildNodeClick,
512
518
  selectionMode: $props.selectionMode,
513
519
  selectionKeys: $props.selectionKeys,
514
- onCheckboxChange: $options.propagateUp
515
- }, null, 8, ["node", "templates", "level", "expandedKeys", "onNodeToggle", "onNodeClick", "selectionMode", "selectionKeys", "onCheckboxChange"]))
520
+ onCheckboxChange: $options.propagateUp,
521
+ pt: _ctx.pt
522
+ }, null, 8, ["node", "templates", "level", "expandedKeys", "onNodeToggle", "onNodeClick", "selectionMode", "selectionKeys", "onCheckboxChange", "pt"]))
516
523
  }), 128))
517
- ]))
524
+ ], 16))
518
525
  : vue.createCommentVNode("", true)
519
- ], 42, _hoisted_1$1))
526
+ ], 16, _hoisted_1$1))
520
527
  }
521
528
 
522
529
  script$1.render = render$1;
523
530
 
524
531
  var script = {
525
532
  name: 'Tree',
533
+ extends: BaseComponent__default["default"],
526
534
  emits: ['node-expand', 'node-collapse', 'update:expandedKeys', 'update:selectionKeys', 'node-select', 'node-unselect'],
527
535
  props: {
528
536
  value: {
@@ -794,68 +802,64 @@ this.primevue.tree = (function (SearchIcon, SpinnerIcon, utils, CheckIcon, Chevr
794
802
  }
795
803
  };
796
804
 
797
- const _hoisted_1 = {
798
- key: 0,
799
- class: "p-tree-loading-overlay p-component-overlay"
800
- };
801
- const _hoisted_2 = {
802
- key: 1,
803
- class: "p-tree-filter-container"
804
- };
805
- const _hoisted_3 = ["placeholder"];
806
- const _hoisted_4 = ["aria-labelledby", "aria-label"];
805
+ const _hoisted_1 = ["placeholder"];
806
+ const _hoisted_2 = ["aria-labelledby", "aria-label"];
807
807
 
808
808
  function render(_ctx, _cache, $props, $setup, $data, $options) {
809
809
  const _component_SpinnerIcon = vue.resolveComponent("SpinnerIcon");
810
810
  const _component_SearchIcon = vue.resolveComponent("SearchIcon");
811
811
  const _component_TreeNode = vue.resolveComponent("TreeNode");
812
812
 
813
- return (vue.openBlock(), vue.createElementBlock("div", {
814
- class: vue.normalizeClass($options.containerClass)
815
- }, [
813
+ return (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({ class: $options.containerClass }, _ctx.ptm('root')), [
816
814
  ($props.loading)
817
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
815
+ ? (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
816
+ key: 0,
817
+ class: "p-tree-loading-overlay p-component-overlay"
818
+ }, _ctx.ptm('loadingOverlay')), [
818
819
  vue.renderSlot(_ctx.$slots, "loadingicon", {}, () => [
819
820
  ($props.loadingIcon)
820
- ? (vue.openBlock(), vue.createElementBlock("i", {
821
+ ? (vue.openBlock(), vue.createElementBlock("i", vue.mergeProps({
821
822
  key: 0,
822
- class: vue.normalizeClass(['p-tree-loading-icon pi-spin', $props.loadingIcon])
823
- }, null, 2))
824
- : (vue.openBlock(), vue.createBlock(_component_SpinnerIcon, {
823
+ class: ['p-tree-loading-icon pi-spin', $props.loadingIcon]
824
+ }, _ctx.ptm('loadingIcon')), null, 16))
825
+ : (vue.openBlock(), vue.createBlock(_component_SpinnerIcon, vue.mergeProps({
825
826
  key: 1,
826
827
  spin: "",
827
828
  class: "p-tree-loading-icon"
828
- }))
829
+ }, _ctx.ptm('loadingIcon')), null, 16))
829
830
  ])
830
- ]))
831
+ ], 16))
831
832
  : vue.createCommentVNode("", true),
832
833
  ($props.filter)
833
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
834
- vue.withDirectives(vue.createElementVNode("input", {
834
+ ? (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
835
+ key: 1,
836
+ class: "p-tree-filter-container"
837
+ }, _ctx.ptm('filterContainer')), [
838
+ vue.withDirectives(vue.createElementVNode("input", vue.mergeProps({
835
839
  "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (($data.filterValue) = $event)),
836
840
  type: "text",
837
841
  autocomplete: "off",
838
842
  class: "p-tree-filter p-inputtext p-component",
839
843
  placeholder: $props.filterPlaceholder,
840
844
  onKeydown: _cache[1] || (_cache[1] = (...args) => ($options.onFilterKeydown && $options.onFilterKeydown(...args)))
841
- }, null, 40, _hoisted_3), [
845
+ }, _ctx.ptm('input')), null, 16, _hoisted_1), [
842
846
  [vue.vModelText, $data.filterValue]
843
847
  ]),
844
848
  vue.renderSlot(_ctx.$slots, "searchicon", {}, () => [
845
- vue.createVNode(_component_SearchIcon, { class: "p-tree-filter-icon" })
849
+ vue.createVNode(_component_SearchIcon, vue.mergeProps({ class: "p-tree-filter-icon" }, _ctx.ptm('searchIcon')), null, 16)
846
850
  ])
847
- ]))
851
+ ], 16))
848
852
  : vue.createCommentVNode("", true),
849
- vue.createElementVNode("div", {
853
+ vue.createElementVNode("div", vue.mergeProps({
850
854
  class: "p-tree-wrapper",
851
- style: vue.normalizeStyle({ maxHeight: $props.scrollHeight })
852
- }, [
853
- vue.createElementVNode("ul", {
855
+ style: { maxHeight: $props.scrollHeight }
856
+ }, _ctx.ptm('wrapper')), [
857
+ vue.createElementVNode("ul", vue.mergeProps({
854
858
  class: "p-tree-container",
855
859
  role: "tree",
856
860
  "aria-labelledby": _ctx.ariaLabelledby,
857
861
  "aria-label": _ctx.ariaLabel
858
- }, [
862
+ }, _ctx.ptm('container')), [
859
863
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($options.valueToRender, (node, index) => {
860
864
  return (vue.openBlock(), vue.createBlock(_component_TreeNode, {
861
865
  key: node.key,
@@ -868,12 +872,13 @@ this.primevue.tree = (function (SearchIcon, SpinnerIcon, utils, CheckIcon, Chevr
868
872
  onNodeClick: $options.onNodeClick,
869
873
  selectionMode: $props.selectionMode,
870
874
  selectionKeys: $props.selectionKeys,
871
- onCheckboxChange: $options.onCheckboxChange
872
- }, null, 8, ["node", "templates", "level", "index", "expandedKeys", "onNodeToggle", "onNodeClick", "selectionMode", "selectionKeys", "onCheckboxChange"]))
875
+ onCheckboxChange: $options.onCheckboxChange,
876
+ pt: _ctx.pt
877
+ }, null, 8, ["node", "templates", "level", "index", "expandedKeys", "onNodeToggle", "onNodeClick", "selectionMode", "selectionKeys", "onCheckboxChange", "pt"]))
873
878
  }), 128))
874
- ], 8, _hoisted_4)
875
- ], 4)
876
- ], 2))
879
+ ], 16, _hoisted_2)
880
+ ], 16)
881
+ ], 16))
877
882
  }
878
883
 
879
884
  function styleInject(css, ref) {
@@ -910,4 +915,4 @@ this.primevue.tree = (function (SearchIcon, SpinnerIcon, utils, CheckIcon, Chevr
910
915
 
911
916
  return script;
912
917
 
913
- })(primevue.icons.search, primevue.icons.spinner, primevue.utils, primevue.icons.check, primevue.icons.chevrondown, primevue.icons.chevronright, primevue.icons.minus, primevue.ripple, Vue);
918
+ })(primevue.basecomponent, primevue.icons.search, primevue.icons.spinner, primevue.utils, primevue.icons.check, primevue.icons.chevrondown, primevue.icons.chevronright, primevue.icons.minus, primevue.ripple, Vue);
package/tree/tree.min.js CHANGED
@@ -1 +1 @@
1
- this.primevue=this.primevue||{},this.primevue.tree=function(e,t,n,l,o,i,s,c,r){"use strict";function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=d(e),h=d(t),p=d(l),u=d(o),g=d(i),y=d(s),k=d(c),f={name:"TreeNode",emits:["node-toggle","node-click","checkbox-change"],props:{node:{type:null,default:null},expandedKeys:{type:null,default:null},selectionKeys:{type:null,default:null},selectionMode:{type:String,default:null},templates:{type:null,default:null},level:{type:Number,default:null},index:{type:Number,default:null}},nodeTouched:!1,toggleClicked:!1,mounted(){this.$refs.currentNode.closest(".p-treeselect-items-wrapper")&&this.setAllNodesTabIndexes()},methods:{toggle(){this.$emit("node-toggle",this.node),this.toggleClicked=!0},label:e=>"function"==typeof e.label?e.label():e.label,onChildNodeToggle(e){this.$emit("node-toggle",e)},onClick(e){this.toggleClicked||n.DomHandler.hasClass(e.target,"p-tree-toggler")||n.DomHandler.hasClass(e.target.parentElement,"p-tree-toggler")?this.toggleClicked=!1:(this.isCheckboxSelectionMode()?this.toggleCheckbox():this.$emit("node-click",{originalEvent:e,nodeTouched:this.nodeTouched,node:this.node}),this.nodeTouched=!1)},onChildNodeClick(e){this.$emit("node-click",e)},onTouchEnd(){this.nodeTouched=!0},onKeyDown(e){if(this.isSameNode(e))switch(e.code){case"Tab":this.onTabKey(e);break;case"ArrowDown":this.onArrowDown(e);break;case"ArrowUp":this.onArrowUp(e);break;case"ArrowRight":this.onArrowRight(e);break;case"ArrowLeft":this.onArrowLeft(e);break;case"Enter":case"Space":this.onEnterKey(e)}},onArrowDown(e){const t=e.target,n=t.children[1];if(n)this.focusRowChange(t,n.children[0]);else if(t.nextElementSibling)this.focusRowChange(t,t.nextElementSibling);else{let e=this.findNextSiblingOfAncestor(t);e&&this.focusRowChange(t,e)}e.preventDefault()},onArrowUp(e){const t=e.target;if(t.previousElementSibling)this.focusRowChange(t,t.previousElementSibling,this.findLastVisibleDescendant(t.previousElementSibling));else{let e=this.getParentNodeElement(t);e&&this.focusRowChange(t,e)}e.preventDefault()},onArrowRight(e){this.leaf||this.expanded||(e.currentTarget.tabIndex=-1,this.$emit("node-toggle",this.node),this.$nextTick((()=>{this.onArrowDown(e)})))},onArrowLeft(e){const t=n.DomHandler.findSingle(e.currentTarget,".p-tree-toggler");if(0===this.level&&!this.expanded)return!1;if(this.expanded&&!this.leaf)return t.click(),!1;const l=this.findBeforeClickableNode(e.currentTarget);l&&this.focusRowChange(e.currentTarget,l)},onEnterKey(e){this.setTabIndexForSelectionMode(e,this.nodeTouched),this.onClick(e),e.preventDefault()},onTabKey(){this.setAllNodesTabIndexes()},setAllNodesTabIndexes(){const e=n.DomHandler.find(this.$refs.currentNode.closest(".p-tree-container"),".p-treenode"),t=[...e].some((e=>"true"===e.getAttribute("aria-selected")||"true"===e.getAttribute("aria-checked")));if([...e].forEach((e=>{e.tabIndex=-1})),t){[...e].filter((e=>"true"===e.getAttribute("aria-selected")||"true"===e.getAttribute("aria-checked")))[0].tabIndex=0}else[...e][0].tabIndex=0},setTabIndexForSelectionMode(e,t){if(null!==this.selectionMode){const l=[...n.DomHandler.find(this.$refs.currentNode.parentElement,".p-treenode")];e.currentTarget.tabIndex=!1===t?-1:0,l.every((e=>-1===e.tabIndex))&&(l[0].tabIndex=0)}},focusRowChange(e,t,n){e.tabIndex="-1",t.tabIndex="0",this.focusNode(n||t)},findBeforeClickableNode(e){const t=e.closest("ul").closest("li");if(t){const l=n.DomHandler.findSingle(t,"button");return l&&"hidden"!==l.style.visibility?t:this.findBeforeClickableNode(e.previousElementSibling)}return null},toggleCheckbox(){let e=this.selectionKeys?{...this.selectionKeys}:{};const t=!this.checked;this.propagateDown(this.node,t,e),this.$emit("checkbox-change",{node:this.node,check:t,selectionKeys:e})},propagateDown(e,t,n){if(t?n[e.key]={checked:!0,partialChecked:!1}:delete n[e.key],e.children&&e.children.length)for(let l of e.children)this.propagateDown(l,t,n)},propagateUp(e){let t=e.check,n={...e.selectionKeys},l=0,o=!1;for(let e of this.node.children)n[e.key]&&n[e.key].checked?l++:n[e.key]&&n[e.key].partialChecked&&(o=!0);t&&l===this.node.children.length?n[this.node.key]={checked:!0,partialChecked:!1}:(t||delete n[this.node.key],o||l>0&&l!==this.node.children.length?n[this.node.key]={checked:!1,partialChecked:!0}:delete n[this.node.key]),this.$emit("checkbox-change",{node:e.node,check:e.check,selectionKeys:n})},onChildCheckboxChange(e){this.$emit("checkbox-change",e)},findNextSiblingOfAncestor(e){let t=this.getParentNodeElement(e);return t?t.nextElementSibling?t.nextElementSibling:this.findNextSiblingOfAncestor(t):null},findLastVisibleDescendant(e){const t=e.children[1];if(t){const e=t.children[t.children.length-1];return this.findLastVisibleDescendant(e)}return e},getParentNodeElement(e){const t=e.parentElement.parentElement;return n.DomHandler.hasClass(t,"p-treenode")?t:null},focusNode(e){e.focus()},isCheckboxSelectionMode(){return"checkbox"===this.selectionMode},isSameNode:e=>e.currentTarget&&(e.currentTarget.isSameNode(e.target)||e.currentTarget.isSameNode(e.target.closest(".p-treenode")))},computed:{hasChildren(){return this.node.children&&this.node.children.length>0},expanded(){return this.expandedKeys&&!0===this.expandedKeys[this.node.key]},leaf(){return!1!==this.node.leaf&&!(this.node.children&&this.node.children.length)},selectable(){return!1!==this.node.selectable&&null!=this.selectionMode},selected(){return!(!this.selectionMode||!this.selectionKeys)&&!0===this.selectionKeys[this.node.key]},containerClass(){return["p-treenode",{"p-treenode-leaf":this.leaf}]},contentClass(){return["p-treenode-content",this.node.styleClass,{"p-treenode-selectable":this.selectable,"p-highlight":this.checkboxMode?this.checked:this.selected}]},icon(){return["p-treenode-icon",this.node.icon]},checkboxClass(){return["p-checkbox-box",{"p-highlight":this.checked,"p-indeterminate":this.partialChecked}]},checkboxMode(){return"checkbox"===this.selectionMode&&!1!==this.node.selectable},checked(){return!!this.selectionKeys&&(this.selectionKeys[this.node.key]&&this.selectionKeys[this.node.key].checked)},partialChecked(){return!!this.selectionKeys&&(this.selectionKeys[this.node.key]&&this.selectionKeys[this.node.key].partialChecked)},ariaChecked(){return"single"===this.selectionMode||"multiple"===this.selectionMode?this.selected:void 0},ariaSelected(){return this.checkboxMode?this.checked:void 0}},components:{ChevronDownIcon:u.default,ChevronRightIcon:g.default,CheckIcon:p.default,MinusIcon:y.default},directives:{ripple:k.default}};const m=["aria-label","aria-selected","aria-expanded","aria-setsize","aria-posinset","aria-level","aria-checked","tabindex"],b={key:0,class:"p-checkbox p-component","aria-hidden":"true"},x={class:"p-treenode-label"},C={key:0,class:"p-treenode-children",role:"group"};f.render=function(e,t,n,l,o,i){const s=r.resolveComponent("TreeNode",!0),c=r.resolveDirective("ripple");return r.openBlock(),r.createElementBlock("li",{ref:"currentNode",class:r.normalizeClass(i.containerClass),role:"treeitem","aria-label":i.label(n.node),"aria-selected":i.ariaSelected,"aria-expanded":i.expanded,"aria-setsize":n.node.children?n.node.children.length:0,"aria-posinset":n.index+1,"aria-level":n.level,"aria-checked":i.ariaChecked,tabindex:0===n.index?0:-1,onKeydown:t[3]||(t[3]=(...e)=>i.onKeyDown&&i.onKeyDown(...e))},[r.createElementVNode("div",{class:r.normalizeClass(i.contentClass),onClick:t[1]||(t[1]=(...e)=>i.onClick&&i.onClick(...e)),onTouchend:t[2]||(t[2]=(...e)=>i.onTouchEnd&&i.onTouchEnd(...e)),style:r.normalizeStyle(n.node.style)},[r.withDirectives((r.openBlock(),r.createElementBlock("button",{type:"button",class:"p-tree-toggler p-link",onClick:t[0]||(t[0]=(...e)=>i.toggle&&i.toggle(...e)),tabindex:"-1","aria-hidden":"true"},[n.templates.togglericon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.templates.togglericon),{key:0,node:n.node,expanded:i.expanded,class:"p-tree-toggler-icon"},null,8,["node","expanded"])):i.expanded?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.node.expandedIcon?"span":"ChevronDownIcon"),{key:1,class:"p-tree-toggler-icon"})):(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.node.collapsedIcon?"span":"ChevronRightIcon"),{key:2,class:"p-tree-toggler-icon"}))])),[[c]]),i.checkboxMode?(r.openBlock(),r.createElementBlock("div",b,[r.createElementVNode("div",{class:r.normalizeClass(i.checkboxClass),role:"checkbox"},[n.templates.checkboxicon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.templates.checkboxicon),{key:0,checked:i.checked,partialChecked:i.partialChecked,class:"p-checkbox-icon"},null,8,["checked","partialChecked"])):(r.openBlock(),r.createBlock(r.resolveDynamicComponent(i.checked?"CheckIcon":i.partialChecked?"MinusIcon":null),{key:1,class:"p-checkbox-icon"}))],2)])):r.createCommentVNode("",!0),r.createElementVNode("span",{class:r.normalizeClass(i.icon)},null,2),r.createElementVNode("span",x,[n.templates[n.node.type]||n.templates.default?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.templates[n.node.type]||n.templates.default),{key:0,node:n.node},null,8,["node"])):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createTextVNode(r.toDisplayString(i.label(n.node)),1)],64))])],38),i.hasChildren&&i.expanded?(r.openBlock(),r.createElementBlock("ul",C,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(n.node.children,(e=>(r.openBlock(),r.createBlock(s,{key:e.key,node:e,templates:n.templates,level:n.level+1,expandedKeys:n.expandedKeys,onNodeToggle:i.onChildNodeToggle,onNodeClick:i.onChildNodeClick,selectionMode:n.selectionMode,selectionKeys:n.selectionKeys,onCheckboxChange:i.propagateUp},null,8,["node","templates","level","expandedKeys","onNodeToggle","onNodeClick","selectionMode","selectionKeys","onCheckboxChange"])))),128))])):r.createCommentVNode("",!0)],42,m)};var v={name:"Tree",emits:["node-expand","node-collapse","update:expandedKeys","update:selectionKeys","node-select","node-unselect"],props:{value:{type:null,default:null},expandedKeys:{type:null,default:null},selectionKeys:{type:null,default:null},selectionMode:{type:String,default:null},metaKeySelection:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},loadingIcon:{type:String,default:void 0},filter:{type:Boolean,default:!1},filterBy:{type:String,default:"label"},filterMode:{type:String,default:"lenient"},filterPlaceholder:{type:String,default:null},filterLocale:{type:String,default:void 0},scrollHeight:{type:String,default:null},level:{type:Number,default:0},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},data(){return{d_expandedKeys:this.expandedKeys||{},filterValue:null}},watch:{expandedKeys(e){this.d_expandedKeys=e}},methods:{onNodeToggle(e){const t=e.key;this.d_expandedKeys[t]?(delete this.d_expandedKeys[t],this.$emit("node-collapse",e)):(this.d_expandedKeys[t]=!0,this.$emit("node-expand",e)),this.d_expandedKeys={...this.d_expandedKeys},this.$emit("update:expandedKeys",this.d_expandedKeys)},onNodeClick(e){if(null!=this.selectionMode&&!1!==e.node.selectable){const t=!e.nodeTouched&&this.metaKeySelection?this.handleSelectionWithMetaKey(e):this.handleSelectionWithoutMetaKey(e);this.$emit("update:selectionKeys",t)}},onCheckboxChange(e){this.$emit("update:selectionKeys",e.selectionKeys),e.check?this.$emit("node-select",e.node):this.$emit("node-unselect",e.node)},handleSelectionWithMetaKey(e){const t=e.originalEvent,n=e.node,l=t.metaKey||t.ctrlKey;let o;return this.isNodeSelected(n)&&l?(this.isSingleSelectionMode()?o={}:(o={...this.selectionKeys},delete o[n.key]),this.$emit("node-unselect",n)):(this.isSingleSelectionMode()?o={}:this.isMultipleSelectionMode()&&(o=l&&this.selectionKeys?{...this.selectionKeys}:{}),o[n.key]=!0,this.$emit("node-select",n)),o},handleSelectionWithoutMetaKey(e){const t=e.node,n=this.isNodeSelected(t);let l;return this.isSingleSelectionMode()?n?(l={},this.$emit("node-unselect",t)):(l={},l[t.key]=!0,this.$emit("node-select",t)):n?(l={...this.selectionKeys},delete l[t.key],this.$emit("node-unselect",t)):(l=this.selectionKeys?{...this.selectionKeys}:{},l[t.key]=!0,this.$emit("node-select",t)),l},isSingleSelectionMode(){return"single"===this.selectionMode},isMultipleSelectionMode(){return"multiple"===this.selectionMode},isNodeSelected(e){return!(!this.selectionMode||!this.selectionKeys)&&!0===this.selectionKeys[e.key]},isChecked(e){return!!this.selectionKeys&&(this.selectionKeys[e.key]&&this.selectionKeys[e.key].checked)},isNodeLeaf:e=>!1!==e.leaf&&!(e.children&&e.children.length),onFilterKeydown(e){13===e.which&&e.preventDefault()},findFilteredNodes(e,t){if(e){let n=!1;if(e.children){let l=[...e.children];e.children=[];for(let o of l){let l={...o};this.isFilterMatched(l,t)&&(n=!0,e.children.push(l))}}if(n)return!0}},isFilterMatched(e,{searchFields:t,filterText:l,strict:o}){let i=!1;for(let o of t){String(n.ObjectUtils.resolveFieldData(e,o)).toLocaleLowerCase(this.filterLocale).indexOf(l)>-1&&(i=!0)}return(!i||o&&!this.isNodeLeaf(e))&&(i=this.findFilteredNodes(e,{searchFields:t,filterText:l,strict:o})||i),i}},computed:{containerClass(){return["p-tree p-component",{"p-tree-selectable":null!=this.selectionMode,"p-tree-loading":this.loading,"p-tree-flex-scrollable":"flex"===this.scrollHeight}]},filteredValue(){let e=[];const t=this.filterBy.split(","),n=this.filterValue.trim().toLocaleLowerCase(this.filterLocale),l="strict"===this.filterMode;for(let o of this.value){let i={...o},s={searchFields:t,filterText:n,strict:l};(l&&(this.findFilteredNodes(i,s)||this.isFilterMatched(i,s))||!l&&(this.isFilterMatched(i,s)||this.findFilteredNodes(i,s)))&&e.push(i)}return e},valueToRender(){return this.filterValue&&this.filterValue.trim().length>0?this.filteredValue:this.value}},components:{TreeNode:f,SearchIcon:a.default,SpinnerIcon:h.default}};const K={key:0,class:"p-tree-loading-overlay p-component-overlay"},N={key:1,class:"p-tree-filter-container"},S=["placeholder"],w=["aria-labelledby","aria-label"];return function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var l=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&l.firstChild?l.insertBefore(o,l.firstChild):l.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}("\n.p-tree-container {\n margin: 0;\n padding: 0;\n list-style-type: none;\n overflow: auto;\n}\n.p-treenode-children {\n margin: 0;\n padding: 0;\n list-style-type: none;\n}\n.p-tree-wrapper {\n overflow: auto;\n}\n.p-treenode-selectable {\n cursor: pointer;\n user-select: none;\n}\n.p-tree-toggler {\n cursor: pointer;\n user-select: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n flex-shrink: 0;\n}\n.p-treenode-leaf > .p-treenode-content .p-tree-toggler {\n visibility: hidden;\n}\n.p-treenode-content {\n display: flex;\n align-items: center;\n}\n.p-tree-filter {\n width: 100%;\n}\n.p-tree-filter-container {\n position: relative;\n display: block;\n width: 100%;\n}\n.p-tree-filter-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n}\n.p-tree-loading {\n position: relative;\n min-height: 4rem;\n}\n.p-tree .p-tree-loading-overlay {\n position: absolute;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.p-tree-flex-scrollable {\n display: flex;\n flex: 1;\n height: 100%;\n flex-direction: column;\n}\n.p-tree-flex-scrollable .p-tree-wrapper {\n flex: 1;\n}\n"),v.render=function(e,t,n,l,o,i){const s=r.resolveComponent("SpinnerIcon"),c=r.resolveComponent("SearchIcon"),d=r.resolveComponent("TreeNode");return r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(i.containerClass)},[n.loading?(r.openBlock(),r.createElementBlock("div",K,[r.renderSlot(e.$slots,"loadingicon",{},(()=>[n.loadingIcon?(r.openBlock(),r.createElementBlock("i",{key:0,class:r.normalizeClass(["p-tree-loading-icon pi-spin",n.loadingIcon])},null,2)):(r.openBlock(),r.createBlock(s,{key:1,spin:"",class:"p-tree-loading-icon"}))]))])):r.createCommentVNode("",!0),n.filter?(r.openBlock(),r.createElementBlock("div",N,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":t[0]||(t[0]=e=>o.filterValue=e),type:"text",autocomplete:"off",class:"p-tree-filter p-inputtext p-component",placeholder:n.filterPlaceholder,onKeydown:t[1]||(t[1]=(...e)=>i.onFilterKeydown&&i.onFilterKeydown(...e))},null,40,S),[[r.vModelText,o.filterValue]]),r.renderSlot(e.$slots,"searchicon",{},(()=>[r.createVNode(c,{class:"p-tree-filter-icon"})]))])):r.createCommentVNode("",!0),r.createElementVNode("div",{class:"p-tree-wrapper",style:r.normalizeStyle({maxHeight:n.scrollHeight})},[r.createElementVNode("ul",{class:"p-tree-container",role:"tree","aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(i.valueToRender,((t,l)=>(r.openBlock(),r.createBlock(d,{key:t.key,node:t,templates:e.$slots,level:n.level+1,index:l,expandedKeys:o.d_expandedKeys,onNodeToggle:i.onNodeToggle,onNodeClick:i.onNodeClick,selectionMode:n.selectionMode,selectionKeys:n.selectionKeys,onCheckboxChange:i.onCheckboxChange},null,8,["node","templates","level","index","expandedKeys","onNodeToggle","onNodeClick","selectionMode","selectionKeys","onCheckboxChange"])))),128))],8,w)],4)],2)},v}(primevue.icons.search,primevue.icons.spinner,primevue.utils,primevue.icons.check,primevue.icons.chevrondown,primevue.icons.chevronright,primevue.icons.minus,primevue.ripple,Vue);
1
+ this.primevue=this.primevue||{},this.primevue.tree=function(e,t,n,o,l,i,s,r,c,d){"use strict";function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var h=a(e),p=a(t),u=a(n),g=a(l),m=a(i),k=a(s),y=a(r),f=a(c),x={name:"TreeNode",extends:h.default,emits:["node-toggle","node-click","checkbox-change"],props:{node:{type:null,default:null},expandedKeys:{type:null,default:null},selectionKeys:{type:null,default:null},selectionMode:{type:String,default:null},templates:{type:null,default:null},level:{type:Number,default:null},index:{type:Number,default:null}},nodeTouched:!1,toggleClicked:!1,mounted(){this.$refs.currentNode.closest(".p-treeselect-items-wrapper")&&this.setAllNodesTabIndexes()},methods:{toggle(){this.$emit("node-toggle",this.node),this.toggleClicked=!0},label:e=>"function"==typeof e.label?e.label():e.label,onChildNodeToggle(e){this.$emit("node-toggle",e)},getPTOptions(e){return this.ptm(e,{context:{expanded:this.expanded,selected:this.selected,checked:this.checked}})},onClick(e){this.toggleClicked||o.DomHandler.hasClass(e.target,"p-tree-toggler")||o.DomHandler.hasClass(e.target.parentElement,"p-tree-toggler")?this.toggleClicked=!1:(this.isCheckboxSelectionMode()?this.toggleCheckbox():this.$emit("node-click",{originalEvent:e,nodeTouched:this.nodeTouched,node:this.node}),this.nodeTouched=!1)},onChildNodeClick(e){this.$emit("node-click",e)},onTouchEnd(){this.nodeTouched=!0},onKeyDown(e){if(this.isSameNode(e))switch(e.code){case"Tab":this.onTabKey(e);break;case"ArrowDown":this.onArrowDown(e);break;case"ArrowUp":this.onArrowUp(e);break;case"ArrowRight":this.onArrowRight(e);break;case"ArrowLeft":this.onArrowLeft(e);break;case"Enter":case"Space":this.onEnterKey(e)}},onArrowDown(e){const t=e.target,n=t.children[1];if(n)this.focusRowChange(t,n.children[0]);else if(t.nextElementSibling)this.focusRowChange(t,t.nextElementSibling);else{let e=this.findNextSiblingOfAncestor(t);e&&this.focusRowChange(t,e)}e.preventDefault()},onArrowUp(e){const t=e.target;if(t.previousElementSibling)this.focusRowChange(t,t.previousElementSibling,this.findLastVisibleDescendant(t.previousElementSibling));else{let e=this.getParentNodeElement(t);e&&this.focusRowChange(t,e)}e.preventDefault()},onArrowRight(e){this.leaf||this.expanded||(e.currentTarget.tabIndex=-1,this.$emit("node-toggle",this.node),this.$nextTick((()=>{this.onArrowDown(e)})))},onArrowLeft(e){const t=o.DomHandler.findSingle(e.currentTarget,".p-tree-toggler");if(0===this.level&&!this.expanded)return!1;if(this.expanded&&!this.leaf)return t.click(),!1;const n=this.findBeforeClickableNode(e.currentTarget);n&&this.focusRowChange(e.currentTarget,n)},onEnterKey(e){this.setTabIndexForSelectionMode(e,this.nodeTouched),this.onClick(e),e.preventDefault()},onTabKey(){this.setAllNodesTabIndexes()},setAllNodesTabIndexes(){const e=o.DomHandler.find(this.$refs.currentNode.closest(".p-tree-container"),".p-treenode"),t=[...e].some((e=>"true"===e.getAttribute("aria-selected")||"true"===e.getAttribute("aria-checked")));if([...e].forEach((e=>{e.tabIndex=-1})),t){[...e].filter((e=>"true"===e.getAttribute("aria-selected")||"true"===e.getAttribute("aria-checked")))[0].tabIndex=0}else[...e][0].tabIndex=0},setTabIndexForSelectionMode(e,t){if(null!==this.selectionMode){const n=[...o.DomHandler.find(this.$refs.currentNode.parentElement,".p-treenode")];e.currentTarget.tabIndex=!1===t?-1:0,n.every((e=>-1===e.tabIndex))&&(n[0].tabIndex=0)}},focusRowChange(e,t,n){e.tabIndex="-1",t.tabIndex="0",this.focusNode(n||t)},findBeforeClickableNode(e){const t=e.closest("ul").closest("li");if(t){const n=o.DomHandler.findSingle(t,"button");return n&&"hidden"!==n.style.visibility?t:this.findBeforeClickableNode(e.previousElementSibling)}return null},toggleCheckbox(){let e=this.selectionKeys?{...this.selectionKeys}:{};const t=!this.checked;this.propagateDown(this.node,t,e),this.$emit("checkbox-change",{node:this.node,check:t,selectionKeys:e})},propagateDown(e,t,n){if(t?n[e.key]={checked:!0,partialChecked:!1}:delete n[e.key],e.children&&e.children.length)for(let o of e.children)this.propagateDown(o,t,n)},propagateUp(e){let t=e.check,n={...e.selectionKeys},o=0,l=!1;for(let e of this.node.children)n[e.key]&&n[e.key].checked?o++:n[e.key]&&n[e.key].partialChecked&&(l=!0);t&&o===this.node.children.length?n[this.node.key]={checked:!0,partialChecked:!1}:(t||delete n[this.node.key],l||o>0&&o!==this.node.children.length?n[this.node.key]={checked:!1,partialChecked:!0}:delete n[this.node.key]),this.$emit("checkbox-change",{node:e.node,check:e.check,selectionKeys:n})},onChildCheckboxChange(e){this.$emit("checkbox-change",e)},findNextSiblingOfAncestor(e){let t=this.getParentNodeElement(e);return t?t.nextElementSibling?t.nextElementSibling:this.findNextSiblingOfAncestor(t):null},findLastVisibleDescendant(e){const t=e.children[1];if(t){const e=t.children[t.children.length-1];return this.findLastVisibleDescendant(e)}return e},getParentNodeElement(e){const t=e.parentElement.parentElement;return o.DomHandler.hasClass(t,"p-treenode")?t:null},focusNode(e){e.focus()},isCheckboxSelectionMode(){return"checkbox"===this.selectionMode},isSameNode:e=>e.currentTarget&&(e.currentTarget.isSameNode(e.target)||e.currentTarget.isSameNode(e.target.closest(".p-treenode")))},computed:{hasChildren(){return this.node.children&&this.node.children.length>0},expanded(){return this.expandedKeys&&!0===this.expandedKeys[this.node.key]},leaf(){return!1!==this.node.leaf&&!(this.node.children&&this.node.children.length)},selectable(){return!1!==this.node.selectable&&null!=this.selectionMode},selected(){return!(!this.selectionMode||!this.selectionKeys)&&!0===this.selectionKeys[this.node.key]},containerClass(){return["p-treenode",{"p-treenode-leaf":this.leaf}]},contentClass(){return["p-treenode-content",this.node.styleClass,{"p-treenode-selectable":this.selectable,"p-highlight":this.checkboxMode?this.checked:this.selected}]},icon(){return["p-treenode-icon",this.node.icon]},checkboxClass(){return["p-checkbox-box",{"p-highlight":this.checked,"p-indeterminate":this.partialChecked}]},checkboxMode(){return"checkbox"===this.selectionMode&&!1!==this.node.selectable},checked(){return!!this.selectionKeys&&(this.selectionKeys[this.node.key]&&this.selectionKeys[this.node.key].checked)},partialChecked(){return!!this.selectionKeys&&(this.selectionKeys[this.node.key]&&this.selectionKeys[this.node.key].partialChecked)},ariaChecked(){return"single"===this.selectionMode||"multiple"===this.selectionMode?this.selected:void 0},ariaSelected(){return this.checkboxMode?this.checked:void 0}},components:{ChevronDownIcon:m.default,ChevronRightIcon:k.default,CheckIcon:g.default,MinusIcon:y.default},directives:{ripple:f.default}};const b=["aria-label","aria-selected","aria-expanded","aria-setsize","aria-posinset","aria-level","aria-checked","tabindex"];x.render=function(e,t,n,o,l,i){const s=d.resolveComponent("TreeNode",!0),r=d.resolveDirective("ripple");return d.openBlock(),d.createElementBlock("li",d.mergeProps({ref:"currentNode",class:i.containerClass,role:"treeitem","aria-label":i.label(n.node),"aria-selected":i.ariaSelected,"aria-expanded":i.expanded,"aria-setsize":n.node.children?n.node.children.length:0,"aria-posinset":n.index+1,"aria-level":n.level,"aria-checked":i.ariaChecked,tabindex:0===n.index?0:-1,onKeydown:t[3]||(t[3]=(...e)=>i.onKeyDown&&i.onKeyDown(...e))},i.getPTOptions("node")),[d.createElementVNode("div",d.mergeProps({class:i.contentClass,onClick:t[1]||(t[1]=(...e)=>i.onClick&&i.onClick(...e)),onTouchend:t[2]||(t[2]=(...e)=>i.onTouchEnd&&i.onTouchEnd(...e)),style:n.node.style},i.getPTOptions("content")),[d.withDirectives((d.openBlock(),d.createElementBlock("button",d.mergeProps({type:"button",class:"p-tree-toggler p-link",onClick:t[0]||(t[0]=(...e)=>i.toggle&&i.toggle(...e)),tabindex:"-1","aria-hidden":"true"},i.getPTOptions("toggler")),[n.templates.togglericon?(d.openBlock(),d.createBlock(d.resolveDynamicComponent(n.templates.togglericon),{key:0,node:n.node,expanded:i.expanded,class:"p-tree-toggler-icon"},null,8,["node","expanded"])):i.expanded?(d.openBlock(),d.createBlock(d.resolveDynamicComponent(n.node.expandedIcon?"span":"ChevronDownIcon"),d.mergeProps({key:1,class:"p-tree-toggler-icon"},i.getPTOptions("togglerIcon")),null,16)):(d.openBlock(),d.createBlock(d.resolveDynamicComponent(n.node.collapsedIcon?"span":"ChevronRightIcon"),d.mergeProps({key:2,class:"p-tree-toggler-icon"},i.getPTOptions("togglerIcon")),null,16))],16)),[[r]]),i.checkboxMode?(d.openBlock(),d.createElementBlock("div",d.mergeProps({key:0,class:"p-checkbox p-component","aria-hidden":"true"},i.getPTOptions("checkboxContainer")),[d.createElementVNode("div",d.mergeProps({class:i.checkboxClass,role:"checkbox"},i.getPTOptions("checkbox")),[n.templates.checkboxicon?(d.openBlock(),d.createBlock(d.resolveDynamicComponent(n.templates.checkboxicon),{key:0,checked:i.checked,partialChecked:i.partialChecked,class:"p-checkbox-icon"},null,8,["checked","partialChecked"])):(d.openBlock(),d.createBlock(d.resolveDynamicComponent(i.checked?"CheckIcon":i.partialChecked?"MinusIcon":null),d.mergeProps({key:1,class:"p-checkbox-icon"},i.getPTOptions("checkboxIcon")),null,16))],16)],16)):d.createCommentVNode("",!0),d.createElementVNode("span",d.mergeProps({class:i.icon},i.getPTOptions("nodeIcon")),null,16),d.createElementVNode("span",d.mergeProps({class:"p-treenode-label"},i.getPTOptions("label")),[n.templates[n.node.type]||n.templates.default?(d.openBlock(),d.createBlock(d.resolveDynamicComponent(n.templates[n.node.type]||n.templates.default),{key:0,node:n.node},null,8,["node"])):(d.openBlock(),d.createElementBlock(d.Fragment,{key:1},[d.createTextVNode(d.toDisplayString(i.label(n.node)),1)],64))],16)],16),i.hasChildren&&i.expanded?(d.openBlock(),d.createElementBlock("ul",d.mergeProps({key:0,class:"p-treenode-children",role:"group"},e.ptm("subgroup")),[(d.openBlock(!0),d.createElementBlock(d.Fragment,null,d.renderList(n.node.children,(t=>(d.openBlock(),d.createBlock(s,{key:t.key,node:t,templates:n.templates,level:n.level+1,expandedKeys:n.expandedKeys,onNodeToggle:i.onChildNodeToggle,onNodeClick:i.onChildNodeClick,selectionMode:n.selectionMode,selectionKeys:n.selectionKeys,onCheckboxChange:i.propagateUp,pt:e.pt},null,8,["node","templates","level","expandedKeys","onNodeToggle","onNodeClick","selectionMode","selectionKeys","onCheckboxChange","pt"])))),128))],16)):d.createCommentVNode("",!0)],16,b)};var C={name:"Tree",extends:h.default,emits:["node-expand","node-collapse","update:expandedKeys","update:selectionKeys","node-select","node-unselect"],props:{value:{type:null,default:null},expandedKeys:{type:null,default:null},selectionKeys:{type:null,default:null},selectionMode:{type:String,default:null},metaKeySelection:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},loadingIcon:{type:String,default:void 0},filter:{type:Boolean,default:!1},filterBy:{type:String,default:"label"},filterMode:{type:String,default:"lenient"},filterPlaceholder:{type:String,default:null},filterLocale:{type:String,default:void 0},scrollHeight:{type:String,default:null},level:{type:Number,default:0},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},data(){return{d_expandedKeys:this.expandedKeys||{},filterValue:null}},watch:{expandedKeys(e){this.d_expandedKeys=e}},methods:{onNodeToggle(e){const t=e.key;this.d_expandedKeys[t]?(delete this.d_expandedKeys[t],this.$emit("node-collapse",e)):(this.d_expandedKeys[t]=!0,this.$emit("node-expand",e)),this.d_expandedKeys={...this.d_expandedKeys},this.$emit("update:expandedKeys",this.d_expandedKeys)},onNodeClick(e){if(null!=this.selectionMode&&!1!==e.node.selectable){const t=!e.nodeTouched&&this.metaKeySelection?this.handleSelectionWithMetaKey(e):this.handleSelectionWithoutMetaKey(e);this.$emit("update:selectionKeys",t)}},onCheckboxChange(e){this.$emit("update:selectionKeys",e.selectionKeys),e.check?this.$emit("node-select",e.node):this.$emit("node-unselect",e.node)},handleSelectionWithMetaKey(e){const t=e.originalEvent,n=e.node,o=t.metaKey||t.ctrlKey;let l;return this.isNodeSelected(n)&&o?(this.isSingleSelectionMode()?l={}:(l={...this.selectionKeys},delete l[n.key]),this.$emit("node-unselect",n)):(this.isSingleSelectionMode()?l={}:this.isMultipleSelectionMode()&&(l=o&&this.selectionKeys?{...this.selectionKeys}:{}),l[n.key]=!0,this.$emit("node-select",n)),l},handleSelectionWithoutMetaKey(e){const t=e.node,n=this.isNodeSelected(t);let o;return this.isSingleSelectionMode()?n?(o={},this.$emit("node-unselect",t)):(o={},o[t.key]=!0,this.$emit("node-select",t)):n?(o={...this.selectionKeys},delete o[t.key],this.$emit("node-unselect",t)):(o=this.selectionKeys?{...this.selectionKeys}:{},o[t.key]=!0,this.$emit("node-select",t)),o},isSingleSelectionMode(){return"single"===this.selectionMode},isMultipleSelectionMode(){return"multiple"===this.selectionMode},isNodeSelected(e){return!(!this.selectionMode||!this.selectionKeys)&&!0===this.selectionKeys[e.key]},isChecked(e){return!!this.selectionKeys&&(this.selectionKeys[e.key]&&this.selectionKeys[e.key].checked)},isNodeLeaf:e=>!1!==e.leaf&&!(e.children&&e.children.length),onFilterKeydown(e){13===e.which&&e.preventDefault()},findFilteredNodes(e,t){if(e){let n=!1;if(e.children){let o=[...e.children];e.children=[];for(let l of o){let o={...l};this.isFilterMatched(o,t)&&(n=!0,e.children.push(o))}}if(n)return!0}},isFilterMatched(e,{searchFields:t,filterText:n,strict:l}){let i=!1;for(let l of t){String(o.ObjectUtils.resolveFieldData(e,l)).toLocaleLowerCase(this.filterLocale).indexOf(n)>-1&&(i=!0)}return(!i||l&&!this.isNodeLeaf(e))&&(i=this.findFilteredNodes(e,{searchFields:t,filterText:n,strict:l})||i),i}},computed:{containerClass(){return["p-tree p-component",{"p-tree-selectable":null!=this.selectionMode,"p-tree-loading":this.loading,"p-tree-flex-scrollable":"flex"===this.scrollHeight}]},filteredValue(){let e=[];const t=this.filterBy.split(","),n=this.filterValue.trim().toLocaleLowerCase(this.filterLocale),o="strict"===this.filterMode;for(let l of this.value){let i={...l},s={searchFields:t,filterText:n,strict:o};(o&&(this.findFilteredNodes(i,s)||this.isFilterMatched(i,s))||!o&&(this.isFilterMatched(i,s)||this.findFilteredNodes(i,s)))&&e.push(i)}return e},valueToRender(){return this.filterValue&&this.filterValue.trim().length>0?this.filteredValue:this.value}},components:{TreeNode:x,SearchIcon:p.default,SpinnerIcon:u.default}};const v=["placeholder"],K=["aria-labelledby","aria-label"];return function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],l=document.createElement("style");l.type="text/css","top"===n&&o.firstChild?o.insertBefore(l,o.firstChild):o.appendChild(l),l.styleSheet?l.styleSheet.cssText=e:l.appendChild(document.createTextNode(e))}}("\n.p-tree-container {\n margin: 0;\n padding: 0;\n list-style-type: none;\n overflow: auto;\n}\n.p-treenode-children {\n margin: 0;\n padding: 0;\n list-style-type: none;\n}\n.p-tree-wrapper {\n overflow: auto;\n}\n.p-treenode-selectable {\n cursor: pointer;\n user-select: none;\n}\n.p-tree-toggler {\n cursor: pointer;\n user-select: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n flex-shrink: 0;\n}\n.p-treenode-leaf > .p-treenode-content .p-tree-toggler {\n visibility: hidden;\n}\n.p-treenode-content {\n display: flex;\n align-items: center;\n}\n.p-tree-filter {\n width: 100%;\n}\n.p-tree-filter-container {\n position: relative;\n display: block;\n width: 100%;\n}\n.p-tree-filter-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n}\n.p-tree-loading {\n position: relative;\n min-height: 4rem;\n}\n.p-tree .p-tree-loading-overlay {\n position: absolute;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.p-tree-flex-scrollable {\n display: flex;\n flex: 1;\n height: 100%;\n flex-direction: column;\n}\n.p-tree-flex-scrollable .p-tree-wrapper {\n flex: 1;\n}\n"),C.render=function(e,t,n,o,l,i){const s=d.resolveComponent("SpinnerIcon"),r=d.resolveComponent("SearchIcon"),c=d.resolveComponent("TreeNode");return d.openBlock(),d.createElementBlock("div",d.mergeProps({class:i.containerClass},e.ptm("root")),[n.loading?(d.openBlock(),d.createElementBlock("div",d.mergeProps({key:0,class:"p-tree-loading-overlay p-component-overlay"},e.ptm("loadingOverlay")),[d.renderSlot(e.$slots,"loadingicon",{},(()=>[n.loadingIcon?(d.openBlock(),d.createElementBlock("i",d.mergeProps({key:0,class:["p-tree-loading-icon pi-spin",n.loadingIcon]},e.ptm("loadingIcon")),null,16)):(d.openBlock(),d.createBlock(s,d.mergeProps({key:1,spin:"",class:"p-tree-loading-icon"},e.ptm("loadingIcon")),null,16))]))],16)):d.createCommentVNode("",!0),n.filter?(d.openBlock(),d.createElementBlock("div",d.mergeProps({key:1,class:"p-tree-filter-container"},e.ptm("filterContainer")),[d.withDirectives(d.createElementVNode("input",d.mergeProps({"onUpdate:modelValue":t[0]||(t[0]=e=>l.filterValue=e),type:"text",autocomplete:"off",class:"p-tree-filter p-inputtext p-component",placeholder:n.filterPlaceholder,onKeydown:t[1]||(t[1]=(...e)=>i.onFilterKeydown&&i.onFilterKeydown(...e))},e.ptm("input")),null,16,v),[[d.vModelText,l.filterValue]]),d.renderSlot(e.$slots,"searchicon",{},(()=>[d.createVNode(r,d.mergeProps({class:"p-tree-filter-icon"},e.ptm("searchIcon")),null,16)]))],16)):d.createCommentVNode("",!0),d.createElementVNode("div",d.mergeProps({class:"p-tree-wrapper",style:{maxHeight:n.scrollHeight}},e.ptm("wrapper")),[d.createElementVNode("ul",d.mergeProps({class:"p-tree-container",role:"tree","aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel},e.ptm("container")),[(d.openBlock(!0),d.createElementBlock(d.Fragment,null,d.renderList(i.valueToRender,((t,o)=>(d.openBlock(),d.createBlock(c,{key:t.key,node:t,templates:e.$slots,level:n.level+1,index:o,expandedKeys:l.d_expandedKeys,onNodeToggle:i.onNodeToggle,onNodeClick:i.onNodeClick,selectionMode:n.selectionMode,selectionKeys:n.selectionKeys,onCheckboxChange:i.onCheckboxChange,pt:e.pt},null,8,["node","templates","level","index","expandedKeys","onNodeToggle","onNodeClick","selectionMode","selectionKeys","onCheckboxChange","pt"])))),128))],16,K)],16)],16)},C}(primevue.basecomponent,primevue.icons.search,primevue.icons.spinner,primevue.utils,primevue.icons.check,primevue.icons.chevrondown,primevue.icons.chevronright,primevue.icons.minus,primevue.ripple,Vue);
@@ -8,9 +8,106 @@
8
8
  *
9
9
  */
10
10
  import { InputHTMLAttributes, VNode } from 'vue';
11
- import { TreeNode } from '../tree';
11
+ import { TreeExpandedKeys, TreeNode, TreePassThroughOptionType } from '../tree';
12
12
  import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
13
13
 
14
+ export declare type TreeSelectPassThroughOptionType = TreeSelectPassThroughAttributes | ((options: TreeSelectPassThroughMethodOptions) => TreeSelectPassThroughAttributes) | null | undefined;
15
+
16
+ /**
17
+ * Custom passthrough(pt) option method.
18
+ */
19
+ export interface TreeSelectPassThroughMethodOptions {
20
+ props: TreeSelectProps;
21
+ state: TreeSelectState;
22
+ }
23
+
24
+ /**
25
+ * Custom passthrough(pt) options.
26
+ * @see {@link TreeSelectProps.pt}
27
+ */
28
+ export interface TreeSelectPassThroughOptions {
29
+ /**
30
+ * Uses to pass attributes to the root's DOM element.
31
+ */
32
+ root?: TreeSelectPassThroughOptionType;
33
+ /**
34
+ * Uses to pass attributes to the label container's DOM element.
35
+ */
36
+ labelContainer?: TreeSelectPassThroughOptionType;
37
+ /**
38
+ * Uses to pass attributes to the label's DOM element.
39
+ */
40
+ label?: TreeSelectPassThroughOptionType;
41
+ /**
42
+ * Uses to pass attributes to the token's DOM element.
43
+ */
44
+ token?: TreeSelectPassThroughOptionType;
45
+ /**
46
+ * Uses to pass attributes to the token label's DOM element.
47
+ */
48
+ tokenLabel?: TreeSelectPassThroughOptionType;
49
+ /**
50
+ * Uses to pass attributes to the trigger's DOM element.
51
+ */
52
+ trigger?: TreeSelectPassThroughOptionType;
53
+ /**
54
+ * Uses to pass attributes to the trigger icon's DOM element.
55
+ */
56
+ triggerIcon?: TreeSelectPassThroughOptionType;
57
+ /**
58
+ * Uses to pass attributes to the panel's DOM element.
59
+ */
60
+ panel?: TreeSelectPassThroughOptionType;
61
+ /**
62
+ * Uses to pass attributes to the wrapper's DOM element.
63
+ */
64
+ wrapper?: TreeSelectPassThroughOptionType;
65
+ /**
66
+ * Uses to pass attributes to the trigger's DOM element.
67
+ * @see {@link TreePassThroughOptionType}
68
+ */
69
+ tree?: TreePassThroughOptionType;
70
+ /**
71
+ * Uses to pass attributes to the empty message's DOM element.
72
+ */
73
+ emptyMessage?: TreeSelectPassThroughOptionType;
74
+ /**
75
+ * Uses to pass attributes to the hidden input wrapper's DOM element.
76
+ */
77
+ hiddenInputWrapper?: TreeSelectPassThroughOptionType;
78
+ /**
79
+ * Uses to pass attributes to the hidden input's DOM element.
80
+ */
81
+ hiddenInput?: TreeSelectPassThroughOptionType;
82
+ }
83
+
84
+ /**
85
+ * Custom passthrough attributes for each DOM elements
86
+ */
87
+ export interface TreeSelectPassThroughAttributes {
88
+ [key: string]: any;
89
+ }
90
+
91
+ /**
92
+ * Defines current inline state in TreeSelect component.
93
+ */
94
+ export interface TreeSelectState {
95
+ /**
96
+ * Current focused state as a boolean.
97
+ * @defaultValue false
98
+ */
99
+ focused: boolean;
100
+ /**
101
+ * Current overlay visible state as a boolean.
102
+ * @defaultValue false
103
+ */
104
+ overlayVisible: boolean;
105
+ /**
106
+ * Current expanded keys state.
107
+ */
108
+ expandedKeys: TreeExpandedKeys;
109
+ }
110
+
14
111
  /**
15
112
  * Defines valid properties in TreeSelect component.
16
113
  */
@@ -94,6 +191,11 @@ export interface TreeSelectProps {
94
191
  * Establishes a string value that labels the component.
95
192
  */
96
193
  'aria-label'?: string | undefined;
194
+ /**
195
+ * Uses to pass attributes to DOM elements inside the component.
196
+ * @type {TreeSelectPassThroughOptions}
197
+ */
198
+ pt?: TreeSelectPassThroughOptions;
97
199
  }
98
200
 
99
201
  /**
@@ -1,6 +1,6 @@
1
1
  <template>
2
- <div ref="container" :class="containerClass" @click="onClick">
3
- <div class="p-hidden-accessible">
2
+ <div ref="container" :class="containerClass" @click="onClick" v-bind="ptm('root')">
3
+ <div class="p-hidden-accessible" v-bind="ptm('hiddenInputWrapper')">
4
4
  <input
5
5
  ref="focusInput"
6
6
  :id="inputId"
@@ -19,34 +19,34 @@
19
19
  @focus="onFocus($event)"
20
20
  @blur="onBlur($event)"
21
21
  @keydown="onKeyDown($event)"
22
- v-bind="inputProps"
22
+ v-bind="{ ...inputProps, ...ptm('hiddenInput') }"
23
23
  />
24
24
  </div>
25
- <div class="p-treeselect-label-container">
26
- <div :class="labelClass">
25
+ <div class="p-treeselect-label-container" v-bind="ptm('labelContainer')">
26
+ <div :class="labelClass" v-bind="ptm('label')">
27
27
  <slot name="value" :value="selectedNodes" :placeholder="placeholder">
28
28
  <template v-if="display === 'comma'">
29
29
  {{ label || 'empty' }}
30
30
  </template>
31
31
  <template v-else-if="display === 'chip'">
32
- <div v-for="node of selectedNodes" :key="node.key" class="p-treeselect-token">
33
- <span class="p-treeselect-token-label">{{ node.label }}</span>
32
+ <div v-for="node of selectedNodes" :key="node.key" class="p-treeselect-token" v-bind="ptm('token')">
33
+ <span class="p-treeselect-token-label" v-bind="ptm('tokenLabel')">{{ node.label }}</span>
34
34
  </div>
35
35
  <template v-if="emptyValue">{{ placeholder || 'empty' }}</template>
36
36
  </template>
37
37
  </slot>
38
38
  </div>
39
39
  </div>
40
- <div class="p-treeselect-trigger" role="button" aria-haspopup="tree" :aria-expanded="overlayVisible">
40
+ <div class="p-treeselect-trigger" role="button" aria-haspopup="tree" :aria-expanded="overlayVisible" v-bind="ptm('trigger')">
41
41
  <slot name="triggericon">
42
- <component :is="'ChevronDownIcon'" class="p-treeselect-trigger-icon" />
42
+ <component :is="'ChevronDownIcon'" class="p-treeselect-trigger-icon" v-bind="ptm('triggerIcon')" />
43
43
  </slot>
44
44
  </div>
45
45
  <Portal :appendTo="appendTo">
46
46
  <transition name="p-connected-overlay" @enter="onOverlayEnter" @leave="onOverlayLeave" @after-leave="onOverlayAfterLeave">
47
- <div v-if="overlayVisible" :ref="overlayRef" @click="onOverlayClick" :class="panelStyleClass" @keydown="onOverlayKeydown" v-bind="panelProps">
47
+ <div v-if="overlayVisible" :ref="overlayRef" @click="onOverlayClick" :class="panelStyleClass" @keydown="onOverlayKeydown" v-bind="{ ...panelProps, ...ptm('panel') }">
48
48
  <slot name="header" :value="modelValue" :options="options"></slot>
49
- <div class="p-treeselect-items-wrapper" :style="{ 'max-height': scrollHeight }">
49
+ <div class="p-treeselect-items-wrapper" :style="{ 'max-height': scrollHeight }" v-bind="ptm('wrapper')">
50
50
  <TSTree
51
51
  ref="tree"
52
52
  :id="listId"
@@ -62,6 +62,7 @@
62
62
  @node-select="onNodeSelect"
63
63
  @node-unselect="onNodeUnselect"
64
64
  :level="0"
65
+ :pt="ptm('tree')"
65
66
  >
66
67
  <template v-if="$slots.itemtogglericon" #togglericon="iconProps">
67
68
  <slot name="itemtogglericon" :node="iconProps.node" :expanded="iconProps.expanded" :class="iconProps.class" />
@@ -70,7 +71,7 @@
70
71
  <slot name="itemcheckboxicon" :checked="iconProps.checked" :partialChecked="iconProps.partialChecked" :class="iconProps.class" />
71
72
  </template>
72
73
  </TSTree>
73
- <div v-if="emptyOptions" class="p-treeselect-empty-message">
74
+ <div v-if="emptyOptions" class="p-treeselect-empty-message" v-bind="ptm('emptyMessage')">
74
75
  <slot name="empty">{{ emptyMessageText }}</slot>
75
76
  </div>
76
77
  </div>
@@ -82,6 +83,7 @@
82
83
  </template>
83
84
 
84
85
  <script>
86
+ import BaseComponent from 'primevue/basecomponent';
85
87
  import ChevronDownIcon from 'primevue/icons/chevrondown';
86
88
  import OverlayEventBus from 'primevue/overlayeventbus';
87
89
  import Portal from 'primevue/portal';
@@ -91,6 +93,7 @@ import { ConnectedOverlayScrollHandler, DomHandler, UniqueComponentId, ZIndexUti
91
93
 
92
94
  export default {
93
95
  name: 'TreeSelect',
96
+ extends: BaseComponent,
94
97
  emits: ['update:modelValue', 'before-show', 'before-hide', 'change', 'show', 'hide', 'node-select', 'node-unselect', 'node-expand', 'node-collapse', 'focus', 'blur'],
95
98
  props: {
96
99
  modelValue: null,