primevue 4.2.5 → 4.3.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 (496) hide show
  1. package/LICENSE.md +1 -1
  2. package/accordion/Accordion.vue +0 -8
  3. package/accordion/index.mjs +1 -9
  4. package/accordion/index.mjs.map +1 -1
  5. package/accordion/style/index.mjs +2 -5
  6. package/accordion/style/index.mjs.map +1 -1
  7. package/accordioncontent/index.mjs +1 -1
  8. package/accordionheader/AccordionHeader.vue +2 -2
  9. package/accordionheader/index.mjs +4 -4
  10. package/accordionheader/index.mjs.map +1 -1
  11. package/accordionpanel/index.mjs +1 -1
  12. package/animateonscroll/index.d.ts +1 -1
  13. package/animateonscroll/index.mjs +4 -4
  14. package/animateonscroll/index.mjs.map +1 -1
  15. package/animateonscroll/style/index.d.ts +1 -1
  16. package/autocomplete/AutoComplete.vue +90 -23
  17. package/autocomplete/index.d.ts +19 -2
  18. package/autocomplete/index.mjs +127 -55
  19. package/autocomplete/index.mjs.map +1 -1
  20. package/autocomplete/style/index.mjs +15 -19
  21. package/autocomplete/style/index.mjs.map +1 -1
  22. package/avatar/index.mjs +1 -1
  23. package/avatar/style/index.mjs +4 -7
  24. package/avatar/style/index.mjs.map +1 -1
  25. package/avatargroup/index.mjs +1 -1
  26. package/badge/index.mjs +1 -1
  27. package/badge/style/index.mjs +6 -9
  28. package/badge/style/index.mjs.map +1 -1
  29. package/badgedirective/index.mjs +6 -6
  30. package/badgedirective/index.mjs.map +1 -1
  31. package/blockui/BlockUI.vue +2 -1
  32. package/blockui/index.mjs +3 -2
  33. package/blockui/index.mjs.map +1 -1
  34. package/blockui/style/index.mjs +2 -5
  35. package/blockui/style/index.mjs.map +1 -1
  36. package/breadcrumb/index.mjs +1 -1
  37. package/breadcrumb/style/index.mjs +4 -7
  38. package/breadcrumb/style/index.mjs.map +1 -1
  39. package/button/Button.vue +1 -1
  40. package/button/index.d.ts +11 -1
  41. package/button/index.mjs +5 -4
  42. package/button/index.mjs.map +1 -1
  43. package/button/style/index.mjs +9 -12
  44. package/button/style/index.mjs.map +1 -1
  45. package/buttongroup/index.mjs +1 -1
  46. package/buttongroup/style/index.mjs +2 -5
  47. package/buttongroup/style/index.mjs.map +1 -1
  48. package/card/index.mjs +1 -1
  49. package/card/style/index.mjs +2 -5
  50. package/card/style/index.mjs.map +1 -1
  51. package/carousel/index.mjs +2 -2
  52. package/carousel/index.mjs.map +1 -1
  53. package/carousel/style/index.mjs +19 -22
  54. package/carousel/style/index.mjs.map +1 -1
  55. package/cascadeselect/CascadeSelect.vue +16 -17
  56. package/cascadeselect/CascadeSelectSub.vue +1 -1
  57. package/cascadeselect/index.d.ts +2 -2
  58. package/cascadeselect/index.mjs +26 -28
  59. package/cascadeselect/index.mjs.map +1 -1
  60. package/cascadeselect/style/index.mjs +17 -19
  61. package/cascadeselect/style/index.mjs.map +1 -1
  62. package/chart/index.mjs +4 -4
  63. package/checkbox/index.d.ts +2 -2
  64. package/checkbox/index.mjs +2 -2
  65. package/checkbox/index.mjs.map +1 -1
  66. package/checkbox/style/index.mjs +5 -8
  67. package/checkbox/style/index.mjs.map +1 -1
  68. package/checkboxgroup/index.mjs +1 -1
  69. package/checkboxgroup/style/index.mjs +2 -5
  70. package/checkboxgroup/style/index.mjs.map +1 -1
  71. package/chip/index.mjs +1 -1
  72. package/chip/style/index.mjs +2 -5
  73. package/chip/style/index.mjs.map +1 -1
  74. package/colorpicker/ColorPicker.vue +2 -2
  75. package/colorpicker/index.mjs +7 -7
  76. package/colorpicker/index.mjs.map +1 -1
  77. package/colorpicker/style/index.mjs +7 -10
  78. package/colorpicker/style/index.mjs.map +1 -1
  79. package/column/BaseColumn.vue +1 -1
  80. package/column/index.d.ts +2 -2
  81. package/column/index.mjs +1 -1
  82. package/column/index.mjs.map +1 -1
  83. package/columngroup/index.mjs.map +1 -1
  84. package/confirmdialog/index.d.ts +4 -0
  85. package/confirmdialog/index.mjs +1 -1
  86. package/confirmdialog/index.mjs.map +1 -1
  87. package/confirmdialog/style/index.mjs +2 -5
  88. package/confirmdialog/style/index.mjs.map +1 -1
  89. package/confirmpopup/ConfirmPopup.vue +2 -2
  90. package/confirmpopup/index.mjs +4 -4
  91. package/confirmpopup/index.mjs.map +1 -1
  92. package/confirmpopup/style/index.mjs +2 -5
  93. package/confirmpopup/style/index.mjs.map +1 -1
  94. package/contextmenu/ContextMenu.vue +6 -12
  95. package/contextmenu/index.mjs +9 -15
  96. package/contextmenu/index.mjs.map +1 -1
  97. package/contextmenu/style/index.mjs +7 -10
  98. package/contextmenu/style/index.mjs.map +1 -1
  99. package/datatable/BodyCell.vue +24 -14
  100. package/datatable/BodyRow.vue +0 -1
  101. package/datatable/ColumnFilter.vue +10 -16
  102. package/datatable/DataTable.vue +6 -6
  103. package/datatable/FilterHeaderCell.vue +189 -0
  104. package/datatable/FooterCell.vue +2 -2
  105. package/datatable/HeaderCell.vue +4 -4
  106. package/datatable/TableBody.vue +3 -10
  107. package/datatable/TableHeader.vue +23 -50
  108. package/datatable/index.d.ts +89 -39
  109. package/datatable/index.mjs +444 -234
  110. package/datatable/index.mjs.map +1 -1
  111. package/datatable/style/index.mjs +32 -36
  112. package/datatable/style/index.mjs.map +1 -1
  113. package/dataview/index.mjs +2 -2
  114. package/dataview/index.mjs.map +1 -1
  115. package/dataview/style/index.mjs +6 -9
  116. package/dataview/style/index.mjs.map +1 -1
  117. package/datepicker/BaseDatePicker.vue +0 -4
  118. package/datepicker/DatePicker.vue +46 -20
  119. package/datepicker/index.d.ts +2 -6
  120. package/datepicker/index.mjs +78 -52
  121. package/datepicker/index.mjs.map +1 -1
  122. package/datepicker/style/index.mjs +26 -28
  123. package/datepicker/style/index.mjs.map +1 -1
  124. package/deferredcontent/index.mjs +1 -1
  125. package/dialog/Dialog.vue +3 -11
  126. package/dialog/index.d.ts +1 -1
  127. package/dialog/index.mjs +7 -14
  128. package/dialog/index.mjs.map +1 -1
  129. package/dialog/style/index.mjs +10 -14
  130. package/dialog/style/index.mjs.map +1 -1
  131. package/divider/index.mjs +1 -1
  132. package/divider/style/index.mjs +6 -10
  133. package/divider/style/index.mjs.map +1 -1
  134. package/dock/DockSub.vue +5 -13
  135. package/dock/index.mjs +6 -14
  136. package/dock/index.mjs.map +1 -1
  137. package/dock/style/index.mjs +9 -12
  138. package/dock/style/index.mjs.map +1 -1
  139. package/drawer/Drawer.vue +7 -4
  140. package/drawer/index.d.ts +4 -0
  141. package/drawer/index.mjs +7 -5
  142. package/drawer/index.mjs.map +1 -1
  143. package/drawer/style/index.mjs +10 -13
  144. package/drawer/style/index.mjs.map +1 -1
  145. package/dynamicdialog/DynamicDialog.vue +5 -5
  146. package/dynamicdialog/index.mjs +8 -6
  147. package/dynamicdialog/index.mjs.map +1 -1
  148. package/editor/Editor.vue +9 -11
  149. package/editor/index.d.ts +0 -15
  150. package/editor/index.mjs +16 -16
  151. package/editor/index.mjs.map +1 -1
  152. package/editor/style/index.mjs +4 -7
  153. package/editor/style/index.mjs.map +1 -1
  154. package/fieldset/Fieldset.vue +4 -12
  155. package/fieldset/index.mjs +9 -17
  156. package/fieldset/index.mjs.map +1 -1
  157. package/fieldset/style/index.mjs +4 -7
  158. package/fieldset/style/index.mjs.map +1 -1
  159. package/fileupload/FileUpload.vue +9 -7
  160. package/fileupload/index.d.ts +3 -3
  161. package/fileupload/index.mjs +12 -10
  162. package/fileupload/index.mjs.map +1 -1
  163. package/fileupload/style/index.mjs +4 -7
  164. package/fileupload/style/index.mjs.map +1 -1
  165. package/floatlabel/index.mjs +1 -1
  166. package/floatlabel/style/index.mjs +4 -8
  167. package/floatlabel/style/index.mjs.map +1 -1
  168. package/fluid/index.mjs +1 -1
  169. package/focustrap/index.mjs +4 -4
  170. package/focustrap/index.mjs.map +1 -1
  171. package/galleria/Galleria.vue +2 -1
  172. package/galleria/GalleriaContent.vue +3 -11
  173. package/galleria/GalleriaThumbnails.vue +15 -8
  174. package/galleria/index.mjs +28 -30
  175. package/galleria/index.mjs.map +1 -1
  176. package/galleria/style/index.mjs +23 -26
  177. package/galleria/style/index.mjs.map +1 -1
  178. package/iconfield/index.mjs +1 -1
  179. package/iconfield/style/index.mjs +2 -5
  180. package/iconfield/style/index.mjs.map +1 -1
  181. package/iftalabel/index.mjs +1 -1
  182. package/iftalabel/style/index.mjs +2 -5
  183. package/iftalabel/style/index.mjs.map +1 -1
  184. package/image/Image.vue +2 -1
  185. package/image/index.d.ts +4 -0
  186. package/image/index.mjs +6 -5
  187. package/image/index.mjs.map +1 -1
  188. package/image/style/index.mjs +8 -11
  189. package/image/style/index.mjs.map +1 -1
  190. package/imagecompare/index.mjs +1 -1
  191. package/imagecompare/style/index.mjs +2 -5
  192. package/imagecompare/style/index.mjs.map +1 -1
  193. package/index.d.ts +3 -0
  194. package/index.mjs +1 -0
  195. package/index.mjs.map +1 -1
  196. package/inlinemessage/index.mjs +1 -1
  197. package/inlinemessage/style/index.mjs +7 -10
  198. package/inlinemessage/style/index.mjs.map +1 -1
  199. package/inplace/index.mjs +4 -4
  200. package/inplace/style/index.mjs +4 -7
  201. package/inplace/style/index.mjs.map +1 -1
  202. package/inputchips/InputChips.vue +2 -10
  203. package/inputchips/index.mjs +6 -14
  204. package/inputchips/index.mjs.map +1 -1
  205. package/inputchips/style/index.mjs +11 -14
  206. package/inputchips/style/index.mjs.map +1 -1
  207. package/inputgroup/index.mjs +1 -1
  208. package/inputgroup/style/index.mjs +2 -5
  209. package/inputgroup/style/index.mjs.map +1 -1
  210. package/inputgroupaddon/index.mjs +1 -1
  211. package/inputicon/index.mjs +1 -1
  212. package/inputmask/InputMask.vue +26 -17
  213. package/inputmask/index.d.ts +2 -2
  214. package/inputmask/index.mjs +28 -17
  215. package/inputmask/index.mjs.map +1 -1
  216. package/inputnumber/InputNumber.vue +17 -6
  217. package/inputnumber/index.d.ts +4 -4
  218. package/inputnumber/index.mjs +20 -12
  219. package/inputnumber/index.mjs.map +1 -1
  220. package/inputnumber/style/index.mjs +12 -14
  221. package/inputnumber/style/index.mjs.map +1 -1
  222. package/inputotp/index.d.ts +23 -8
  223. package/inputotp/index.mjs +1 -1
  224. package/inputotp/style/index.mjs +2 -5
  225. package/inputotp/style/index.mjs.map +1 -1
  226. package/inputtext/InputText.vue +1 -1
  227. package/inputtext/index.d.ts +1 -1
  228. package/inputtext/index.mjs +3 -2
  229. package/inputtext/index.mjs.map +1 -1
  230. package/inputtext/style/index.mjs +5 -8
  231. package/inputtext/style/index.mjs.map +1 -1
  232. package/keyfilter/index.mjs +8 -9
  233. package/keyfilter/index.mjs.map +1 -1
  234. package/knob/index.mjs +3 -3
  235. package/knob/index.mjs.map +1 -1
  236. package/knob/style/index.mjs +5 -8
  237. package/knob/style/index.mjs.map +1 -1
  238. package/listbox/Listbox.vue +7 -13
  239. package/listbox/index.mjs +10 -16
  240. package/listbox/index.mjs.map +1 -1
  241. package/listbox/style/index.mjs +11 -14
  242. package/listbox/style/index.mjs.map +1 -1
  243. package/megamenu/MegaMenu.vue +9 -15
  244. package/megamenu/index.mjs +12 -18
  245. package/megamenu/index.mjs.map +1 -1
  246. package/megamenu/style/index.mjs +15 -18
  247. package/megamenu/style/index.mjs.map +1 -1
  248. package/menu/Menu.vue +9 -17
  249. package/menu/index.d.ts +10 -0
  250. package/menu/index.mjs +10 -17
  251. package/menu/index.mjs.map +1 -1
  252. package/menu/style/index.mjs +6 -9
  253. package/menu/style/index.mjs.map +1 -1
  254. package/menubar/Menubar.vue +10 -16
  255. package/menubar/index.mjs +14 -20
  256. package/menubar/index.mjs.map +1 -1
  257. package/menubar/style/index.mjs +10 -13
  258. package/menubar/style/index.mjs.map +1 -1
  259. package/message/index.mjs +4 -4
  260. package/message/style/index.mjs +4 -7
  261. package/message/style/index.mjs.map +1 -1
  262. package/metergroup/index.mjs +1 -1
  263. package/metergroup/style/index.mjs +6 -9
  264. package/metergroup/style/index.mjs.map +1 -1
  265. package/multiselect/MultiSelect.vue +23 -18
  266. package/multiselect/index.d.ts +12 -6
  267. package/multiselect/index.mjs +32 -28
  268. package/multiselect/index.mjs.map +1 -1
  269. package/multiselect/style/index.mjs +17 -20
  270. package/multiselect/style/index.mjs.map +1 -1
  271. package/orderlist/OrderList.vue +1 -10
  272. package/orderlist/index.mjs +7 -15
  273. package/orderlist/index.mjs.map +1 -1
  274. package/orderlist/style/index.mjs +2 -5
  275. package/orderlist/style/index.mjs.map +1 -1
  276. package/organizationchart/index.mjs +4 -4
  277. package/organizationchart/style/index.mjs +9 -12
  278. package/organizationchart/style/index.mjs.map +1 -1
  279. package/overlaybadge/index.mjs +1 -1
  280. package/overlaybadge/style/index.mjs +2 -5
  281. package/overlaybadge/style/index.mjs.map +1 -1
  282. package/package.json +6 -5
  283. package/paginator/index.mjs +2 -2
  284. package/paginator/index.mjs.map +1 -1
  285. package/paginator/style/index.mjs +18 -21
  286. package/paginator/style/index.mjs.map +1 -1
  287. package/panel/Panel.vue +5 -13
  288. package/panel/index.mjs +7 -15
  289. package/panel/index.mjs.map +1 -1
  290. package/panel/style/index.mjs +4 -7
  291. package/panel/style/index.mjs.map +1 -1
  292. package/panelmenu/PanelMenu.vue +2 -12
  293. package/panelmenu/index.mjs +8 -18
  294. package/panelmenu/index.mjs.map +1 -1
  295. package/panelmenu/style/index.mjs +8 -11
  296. package/panelmenu/style/index.mjs.map +1 -1
  297. package/passthrough/index.mjs +3 -3
  298. package/password/Password.vue +3 -10
  299. package/password/index.d.ts +2 -2
  300. package/password/index.mjs +9 -16
  301. package/password/index.mjs.map +1 -1
  302. package/password/style/index.mjs +8 -11
  303. package/password/style/index.mjs.map +1 -1
  304. package/picklist/PickList.vue +2 -9
  305. package/picklist/index.mjs +8 -14
  306. package/picklist/index.mjs.map +1 -1
  307. package/picklist/style/index.mjs +2 -5
  308. package/picklist/style/index.mjs.map +1 -1
  309. package/popover/Popover.vue +2 -2
  310. package/popover/index.mjs +4 -4
  311. package/popover/index.mjs.map +1 -1
  312. package/popover/style/index.mjs +2 -5
  313. package/popover/style/index.mjs.map +1 -1
  314. package/portal/index.mjs +1 -1
  315. package/progressbar/index.mjs +1 -1
  316. package/progressbar/style/index.mjs +4 -7
  317. package/progressbar/style/index.mjs.map +1 -1
  318. package/progressspinner/index.mjs +1 -1
  319. package/progressspinner/style/index.mjs +2 -5
  320. package/progressspinner/style/index.mjs.map +1 -1
  321. package/radiobutton/index.d.ts +2 -2
  322. package/radiobutton/index.mjs +1 -1
  323. package/radiobutton/index.mjs.map +1 -1
  324. package/radiobutton/style/index.mjs +5 -8
  325. package/radiobutton/style/index.mjs.map +1 -1
  326. package/radiobuttongroup/index.mjs +1 -1
  327. package/radiobuttongroup/style/index.mjs +2 -5
  328. package/radiobuttongroup/style/index.mjs.map +1 -1
  329. package/rating/Rating.vue +6 -11
  330. package/rating/index.mjs +7 -12
  331. package/rating/index.mjs.map +1 -1
  332. package/rating/style/index.mjs +11 -14
  333. package/rating/style/index.mjs.map +1 -1
  334. package/ripple/index.mjs +16 -13
  335. package/ripple/index.mjs.map +1 -1
  336. package/ripple/style/index.mjs +2 -5
  337. package/ripple/style/index.mjs.map +1 -1
  338. package/row/index.mjs.map +1 -1
  339. package/scrollpanel/ScrollPanel.vue +1 -10
  340. package/scrollpanel/index.mjs +3 -11
  341. package/scrollpanel/index.mjs.map +1 -1
  342. package/scrollpanel/style/index.mjs +2 -5
  343. package/scrollpanel/style/index.mjs.map +1 -1
  344. package/scrolltop/index.mjs +1 -1
  345. package/scrolltop/style/index.mjs +4 -7
  346. package/scrolltop/style/index.mjs.map +1 -1
  347. package/select/Select.vue +55 -26
  348. package/select/index.d.ts +9 -5
  349. package/select/index.mjs +89 -63
  350. package/select/index.mjs.map +1 -1
  351. package/select/style/index.mjs +15 -18
  352. package/select/style/index.mjs.map +1 -1
  353. package/selectbutton/index.mjs +3 -3
  354. package/selectbutton/style/index.mjs +4 -7
  355. package/selectbutton/style/index.mjs.map +1 -1
  356. package/skeleton/index.mjs +1 -1
  357. package/skeleton/style/index.mjs +4 -7
  358. package/skeleton/style/index.mjs.map +1 -1
  359. package/slider/Slider.vue +1 -1
  360. package/slider/index.mjs +3 -3
  361. package/slider/index.mjs.map +1 -1
  362. package/slider/style/index.mjs +5 -8
  363. package/slider/style/index.mjs.map +1 -1
  364. package/speeddial/SpeedDial.vue +8 -15
  365. package/speeddial/index.d.ts +1 -1
  366. package/speeddial/index.mjs +13 -19
  367. package/speeddial/index.mjs.map +1 -1
  368. package/speeddial/style/index.mjs +15 -18
  369. package/speeddial/style/index.mjs.map +1 -1
  370. package/splitbutton/SplitButton.vue +2 -11
  371. package/splitbutton/index.d.ts +2 -2
  372. package/splitbutton/index.mjs +3 -11
  373. package/splitbutton/index.mjs.map +1 -1
  374. package/splitbutton/style/index.mjs +5 -8
  375. package/splitbutton/style/index.mjs.map +1 -1
  376. package/splitter/Splitter.vue +31 -14
  377. package/splitter/index.d.ts +1 -1
  378. package/splitter/index.mjs +28 -14
  379. package/splitter/index.mjs.map +1 -1
  380. package/splitter/style/index.mjs +6 -9
  381. package/splitter/style/index.mjs.map +1 -1
  382. package/splitterpanel/index.mjs +1 -1
  383. package/step/index.mjs +1 -1
  384. package/step/index.mjs.map +1 -1
  385. package/stepitem/index.mjs +1 -1
  386. package/stepitem/index.mjs.map +1 -1
  387. package/steplist/index.mjs +1 -1
  388. package/steppanel/index.mjs +1 -1
  389. package/steppanel/index.mjs.map +1 -1
  390. package/steppanels/index.mjs +1 -1
  391. package/stepper/Stepper.vue +0 -8
  392. package/stepper/index.mjs +1 -9
  393. package/stepper/index.mjs.map +1 -1
  394. package/stepper/style/index.mjs +4 -7
  395. package/stepper/style/index.mjs.map +1 -1
  396. package/steps/index.mjs +2 -2
  397. package/steps/style/index.mjs +8 -11
  398. package/steps/style/index.mjs.map +1 -1
  399. package/styleclass/index.mjs +1 -1
  400. package/tab/Tab.vue +3 -3
  401. package/tab/index.mjs +4 -4
  402. package/tab/index.mjs.map +1 -1
  403. package/tablist/TabList.vue +2 -2
  404. package/tablist/index.mjs +4 -4
  405. package/tablist/index.mjs.map +1 -1
  406. package/tabmenu/index.mjs +2 -2
  407. package/tabmenu/index.mjs.map +1 -1
  408. package/tabmenu/style/index.mjs +6 -9
  409. package/tabmenu/style/index.mjs.map +1 -1
  410. package/tabpanel/index.mjs +1 -1
  411. package/tabpanel/index.mjs.map +1 -1
  412. package/tabpanels/index.mjs +1 -1
  413. package/tabs/Tabs.vue +0 -8
  414. package/tabs/index.mjs +1 -9
  415. package/tabs/index.mjs.map +1 -1
  416. package/tabs/style/index.mjs +4 -7
  417. package/tabs/style/index.mjs.map +1 -1
  418. package/tabview/TabView.vue +3 -9
  419. package/tabview/index.mjs +7 -13
  420. package/tabview/index.mjs.map +1 -1
  421. package/tabview/style/index.mjs +11 -14
  422. package/tabview/style/index.mjs.map +1 -1
  423. package/tag/index.mjs +1 -1
  424. package/tag/style/index.mjs +4 -7
  425. package/tag/style/index.mjs.map +1 -1
  426. package/terminal/index.mjs +1 -1
  427. package/terminal/style/index.mjs +2 -5
  428. package/terminal/style/index.mjs.map +1 -1
  429. package/textarea/Textarea.vue +5 -2
  430. package/textarea/index.d.ts +4 -4
  431. package/textarea/index.mjs +7 -3
  432. package/textarea/index.mjs.map +1 -1
  433. package/textarea/style/index.mjs +5 -8
  434. package/textarea/style/index.mjs.map +1 -1
  435. package/tieredmenu/TieredMenu.vue +8 -13
  436. package/tieredmenu/index.mjs +11 -16
  437. package/tieredmenu/index.mjs.map +1 -1
  438. package/tieredmenu/style/index.mjs +11 -14
  439. package/tieredmenu/style/index.mjs.map +1 -1
  440. package/timeline/index.d.ts +4 -0
  441. package/timeline/index.mjs +1 -1
  442. package/timeline/style/index.mjs +4 -7
  443. package/timeline/style/index.mjs.map +1 -1
  444. package/toast/BaseToast.vue +12 -0
  445. package/toast/ToastMessage.vue +38 -4
  446. package/toast/index.d.ts +12 -0
  447. package/toast/index.mjs +79 -15
  448. package/toast/index.mjs.map +1 -1
  449. package/toast/style/index.mjs +12 -15
  450. package/toast/style/index.mjs.map +1 -1
  451. package/togglebutton/ToggleButton.vue +1 -0
  452. package/togglebutton/index.mjs +3 -2
  453. package/togglebutton/index.mjs.map +1 -1
  454. package/togglebutton/style/index.mjs +5 -8
  455. package/togglebutton/style/index.mjs.map +1 -1
  456. package/toggleswitch/index.mjs +1 -1
  457. package/toggleswitch/index.mjs.map +1 -1
  458. package/toggleswitch/style/index.mjs +5 -8
  459. package/toggleswitch/style/index.mjs.map +1 -1
  460. package/toolbar/index.mjs +1 -1
  461. package/toolbar/style/index.mjs +2 -5
  462. package/toolbar/style/index.mjs.map +1 -1
  463. package/tooltip/index.mjs +62 -14
  464. package/tooltip/index.mjs.map +1 -1
  465. package/tooltip/style/index.mjs +2 -5
  466. package/tooltip/style/index.mjs.map +1 -1
  467. package/tree/Tree.vue +2 -2
  468. package/tree/index.mjs +16 -16
  469. package/tree/index.mjs.map +1 -1
  470. package/tree/style/index.mjs +8 -11
  471. package/tree/style/index.mjs.map +1 -1
  472. package/treeselect/TreeSelect.vue +21 -26
  473. package/treeselect/index.d.ts +2 -2
  474. package/treeselect/index.mjs +56 -72
  475. package/treeselect/index.mjs.map +1 -1
  476. package/treeselect/style/index.mjs +10 -13
  477. package/treeselect/style/index.mjs.map +1 -1
  478. package/treetable/BodyCell.vue +8 -5
  479. package/treetable/FooterCell.vue +2 -2
  480. package/treetable/HeaderCell.vue +4 -4
  481. package/treetable/index.d.ts +29 -0
  482. package/treetable/index.mjs +42 -35
  483. package/treetable/index.mjs.map +1 -1
  484. package/treetable/style/index.mjs +22 -25
  485. package/treetable/style/index.mjs.map +1 -1
  486. package/umd/primevue.min.js +1 -1
  487. package/utils/index.d.ts +9 -0
  488. package/utils/index.mjs +16 -0
  489. package/utils/index.mjs.map +1 -0
  490. package/utils/package.json +5 -0
  491. package/virtualscroller/VirtualScroller.vue +16 -10
  492. package/virtualscroller/index.mjs +21 -15
  493. package/virtualscroller/index.mjs.map +1 -1
  494. package/virtualscroller/style/index.mjs +2 -5
  495. package/virtualscroller/style/index.mjs.map +1 -1
  496. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/tree/BaseTree.vue","../../src/tree/TreeNode.vue","../../src/tree/TreeNode.vue?vue&type=template&id=a823e4cc&lang.js","../../src/tree/Tree.vue","../../src/tree/Tree.vue?vue&type=template&id=5631ee6b&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport TreeStyle from 'primevue/tree/style';\n\nexport default {\n name: 'BaseTree',\n extends: BaseComponent,\n props: {\n value: {\n type: null,\n default: null\n },\n expandedKeys: {\n type: null,\n default: null\n },\n selectionKeys: {\n type: null,\n default: null\n },\n selectionMode: {\n type: String,\n default: null\n },\n metaKeySelection: {\n type: Boolean,\n default: false\n },\n loading: {\n type: Boolean,\n default: false\n },\n loadingIcon: {\n type: String,\n default: undefined\n },\n loadingMode: {\n type: String,\n default: 'mask'\n },\n filter: {\n type: Boolean,\n default: false\n },\n filterBy: {\n type: [String, Function],\n default: 'label'\n },\n filterMode: {\n type: String,\n default: 'lenient'\n },\n filterPlaceholder: {\n type: String,\n default: null\n },\n filterLocale: {\n type: String,\n default: undefined\n },\n highlightOnSelect: {\n type: Boolean,\n default: false\n },\n scrollHeight: {\n type: String,\n default: null\n },\n level: {\n type: Number,\n default: 0\n },\n ariaLabelledby: {\n type: String,\n default: null\n },\n ariaLabel: {\n type: String,\n default: null\n }\n },\n style: TreeStyle,\n provide() {\n return {\n $pcTree: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <li\n ref=\"currentNode\"\n :class=\"cx('node')\"\n role=\"treeitem\"\n :aria-label=\"label(node)\"\n :aria-selected=\"ariaSelected\"\n :aria-expanded=\"expanded\"\n :aria-setsize=\"node.children ? node.children.length : 0\"\n :aria-posinset=\"index + 1\"\n :aria-level=\"level\"\n :aria-checked=\"ariaChecked\"\n :tabindex=\"index === 0 ? 0 : -1\"\n @keydown=\"onKeyDown\"\n v-bind=\"level === 1 ? getPTOptions('node') : ptm('nodeChildren')\"\n >\n <div :class=\"cx('nodeContent')\" @click=\"onClick\" @touchend=\"onTouchEnd\" :style=\"node.style\" v-bind=\"getPTOptions('nodeContent')\" :data-p-selected=\"checkboxMode ? checked : selected\" :data-p-selectable=\"selectable\">\n <button v-ripple type=\"button\" :class=\"cx('nodeToggleButton')\" @click=\"toggle\" tabindex=\"-1\" v-bind=\"getPTOptions('nodeToggleButton')\">\n <template v-if=\"node.loading && loadingMode === 'icon'\">\n <!-- TODO: nodetogglericon deprecated since v4.0-->\n <component v-if=\"templates['nodetoggleicon'] || templates['nodetogglericon']\" :is=\"templates['nodetoggleicon'] || templates['nodetogglericon']\" :node=\"node\" :expanded=\"expanded\" :class=\"cx('nodeToggleIcon')\" />\n <SpinnerIcon v-else spin :class=\"cx('nodeToggleIcon')\" v-bind=\"getPTOptions('nodeToggleIcon')\" />\n </template>\n <template v-else>\n <!-- TODO: togglericon deprecated since v4.0-->\n <component v-if=\"templates['nodetoggleicon'] || templates['togglericon']\" :is=\"templates['nodetoggleicon'] || templates['togglericon']\" :node=\"node\" :expanded=\"expanded\" :class=\"cx('nodeToggleIcon')\" />\n <component v-else-if=\"expanded\" :is=\"node.expandedIcon ? 'span' : 'ChevronDownIcon'\" :class=\"cx('nodeToggleIcon')\" v-bind=\"getPTOptions('nodeToggleIcon')\" />\n <component v-else :is=\"node.collapsedIcon ? 'span' : 'ChevronRightIcon'\" :class=\"cx('nodeToggleIcon')\" v-bind=\"getPTOptions('nodeToggleIcon')\" />\n </template>\n </button>\n <Checkbox\n v-if=\"checkboxMode\"\n :defaultValue=\"checked\"\n :binary=\"true\"\n :indeterminate=\"partialChecked\"\n :class=\"cx('nodeCheckbox')\"\n :tabindex=\"-1\"\n :unstyled=\"unstyled\"\n :pt=\"getPTOptions('pcNodeCheckbox')\"\n :data-p-partialchecked=\"partialChecked\"\n >\n <template #icon=\"slotProps\">\n <component v-if=\"templates['checkboxicon']\" :is=\"templates['checkboxicon']\" :checked=\"slotProps.checked\" :partialChecked=\"partialChecked\" :class=\"slotProps.class\" />\n </template>\n </Checkbox>\n <component v-if=\"templates['nodeicon']\" :is=\"templates['nodeicon']\" :node=\"node\" :class=\"[cx('nodeIcon')]\" v-bind=\"getPTOptions('nodeIcon')\"></component>\n <span v-else :class=\"[cx('nodeIcon'), node.icon]\" v-bind=\"getPTOptions('nodeIcon')\"></span>\n <span :class=\"cx('nodeLabel')\" v-bind=\"getPTOptions('nodeLabel')\" @keydown.stop>\n <component v-if=\"templates[node.type] || templates['default']\" :is=\"templates[node.type] || templates['default']\" :node=\"node\" :expanded=\"expanded\" :selected=\"checkboxMode ? checked : selected\" />\n <template v-else>{{ label(node) }}</template>\n </span>\n </div>\n <ul v-if=\"hasChildren && expanded\" :class=\"cx('nodeChildren')\" role=\"group\" v-bind=\"ptm('nodeChildren')\">\n <TreeNode\n v-for=\"childNode of node.children\"\n :key=\"childNode.key\"\n :node=\"childNode\"\n :templates=\"templates\"\n :level=\"level + 1\"\n :loadingMode=\"loadingMode\"\n :expandedKeys=\"expandedKeys\"\n @node-toggle=\"onChildNodeToggle\"\n @node-click=\"onChildNodeClick\"\n :selectionMode=\"selectionMode\"\n :selectionKeys=\"selectionKeys\"\n @checkbox-change=\"propagateUp\"\n :unstyled=\"unstyled\"\n :pt=\"pt\"\n />\n </ul>\n </li>\n</template>\n\n<script>\nimport { find, findSingle, getAttribute } from '@primeuix/utils/dom';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport CheckIcon from '@primevue/icons/check';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport ChevronRightIcon from '@primevue/icons/chevronright';\nimport MinusIcon from '@primevue/icons/minus';\nimport SpinnerIcon from '@primevue/icons/spinner';\nimport Checkbox from 'primevue/checkbox';\nimport Ripple from 'primevue/ripple';\n\nexport default {\n name: 'TreeNode',\n hostName: 'Tree',\n extends: BaseComponent,\n emits: ['node-toggle', 'node-click', 'checkbox-change'],\n props: {\n node: {\n type: null,\n default: null\n },\n expandedKeys: {\n type: null,\n default: null\n },\n loadingMode: {\n type: String,\n default: 'mask'\n },\n selectionKeys: {\n type: null,\n default: null\n },\n selectionMode: {\n type: String,\n default: null\n },\n templates: {\n type: null,\n default: null\n },\n level: {\n type: Number,\n default: null\n },\n index: null\n },\n nodeTouched: false,\n toggleClicked: false,\n mounted() {\n this.setAllNodesTabIndexes();\n },\n methods: {\n toggle() {\n this.$emit('node-toggle', this.node);\n this.toggleClicked = true;\n },\n label(node) {\n return typeof node.label === 'function' ? node.label() : node.label;\n },\n onChildNodeToggle(node) {\n this.$emit('node-toggle', node);\n },\n getPTOptions(key) {\n return this.ptm(key, {\n context: {\n node: this.node,\n index: this.index,\n expanded: this.expanded,\n selected: this.selected,\n checked: this.checked,\n partialChecked: this.partialChecked,\n leaf: this.leaf\n }\n });\n },\n onClick(event) {\n if (this.toggleClicked || getAttribute(event.target, '[data-pc-section=\"nodetogglebutton\"]') || getAttribute(event.target.parentElement, '[data-pc-section=\"nodetogglebutton\"]')) {\n this.toggleClicked = false;\n\n return;\n }\n\n if (this.isCheckboxSelectionMode()) {\n if (this.node.selectable != false) {\n this.toggleCheckbox();\n }\n } else {\n this.$emit('node-click', {\n originalEvent: event,\n nodeTouched: this.nodeTouched,\n node: this.node\n });\n }\n\n this.nodeTouched = false;\n },\n onChildNodeClick(event) {\n this.$emit('node-click', event);\n },\n onTouchEnd() {\n this.nodeTouched = true;\n },\n onKeyDown(event) {\n if (!this.isSameNode(event)) return;\n\n switch (event.code) {\n case 'Tab':\n this.onTabKey(event);\n\n break;\n\n case 'ArrowDown':\n this.onArrowDown(event);\n\n break;\n\n case 'ArrowUp':\n this.onArrowUp(event);\n\n break;\n\n case 'ArrowRight':\n this.onArrowRight(event);\n\n break;\n\n case 'ArrowLeft':\n this.onArrowLeft(event);\n\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n this.onEnterKey(event);\n\n break;\n\n default:\n break;\n }\n },\n onArrowDown(event) {\n const nodeElement = event.target.getAttribute('data-pc-section') === 'nodetogglebutton' ? event.target.closest('[role=\"treeitem\"]') : event.target;\n const listElement = nodeElement.children[1];\n\n if (listElement) {\n this.focusRowChange(nodeElement, listElement.children[0]);\n } else {\n if (nodeElement.nextElementSibling) {\n this.focusRowChange(nodeElement, nodeElement.nextElementSibling);\n } else {\n let nextSiblingAncestor = this.findNextSiblingOfAncestor(nodeElement);\n\n if (nextSiblingAncestor) {\n this.focusRowChange(nodeElement, nextSiblingAncestor);\n }\n }\n }\n\n event.preventDefault();\n },\n onArrowUp(event) {\n const nodeElement = event.target;\n\n if (nodeElement.previousElementSibling) {\n this.focusRowChange(nodeElement, nodeElement.previousElementSibling, this.findLastVisibleDescendant(nodeElement.previousElementSibling));\n } else {\n let parentNodeElement = this.getParentNodeElement(nodeElement);\n\n if (parentNodeElement) {\n this.focusRowChange(nodeElement, parentNodeElement);\n }\n }\n\n event.preventDefault();\n },\n onArrowRight(event) {\n if (this.leaf || this.expanded) return;\n\n event.currentTarget.tabIndex = -1;\n\n this.$emit('node-toggle', this.node);\n this.$nextTick(() => {\n this.onArrowDown(event);\n });\n },\n onArrowLeft(event) {\n const togglerElement = findSingle(event.currentTarget, '[data-pc-section=\"nodetogglebutton\"]');\n\n if (this.level === 0 && !this.expanded) {\n return false;\n }\n\n if (this.expanded && !this.leaf) {\n togglerElement.click();\n\n return false;\n }\n\n const target = this.findBeforeClickableNode(event.currentTarget);\n\n if (target) {\n this.focusRowChange(event.currentTarget, target);\n }\n },\n onEnterKey(event) {\n this.setTabIndexForSelectionMode(event, this.nodeTouched);\n this.onClick(event);\n\n event.preventDefault();\n },\n onTabKey() {\n this.setAllNodesTabIndexes();\n },\n setAllNodesTabIndexes() {\n const nodes = find(this.$refs.currentNode.closest('[data-pc-section=\"rootchildren\"]'), '[role=\"treeitem\"]');\n\n const hasSelectedNode = [...nodes].some((node) => node.getAttribute('aria-selected') === 'true' || node.getAttribute('aria-checked') === 'true');\n\n [...nodes].forEach((node) => {\n node.tabIndex = -1;\n });\n\n if (hasSelectedNode) {\n const selectedNodes = [...nodes].filter((node) => node.getAttribute('aria-selected') === 'true' || node.getAttribute('aria-checked') === 'true');\n\n selectedNodes[0].tabIndex = 0;\n\n return;\n }\n\n [...nodes][0].tabIndex = 0;\n },\n setTabIndexForSelectionMode(event, nodeTouched) {\n if (this.selectionMode !== null) {\n const elements = [...find(this.$refs.currentNode.parentElement, '[role=\"treeitem\"]')];\n\n event.currentTarget.tabIndex = nodeTouched === false ? -1 : 0;\n\n if (elements.every((element) => element.tabIndex === -1)) {\n elements[0].tabIndex = 0;\n }\n }\n },\n focusRowChange(firstFocusableRow, currentFocusedRow, lastVisibleDescendant) {\n firstFocusableRow.tabIndex = '-1';\n currentFocusedRow.tabIndex = '0';\n\n this.focusNode(lastVisibleDescendant || currentFocusedRow);\n },\n findBeforeClickableNode(node) {\n const parentListElement = node.closest('ul').closest('li');\n\n if (parentListElement) {\n const prevNodeButton = findSingle(parentListElement, 'button');\n\n if (prevNodeButton && prevNodeButton.style.visibility !== 'hidden') {\n return parentListElement;\n }\n\n return this.findBeforeClickableNode(node.previousElementSibling);\n }\n\n return null;\n },\n toggleCheckbox() {\n let _selectionKeys = this.selectionKeys ? { ...this.selectionKeys } : {};\n const _check = !this.checked;\n\n this.propagateDown(this.node, _check, _selectionKeys);\n\n this.$emit('checkbox-change', {\n node: this.node,\n check: _check,\n selectionKeys: _selectionKeys\n });\n },\n propagateDown(node, check, selectionKeys) {\n if (check && node.selectable != false) selectionKeys[node.key] = { checked: true, partialChecked: false };\n else delete selectionKeys[node.key];\n\n if (node.children && node.children.length) {\n for (let child of node.children) {\n this.propagateDown(child, check, selectionKeys);\n }\n }\n },\n propagateUp(event) {\n let check = event.check;\n let _selectionKeys = { ...event.selectionKeys };\n let checkedChildCount = 0;\n let childPartialSelected = false;\n\n for (let child of this.node.children) {\n if (_selectionKeys[child.key] && _selectionKeys[child.key].checked) checkedChildCount++;\n else if (_selectionKeys[child.key] && _selectionKeys[child.key].partialChecked) childPartialSelected = true;\n }\n\n if (check && checkedChildCount === this.node.children.length) {\n _selectionKeys[this.node.key] = { checked: true, partialChecked: false };\n } else {\n if (!check) {\n delete _selectionKeys[this.node.key];\n }\n\n if (childPartialSelected || (checkedChildCount > 0 && checkedChildCount !== this.node.children.length)) _selectionKeys[this.node.key] = { checked: false, partialChecked: true };\n else delete _selectionKeys[this.node.key];\n }\n\n this.$emit('checkbox-change', {\n node: event.node,\n check: event.check,\n selectionKeys: _selectionKeys\n });\n },\n onChildCheckboxChange(event) {\n this.$emit('checkbox-change', event);\n },\n findNextSiblingOfAncestor(nodeElement) {\n let parentNodeElement = this.getParentNodeElement(nodeElement);\n\n if (parentNodeElement) {\n if (parentNodeElement.nextElementSibling) return parentNodeElement.nextElementSibling;\n else return this.findNextSiblingOfAncestor(parentNodeElement);\n } else {\n return null;\n }\n },\n findLastVisibleDescendant(nodeElement) {\n const childrenListElement = nodeElement.children[1];\n\n if (childrenListElement) {\n const lastChildElement = childrenListElement.children[childrenListElement.children.length - 1];\n\n return this.findLastVisibleDescendant(lastChildElement);\n } else {\n return nodeElement;\n }\n },\n getParentNodeElement(nodeElement) {\n const parentNodeElement = nodeElement.parentElement.parentElement;\n\n return getAttribute(parentNodeElement, 'role') === 'treeitem' ? parentNodeElement : null;\n },\n focusNode(element) {\n element.focus();\n },\n isCheckboxSelectionMode() {\n return this.selectionMode === 'checkbox';\n },\n isSameNode(event) {\n return event.currentTarget && (event.currentTarget.isSameNode(event.target) || event.currentTarget.isSameNode(event.target.closest('[role=\"treeitem\"]')));\n }\n },\n computed: {\n hasChildren() {\n return this.node.children && this.node.children.length > 0;\n },\n expanded() {\n return this.expandedKeys && this.expandedKeys[this.node.key] === true;\n },\n leaf() {\n return this.node.leaf === false ? false : !(this.node.children && this.node.children.length);\n },\n selectable() {\n return this.node.selectable === false ? false : this.selectionMode != null;\n },\n selected() {\n return this.selectionMode && this.selectionKeys ? this.selectionKeys[this.node.key] === true : false;\n },\n checkboxMode() {\n return this.selectionMode === 'checkbox' && this.node.selectable !== false;\n },\n checked() {\n return this.selectionKeys ? this.selectionKeys[this.node.key] && this.selectionKeys[this.node.key].checked : false;\n },\n partialChecked() {\n return this.selectionKeys ? this.selectionKeys[this.node.key] && this.selectionKeys[this.node.key].partialChecked : false;\n },\n ariaChecked() {\n return this.selectionMode === 'single' || this.selectionMode === 'multiple' ? this.selected : undefined;\n },\n ariaSelected() {\n return this.checkboxMode ? this.checked : undefined;\n }\n },\n components: {\n Checkbox,\n ChevronDownIcon,\n ChevronRightIcon,\n CheckIcon,\n MinusIcon,\n SpinnerIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <li\n ref=\"currentNode\"\n :class=\"cx('node')\"\n role=\"treeitem\"\n :aria-label=\"label(node)\"\n :aria-selected=\"ariaSelected\"\n :aria-expanded=\"expanded\"\n :aria-setsize=\"node.children ? node.children.length : 0\"\n :aria-posinset=\"index + 1\"\n :aria-level=\"level\"\n :aria-checked=\"ariaChecked\"\n :tabindex=\"index === 0 ? 0 : -1\"\n @keydown=\"onKeyDown\"\n v-bind=\"level === 1 ? getPTOptions('node') : ptm('nodeChildren')\"\n >\n <div :class=\"cx('nodeContent')\" @click=\"onClick\" @touchend=\"onTouchEnd\" :style=\"node.style\" v-bind=\"getPTOptions('nodeContent')\" :data-p-selected=\"checkboxMode ? checked : selected\" :data-p-selectable=\"selectable\">\n <button v-ripple type=\"button\" :class=\"cx('nodeToggleButton')\" @click=\"toggle\" tabindex=\"-1\" v-bind=\"getPTOptions('nodeToggleButton')\">\n <template v-if=\"node.loading && loadingMode === 'icon'\">\n <!-- TODO: nodetogglericon deprecated since v4.0-->\n <component v-if=\"templates['nodetoggleicon'] || templates['nodetogglericon']\" :is=\"templates['nodetoggleicon'] || templates['nodetogglericon']\" :node=\"node\" :expanded=\"expanded\" :class=\"cx('nodeToggleIcon')\" />\n <SpinnerIcon v-else spin :class=\"cx('nodeToggleIcon')\" v-bind=\"getPTOptions('nodeToggleIcon')\" />\n </template>\n <template v-else>\n <!-- TODO: togglericon deprecated since v4.0-->\n <component v-if=\"templates['nodetoggleicon'] || templates['togglericon']\" :is=\"templates['nodetoggleicon'] || templates['togglericon']\" :node=\"node\" :expanded=\"expanded\" :class=\"cx('nodeToggleIcon')\" />\n <component v-else-if=\"expanded\" :is=\"node.expandedIcon ? 'span' : 'ChevronDownIcon'\" :class=\"cx('nodeToggleIcon')\" v-bind=\"getPTOptions('nodeToggleIcon')\" />\n <component v-else :is=\"node.collapsedIcon ? 'span' : 'ChevronRightIcon'\" :class=\"cx('nodeToggleIcon')\" v-bind=\"getPTOptions('nodeToggleIcon')\" />\n </template>\n </button>\n <Checkbox\n v-if=\"checkboxMode\"\n :defaultValue=\"checked\"\n :binary=\"true\"\n :indeterminate=\"partialChecked\"\n :class=\"cx('nodeCheckbox')\"\n :tabindex=\"-1\"\n :unstyled=\"unstyled\"\n :pt=\"getPTOptions('pcNodeCheckbox')\"\n :data-p-partialchecked=\"partialChecked\"\n >\n <template #icon=\"slotProps\">\n <component v-if=\"templates['checkboxicon']\" :is=\"templates['checkboxicon']\" :checked=\"slotProps.checked\" :partialChecked=\"partialChecked\" :class=\"slotProps.class\" />\n </template>\n </Checkbox>\n <component v-if=\"templates['nodeicon']\" :is=\"templates['nodeicon']\" :node=\"node\" :class=\"[cx('nodeIcon')]\" v-bind=\"getPTOptions('nodeIcon')\"></component>\n <span v-else :class=\"[cx('nodeIcon'), node.icon]\" v-bind=\"getPTOptions('nodeIcon')\"></span>\n <span :class=\"cx('nodeLabel')\" v-bind=\"getPTOptions('nodeLabel')\" @keydown.stop>\n <component v-if=\"templates[node.type] || templates['default']\" :is=\"templates[node.type] || templates['default']\" :node=\"node\" :expanded=\"expanded\" :selected=\"checkboxMode ? checked : selected\" />\n <template v-else>{{ label(node) }}</template>\n </span>\n </div>\n <ul v-if=\"hasChildren && expanded\" :class=\"cx('nodeChildren')\" role=\"group\" v-bind=\"ptm('nodeChildren')\">\n <TreeNode\n v-for=\"childNode of node.children\"\n :key=\"childNode.key\"\n :node=\"childNode\"\n :templates=\"templates\"\n :level=\"level + 1\"\n :loadingMode=\"loadingMode\"\n :expandedKeys=\"expandedKeys\"\n @node-toggle=\"onChildNodeToggle\"\n @node-click=\"onChildNodeClick\"\n :selectionMode=\"selectionMode\"\n :selectionKeys=\"selectionKeys\"\n @checkbox-change=\"propagateUp\"\n :unstyled=\"unstyled\"\n :pt=\"pt\"\n />\n </ul>\n </li>\n</template>\n\n<script>\nimport { find, findSingle, getAttribute } from '@primeuix/utils/dom';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport CheckIcon from '@primevue/icons/check';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport ChevronRightIcon from '@primevue/icons/chevronright';\nimport MinusIcon from '@primevue/icons/minus';\nimport SpinnerIcon from '@primevue/icons/spinner';\nimport Checkbox from 'primevue/checkbox';\nimport Ripple from 'primevue/ripple';\n\nexport default {\n name: 'TreeNode',\n hostName: 'Tree',\n extends: BaseComponent,\n emits: ['node-toggle', 'node-click', 'checkbox-change'],\n props: {\n node: {\n type: null,\n default: null\n },\n expandedKeys: {\n type: null,\n default: null\n },\n loadingMode: {\n type: String,\n default: 'mask'\n },\n selectionKeys: {\n type: null,\n default: null\n },\n selectionMode: {\n type: String,\n default: null\n },\n templates: {\n type: null,\n default: null\n },\n level: {\n type: Number,\n default: null\n },\n index: null\n },\n nodeTouched: false,\n toggleClicked: false,\n mounted() {\n this.setAllNodesTabIndexes();\n },\n methods: {\n toggle() {\n this.$emit('node-toggle', this.node);\n this.toggleClicked = true;\n },\n label(node) {\n return typeof node.label === 'function' ? node.label() : node.label;\n },\n onChildNodeToggle(node) {\n this.$emit('node-toggle', node);\n },\n getPTOptions(key) {\n return this.ptm(key, {\n context: {\n node: this.node,\n index: this.index,\n expanded: this.expanded,\n selected: this.selected,\n checked: this.checked,\n partialChecked: this.partialChecked,\n leaf: this.leaf\n }\n });\n },\n onClick(event) {\n if (this.toggleClicked || getAttribute(event.target, '[data-pc-section=\"nodetogglebutton\"]') || getAttribute(event.target.parentElement, '[data-pc-section=\"nodetogglebutton\"]')) {\n this.toggleClicked = false;\n\n return;\n }\n\n if (this.isCheckboxSelectionMode()) {\n if (this.node.selectable != false) {\n this.toggleCheckbox();\n }\n } else {\n this.$emit('node-click', {\n originalEvent: event,\n nodeTouched: this.nodeTouched,\n node: this.node\n });\n }\n\n this.nodeTouched = false;\n },\n onChildNodeClick(event) {\n this.$emit('node-click', event);\n },\n onTouchEnd() {\n this.nodeTouched = true;\n },\n onKeyDown(event) {\n if (!this.isSameNode(event)) return;\n\n switch (event.code) {\n case 'Tab':\n this.onTabKey(event);\n\n break;\n\n case 'ArrowDown':\n this.onArrowDown(event);\n\n break;\n\n case 'ArrowUp':\n this.onArrowUp(event);\n\n break;\n\n case 'ArrowRight':\n this.onArrowRight(event);\n\n break;\n\n case 'ArrowLeft':\n this.onArrowLeft(event);\n\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n this.onEnterKey(event);\n\n break;\n\n default:\n break;\n }\n },\n onArrowDown(event) {\n const nodeElement = event.target.getAttribute('data-pc-section') === 'nodetogglebutton' ? event.target.closest('[role=\"treeitem\"]') : event.target;\n const listElement = nodeElement.children[1];\n\n if (listElement) {\n this.focusRowChange(nodeElement, listElement.children[0]);\n } else {\n if (nodeElement.nextElementSibling) {\n this.focusRowChange(nodeElement, nodeElement.nextElementSibling);\n } else {\n let nextSiblingAncestor = this.findNextSiblingOfAncestor(nodeElement);\n\n if (nextSiblingAncestor) {\n this.focusRowChange(nodeElement, nextSiblingAncestor);\n }\n }\n }\n\n event.preventDefault();\n },\n onArrowUp(event) {\n const nodeElement = event.target;\n\n if (nodeElement.previousElementSibling) {\n this.focusRowChange(nodeElement, nodeElement.previousElementSibling, this.findLastVisibleDescendant(nodeElement.previousElementSibling));\n } else {\n let parentNodeElement = this.getParentNodeElement(nodeElement);\n\n if (parentNodeElement) {\n this.focusRowChange(nodeElement, parentNodeElement);\n }\n }\n\n event.preventDefault();\n },\n onArrowRight(event) {\n if (this.leaf || this.expanded) return;\n\n event.currentTarget.tabIndex = -1;\n\n this.$emit('node-toggle', this.node);\n this.$nextTick(() => {\n this.onArrowDown(event);\n });\n },\n onArrowLeft(event) {\n const togglerElement = findSingle(event.currentTarget, '[data-pc-section=\"nodetogglebutton\"]');\n\n if (this.level === 0 && !this.expanded) {\n return false;\n }\n\n if (this.expanded && !this.leaf) {\n togglerElement.click();\n\n return false;\n }\n\n const target = this.findBeforeClickableNode(event.currentTarget);\n\n if (target) {\n this.focusRowChange(event.currentTarget, target);\n }\n },\n onEnterKey(event) {\n this.setTabIndexForSelectionMode(event, this.nodeTouched);\n this.onClick(event);\n\n event.preventDefault();\n },\n onTabKey() {\n this.setAllNodesTabIndexes();\n },\n setAllNodesTabIndexes() {\n const nodes = find(this.$refs.currentNode.closest('[data-pc-section=\"rootchildren\"]'), '[role=\"treeitem\"]');\n\n const hasSelectedNode = [...nodes].some((node) => node.getAttribute('aria-selected') === 'true' || node.getAttribute('aria-checked') === 'true');\n\n [...nodes].forEach((node) => {\n node.tabIndex = -1;\n });\n\n if (hasSelectedNode) {\n const selectedNodes = [...nodes].filter((node) => node.getAttribute('aria-selected') === 'true' || node.getAttribute('aria-checked') === 'true');\n\n selectedNodes[0].tabIndex = 0;\n\n return;\n }\n\n [...nodes][0].tabIndex = 0;\n },\n setTabIndexForSelectionMode(event, nodeTouched) {\n if (this.selectionMode !== null) {\n const elements = [...find(this.$refs.currentNode.parentElement, '[role=\"treeitem\"]')];\n\n event.currentTarget.tabIndex = nodeTouched === false ? -1 : 0;\n\n if (elements.every((element) => element.tabIndex === -1)) {\n elements[0].tabIndex = 0;\n }\n }\n },\n focusRowChange(firstFocusableRow, currentFocusedRow, lastVisibleDescendant) {\n firstFocusableRow.tabIndex = '-1';\n currentFocusedRow.tabIndex = '0';\n\n this.focusNode(lastVisibleDescendant || currentFocusedRow);\n },\n findBeforeClickableNode(node) {\n const parentListElement = node.closest('ul').closest('li');\n\n if (parentListElement) {\n const prevNodeButton = findSingle(parentListElement, 'button');\n\n if (prevNodeButton && prevNodeButton.style.visibility !== 'hidden') {\n return parentListElement;\n }\n\n return this.findBeforeClickableNode(node.previousElementSibling);\n }\n\n return null;\n },\n toggleCheckbox() {\n let _selectionKeys = this.selectionKeys ? { ...this.selectionKeys } : {};\n const _check = !this.checked;\n\n this.propagateDown(this.node, _check, _selectionKeys);\n\n this.$emit('checkbox-change', {\n node: this.node,\n check: _check,\n selectionKeys: _selectionKeys\n });\n },\n propagateDown(node, check, selectionKeys) {\n if (check && node.selectable != false) selectionKeys[node.key] = { checked: true, partialChecked: false };\n else delete selectionKeys[node.key];\n\n if (node.children && node.children.length) {\n for (let child of node.children) {\n this.propagateDown(child, check, selectionKeys);\n }\n }\n },\n propagateUp(event) {\n let check = event.check;\n let _selectionKeys = { ...event.selectionKeys };\n let checkedChildCount = 0;\n let childPartialSelected = false;\n\n for (let child of this.node.children) {\n if (_selectionKeys[child.key] && _selectionKeys[child.key].checked) checkedChildCount++;\n else if (_selectionKeys[child.key] && _selectionKeys[child.key].partialChecked) childPartialSelected = true;\n }\n\n if (check && checkedChildCount === this.node.children.length) {\n _selectionKeys[this.node.key] = { checked: true, partialChecked: false };\n } else {\n if (!check) {\n delete _selectionKeys[this.node.key];\n }\n\n if (childPartialSelected || (checkedChildCount > 0 && checkedChildCount !== this.node.children.length)) _selectionKeys[this.node.key] = { checked: false, partialChecked: true };\n else delete _selectionKeys[this.node.key];\n }\n\n this.$emit('checkbox-change', {\n node: event.node,\n check: event.check,\n selectionKeys: _selectionKeys\n });\n },\n onChildCheckboxChange(event) {\n this.$emit('checkbox-change', event);\n },\n findNextSiblingOfAncestor(nodeElement) {\n let parentNodeElement = this.getParentNodeElement(nodeElement);\n\n if (parentNodeElement) {\n if (parentNodeElement.nextElementSibling) return parentNodeElement.nextElementSibling;\n else return this.findNextSiblingOfAncestor(parentNodeElement);\n } else {\n return null;\n }\n },\n findLastVisibleDescendant(nodeElement) {\n const childrenListElement = nodeElement.children[1];\n\n if (childrenListElement) {\n const lastChildElement = childrenListElement.children[childrenListElement.children.length - 1];\n\n return this.findLastVisibleDescendant(lastChildElement);\n } else {\n return nodeElement;\n }\n },\n getParentNodeElement(nodeElement) {\n const parentNodeElement = nodeElement.parentElement.parentElement;\n\n return getAttribute(parentNodeElement, 'role') === 'treeitem' ? parentNodeElement : null;\n },\n focusNode(element) {\n element.focus();\n },\n isCheckboxSelectionMode() {\n return this.selectionMode === 'checkbox';\n },\n isSameNode(event) {\n return event.currentTarget && (event.currentTarget.isSameNode(event.target) || event.currentTarget.isSameNode(event.target.closest('[role=\"treeitem\"]')));\n }\n },\n computed: {\n hasChildren() {\n return this.node.children && this.node.children.length > 0;\n },\n expanded() {\n return this.expandedKeys && this.expandedKeys[this.node.key] === true;\n },\n leaf() {\n return this.node.leaf === false ? false : !(this.node.children && this.node.children.length);\n },\n selectable() {\n return this.node.selectable === false ? false : this.selectionMode != null;\n },\n selected() {\n return this.selectionMode && this.selectionKeys ? this.selectionKeys[this.node.key] === true : false;\n },\n checkboxMode() {\n return this.selectionMode === 'checkbox' && this.node.selectable !== false;\n },\n checked() {\n return this.selectionKeys ? this.selectionKeys[this.node.key] && this.selectionKeys[this.node.key].checked : false;\n },\n partialChecked() {\n return this.selectionKeys ? this.selectionKeys[this.node.key] && this.selectionKeys[this.node.key].partialChecked : false;\n },\n ariaChecked() {\n return this.selectionMode === 'single' || this.selectionMode === 'multiple' ? this.selected : undefined;\n },\n ariaSelected() {\n return this.checkboxMode ? this.checked : undefined;\n }\n },\n components: {\n Checkbox,\n ChevronDownIcon,\n ChevronRightIcon,\n CheckIcon,\n MinusIcon,\n SpinnerIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <template v-if=\"loading && loadingMode === 'mask'\">\n <div :class=\"cx('mask')\" v-bind=\"ptm('mask')\">\n <slot name=\"loadingicon\" :class=\"cx('loadingIcon')\">\n <i v-if=\"loadingIcon\" :class=\"[cx('loadingIcon'), 'pi-spin', loadingIcon]\" v-bind=\"ptm('loadingIcon')\" />\n <SpinnerIcon v-else spin :class=\"cx('loadingIcon')\" v-bind=\"ptm('loadingIcon')\" />\n </slot>\n </div>\n </template>\n <IconField v-if=\"filter\" :unstyled=\"unstyled\" :pt=\"{ ...ptm('pcFilter'), ...ptm('pcFilterContainer') }\" :class=\"cx('pcFilterContainer')\">\n <InputText v-model=\"filterValue\" autocomplete=\"off\" :class=\"cx('pcFilterInput')\" :placeholder=\"filterPlaceholder\" :unstyled=\"unstyled\" @keydown=\"onFilterKeydown\" :pt=\"ptm('pcFilterInput')\" />\n <InputIcon :unstyled=\"unstyled\" :pt=\"ptm('pcFilterIconContainer')\">\n <!--TODO: searchicon deprecated since v4.0-->\n <slot :name=\"$slots.filtericon ? 'filtericon' : 'searchicon'\" :class=\"cx('filterIcon')\">\n <SearchIcon :class=\"cx('filterIcon')\" v-bind=\"ptm('filterIcon')\" />\n </slot>\n </InputIcon>\n </IconField>\n <div :class=\"cx('wrapper')\" :style=\"{ maxHeight: scrollHeight }\" v-bind=\"ptm('wrapper')\">\n <slot name=\"header\" :value=\"value\" :expandedKeys=\"expandedKeys\" :selectionKeys=\"selectionKeys\" />\n <ul :class=\"cx('rootChildren')\" role=\"tree\" :aria-labelledby=\"ariaLabelledby\" :aria-label=\"ariaLabel\" v-bind=\"ptm('rootChildren')\">\n <TreeNode\n v-for=\"(node, index) of valueToRender\"\n :key=\"node.key\"\n :node=\"node\"\n :templates=\"$slots\"\n :level=\"level + 1\"\n :index=\"index\"\n :expandedKeys=\"d_expandedKeys\"\n @node-toggle=\"onNodeToggle\"\n @node-click=\"onNodeClick\"\n :selectionMode=\"selectionMode\"\n :selectionKeys=\"selectionKeys\"\n @checkbox-change=\"onCheckboxChange\"\n :loadingMode=\"loadingMode\"\n :unstyled=\"unstyled\"\n :pt=\"pt\"\n ></TreeNode>\n </ul>\n <slot name=\"footer\" :value=\"value\" :expandedKeys=\"expandedKeys\" :selectionKeys=\"selectionKeys\" />\n </div>\n </div>\n</template>\n\n<script>\nimport { isFunction, resolveFieldData } from '@primeuix/utils/object';\nimport SearchIcon from '@primevue/icons/search';\nimport SpinnerIcon from '@primevue/icons/spinner';\nimport IconField from 'primevue/iconfield';\nimport InputIcon from 'primevue/inputicon';\nimport InputText from 'primevue/inputtext';\nimport BaseTree from './BaseTree.vue';\nimport TreeNode from './TreeNode.vue';\n\nexport default {\n name: 'Tree',\n extends: BaseTree,\n inheritAttrs: false,\n emits: ['node-expand', 'node-collapse', 'update:expandedKeys', 'update:selectionKeys', 'node-select', 'node-unselect', 'filter'],\n data() {\n return {\n d_expandedKeys: this.expandedKeys || {},\n filterValue: null\n };\n },\n watch: {\n expandedKeys(newValue) {\n this.d_expandedKeys = newValue;\n }\n },\n methods: {\n onNodeToggle(node) {\n const key = node.key;\n\n if (this.d_expandedKeys[key]) {\n delete this.d_expandedKeys[key];\n this.$emit('node-collapse', node);\n } else {\n this.d_expandedKeys[key] = true;\n this.$emit('node-expand', node);\n }\n\n this.d_expandedKeys = { ...this.d_expandedKeys };\n this.$emit('update:expandedKeys', this.d_expandedKeys);\n },\n onNodeClick(event) {\n if (this.selectionMode != null && event.node.selectable !== false) {\n const metaSelection = event.nodeTouched ? false : this.metaKeySelection;\n const _selectionKeys = metaSelection ? this.handleSelectionWithMetaKey(event) : this.handleSelectionWithoutMetaKey(event);\n\n this.$emit('update:selectionKeys', _selectionKeys);\n }\n },\n onCheckboxChange(event) {\n this.$emit('update:selectionKeys', event.selectionKeys);\n\n if (event.check) this.$emit('node-select', event.node);\n else this.$emit('node-unselect', event.node);\n },\n handleSelectionWithMetaKey(event) {\n const originalEvent = event.originalEvent;\n const node = event.node;\n const metaKey = originalEvent.metaKey || originalEvent.ctrlKey;\n const selected = this.isNodeSelected(node);\n let _selectionKeys;\n\n if (selected && metaKey) {\n if (this.isSingleSelectionMode()) {\n _selectionKeys = {};\n } else {\n _selectionKeys = { ...this.selectionKeys };\n delete _selectionKeys[node.key];\n }\n\n this.$emit('node-unselect', node);\n } else {\n if (this.isSingleSelectionMode()) {\n _selectionKeys = {};\n } else if (this.isMultipleSelectionMode()) {\n _selectionKeys = !metaKey ? {} : this.selectionKeys ? { ...this.selectionKeys } : {};\n }\n\n _selectionKeys[node.key] = true;\n this.$emit('node-select', node);\n }\n\n return _selectionKeys;\n },\n handleSelectionWithoutMetaKey(event) {\n const node = event.node;\n const selected = this.isNodeSelected(node);\n let _selectionKeys;\n\n if (this.isSingleSelectionMode()) {\n if (selected) {\n _selectionKeys = {};\n this.$emit('node-unselect', node);\n } else {\n _selectionKeys = {};\n _selectionKeys[node.key] = true;\n this.$emit('node-select', node);\n }\n } else {\n if (selected) {\n _selectionKeys = { ...this.selectionKeys };\n delete _selectionKeys[node.key];\n\n this.$emit('node-unselect', node);\n } else {\n _selectionKeys = this.selectionKeys ? { ...this.selectionKeys } : {};\n _selectionKeys[node.key] = true;\n\n this.$emit('node-select', node);\n }\n }\n\n return _selectionKeys;\n },\n isSingleSelectionMode() {\n return this.selectionMode === 'single';\n },\n isMultipleSelectionMode() {\n return this.selectionMode === 'multiple';\n },\n isNodeSelected(node) {\n return this.selectionMode && this.selectionKeys ? this.selectionKeys[node.key] === true : false;\n },\n isChecked(node) {\n return this.selectionKeys ? this.selectionKeys[node.key] && this.selectionKeys[node.key].checked : false;\n },\n isNodeLeaf(node) {\n return node.leaf === false ? false : !(node.children && node.children.length);\n },\n onFilterKeydown(event) {\n if (event.code === 'Enter' || event.code === 'NumpadEnter') {\n event.preventDefault();\n }\n\n this.$emit('filter', { originalEvent: event, value: event.target.value });\n },\n findFilteredNodes(node, paramsWithoutNode) {\n if (node) {\n let matched = false;\n\n if (node.children) {\n let childNodes = [...node.children];\n\n node.children = [];\n\n for (let childNode of childNodes) {\n let copyChildNode = { ...childNode };\n\n if (this.isFilterMatched(copyChildNode, paramsWithoutNode)) {\n matched = true;\n node.children.push(copyChildNode);\n }\n }\n }\n\n if (matched) {\n return true;\n }\n }\n },\n isFilterMatched(node, { searchFields, filterText, strict }) {\n let matched = false;\n\n for (let field of searchFields) {\n let fieldValue = String(resolveFieldData(node, field)).toLocaleLowerCase(this.filterLocale);\n\n if (fieldValue.indexOf(filterText) > -1) {\n matched = true;\n }\n }\n\n if (!matched || (strict && !this.isNodeLeaf(node))) {\n matched = this.findFilteredNodes(node, { searchFields, filterText, strict }) || matched;\n }\n\n return matched;\n }\n },\n computed: {\n filteredValue() {\n let filteredNodes = [];\n const searchFields = isFunction(this.filterBy) ? [this.filterBy] : this.filterBy.split(',');\n const filterText = this.filterValue.trim().toLocaleLowerCase(this.filterLocale);\n const strict = this.filterMode === 'strict';\n\n for (let node of this.value) {\n let _node = { ...node };\n let paramsWithoutNode = { searchFields, filterText, strict };\n\n if (\n (strict && (this.findFilteredNodes(_node, paramsWithoutNode) || this.isFilterMatched(_node, paramsWithoutNode))) ||\n (!strict && (this.isFilterMatched(_node, paramsWithoutNode) || this.findFilteredNodes(_node, paramsWithoutNode)))\n ) {\n filteredNodes.push(_node);\n }\n }\n\n return filteredNodes;\n },\n valueToRender() {\n if (this.filterValue && this.filterValue.trim().length > 0) return this.filteredValue;\n else return this.value;\n }\n },\n components: {\n TreeNode,\n InputText,\n InputIcon,\n IconField,\n SearchIcon,\n SpinnerIcon\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <template v-if=\"loading && loadingMode === 'mask'\">\n <div :class=\"cx('mask')\" v-bind=\"ptm('mask')\">\n <slot name=\"loadingicon\" :class=\"cx('loadingIcon')\">\n <i v-if=\"loadingIcon\" :class=\"[cx('loadingIcon'), 'pi-spin', loadingIcon]\" v-bind=\"ptm('loadingIcon')\" />\n <SpinnerIcon v-else spin :class=\"cx('loadingIcon')\" v-bind=\"ptm('loadingIcon')\" />\n </slot>\n </div>\n </template>\n <IconField v-if=\"filter\" :unstyled=\"unstyled\" :pt=\"{ ...ptm('pcFilter'), ...ptm('pcFilterContainer') }\" :class=\"cx('pcFilterContainer')\">\n <InputText v-model=\"filterValue\" autocomplete=\"off\" :class=\"cx('pcFilterInput')\" :placeholder=\"filterPlaceholder\" :unstyled=\"unstyled\" @keydown=\"onFilterKeydown\" :pt=\"ptm('pcFilterInput')\" />\n <InputIcon :unstyled=\"unstyled\" :pt=\"ptm('pcFilterIconContainer')\">\n <!--TODO: searchicon deprecated since v4.0-->\n <slot :name=\"$slots.filtericon ? 'filtericon' : 'searchicon'\" :class=\"cx('filterIcon')\">\n <SearchIcon :class=\"cx('filterIcon')\" v-bind=\"ptm('filterIcon')\" />\n </slot>\n </InputIcon>\n </IconField>\n <div :class=\"cx('wrapper')\" :style=\"{ maxHeight: scrollHeight }\" v-bind=\"ptm('wrapper')\">\n <slot name=\"header\" :value=\"value\" :expandedKeys=\"expandedKeys\" :selectionKeys=\"selectionKeys\" />\n <ul :class=\"cx('rootChildren')\" role=\"tree\" :aria-labelledby=\"ariaLabelledby\" :aria-label=\"ariaLabel\" v-bind=\"ptm('rootChildren')\">\n <TreeNode\n v-for=\"(node, index) of valueToRender\"\n :key=\"node.key\"\n :node=\"node\"\n :templates=\"$slots\"\n :level=\"level + 1\"\n :index=\"index\"\n :expandedKeys=\"d_expandedKeys\"\n @node-toggle=\"onNodeToggle\"\n @node-click=\"onNodeClick\"\n :selectionMode=\"selectionMode\"\n :selectionKeys=\"selectionKeys\"\n @checkbox-change=\"onCheckboxChange\"\n :loadingMode=\"loadingMode\"\n :unstyled=\"unstyled\"\n :pt=\"pt\"\n ></TreeNode>\n </ul>\n <slot name=\"footer\" :value=\"value\" :expandedKeys=\"expandedKeys\" :selectionKeys=\"selectionKeys\" />\n </div>\n </div>\n</template>\n\n<script>\nimport { isFunction, resolveFieldData } from '@primeuix/utils/object';\nimport SearchIcon from '@primevue/icons/search';\nimport SpinnerIcon from '@primevue/icons/spinner';\nimport IconField from 'primevue/iconfield';\nimport InputIcon from 'primevue/inputicon';\nimport InputText from 'primevue/inputtext';\nimport BaseTree from './BaseTree.vue';\nimport TreeNode from './TreeNode.vue';\n\nexport default {\n name: 'Tree',\n extends: BaseTree,\n inheritAttrs: false,\n emits: ['node-expand', 'node-collapse', 'update:expandedKeys', 'update:selectionKeys', 'node-select', 'node-unselect', 'filter'],\n data() {\n return {\n d_expandedKeys: this.expandedKeys || {},\n filterValue: null\n };\n },\n watch: {\n expandedKeys(newValue) {\n this.d_expandedKeys = newValue;\n }\n },\n methods: {\n onNodeToggle(node) {\n const key = node.key;\n\n if (this.d_expandedKeys[key]) {\n delete this.d_expandedKeys[key];\n this.$emit('node-collapse', node);\n } else {\n this.d_expandedKeys[key] = true;\n this.$emit('node-expand', node);\n }\n\n this.d_expandedKeys = { ...this.d_expandedKeys };\n this.$emit('update:expandedKeys', this.d_expandedKeys);\n },\n onNodeClick(event) {\n if (this.selectionMode != null && event.node.selectable !== false) {\n const metaSelection = event.nodeTouched ? false : this.metaKeySelection;\n const _selectionKeys = metaSelection ? this.handleSelectionWithMetaKey(event) : this.handleSelectionWithoutMetaKey(event);\n\n this.$emit('update:selectionKeys', _selectionKeys);\n }\n },\n onCheckboxChange(event) {\n this.$emit('update:selectionKeys', event.selectionKeys);\n\n if (event.check) this.$emit('node-select', event.node);\n else this.$emit('node-unselect', event.node);\n },\n handleSelectionWithMetaKey(event) {\n const originalEvent = event.originalEvent;\n const node = event.node;\n const metaKey = originalEvent.metaKey || originalEvent.ctrlKey;\n const selected = this.isNodeSelected(node);\n let _selectionKeys;\n\n if (selected && metaKey) {\n if (this.isSingleSelectionMode()) {\n _selectionKeys = {};\n } else {\n _selectionKeys = { ...this.selectionKeys };\n delete _selectionKeys[node.key];\n }\n\n this.$emit('node-unselect', node);\n } else {\n if (this.isSingleSelectionMode()) {\n _selectionKeys = {};\n } else if (this.isMultipleSelectionMode()) {\n _selectionKeys = !metaKey ? {} : this.selectionKeys ? { ...this.selectionKeys } : {};\n }\n\n _selectionKeys[node.key] = true;\n this.$emit('node-select', node);\n }\n\n return _selectionKeys;\n },\n handleSelectionWithoutMetaKey(event) {\n const node = event.node;\n const selected = this.isNodeSelected(node);\n let _selectionKeys;\n\n if (this.isSingleSelectionMode()) {\n if (selected) {\n _selectionKeys = {};\n this.$emit('node-unselect', node);\n } else {\n _selectionKeys = {};\n _selectionKeys[node.key] = true;\n this.$emit('node-select', node);\n }\n } else {\n if (selected) {\n _selectionKeys = { ...this.selectionKeys };\n delete _selectionKeys[node.key];\n\n this.$emit('node-unselect', node);\n } else {\n _selectionKeys = this.selectionKeys ? { ...this.selectionKeys } : {};\n _selectionKeys[node.key] = true;\n\n this.$emit('node-select', node);\n }\n }\n\n return _selectionKeys;\n },\n isSingleSelectionMode() {\n return this.selectionMode === 'single';\n },\n isMultipleSelectionMode() {\n return this.selectionMode === 'multiple';\n },\n isNodeSelected(node) {\n return this.selectionMode && this.selectionKeys ? this.selectionKeys[node.key] === true : false;\n },\n isChecked(node) {\n return this.selectionKeys ? this.selectionKeys[node.key] && this.selectionKeys[node.key].checked : false;\n },\n isNodeLeaf(node) {\n return node.leaf === false ? false : !(node.children && node.children.length);\n },\n onFilterKeydown(event) {\n if (event.code === 'Enter' || event.code === 'NumpadEnter') {\n event.preventDefault();\n }\n\n this.$emit('filter', { originalEvent: event, value: event.target.value });\n },\n findFilteredNodes(node, paramsWithoutNode) {\n if (node) {\n let matched = false;\n\n if (node.children) {\n let childNodes = [...node.children];\n\n node.children = [];\n\n for (let childNode of childNodes) {\n let copyChildNode = { ...childNode };\n\n if (this.isFilterMatched(copyChildNode, paramsWithoutNode)) {\n matched = true;\n node.children.push(copyChildNode);\n }\n }\n }\n\n if (matched) {\n return true;\n }\n }\n },\n isFilterMatched(node, { searchFields, filterText, strict }) {\n let matched = false;\n\n for (let field of searchFields) {\n let fieldValue = String(resolveFieldData(node, field)).toLocaleLowerCase(this.filterLocale);\n\n if (fieldValue.indexOf(filterText) > -1) {\n matched = true;\n }\n }\n\n if (!matched || (strict && !this.isNodeLeaf(node))) {\n matched = this.findFilteredNodes(node, { searchFields, filterText, strict }) || matched;\n }\n\n return matched;\n }\n },\n computed: {\n filteredValue() {\n let filteredNodes = [];\n const searchFields = isFunction(this.filterBy) ? [this.filterBy] : this.filterBy.split(',');\n const filterText = this.filterValue.trim().toLocaleLowerCase(this.filterLocale);\n const strict = this.filterMode === 'strict';\n\n for (let node of this.value) {\n let _node = { ...node };\n let paramsWithoutNode = { searchFields, filterText, strict };\n\n if (\n (strict && (this.findFilteredNodes(_node, paramsWithoutNode) || this.isFilterMatched(_node, paramsWithoutNode))) ||\n (!strict && (this.isFilterMatched(_node, paramsWithoutNode) || this.findFilteredNodes(_node, paramsWithoutNode)))\n ) {\n filteredNodes.push(_node);\n }\n }\n\n return filteredNodes;\n },\n valueToRender() {\n if (this.filterValue && this.filterValue.trim().length > 0) return this.filteredValue;\n else return this.value;\n }\n },\n components: {\n TreeNode,\n InputText,\n InputIcon,\n IconField,\n SearchIcon,\n SpinnerIcon\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","value","type","expandedKeys","selectionKeys","selectionMode","String","metaKeySelection","Boolean","loading","loadingIcon","undefined","loadingMode","filter","filterBy","Function","filterMode","filterPlaceholder","filterLocale","highlightOnSelect","scrollHeight","level","Number","ariaLabelledby","ariaLabel","style","TreeStyle","provide","$pcTree","$parentInstance","hostName","emits","node","templates","index","nodeTouched","toggleClicked","mounted","setAllNodesTabIndexes","methods","toggle","$emit","label","onChildNodeToggle","getPTOptions","key","ptm","context","expanded","selected","checked","partialChecked","leaf","onClick","event","getAttribute","target","parentElement","isCheckboxSelectionMode","selectable","toggleCheckbox","originalEvent","onChildNodeClick","onTouchEnd","onKeyDown","isSameNode","code","onTabKey","onArrowDown","onArrowUp","onArrowRight","onArrowLeft","onEnterKey","nodeElement","closest","listElement","children","focusRowChange","nextElementSibling","nextSiblingAncestor","findNextSiblingOfAncestor","preventDefault","previousElementSibling","findLastVisibleDescendant","parentNodeElement","getParentNodeElement","_this","currentTarget","tabIndex","$nextTick","togglerElement","findSingle","click","findBeforeClickableNode","setTabIndexForSelectionMode","nodes","find","$refs","currentNode","hasSelectedNode","_toConsumableArray","some","forEach","selectedNodes","elements","every","element","firstFocusableRow","currentFocusedRow","lastVisibleDescendant","focusNode","parentListElement","prevNodeButton","visibility","_selectionKeys","_objectSpread","_check","propagateDown","check","length","_iterator","_createForOfIteratorHelper","_step","s","n","done","child","err","e","f","propagateUp","checkedChildCount","childPartialSelected","_iterator2","_step2","onChildCheckboxChange","childrenListElement","lastChildElement","focus","computed","hasChildren","checkboxMode","ariaChecked","ariaSelected","components","Checkbox","ChevronDownIcon","ChevronRightIcon","CheckIcon","MinusIcon","SpinnerIcon","directives","ripple","Ripple","_openBlock","_createElementBlock","_mergeProps","ref","_ctx","cx","role","$options","$props","tabindex","onKeydown","apply","arguments","_createElementVNode","onTouchend","_withDirectives","_Fragment","_createBlock","_resolveDynamicComponent","_component_SpinnerIcon","spin","expandedIcon","collapsedIcon","_component_Checkbox","defaultValue","binary","indeterminate","unstyled","pt","icon","_withCtx","slotProps","_normalizeClass","_createTextVNode","_toDisplayString","_renderList","childNode","_component_TreeNode","onNodeToggle","onNodeClick","onCheckboxChange","BaseTree","inheritAttrs","data","d_expandedKeys","filterValue","watch","newValue","metaSelection","handleSelectionWithMetaKey","handleSelectionWithoutMetaKey","metaKey","ctrlKey","isNodeSelected","isSingleSelectionMode","isMultipleSelectionMode","isChecked","isNodeLeaf","onFilterKeydown","findFilteredNodes","paramsWithoutNode","matched","childNodes","copyChildNode","isFilterMatched","push","_ref","searchFields","filterText","strict","field","fieldValue","resolveFieldData","toLocaleLowerCase","indexOf","filteredValue","filteredNodes","isFunction","split","trim","_iterator3","_step3","_node","valueToRender","TreeNode","InputText","InputIcon","IconField","SearchIcon","ptmi","_renderSlot","$slots","_component_IconField","_createVNode","_component_InputText","$data","$event","autocomplete","placeholder","_component_InputIcon","filtericon","_component_SearchIcon"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/tree/BaseTree.vue","../../src/tree/TreeNode.vue","../../src/tree/TreeNode.vue?vue&type=template&id=a823e4cc&lang.js","../../src/tree/Tree.vue","../../src/tree/Tree.vue?vue&type=template&id=323e1c84&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport TreeStyle from 'primevue/tree/style';\n\nexport default {\n name: 'BaseTree',\n extends: BaseComponent,\n props: {\n value: {\n type: null,\n default: null\n },\n expandedKeys: {\n type: null,\n default: null\n },\n selectionKeys: {\n type: null,\n default: null\n },\n selectionMode: {\n type: String,\n default: null\n },\n metaKeySelection: {\n type: Boolean,\n default: false\n },\n loading: {\n type: Boolean,\n default: false\n },\n loadingIcon: {\n type: String,\n default: undefined\n },\n loadingMode: {\n type: String,\n default: 'mask'\n },\n filter: {\n type: Boolean,\n default: false\n },\n filterBy: {\n type: [String, Function],\n default: 'label'\n },\n filterMode: {\n type: String,\n default: 'lenient'\n },\n filterPlaceholder: {\n type: String,\n default: null\n },\n filterLocale: {\n type: String,\n default: undefined\n },\n highlightOnSelect: {\n type: Boolean,\n default: false\n },\n scrollHeight: {\n type: String,\n default: null\n },\n level: {\n type: Number,\n default: 0\n },\n ariaLabelledby: {\n type: String,\n default: null\n },\n ariaLabel: {\n type: String,\n default: null\n }\n },\n style: TreeStyle,\n provide() {\n return {\n $pcTree: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <li\n ref=\"currentNode\"\n :class=\"cx('node')\"\n role=\"treeitem\"\n :aria-label=\"label(node)\"\n :aria-selected=\"ariaSelected\"\n :aria-expanded=\"expanded\"\n :aria-setsize=\"node.children ? node.children.length : 0\"\n :aria-posinset=\"index + 1\"\n :aria-level=\"level\"\n :aria-checked=\"ariaChecked\"\n :tabindex=\"index === 0 ? 0 : -1\"\n @keydown=\"onKeyDown\"\n v-bind=\"level === 1 ? getPTOptions('node') : ptm('nodeChildren')\"\n >\n <div :class=\"cx('nodeContent')\" @click=\"onClick\" @touchend=\"onTouchEnd\" :style=\"node.style\" v-bind=\"getPTOptions('nodeContent')\" :data-p-selected=\"checkboxMode ? checked : selected\" :data-p-selectable=\"selectable\">\n <button v-ripple type=\"button\" :class=\"cx('nodeToggleButton')\" @click=\"toggle\" tabindex=\"-1\" v-bind=\"getPTOptions('nodeToggleButton')\">\n <template v-if=\"node.loading && loadingMode === 'icon'\">\n <!-- TODO: nodetogglericon deprecated since v4.0-->\n <component v-if=\"templates['nodetoggleicon'] || templates['nodetogglericon']\" :is=\"templates['nodetoggleicon'] || templates['nodetogglericon']\" :node=\"node\" :expanded=\"expanded\" :class=\"cx('nodeToggleIcon')\" />\n <SpinnerIcon v-else spin :class=\"cx('nodeToggleIcon')\" v-bind=\"getPTOptions('nodeToggleIcon')\" />\n </template>\n <template v-else>\n <!-- TODO: togglericon deprecated since v4.0-->\n <component v-if=\"templates['nodetoggleicon'] || templates['togglericon']\" :is=\"templates['nodetoggleicon'] || templates['togglericon']\" :node=\"node\" :expanded=\"expanded\" :class=\"cx('nodeToggleIcon')\" />\n <component v-else-if=\"expanded\" :is=\"node.expandedIcon ? 'span' : 'ChevronDownIcon'\" :class=\"cx('nodeToggleIcon')\" v-bind=\"getPTOptions('nodeToggleIcon')\" />\n <component v-else :is=\"node.collapsedIcon ? 'span' : 'ChevronRightIcon'\" :class=\"cx('nodeToggleIcon')\" v-bind=\"getPTOptions('nodeToggleIcon')\" />\n </template>\n </button>\n <Checkbox\n v-if=\"checkboxMode\"\n :defaultValue=\"checked\"\n :binary=\"true\"\n :indeterminate=\"partialChecked\"\n :class=\"cx('nodeCheckbox')\"\n :tabindex=\"-1\"\n :unstyled=\"unstyled\"\n :pt=\"getPTOptions('pcNodeCheckbox')\"\n :data-p-partialchecked=\"partialChecked\"\n >\n <template #icon=\"slotProps\">\n <component v-if=\"templates['checkboxicon']\" :is=\"templates['checkboxicon']\" :checked=\"slotProps.checked\" :partialChecked=\"partialChecked\" :class=\"slotProps.class\" />\n </template>\n </Checkbox>\n <component v-if=\"templates['nodeicon']\" :is=\"templates['nodeicon']\" :node=\"node\" :class=\"[cx('nodeIcon')]\" v-bind=\"getPTOptions('nodeIcon')\"></component>\n <span v-else :class=\"[cx('nodeIcon'), node.icon]\" v-bind=\"getPTOptions('nodeIcon')\"></span>\n <span :class=\"cx('nodeLabel')\" v-bind=\"getPTOptions('nodeLabel')\" @keydown.stop>\n <component v-if=\"templates[node.type] || templates['default']\" :is=\"templates[node.type] || templates['default']\" :node=\"node\" :expanded=\"expanded\" :selected=\"checkboxMode ? checked : selected\" />\n <template v-else>{{ label(node) }}</template>\n </span>\n </div>\n <ul v-if=\"hasChildren && expanded\" :class=\"cx('nodeChildren')\" role=\"group\" v-bind=\"ptm('nodeChildren')\">\n <TreeNode\n v-for=\"childNode of node.children\"\n :key=\"childNode.key\"\n :node=\"childNode\"\n :templates=\"templates\"\n :level=\"level + 1\"\n :loadingMode=\"loadingMode\"\n :expandedKeys=\"expandedKeys\"\n @node-toggle=\"onChildNodeToggle\"\n @node-click=\"onChildNodeClick\"\n :selectionMode=\"selectionMode\"\n :selectionKeys=\"selectionKeys\"\n @checkbox-change=\"propagateUp\"\n :unstyled=\"unstyled\"\n :pt=\"pt\"\n />\n </ul>\n </li>\n</template>\n\n<script>\nimport { find, findSingle, getAttribute } from '@primeuix/utils/dom';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport CheckIcon from '@primevue/icons/check';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport ChevronRightIcon from '@primevue/icons/chevronright';\nimport MinusIcon from '@primevue/icons/minus';\nimport SpinnerIcon from '@primevue/icons/spinner';\nimport Checkbox from 'primevue/checkbox';\nimport Ripple from 'primevue/ripple';\n\nexport default {\n name: 'TreeNode',\n hostName: 'Tree',\n extends: BaseComponent,\n emits: ['node-toggle', 'node-click', 'checkbox-change'],\n props: {\n node: {\n type: null,\n default: null\n },\n expandedKeys: {\n type: null,\n default: null\n },\n loadingMode: {\n type: String,\n default: 'mask'\n },\n selectionKeys: {\n type: null,\n default: null\n },\n selectionMode: {\n type: String,\n default: null\n },\n templates: {\n type: null,\n default: null\n },\n level: {\n type: Number,\n default: null\n },\n index: null\n },\n nodeTouched: false,\n toggleClicked: false,\n mounted() {\n this.setAllNodesTabIndexes();\n },\n methods: {\n toggle() {\n this.$emit('node-toggle', this.node);\n this.toggleClicked = true;\n },\n label(node) {\n return typeof node.label === 'function' ? node.label() : node.label;\n },\n onChildNodeToggle(node) {\n this.$emit('node-toggle', node);\n },\n getPTOptions(key) {\n return this.ptm(key, {\n context: {\n node: this.node,\n index: this.index,\n expanded: this.expanded,\n selected: this.selected,\n checked: this.checked,\n partialChecked: this.partialChecked,\n leaf: this.leaf\n }\n });\n },\n onClick(event) {\n if (this.toggleClicked || getAttribute(event.target, '[data-pc-section=\"nodetogglebutton\"]') || getAttribute(event.target.parentElement, '[data-pc-section=\"nodetogglebutton\"]')) {\n this.toggleClicked = false;\n\n return;\n }\n\n if (this.isCheckboxSelectionMode()) {\n if (this.node.selectable != false) {\n this.toggleCheckbox();\n }\n } else {\n this.$emit('node-click', {\n originalEvent: event,\n nodeTouched: this.nodeTouched,\n node: this.node\n });\n }\n\n this.nodeTouched = false;\n },\n onChildNodeClick(event) {\n this.$emit('node-click', event);\n },\n onTouchEnd() {\n this.nodeTouched = true;\n },\n onKeyDown(event) {\n if (!this.isSameNode(event)) return;\n\n switch (event.code) {\n case 'Tab':\n this.onTabKey(event);\n\n break;\n\n case 'ArrowDown':\n this.onArrowDown(event);\n\n break;\n\n case 'ArrowUp':\n this.onArrowUp(event);\n\n break;\n\n case 'ArrowRight':\n this.onArrowRight(event);\n\n break;\n\n case 'ArrowLeft':\n this.onArrowLeft(event);\n\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n this.onEnterKey(event);\n\n break;\n\n default:\n break;\n }\n },\n onArrowDown(event) {\n const nodeElement = event.target.getAttribute('data-pc-section') === 'nodetogglebutton' ? event.target.closest('[role=\"treeitem\"]') : event.target;\n const listElement = nodeElement.children[1];\n\n if (listElement) {\n this.focusRowChange(nodeElement, listElement.children[0]);\n } else {\n if (nodeElement.nextElementSibling) {\n this.focusRowChange(nodeElement, nodeElement.nextElementSibling);\n } else {\n let nextSiblingAncestor = this.findNextSiblingOfAncestor(nodeElement);\n\n if (nextSiblingAncestor) {\n this.focusRowChange(nodeElement, nextSiblingAncestor);\n }\n }\n }\n\n event.preventDefault();\n },\n onArrowUp(event) {\n const nodeElement = event.target;\n\n if (nodeElement.previousElementSibling) {\n this.focusRowChange(nodeElement, nodeElement.previousElementSibling, this.findLastVisibleDescendant(nodeElement.previousElementSibling));\n } else {\n let parentNodeElement = this.getParentNodeElement(nodeElement);\n\n if (parentNodeElement) {\n this.focusRowChange(nodeElement, parentNodeElement);\n }\n }\n\n event.preventDefault();\n },\n onArrowRight(event) {\n if (this.leaf || this.expanded) return;\n\n event.currentTarget.tabIndex = -1;\n\n this.$emit('node-toggle', this.node);\n this.$nextTick(() => {\n this.onArrowDown(event);\n });\n },\n onArrowLeft(event) {\n const togglerElement = findSingle(event.currentTarget, '[data-pc-section=\"nodetogglebutton\"]');\n\n if (this.level === 0 && !this.expanded) {\n return false;\n }\n\n if (this.expanded && !this.leaf) {\n togglerElement.click();\n\n return false;\n }\n\n const target = this.findBeforeClickableNode(event.currentTarget);\n\n if (target) {\n this.focusRowChange(event.currentTarget, target);\n }\n },\n onEnterKey(event) {\n this.setTabIndexForSelectionMode(event, this.nodeTouched);\n this.onClick(event);\n\n event.preventDefault();\n },\n onTabKey() {\n this.setAllNodesTabIndexes();\n },\n setAllNodesTabIndexes() {\n const nodes = find(this.$refs.currentNode.closest('[data-pc-section=\"rootchildren\"]'), '[role=\"treeitem\"]');\n\n const hasSelectedNode = [...nodes].some((node) => node.getAttribute('aria-selected') === 'true' || node.getAttribute('aria-checked') === 'true');\n\n [...nodes].forEach((node) => {\n node.tabIndex = -1;\n });\n\n if (hasSelectedNode) {\n const selectedNodes = [...nodes].filter((node) => node.getAttribute('aria-selected') === 'true' || node.getAttribute('aria-checked') === 'true');\n\n selectedNodes[0].tabIndex = 0;\n\n return;\n }\n\n [...nodes][0].tabIndex = 0;\n },\n setTabIndexForSelectionMode(event, nodeTouched) {\n if (this.selectionMode !== null) {\n const elements = [...find(this.$refs.currentNode.parentElement, '[role=\"treeitem\"]')];\n\n event.currentTarget.tabIndex = nodeTouched === false ? -1 : 0;\n\n if (elements.every((element) => element.tabIndex === -1)) {\n elements[0].tabIndex = 0;\n }\n }\n },\n focusRowChange(firstFocusableRow, currentFocusedRow, lastVisibleDescendant) {\n firstFocusableRow.tabIndex = '-1';\n currentFocusedRow.tabIndex = '0';\n\n this.focusNode(lastVisibleDescendant || currentFocusedRow);\n },\n findBeforeClickableNode(node) {\n const parentListElement = node.closest('ul').closest('li');\n\n if (parentListElement) {\n const prevNodeButton = findSingle(parentListElement, 'button');\n\n if (prevNodeButton && prevNodeButton.style.visibility !== 'hidden') {\n return parentListElement;\n }\n\n return this.findBeforeClickableNode(node.previousElementSibling);\n }\n\n return null;\n },\n toggleCheckbox() {\n let _selectionKeys = this.selectionKeys ? { ...this.selectionKeys } : {};\n const _check = !this.checked;\n\n this.propagateDown(this.node, _check, _selectionKeys);\n\n this.$emit('checkbox-change', {\n node: this.node,\n check: _check,\n selectionKeys: _selectionKeys\n });\n },\n propagateDown(node, check, selectionKeys) {\n if (check && node.selectable != false) selectionKeys[node.key] = { checked: true, partialChecked: false };\n else delete selectionKeys[node.key];\n\n if (node.children && node.children.length) {\n for (let child of node.children) {\n this.propagateDown(child, check, selectionKeys);\n }\n }\n },\n propagateUp(event) {\n let check = event.check;\n let _selectionKeys = { ...event.selectionKeys };\n let checkedChildCount = 0;\n let childPartialSelected = false;\n\n for (let child of this.node.children) {\n if (_selectionKeys[child.key] && _selectionKeys[child.key].checked) checkedChildCount++;\n else if (_selectionKeys[child.key] && _selectionKeys[child.key].partialChecked) childPartialSelected = true;\n }\n\n if (check && checkedChildCount === this.node.children.length) {\n _selectionKeys[this.node.key] = { checked: true, partialChecked: false };\n } else {\n if (!check) {\n delete _selectionKeys[this.node.key];\n }\n\n if (childPartialSelected || (checkedChildCount > 0 && checkedChildCount !== this.node.children.length)) _selectionKeys[this.node.key] = { checked: false, partialChecked: true };\n else delete _selectionKeys[this.node.key];\n }\n\n this.$emit('checkbox-change', {\n node: event.node,\n check: event.check,\n selectionKeys: _selectionKeys\n });\n },\n onChildCheckboxChange(event) {\n this.$emit('checkbox-change', event);\n },\n findNextSiblingOfAncestor(nodeElement) {\n let parentNodeElement = this.getParentNodeElement(nodeElement);\n\n if (parentNodeElement) {\n if (parentNodeElement.nextElementSibling) return parentNodeElement.nextElementSibling;\n else return this.findNextSiblingOfAncestor(parentNodeElement);\n } else {\n return null;\n }\n },\n findLastVisibleDescendant(nodeElement) {\n const childrenListElement = nodeElement.children[1];\n\n if (childrenListElement) {\n const lastChildElement = childrenListElement.children[childrenListElement.children.length - 1];\n\n return this.findLastVisibleDescendant(lastChildElement);\n } else {\n return nodeElement;\n }\n },\n getParentNodeElement(nodeElement) {\n const parentNodeElement = nodeElement.parentElement.parentElement;\n\n return getAttribute(parentNodeElement, 'role') === 'treeitem' ? parentNodeElement : null;\n },\n focusNode(element) {\n element.focus();\n },\n isCheckboxSelectionMode() {\n return this.selectionMode === 'checkbox';\n },\n isSameNode(event) {\n return event.currentTarget && (event.currentTarget.isSameNode(event.target) || event.currentTarget.isSameNode(event.target.closest('[role=\"treeitem\"]')));\n }\n },\n computed: {\n hasChildren() {\n return this.node.children && this.node.children.length > 0;\n },\n expanded() {\n return this.expandedKeys && this.expandedKeys[this.node.key] === true;\n },\n leaf() {\n return this.node.leaf === false ? false : !(this.node.children && this.node.children.length);\n },\n selectable() {\n return this.node.selectable === false ? false : this.selectionMode != null;\n },\n selected() {\n return this.selectionMode && this.selectionKeys ? this.selectionKeys[this.node.key] === true : false;\n },\n checkboxMode() {\n return this.selectionMode === 'checkbox' && this.node.selectable !== false;\n },\n checked() {\n return this.selectionKeys ? this.selectionKeys[this.node.key] && this.selectionKeys[this.node.key].checked : false;\n },\n partialChecked() {\n return this.selectionKeys ? this.selectionKeys[this.node.key] && this.selectionKeys[this.node.key].partialChecked : false;\n },\n ariaChecked() {\n return this.selectionMode === 'single' || this.selectionMode === 'multiple' ? this.selected : undefined;\n },\n ariaSelected() {\n return this.checkboxMode ? this.checked : undefined;\n }\n },\n components: {\n Checkbox,\n ChevronDownIcon,\n ChevronRightIcon,\n CheckIcon,\n MinusIcon,\n SpinnerIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <li\n ref=\"currentNode\"\n :class=\"cx('node')\"\n role=\"treeitem\"\n :aria-label=\"label(node)\"\n :aria-selected=\"ariaSelected\"\n :aria-expanded=\"expanded\"\n :aria-setsize=\"node.children ? node.children.length : 0\"\n :aria-posinset=\"index + 1\"\n :aria-level=\"level\"\n :aria-checked=\"ariaChecked\"\n :tabindex=\"index === 0 ? 0 : -1\"\n @keydown=\"onKeyDown\"\n v-bind=\"level === 1 ? getPTOptions('node') : ptm('nodeChildren')\"\n >\n <div :class=\"cx('nodeContent')\" @click=\"onClick\" @touchend=\"onTouchEnd\" :style=\"node.style\" v-bind=\"getPTOptions('nodeContent')\" :data-p-selected=\"checkboxMode ? checked : selected\" :data-p-selectable=\"selectable\">\n <button v-ripple type=\"button\" :class=\"cx('nodeToggleButton')\" @click=\"toggle\" tabindex=\"-1\" v-bind=\"getPTOptions('nodeToggleButton')\">\n <template v-if=\"node.loading && loadingMode === 'icon'\">\n <!-- TODO: nodetogglericon deprecated since v4.0-->\n <component v-if=\"templates['nodetoggleicon'] || templates['nodetogglericon']\" :is=\"templates['nodetoggleicon'] || templates['nodetogglericon']\" :node=\"node\" :expanded=\"expanded\" :class=\"cx('nodeToggleIcon')\" />\n <SpinnerIcon v-else spin :class=\"cx('nodeToggleIcon')\" v-bind=\"getPTOptions('nodeToggleIcon')\" />\n </template>\n <template v-else>\n <!-- TODO: togglericon deprecated since v4.0-->\n <component v-if=\"templates['nodetoggleicon'] || templates['togglericon']\" :is=\"templates['nodetoggleicon'] || templates['togglericon']\" :node=\"node\" :expanded=\"expanded\" :class=\"cx('nodeToggleIcon')\" />\n <component v-else-if=\"expanded\" :is=\"node.expandedIcon ? 'span' : 'ChevronDownIcon'\" :class=\"cx('nodeToggleIcon')\" v-bind=\"getPTOptions('nodeToggleIcon')\" />\n <component v-else :is=\"node.collapsedIcon ? 'span' : 'ChevronRightIcon'\" :class=\"cx('nodeToggleIcon')\" v-bind=\"getPTOptions('nodeToggleIcon')\" />\n </template>\n </button>\n <Checkbox\n v-if=\"checkboxMode\"\n :defaultValue=\"checked\"\n :binary=\"true\"\n :indeterminate=\"partialChecked\"\n :class=\"cx('nodeCheckbox')\"\n :tabindex=\"-1\"\n :unstyled=\"unstyled\"\n :pt=\"getPTOptions('pcNodeCheckbox')\"\n :data-p-partialchecked=\"partialChecked\"\n >\n <template #icon=\"slotProps\">\n <component v-if=\"templates['checkboxicon']\" :is=\"templates['checkboxicon']\" :checked=\"slotProps.checked\" :partialChecked=\"partialChecked\" :class=\"slotProps.class\" />\n </template>\n </Checkbox>\n <component v-if=\"templates['nodeicon']\" :is=\"templates['nodeicon']\" :node=\"node\" :class=\"[cx('nodeIcon')]\" v-bind=\"getPTOptions('nodeIcon')\"></component>\n <span v-else :class=\"[cx('nodeIcon'), node.icon]\" v-bind=\"getPTOptions('nodeIcon')\"></span>\n <span :class=\"cx('nodeLabel')\" v-bind=\"getPTOptions('nodeLabel')\" @keydown.stop>\n <component v-if=\"templates[node.type] || templates['default']\" :is=\"templates[node.type] || templates['default']\" :node=\"node\" :expanded=\"expanded\" :selected=\"checkboxMode ? checked : selected\" />\n <template v-else>{{ label(node) }}</template>\n </span>\n </div>\n <ul v-if=\"hasChildren && expanded\" :class=\"cx('nodeChildren')\" role=\"group\" v-bind=\"ptm('nodeChildren')\">\n <TreeNode\n v-for=\"childNode of node.children\"\n :key=\"childNode.key\"\n :node=\"childNode\"\n :templates=\"templates\"\n :level=\"level + 1\"\n :loadingMode=\"loadingMode\"\n :expandedKeys=\"expandedKeys\"\n @node-toggle=\"onChildNodeToggle\"\n @node-click=\"onChildNodeClick\"\n :selectionMode=\"selectionMode\"\n :selectionKeys=\"selectionKeys\"\n @checkbox-change=\"propagateUp\"\n :unstyled=\"unstyled\"\n :pt=\"pt\"\n />\n </ul>\n </li>\n</template>\n\n<script>\nimport { find, findSingle, getAttribute } from '@primeuix/utils/dom';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport CheckIcon from '@primevue/icons/check';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport ChevronRightIcon from '@primevue/icons/chevronright';\nimport MinusIcon from '@primevue/icons/minus';\nimport SpinnerIcon from '@primevue/icons/spinner';\nimport Checkbox from 'primevue/checkbox';\nimport Ripple from 'primevue/ripple';\n\nexport default {\n name: 'TreeNode',\n hostName: 'Tree',\n extends: BaseComponent,\n emits: ['node-toggle', 'node-click', 'checkbox-change'],\n props: {\n node: {\n type: null,\n default: null\n },\n expandedKeys: {\n type: null,\n default: null\n },\n loadingMode: {\n type: String,\n default: 'mask'\n },\n selectionKeys: {\n type: null,\n default: null\n },\n selectionMode: {\n type: String,\n default: null\n },\n templates: {\n type: null,\n default: null\n },\n level: {\n type: Number,\n default: null\n },\n index: null\n },\n nodeTouched: false,\n toggleClicked: false,\n mounted() {\n this.setAllNodesTabIndexes();\n },\n methods: {\n toggle() {\n this.$emit('node-toggle', this.node);\n this.toggleClicked = true;\n },\n label(node) {\n return typeof node.label === 'function' ? node.label() : node.label;\n },\n onChildNodeToggle(node) {\n this.$emit('node-toggle', node);\n },\n getPTOptions(key) {\n return this.ptm(key, {\n context: {\n node: this.node,\n index: this.index,\n expanded: this.expanded,\n selected: this.selected,\n checked: this.checked,\n partialChecked: this.partialChecked,\n leaf: this.leaf\n }\n });\n },\n onClick(event) {\n if (this.toggleClicked || getAttribute(event.target, '[data-pc-section=\"nodetogglebutton\"]') || getAttribute(event.target.parentElement, '[data-pc-section=\"nodetogglebutton\"]')) {\n this.toggleClicked = false;\n\n return;\n }\n\n if (this.isCheckboxSelectionMode()) {\n if (this.node.selectable != false) {\n this.toggleCheckbox();\n }\n } else {\n this.$emit('node-click', {\n originalEvent: event,\n nodeTouched: this.nodeTouched,\n node: this.node\n });\n }\n\n this.nodeTouched = false;\n },\n onChildNodeClick(event) {\n this.$emit('node-click', event);\n },\n onTouchEnd() {\n this.nodeTouched = true;\n },\n onKeyDown(event) {\n if (!this.isSameNode(event)) return;\n\n switch (event.code) {\n case 'Tab':\n this.onTabKey(event);\n\n break;\n\n case 'ArrowDown':\n this.onArrowDown(event);\n\n break;\n\n case 'ArrowUp':\n this.onArrowUp(event);\n\n break;\n\n case 'ArrowRight':\n this.onArrowRight(event);\n\n break;\n\n case 'ArrowLeft':\n this.onArrowLeft(event);\n\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n this.onEnterKey(event);\n\n break;\n\n default:\n break;\n }\n },\n onArrowDown(event) {\n const nodeElement = event.target.getAttribute('data-pc-section') === 'nodetogglebutton' ? event.target.closest('[role=\"treeitem\"]') : event.target;\n const listElement = nodeElement.children[1];\n\n if (listElement) {\n this.focusRowChange(nodeElement, listElement.children[0]);\n } else {\n if (nodeElement.nextElementSibling) {\n this.focusRowChange(nodeElement, nodeElement.nextElementSibling);\n } else {\n let nextSiblingAncestor = this.findNextSiblingOfAncestor(nodeElement);\n\n if (nextSiblingAncestor) {\n this.focusRowChange(nodeElement, nextSiblingAncestor);\n }\n }\n }\n\n event.preventDefault();\n },\n onArrowUp(event) {\n const nodeElement = event.target;\n\n if (nodeElement.previousElementSibling) {\n this.focusRowChange(nodeElement, nodeElement.previousElementSibling, this.findLastVisibleDescendant(nodeElement.previousElementSibling));\n } else {\n let parentNodeElement = this.getParentNodeElement(nodeElement);\n\n if (parentNodeElement) {\n this.focusRowChange(nodeElement, parentNodeElement);\n }\n }\n\n event.preventDefault();\n },\n onArrowRight(event) {\n if (this.leaf || this.expanded) return;\n\n event.currentTarget.tabIndex = -1;\n\n this.$emit('node-toggle', this.node);\n this.$nextTick(() => {\n this.onArrowDown(event);\n });\n },\n onArrowLeft(event) {\n const togglerElement = findSingle(event.currentTarget, '[data-pc-section=\"nodetogglebutton\"]');\n\n if (this.level === 0 && !this.expanded) {\n return false;\n }\n\n if (this.expanded && !this.leaf) {\n togglerElement.click();\n\n return false;\n }\n\n const target = this.findBeforeClickableNode(event.currentTarget);\n\n if (target) {\n this.focusRowChange(event.currentTarget, target);\n }\n },\n onEnterKey(event) {\n this.setTabIndexForSelectionMode(event, this.nodeTouched);\n this.onClick(event);\n\n event.preventDefault();\n },\n onTabKey() {\n this.setAllNodesTabIndexes();\n },\n setAllNodesTabIndexes() {\n const nodes = find(this.$refs.currentNode.closest('[data-pc-section=\"rootchildren\"]'), '[role=\"treeitem\"]');\n\n const hasSelectedNode = [...nodes].some((node) => node.getAttribute('aria-selected') === 'true' || node.getAttribute('aria-checked') === 'true');\n\n [...nodes].forEach((node) => {\n node.tabIndex = -1;\n });\n\n if (hasSelectedNode) {\n const selectedNodes = [...nodes].filter((node) => node.getAttribute('aria-selected') === 'true' || node.getAttribute('aria-checked') === 'true');\n\n selectedNodes[0].tabIndex = 0;\n\n return;\n }\n\n [...nodes][0].tabIndex = 0;\n },\n setTabIndexForSelectionMode(event, nodeTouched) {\n if (this.selectionMode !== null) {\n const elements = [...find(this.$refs.currentNode.parentElement, '[role=\"treeitem\"]')];\n\n event.currentTarget.tabIndex = nodeTouched === false ? -1 : 0;\n\n if (elements.every((element) => element.tabIndex === -1)) {\n elements[0].tabIndex = 0;\n }\n }\n },\n focusRowChange(firstFocusableRow, currentFocusedRow, lastVisibleDescendant) {\n firstFocusableRow.tabIndex = '-1';\n currentFocusedRow.tabIndex = '0';\n\n this.focusNode(lastVisibleDescendant || currentFocusedRow);\n },\n findBeforeClickableNode(node) {\n const parentListElement = node.closest('ul').closest('li');\n\n if (parentListElement) {\n const prevNodeButton = findSingle(parentListElement, 'button');\n\n if (prevNodeButton && prevNodeButton.style.visibility !== 'hidden') {\n return parentListElement;\n }\n\n return this.findBeforeClickableNode(node.previousElementSibling);\n }\n\n return null;\n },\n toggleCheckbox() {\n let _selectionKeys = this.selectionKeys ? { ...this.selectionKeys } : {};\n const _check = !this.checked;\n\n this.propagateDown(this.node, _check, _selectionKeys);\n\n this.$emit('checkbox-change', {\n node: this.node,\n check: _check,\n selectionKeys: _selectionKeys\n });\n },\n propagateDown(node, check, selectionKeys) {\n if (check && node.selectable != false) selectionKeys[node.key] = { checked: true, partialChecked: false };\n else delete selectionKeys[node.key];\n\n if (node.children && node.children.length) {\n for (let child of node.children) {\n this.propagateDown(child, check, selectionKeys);\n }\n }\n },\n propagateUp(event) {\n let check = event.check;\n let _selectionKeys = { ...event.selectionKeys };\n let checkedChildCount = 0;\n let childPartialSelected = false;\n\n for (let child of this.node.children) {\n if (_selectionKeys[child.key] && _selectionKeys[child.key].checked) checkedChildCount++;\n else if (_selectionKeys[child.key] && _selectionKeys[child.key].partialChecked) childPartialSelected = true;\n }\n\n if (check && checkedChildCount === this.node.children.length) {\n _selectionKeys[this.node.key] = { checked: true, partialChecked: false };\n } else {\n if (!check) {\n delete _selectionKeys[this.node.key];\n }\n\n if (childPartialSelected || (checkedChildCount > 0 && checkedChildCount !== this.node.children.length)) _selectionKeys[this.node.key] = { checked: false, partialChecked: true };\n else delete _selectionKeys[this.node.key];\n }\n\n this.$emit('checkbox-change', {\n node: event.node,\n check: event.check,\n selectionKeys: _selectionKeys\n });\n },\n onChildCheckboxChange(event) {\n this.$emit('checkbox-change', event);\n },\n findNextSiblingOfAncestor(nodeElement) {\n let parentNodeElement = this.getParentNodeElement(nodeElement);\n\n if (parentNodeElement) {\n if (parentNodeElement.nextElementSibling) return parentNodeElement.nextElementSibling;\n else return this.findNextSiblingOfAncestor(parentNodeElement);\n } else {\n return null;\n }\n },\n findLastVisibleDescendant(nodeElement) {\n const childrenListElement = nodeElement.children[1];\n\n if (childrenListElement) {\n const lastChildElement = childrenListElement.children[childrenListElement.children.length - 1];\n\n return this.findLastVisibleDescendant(lastChildElement);\n } else {\n return nodeElement;\n }\n },\n getParentNodeElement(nodeElement) {\n const parentNodeElement = nodeElement.parentElement.parentElement;\n\n return getAttribute(parentNodeElement, 'role') === 'treeitem' ? parentNodeElement : null;\n },\n focusNode(element) {\n element.focus();\n },\n isCheckboxSelectionMode() {\n return this.selectionMode === 'checkbox';\n },\n isSameNode(event) {\n return event.currentTarget && (event.currentTarget.isSameNode(event.target) || event.currentTarget.isSameNode(event.target.closest('[role=\"treeitem\"]')));\n }\n },\n computed: {\n hasChildren() {\n return this.node.children && this.node.children.length > 0;\n },\n expanded() {\n return this.expandedKeys && this.expandedKeys[this.node.key] === true;\n },\n leaf() {\n return this.node.leaf === false ? false : !(this.node.children && this.node.children.length);\n },\n selectable() {\n return this.node.selectable === false ? false : this.selectionMode != null;\n },\n selected() {\n return this.selectionMode && this.selectionKeys ? this.selectionKeys[this.node.key] === true : false;\n },\n checkboxMode() {\n return this.selectionMode === 'checkbox' && this.node.selectable !== false;\n },\n checked() {\n return this.selectionKeys ? this.selectionKeys[this.node.key] && this.selectionKeys[this.node.key].checked : false;\n },\n partialChecked() {\n return this.selectionKeys ? this.selectionKeys[this.node.key] && this.selectionKeys[this.node.key].partialChecked : false;\n },\n ariaChecked() {\n return this.selectionMode === 'single' || this.selectionMode === 'multiple' ? this.selected : undefined;\n },\n ariaSelected() {\n return this.checkboxMode ? this.checked : undefined;\n }\n },\n components: {\n Checkbox,\n ChevronDownIcon,\n ChevronRightIcon,\n CheckIcon,\n MinusIcon,\n SpinnerIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <template v-if=\"loading && loadingMode === 'mask'\">\n <div :class=\"cx('mask')\" v-bind=\"ptm('mask')\">\n <slot name=\"loadingicon\" :class=\"cx('loadingIcon')\">\n <i v-if=\"loadingIcon\" :class=\"[cx('loadingIcon'), 'pi-spin', loadingIcon]\" v-bind=\"ptm('loadingIcon')\" />\n <SpinnerIcon v-else spin :class=\"cx('loadingIcon')\" v-bind=\"ptm('loadingIcon')\" />\n </slot>\n </div>\n </template>\n <IconField v-if=\"filter\" :unstyled=\"unstyled\" :pt=\"{ ...ptm('pcFilter'), ...ptm('pcFilterContainer') }\" :class=\"cx('pcFilterContainer')\">\n <InputText v-model=\"filterValue\" autocomplete=\"off\" :class=\"cx('pcFilterInput')\" :placeholder=\"filterPlaceholder\" :unstyled=\"unstyled\" @keyup=\"onFilterKeyup\" :pt=\"ptm('pcFilterInput')\" />\n <InputIcon :unstyled=\"unstyled\" :pt=\"ptm('pcFilterIconContainer')\">\n <!--TODO: searchicon deprecated since v4.0-->\n <slot :name=\"$slots.filtericon ? 'filtericon' : 'searchicon'\" :class=\"cx('filterIcon')\">\n <SearchIcon :class=\"cx('filterIcon')\" v-bind=\"ptm('filterIcon')\" />\n </slot>\n </InputIcon>\n </IconField>\n <div :class=\"cx('wrapper')\" :style=\"{ maxHeight: scrollHeight }\" v-bind=\"ptm('wrapper')\">\n <slot name=\"header\" :value=\"value\" :expandedKeys=\"expandedKeys\" :selectionKeys=\"selectionKeys\" />\n <ul :class=\"cx('rootChildren')\" role=\"tree\" :aria-labelledby=\"ariaLabelledby\" :aria-label=\"ariaLabel\" v-bind=\"ptm('rootChildren')\">\n <TreeNode\n v-for=\"(node, index) of valueToRender\"\n :key=\"node.key\"\n :node=\"node\"\n :templates=\"$slots\"\n :level=\"level + 1\"\n :index=\"index\"\n :expandedKeys=\"d_expandedKeys\"\n @node-toggle=\"onNodeToggle\"\n @node-click=\"onNodeClick\"\n :selectionMode=\"selectionMode\"\n :selectionKeys=\"selectionKeys\"\n @checkbox-change=\"onCheckboxChange\"\n :loadingMode=\"loadingMode\"\n :unstyled=\"unstyled\"\n :pt=\"pt\"\n ></TreeNode>\n </ul>\n <slot name=\"footer\" :value=\"value\" :expandedKeys=\"expandedKeys\" :selectionKeys=\"selectionKeys\" />\n </div>\n </div>\n</template>\n\n<script>\nimport { isFunction, resolveFieldData } from '@primeuix/utils/object';\nimport SearchIcon from '@primevue/icons/search';\nimport SpinnerIcon from '@primevue/icons/spinner';\nimport IconField from 'primevue/iconfield';\nimport InputIcon from 'primevue/inputicon';\nimport InputText from 'primevue/inputtext';\nimport BaseTree from './BaseTree.vue';\nimport TreeNode from './TreeNode.vue';\n\nexport default {\n name: 'Tree',\n extends: BaseTree,\n inheritAttrs: false,\n emits: ['node-expand', 'node-collapse', 'update:expandedKeys', 'update:selectionKeys', 'node-select', 'node-unselect', 'filter'],\n data() {\n return {\n d_expandedKeys: this.expandedKeys || {},\n filterValue: null\n };\n },\n watch: {\n expandedKeys(newValue) {\n this.d_expandedKeys = newValue;\n }\n },\n methods: {\n onNodeToggle(node) {\n const key = node.key;\n\n if (this.d_expandedKeys[key]) {\n delete this.d_expandedKeys[key];\n this.$emit('node-collapse', node);\n } else {\n this.d_expandedKeys[key] = true;\n this.$emit('node-expand', node);\n }\n\n this.d_expandedKeys = { ...this.d_expandedKeys };\n this.$emit('update:expandedKeys', this.d_expandedKeys);\n },\n onNodeClick(event) {\n if (this.selectionMode != null && event.node.selectable !== false) {\n const metaSelection = event.nodeTouched ? false : this.metaKeySelection;\n const _selectionKeys = metaSelection ? this.handleSelectionWithMetaKey(event) : this.handleSelectionWithoutMetaKey(event);\n\n this.$emit('update:selectionKeys', _selectionKeys);\n }\n },\n onCheckboxChange(event) {\n this.$emit('update:selectionKeys', event.selectionKeys);\n\n if (event.check) this.$emit('node-select', event.node);\n else this.$emit('node-unselect', event.node);\n },\n handleSelectionWithMetaKey(event) {\n const originalEvent = event.originalEvent;\n const node = event.node;\n const metaKey = originalEvent.metaKey || originalEvent.ctrlKey;\n const selected = this.isNodeSelected(node);\n let _selectionKeys;\n\n if (selected && metaKey) {\n if (this.isSingleSelectionMode()) {\n _selectionKeys = {};\n } else {\n _selectionKeys = { ...this.selectionKeys };\n delete _selectionKeys[node.key];\n }\n\n this.$emit('node-unselect', node);\n } else {\n if (this.isSingleSelectionMode()) {\n _selectionKeys = {};\n } else if (this.isMultipleSelectionMode()) {\n _selectionKeys = !metaKey ? {} : this.selectionKeys ? { ...this.selectionKeys } : {};\n }\n\n _selectionKeys[node.key] = true;\n this.$emit('node-select', node);\n }\n\n return _selectionKeys;\n },\n handleSelectionWithoutMetaKey(event) {\n const node = event.node;\n const selected = this.isNodeSelected(node);\n let _selectionKeys;\n\n if (this.isSingleSelectionMode()) {\n if (selected) {\n _selectionKeys = {};\n this.$emit('node-unselect', node);\n } else {\n _selectionKeys = {};\n _selectionKeys[node.key] = true;\n this.$emit('node-select', node);\n }\n } else {\n if (selected) {\n _selectionKeys = { ...this.selectionKeys };\n delete _selectionKeys[node.key];\n\n this.$emit('node-unselect', node);\n } else {\n _selectionKeys = this.selectionKeys ? { ...this.selectionKeys } : {};\n _selectionKeys[node.key] = true;\n\n this.$emit('node-select', node);\n }\n }\n\n return _selectionKeys;\n },\n isSingleSelectionMode() {\n return this.selectionMode === 'single';\n },\n isMultipleSelectionMode() {\n return this.selectionMode === 'multiple';\n },\n isNodeSelected(node) {\n return this.selectionMode && this.selectionKeys ? this.selectionKeys[node.key] === true : false;\n },\n isChecked(node) {\n return this.selectionKeys ? this.selectionKeys[node.key] && this.selectionKeys[node.key].checked : false;\n },\n isNodeLeaf(node) {\n return node.leaf === false ? false : !(node.children && node.children.length);\n },\n onFilterKeyup(event) {\n if (event.code === 'Enter' || event.code === 'NumpadEnter') {\n event.preventDefault();\n }\n\n this.$emit('filter', { originalEvent: event, value: event.target.value });\n },\n findFilteredNodes(node, paramsWithoutNode) {\n if (node) {\n let matched = false;\n\n if (node.children) {\n let childNodes = [...node.children];\n\n node.children = [];\n\n for (let childNode of childNodes) {\n let copyChildNode = { ...childNode };\n\n if (this.isFilterMatched(copyChildNode, paramsWithoutNode)) {\n matched = true;\n node.children.push(copyChildNode);\n }\n }\n }\n\n if (matched) {\n return true;\n }\n }\n },\n isFilterMatched(node, { searchFields, filterText, strict }) {\n let matched = false;\n\n for (let field of searchFields) {\n let fieldValue = String(resolveFieldData(node, field)).toLocaleLowerCase(this.filterLocale);\n\n if (fieldValue.indexOf(filterText) > -1) {\n matched = true;\n }\n }\n\n if (!matched || (strict && !this.isNodeLeaf(node))) {\n matched = this.findFilteredNodes(node, { searchFields, filterText, strict }) || matched;\n }\n\n return matched;\n }\n },\n computed: {\n filteredValue() {\n let filteredNodes = [];\n const searchFields = isFunction(this.filterBy) ? [this.filterBy] : this.filterBy.split(',');\n const filterText = this.filterValue.trim().toLocaleLowerCase(this.filterLocale);\n const strict = this.filterMode === 'strict';\n\n for (let node of this.value) {\n let _node = { ...node };\n let paramsWithoutNode = { searchFields, filterText, strict };\n\n if (\n (strict && (this.findFilteredNodes(_node, paramsWithoutNode) || this.isFilterMatched(_node, paramsWithoutNode))) ||\n (!strict && (this.isFilterMatched(_node, paramsWithoutNode) || this.findFilteredNodes(_node, paramsWithoutNode)))\n ) {\n filteredNodes.push(_node);\n }\n }\n\n return filteredNodes;\n },\n valueToRender() {\n if (this.filterValue && this.filterValue.trim().length > 0) return this.filteredValue;\n else return this.value;\n }\n },\n components: {\n TreeNode,\n InputText,\n InputIcon,\n IconField,\n SearchIcon,\n SpinnerIcon\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <template v-if=\"loading && loadingMode === 'mask'\">\n <div :class=\"cx('mask')\" v-bind=\"ptm('mask')\">\n <slot name=\"loadingicon\" :class=\"cx('loadingIcon')\">\n <i v-if=\"loadingIcon\" :class=\"[cx('loadingIcon'), 'pi-spin', loadingIcon]\" v-bind=\"ptm('loadingIcon')\" />\n <SpinnerIcon v-else spin :class=\"cx('loadingIcon')\" v-bind=\"ptm('loadingIcon')\" />\n </slot>\n </div>\n </template>\n <IconField v-if=\"filter\" :unstyled=\"unstyled\" :pt=\"{ ...ptm('pcFilter'), ...ptm('pcFilterContainer') }\" :class=\"cx('pcFilterContainer')\">\n <InputText v-model=\"filterValue\" autocomplete=\"off\" :class=\"cx('pcFilterInput')\" :placeholder=\"filterPlaceholder\" :unstyled=\"unstyled\" @keyup=\"onFilterKeyup\" :pt=\"ptm('pcFilterInput')\" />\n <InputIcon :unstyled=\"unstyled\" :pt=\"ptm('pcFilterIconContainer')\">\n <!--TODO: searchicon deprecated since v4.0-->\n <slot :name=\"$slots.filtericon ? 'filtericon' : 'searchicon'\" :class=\"cx('filterIcon')\">\n <SearchIcon :class=\"cx('filterIcon')\" v-bind=\"ptm('filterIcon')\" />\n </slot>\n </InputIcon>\n </IconField>\n <div :class=\"cx('wrapper')\" :style=\"{ maxHeight: scrollHeight }\" v-bind=\"ptm('wrapper')\">\n <slot name=\"header\" :value=\"value\" :expandedKeys=\"expandedKeys\" :selectionKeys=\"selectionKeys\" />\n <ul :class=\"cx('rootChildren')\" role=\"tree\" :aria-labelledby=\"ariaLabelledby\" :aria-label=\"ariaLabel\" v-bind=\"ptm('rootChildren')\">\n <TreeNode\n v-for=\"(node, index) of valueToRender\"\n :key=\"node.key\"\n :node=\"node\"\n :templates=\"$slots\"\n :level=\"level + 1\"\n :index=\"index\"\n :expandedKeys=\"d_expandedKeys\"\n @node-toggle=\"onNodeToggle\"\n @node-click=\"onNodeClick\"\n :selectionMode=\"selectionMode\"\n :selectionKeys=\"selectionKeys\"\n @checkbox-change=\"onCheckboxChange\"\n :loadingMode=\"loadingMode\"\n :unstyled=\"unstyled\"\n :pt=\"pt\"\n ></TreeNode>\n </ul>\n <slot name=\"footer\" :value=\"value\" :expandedKeys=\"expandedKeys\" :selectionKeys=\"selectionKeys\" />\n </div>\n </div>\n</template>\n\n<script>\nimport { isFunction, resolveFieldData } from '@primeuix/utils/object';\nimport SearchIcon from '@primevue/icons/search';\nimport SpinnerIcon from '@primevue/icons/spinner';\nimport IconField from 'primevue/iconfield';\nimport InputIcon from 'primevue/inputicon';\nimport InputText from 'primevue/inputtext';\nimport BaseTree from './BaseTree.vue';\nimport TreeNode from './TreeNode.vue';\n\nexport default {\n name: 'Tree',\n extends: BaseTree,\n inheritAttrs: false,\n emits: ['node-expand', 'node-collapse', 'update:expandedKeys', 'update:selectionKeys', 'node-select', 'node-unselect', 'filter'],\n data() {\n return {\n d_expandedKeys: this.expandedKeys || {},\n filterValue: null\n };\n },\n watch: {\n expandedKeys(newValue) {\n this.d_expandedKeys = newValue;\n }\n },\n methods: {\n onNodeToggle(node) {\n const key = node.key;\n\n if (this.d_expandedKeys[key]) {\n delete this.d_expandedKeys[key];\n this.$emit('node-collapse', node);\n } else {\n this.d_expandedKeys[key] = true;\n this.$emit('node-expand', node);\n }\n\n this.d_expandedKeys = { ...this.d_expandedKeys };\n this.$emit('update:expandedKeys', this.d_expandedKeys);\n },\n onNodeClick(event) {\n if (this.selectionMode != null && event.node.selectable !== false) {\n const metaSelection = event.nodeTouched ? false : this.metaKeySelection;\n const _selectionKeys = metaSelection ? this.handleSelectionWithMetaKey(event) : this.handleSelectionWithoutMetaKey(event);\n\n this.$emit('update:selectionKeys', _selectionKeys);\n }\n },\n onCheckboxChange(event) {\n this.$emit('update:selectionKeys', event.selectionKeys);\n\n if (event.check) this.$emit('node-select', event.node);\n else this.$emit('node-unselect', event.node);\n },\n handleSelectionWithMetaKey(event) {\n const originalEvent = event.originalEvent;\n const node = event.node;\n const metaKey = originalEvent.metaKey || originalEvent.ctrlKey;\n const selected = this.isNodeSelected(node);\n let _selectionKeys;\n\n if (selected && metaKey) {\n if (this.isSingleSelectionMode()) {\n _selectionKeys = {};\n } else {\n _selectionKeys = { ...this.selectionKeys };\n delete _selectionKeys[node.key];\n }\n\n this.$emit('node-unselect', node);\n } else {\n if (this.isSingleSelectionMode()) {\n _selectionKeys = {};\n } else if (this.isMultipleSelectionMode()) {\n _selectionKeys = !metaKey ? {} : this.selectionKeys ? { ...this.selectionKeys } : {};\n }\n\n _selectionKeys[node.key] = true;\n this.$emit('node-select', node);\n }\n\n return _selectionKeys;\n },\n handleSelectionWithoutMetaKey(event) {\n const node = event.node;\n const selected = this.isNodeSelected(node);\n let _selectionKeys;\n\n if (this.isSingleSelectionMode()) {\n if (selected) {\n _selectionKeys = {};\n this.$emit('node-unselect', node);\n } else {\n _selectionKeys = {};\n _selectionKeys[node.key] = true;\n this.$emit('node-select', node);\n }\n } else {\n if (selected) {\n _selectionKeys = { ...this.selectionKeys };\n delete _selectionKeys[node.key];\n\n this.$emit('node-unselect', node);\n } else {\n _selectionKeys = this.selectionKeys ? { ...this.selectionKeys } : {};\n _selectionKeys[node.key] = true;\n\n this.$emit('node-select', node);\n }\n }\n\n return _selectionKeys;\n },\n isSingleSelectionMode() {\n return this.selectionMode === 'single';\n },\n isMultipleSelectionMode() {\n return this.selectionMode === 'multiple';\n },\n isNodeSelected(node) {\n return this.selectionMode && this.selectionKeys ? this.selectionKeys[node.key] === true : false;\n },\n isChecked(node) {\n return this.selectionKeys ? this.selectionKeys[node.key] && this.selectionKeys[node.key].checked : false;\n },\n isNodeLeaf(node) {\n return node.leaf === false ? false : !(node.children && node.children.length);\n },\n onFilterKeyup(event) {\n if (event.code === 'Enter' || event.code === 'NumpadEnter') {\n event.preventDefault();\n }\n\n this.$emit('filter', { originalEvent: event, value: event.target.value });\n },\n findFilteredNodes(node, paramsWithoutNode) {\n if (node) {\n let matched = false;\n\n if (node.children) {\n let childNodes = [...node.children];\n\n node.children = [];\n\n for (let childNode of childNodes) {\n let copyChildNode = { ...childNode };\n\n if (this.isFilterMatched(copyChildNode, paramsWithoutNode)) {\n matched = true;\n node.children.push(copyChildNode);\n }\n }\n }\n\n if (matched) {\n return true;\n }\n }\n },\n isFilterMatched(node, { searchFields, filterText, strict }) {\n let matched = false;\n\n for (let field of searchFields) {\n let fieldValue = String(resolveFieldData(node, field)).toLocaleLowerCase(this.filterLocale);\n\n if (fieldValue.indexOf(filterText) > -1) {\n matched = true;\n }\n }\n\n if (!matched || (strict && !this.isNodeLeaf(node))) {\n matched = this.findFilteredNodes(node, { searchFields, filterText, strict }) || matched;\n }\n\n return matched;\n }\n },\n computed: {\n filteredValue() {\n let filteredNodes = [];\n const searchFields = isFunction(this.filterBy) ? [this.filterBy] : this.filterBy.split(',');\n const filterText = this.filterValue.trim().toLocaleLowerCase(this.filterLocale);\n const strict = this.filterMode === 'strict';\n\n for (let node of this.value) {\n let _node = { ...node };\n let paramsWithoutNode = { searchFields, filterText, strict };\n\n if (\n (strict && (this.findFilteredNodes(_node, paramsWithoutNode) || this.isFilterMatched(_node, paramsWithoutNode))) ||\n (!strict && (this.isFilterMatched(_node, paramsWithoutNode) || this.findFilteredNodes(_node, paramsWithoutNode)))\n ) {\n filteredNodes.push(_node);\n }\n }\n\n return filteredNodes;\n },\n valueToRender() {\n if (this.filterValue && this.filterValue.trim().length > 0) return this.filteredValue;\n else return this.value;\n }\n },\n components: {\n TreeNode,\n InputText,\n InputIcon,\n IconField,\n SearchIcon,\n SpinnerIcon\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","value","type","expandedKeys","selectionKeys","selectionMode","String","metaKeySelection","Boolean","loading","loadingIcon","undefined","loadingMode","filter","filterBy","Function","filterMode","filterPlaceholder","filterLocale","highlightOnSelect","scrollHeight","level","Number","ariaLabelledby","ariaLabel","style","TreeStyle","provide","$pcTree","$parentInstance","hostName","emits","node","templates","index","nodeTouched","toggleClicked","mounted","setAllNodesTabIndexes","methods","toggle","$emit","label","onChildNodeToggle","getPTOptions","key","ptm","context","expanded","selected","checked","partialChecked","leaf","onClick","event","getAttribute","target","parentElement","isCheckboxSelectionMode","selectable","toggleCheckbox","originalEvent","onChildNodeClick","onTouchEnd","onKeyDown","isSameNode","code","onTabKey","onArrowDown","onArrowUp","onArrowRight","onArrowLeft","onEnterKey","nodeElement","closest","listElement","children","focusRowChange","nextElementSibling","nextSiblingAncestor","findNextSiblingOfAncestor","preventDefault","previousElementSibling","findLastVisibleDescendant","parentNodeElement","getParentNodeElement","_this","currentTarget","tabIndex","$nextTick","togglerElement","findSingle","click","findBeforeClickableNode","setTabIndexForSelectionMode","nodes","find","$refs","currentNode","hasSelectedNode","_toConsumableArray","some","forEach","selectedNodes","elements","every","element","firstFocusableRow","currentFocusedRow","lastVisibleDescendant","focusNode","parentListElement","prevNodeButton","visibility","_selectionKeys","_objectSpread","_check","propagateDown","check","length","_iterator","_createForOfIteratorHelper","_step","s","n","done","child","err","e","f","propagateUp","checkedChildCount","childPartialSelected","_iterator2","_step2","onChildCheckboxChange","childrenListElement","lastChildElement","focus","computed","hasChildren","checkboxMode","ariaChecked","ariaSelected","components","Checkbox","ChevronDownIcon","ChevronRightIcon","CheckIcon","MinusIcon","SpinnerIcon","directives","ripple","Ripple","_openBlock","_createElementBlock","_mergeProps","ref","_ctx","cx","role","$options","$props","tabindex","onKeydown","apply","arguments","_createElementVNode","onTouchend","_withDirectives","_Fragment","_createBlock","_resolveDynamicComponent","_component_SpinnerIcon","spin","expandedIcon","collapsedIcon","_component_Checkbox","defaultValue","binary","indeterminate","unstyled","pt","icon","_withCtx","slotProps","_normalizeClass","_createTextVNode","_toDisplayString","_renderList","childNode","_component_TreeNode","onNodeToggle","onNodeClick","onCheckboxChange","BaseTree","inheritAttrs","data","d_expandedKeys","filterValue","watch","newValue","metaSelection","handleSelectionWithMetaKey","handleSelectionWithoutMetaKey","metaKey","ctrlKey","isNodeSelected","isSingleSelectionMode","isMultipleSelectionMode","isChecked","isNodeLeaf","onFilterKeyup","findFilteredNodes","paramsWithoutNode","matched","childNodes","copyChildNode","isFilterMatched","push","_ref","searchFields","filterText","strict","field","fieldValue","resolveFieldData","toLocaleLowerCase","indexOf","filteredValue","filteredNodes","isFunction","split","trim","_iterator3","_step3","_node","valueToRender","TreeNode","InputText","InputIcon","IconField","SearchIcon","ptmi","_renderSlot","$slots","_component_IconField","_createVNode","_component_InputText","$data","$event","autocomplete","placeholder","onKeyup","_component_InputIcon","filtericon","_component_SearchIcon"],"mappings":"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"}
@@ -1,12 +1,9 @@
1
+ import { style } from '@primeuix/styles/tree';
1
2
  import BaseStyle from '@primevue/core/base/style';
2
3
 
3
- var theme = function theme(_ref) {
4
- var dt = _ref.dt;
5
- return "\n.p-tree {\n background: ".concat(dt('tree.background'), ";\n color: ").concat(dt('tree.color'), ";\n padding: ").concat(dt('tree.padding'), ";\n}\n\n.p-tree-root-children,\n.p-tree-node-children {\n display: flex;\n list-style-type: none;\n flex-direction: column;\n margin: 0;\n gap: ").concat(dt('tree.gap'), ";\n}\n\n.p-tree-root-children {\n padding: 0;\n padding-block-start: ").concat(dt('tree.gap'), ";\n}\n\n.p-tree-node-children {\n padding: 0;\n padding-block-start: ").concat(dt('tree.gap'), ";\n padding-inline-start: ").concat(dt('tree.indent'), ";\n}\n\n.p-tree-node {\n padding: 0;\n outline: 0 none;\n}\n\n.p-tree-node-content {\n border-radius: ").concat(dt('tree.node.border.radius'), ";\n padding: ").concat(dt('tree.node.padding'), ";\n display: flex;\n align-items: center;\n outline-color: transparent;\n color: ").concat(dt('tree.node.color'), ";\n gap: ").concat(dt('tree.node.gap'), ";\n transition: background ").concat(dt('tree.transition.duration'), ", color ").concat(dt('tree.transition.duration'), ", outline-color ").concat(dt('tree.transition.duration'), ", box-shadow ").concat(dt('tree.transition.duration'), ";\n}\n\n.p-tree-node:focus-visible > .p-tree-node-content {\n box-shadow: ").concat(dt('tree.node.focus.ring.shadow'), ";\n outline: ").concat(dt('tree.node.focus.ring.width'), " ").concat(dt('tree.node.focus.ring.style'), " ").concat(dt('tree.node.focus.ring.color'), ";\n outline-offset: ").concat(dt('tree.node.focus.ring.offset'), ";\n}\n\n.p-tree-node-content.p-tree-node-selectable:not(.p-tree-node-selected):hover {\n background: ").concat(dt('tree.node.hover.background'), ";\n color: ").concat(dt('tree.node.hover.color'), ";\n}\n\n.p-tree-node-content.p-tree-node-selectable:not(.p-tree-node-selected):hover .p-tree-node-icon {\n color: ").concat(dt('tree.node.icon.hover.color'), ";\n}\n\n.p-tree-node-content.p-tree-node-selected {\n background: ").concat(dt('tree.node.selected.background'), ";\n color: ").concat(dt('tree.node.selected.color'), ";\n}\n\n.p-tree-node-content.p-tree-node-selected .p-tree-node-toggle-button {\n color: inherit;\n}\n\n.p-tree-node-toggle-button {\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 width: ").concat(dt('tree.node.toggle.button.size'), ";\n height: ").concat(dt('tree.node.toggle.button.size'), ";\n color: ").concat(dt('tree.node.toggle.button.color'), ";\n border: 0 none;\n background: transparent;\n border-radius: ").concat(dt('tree.node.toggle.button.border.radius'), ";\n transition: background ").concat(dt('tree.transition.duration'), ", color ").concat(dt('tree.transition.duration'), ", border-color ").concat(dt('tree.transition.duration'), ", outline-color ").concat(dt('tree.transition.duration'), ", box-shadow ").concat(dt('tree.transition.duration'), ";\n outline-color: transparent;\n padding: 0;\n}\n\n.p-tree-node-toggle-button:enabled:hover {\n background: ").concat(dt('tree.node.toggle.button.hover.background'), ";\n color: ").concat(dt('tree.node.toggle.button.hover.color'), ";\n}\n\n.p-tree-node-content.p-tree-node-selected .p-tree-node-toggle-button:hover {\n background: ").concat(dt('tree.node.toggle.button.selected.hover.background'), ";\n color: ").concat(dt('tree.node.toggle.button.selected.hover.color'), ";\n}\n\n.p-tree-root {\n overflow: auto;\n}\n\n.p-tree-node-selectable {\n cursor: pointer;\n user-select: none;\n}\n\n.p-tree-node-leaf > .p-tree-node-content .p-tree-node-toggle-button {\n visibility: hidden;\n}\n\n.p-tree-node-icon {\n color: ").concat(dt('tree.node.icon.color'), ";\n transition: color ").concat(dt('tree.transition.duration'), ";\n}\n\n.p-tree-node-content.p-tree-node-selected .p-tree-node-icon {\n color: ").concat(dt('tree.node.icon.selected.color'), ";\n}\n\n.p-tree-filter {\n margin: ").concat(dt('tree.filter.margin'), ";\n}\n\n.p-tree-filter-input {\n width: 100%;\n}\n\n.p-tree-loading {\n position: relative;\n height: 100%;\n}\n\n.p-tree-loading-icon {\n font-size: ").concat(dt('tree.loading.icon.size'), ";\n width: ").concat(dt('tree.loading.icon.size'), ";\n height: ").concat(dt('tree.loading.icon.size'), ";\n}\n\n.p-tree .p-tree-mask {\n position: absolute;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.p-tree-flex-scrollable {\n display: flex;\n flex: 1;\n height: 100%;\n flex-direction: column;\n}\n\n.p-tree-flex-scrollable .p-tree-root {\n flex: 1;\n}\n");
6
- };
7
4
  var classes = {
8
- root: function root(_ref2) {
9
- var props = _ref2.props;
5
+ root: function root(_ref) {
6
+ var props = _ref.props;
10
7
  return ['p-tree p-component', {
11
8
  'p-tree-selectable': props.selectionMode != null,
12
9
  'p-tree-loading': props.loading,
@@ -20,14 +17,14 @@ var classes = {
20
17
  wrapper: 'p-tree-root',
21
18
  //TODO: discuss
22
19
  rootChildren: 'p-tree-root-children',
23
- node: function node(_ref3) {
24
- var instance = _ref3.instance;
20
+ node: function node(_ref2) {
21
+ var instance = _ref2.instance;
25
22
  return ['p-tree-node', {
26
23
  'p-tree-node-leaf': instance.leaf
27
24
  }];
28
25
  },
29
- nodeContent: function nodeContent(_ref4) {
30
- var instance = _ref4.instance;
26
+ nodeContent: function nodeContent(_ref3) {
27
+ var instance = _ref3.instance;
31
28
  return ['p-tree-node-content', instance.node.styleClass, {
32
29
  'p-tree-node-selectable': instance.selectable,
33
30
  'p-tree-node-selected': instance.checkboxMode && instance.$parentInstance.highlightOnSelect ? instance.checked : instance.selected
@@ -42,7 +39,7 @@ var classes = {
42
39
  };
43
40
  var TreeStyle = BaseStyle.extend({
44
41
  name: 'tree',
45
- theme: theme,
42
+ style: style,
46
43
  classes: classes
47
44
  });
48
45
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/tree/style/TreeStyle.js"],"sourcesContent":["import BaseStyle from '@primevue/core/base/style';\n\nconst theme = ({ dt }) => `\n.p-tree {\n background: ${dt('tree.background')};\n color: ${dt('tree.color')};\n padding: ${dt('tree.padding')};\n}\n\n.p-tree-root-children,\n.p-tree-node-children {\n display: flex;\n list-style-type: none;\n flex-direction: column;\n margin: 0;\n gap: ${dt('tree.gap')};\n}\n\n.p-tree-root-children {\n padding: 0;\n padding-block-start: ${dt('tree.gap')};\n}\n\n.p-tree-node-children {\n padding: 0;\n padding-block-start: ${dt('tree.gap')};\n padding-inline-start: ${dt('tree.indent')};\n}\n\n.p-tree-node {\n padding: 0;\n outline: 0 none;\n}\n\n.p-tree-node-content {\n border-radius: ${dt('tree.node.border.radius')};\n padding: ${dt('tree.node.padding')};\n display: flex;\n align-items: center;\n outline-color: transparent;\n color: ${dt('tree.node.color')};\n gap: ${dt('tree.node.gap')};\n transition: background ${dt('tree.transition.duration')}, color ${dt('tree.transition.duration')}, outline-color ${dt('tree.transition.duration')}, box-shadow ${dt('tree.transition.duration')};\n}\n\n.p-tree-node:focus-visible > .p-tree-node-content {\n box-shadow: ${dt('tree.node.focus.ring.shadow')};\n outline: ${dt('tree.node.focus.ring.width')} ${dt('tree.node.focus.ring.style')} ${dt('tree.node.focus.ring.color')};\n outline-offset: ${dt('tree.node.focus.ring.offset')};\n}\n\n.p-tree-node-content.p-tree-node-selectable:not(.p-tree-node-selected):hover {\n background: ${dt('tree.node.hover.background')};\n color: ${dt('tree.node.hover.color')};\n}\n\n.p-tree-node-content.p-tree-node-selectable:not(.p-tree-node-selected):hover .p-tree-node-icon {\n color: ${dt('tree.node.icon.hover.color')};\n}\n\n.p-tree-node-content.p-tree-node-selected {\n background: ${dt('tree.node.selected.background')};\n color: ${dt('tree.node.selected.color')};\n}\n\n.p-tree-node-content.p-tree-node-selected .p-tree-node-toggle-button {\n color: inherit;\n}\n\n.p-tree-node-toggle-button {\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 width: ${dt('tree.node.toggle.button.size')};\n height: ${dt('tree.node.toggle.button.size')};\n color: ${dt('tree.node.toggle.button.color')};\n border: 0 none;\n background: transparent;\n border-radius: ${dt('tree.node.toggle.button.border.radius')};\n transition: background ${dt('tree.transition.duration')}, color ${dt('tree.transition.duration')}, border-color ${dt('tree.transition.duration')}, outline-color ${dt('tree.transition.duration')}, box-shadow ${dt('tree.transition.duration')};\n outline-color: transparent;\n padding: 0;\n}\n\n.p-tree-node-toggle-button:enabled:hover {\n background: ${dt('tree.node.toggle.button.hover.background')};\n color: ${dt('tree.node.toggle.button.hover.color')};\n}\n\n.p-tree-node-content.p-tree-node-selected .p-tree-node-toggle-button:hover {\n background: ${dt('tree.node.toggle.button.selected.hover.background')};\n color: ${dt('tree.node.toggle.button.selected.hover.color')};\n}\n\n.p-tree-root {\n overflow: auto;\n}\n\n.p-tree-node-selectable {\n cursor: pointer;\n user-select: none;\n}\n\n.p-tree-node-leaf > .p-tree-node-content .p-tree-node-toggle-button {\n visibility: hidden;\n}\n\n.p-tree-node-icon {\n color: ${dt('tree.node.icon.color')};\n transition: color ${dt('tree.transition.duration')};\n}\n\n.p-tree-node-content.p-tree-node-selected .p-tree-node-icon {\n color: ${dt('tree.node.icon.selected.color')};\n}\n\n.p-tree-filter {\n margin: ${dt('tree.filter.margin')};\n}\n\n.p-tree-filter-input {\n width: 100%;\n}\n\n.p-tree-loading {\n position: relative;\n height: 100%;\n}\n\n.p-tree-loading-icon {\n font-size: ${dt('tree.loading.icon.size')};\n width: ${dt('tree.loading.icon.size')};\n height: ${dt('tree.loading.icon.size')};\n}\n\n.p-tree .p-tree-mask {\n position: absolute;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.p-tree-flex-scrollable {\n display: flex;\n flex: 1;\n height: 100%;\n flex-direction: column;\n}\n\n.p-tree-flex-scrollable .p-tree-root {\n flex: 1;\n}\n`;\n\nconst classes = {\n root: ({ props }) => [\n 'p-tree p-component',\n {\n 'p-tree-selectable': props.selectionMode != null,\n 'p-tree-loading': props.loading,\n 'p-tree-flex-scrollable': props.scrollHeight === 'flex'\n }\n ],\n mask: 'p-tree-mask p-overlay-mask',\n loadingIcon: 'p-tree-loading-icon',\n pcFilterContainer: 'p-tree-filter',\n pcFilterInput: 'p-tree-filter-input',\n wrapper: 'p-tree-root', //TODO: discuss\n rootChildren: 'p-tree-root-children',\n node: ({ instance }) => ['p-tree-node', { 'p-tree-node-leaf': instance.leaf }],\n nodeContent: ({ instance }) => [\n 'p-tree-node-content',\n instance.node.styleClass,\n {\n 'p-tree-node-selectable': instance.selectable,\n 'p-tree-node-selected': instance.checkboxMode && instance.$parentInstance.highlightOnSelect ? instance.checked : instance.selected\n }\n ],\n nodeToggleButton: 'p-tree-node-toggle-button',\n nodeToggleIcon: 'p-tree-node-toggle-icon',\n nodeCheckbox: 'p-tree-node-checkbox',\n nodeIcon: 'p-tree-node-icon',\n nodeLabel: 'p-tree-node-label',\n nodeChildren: 'p-tree-node-children'\n};\n\nexport default BaseStyle.extend({\n name: 'tree',\n theme,\n classes\n});\n"],"names":["theme","_ref","dt","concat","classes","root","_ref2","props","selectionMode","loading","scrollHeight","mask","loadingIcon","pcFilterContainer","pcFilterInput","wrapper","rootChildren","node","_ref3","instance","leaf","nodeContent","_ref4","styleClass","selectable","checkboxMode","$parentInstance","highlightOnSelect","checked","selected","nodeToggleButton","nodeToggleIcon","nodeCheckbox","nodeIcon","nodeLabel","nodeChildren","BaseStyle","extend","name"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/tree/style/TreeStyle.js"],"sourcesContent":["import { style } from '@primeuix/styles/tree';\nimport BaseStyle from '@primevue/core/base/style';\n\nconst classes = {\n root: ({ props }) => [\n 'p-tree p-component',\n {\n 'p-tree-selectable': props.selectionMode != null,\n 'p-tree-loading': props.loading,\n 'p-tree-flex-scrollable': props.scrollHeight === 'flex'\n }\n ],\n mask: 'p-tree-mask p-overlay-mask',\n loadingIcon: 'p-tree-loading-icon',\n pcFilterContainer: 'p-tree-filter',\n pcFilterInput: 'p-tree-filter-input',\n wrapper: 'p-tree-root', //TODO: discuss\n rootChildren: 'p-tree-root-children',\n node: ({ instance }) => ['p-tree-node', { 'p-tree-node-leaf': instance.leaf }],\n nodeContent: ({ instance }) => [\n 'p-tree-node-content',\n instance.node.styleClass,\n {\n 'p-tree-node-selectable': instance.selectable,\n 'p-tree-node-selected': instance.checkboxMode && instance.$parentInstance.highlightOnSelect ? instance.checked : instance.selected\n }\n ],\n nodeToggleButton: 'p-tree-node-toggle-button',\n nodeToggleIcon: 'p-tree-node-toggle-icon',\n nodeCheckbox: 'p-tree-node-checkbox',\n nodeIcon: 'p-tree-node-icon',\n nodeLabel: 'p-tree-node-label',\n nodeChildren: 'p-tree-node-children'\n};\n\nexport default BaseStyle.extend({\n name: 'tree',\n style,\n classes\n});\n"],"names":["classes","root","_ref","props","selectionMode","loading","scrollHeight","mask","loadingIcon","pcFilterContainer","pcFilterInput","wrapper","rootChildren","node","_ref2","instance","leaf","nodeContent","_ref3","styleClass","selectable","checkboxMode","$parentInstance","highlightOnSelect","checked","selected","nodeToggleButton","nodeToggleIcon","nodeCheckbox","nodeIcon","nodeLabel","nodeChildren","BaseStyle","extend","name","style"],"mappings":";;;AAGA,IAAMA,OAAO,GAAG;AACZC,EAAAA,IAAI,EAAE,SAANA,IAAIA,CAAAC,IAAA,EAAA;AAAA,IAAA,IAAKC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAA,OAAO,CACjB,oBAAoB,EACpB;AACI,MAAA,mBAAmB,EAAEA,KAAK,CAACC,aAAa,IAAI,IAAI;MAChD,gBAAgB,EAAED,KAAK,CAACE,OAAO;AAC/B,MAAA,wBAAwB,EAAEF,KAAK,CAACG,YAAY,KAAK;AACrD,KAAC,CACJ;AAAA,GAAA;AACDC,EAAAA,IAAI,EAAE,4BAA4B;AAClCC,EAAAA,WAAW,EAAE,qBAAqB;AAClCC,EAAAA,iBAAiB,EAAE,eAAe;AAClCC,EAAAA,aAAa,EAAE,qBAAqB;AACpCC,EAAAA,OAAO,EAAE,aAAa;AAAE;AACxBC,EAAAA,YAAY,EAAE,sBAAsB;AACpCC,EAAAA,IAAI,EAAE,SAANA,IAAIA,CAAAC,KAAA,EAAA;AAAA,IAAA,IAAKC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;IAAA,OAAO,CAAC,aAAa,EAAE;MAAE,kBAAkB,EAAEA,QAAQ,CAACC;AAAK,KAAC,CAAC;AAAA,GAAA;AAC9EC,EAAAA,WAAW,EAAE,SAAbA,WAAWA,CAAAC,KAAA,EAAA;AAAA,IAAA,IAAKH,QAAQ,GAAAG,KAAA,CAARH,QAAQ;IAAA,OAAO,CAC3B,qBAAqB,EACrBA,QAAQ,CAACF,IAAI,CAACM,UAAU,EACxB;MACI,wBAAwB,EAAEJ,QAAQ,CAACK,UAAU;AAC7C,MAAA,sBAAsB,EAAEL,QAAQ,CAACM,YAAY,IAAIN,QAAQ,CAACO,eAAe,CAACC,iBAAiB,GAAGR,QAAQ,CAACS,OAAO,GAAGT,QAAQ,CAACU;AAC9H,KAAC,CACJ;AAAA,GAAA;AACDC,EAAAA,gBAAgB,EAAE,2BAA2B;AAC7CC,EAAAA,cAAc,EAAE,yBAAyB;AACzCC,EAAAA,YAAY,EAAE,sBAAsB;AACpCC,EAAAA,QAAQ,EAAE,kBAAkB;AAC5BC,EAAAA,SAAS,EAAE,mBAAmB;AAC9BC,EAAAA,YAAY,EAAE;AAClB,CAAC;AAED,gBAAeC,SAAS,CAACC,MAAM,CAAC;AAC5BC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,KAAK,EAALA,KAAK;AACLnC,EAAAA,OAAO,EAAPA;AACJ,CAAC,CAAC;;;;"}