primeng 16.7.1 → 16.8.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 (423) hide show
  1. package/README.md +1 -0
  2. package/calendar/calendar.d.ts +10 -1
  3. package/chart/chart.d.ts +11 -1
  4. package/chips/chips.d.ts +1 -2
  5. package/confirmdialog/confirmdialog.d.ts +1 -1
  6. package/dropdown/dropdown.d.ts +5 -2
  7. package/esm2022/accordion/accordion.mjs +10 -10
  8. package/esm2022/animate/animate.mjs +7 -7
  9. package/esm2022/animateonscroll/animateonscroll.mjs +7 -7
  10. package/esm2022/api/confirmationservice.mjs +3 -3
  11. package/esm2022/api/contextmenuservice.mjs +3 -3
  12. package/esm2022/api/filterservice.mjs +3 -3
  13. package/esm2022/api/messageservice.mjs +3 -3
  14. package/esm2022/api/overlayservice.mjs +3 -3
  15. package/esm2022/api/primengconfig.mjs +3 -3
  16. package/esm2022/api/shared.mjs +13 -13
  17. package/esm2022/api/treedragdropservice.mjs +3 -3
  18. package/esm2022/autocomplete/autocomplete.mjs +35 -16
  19. package/esm2022/autofocus/autofocus.mjs +7 -7
  20. package/esm2022/avatar/avatar.mjs +7 -7
  21. package/esm2022/avatargroup/avatargroup.mjs +7 -7
  22. package/esm2022/badge/badge.mjs +10 -10
  23. package/esm2022/baseicon/baseicon.mjs +3 -3
  24. package/esm2022/blockui/blockui.mjs +7 -7
  25. package/esm2022/breadcrumb/breadcrumb.mjs +7 -7
  26. package/esm2022/button/button.mjs +10 -10
  27. package/esm2022/calendar/calendar.mjs +177 -32
  28. package/esm2022/card/card.mjs +7 -7
  29. package/esm2022/carousel/carousel.mjs +7 -7
  30. package/esm2022/cascadeselect/cascadeselect.mjs +10 -10
  31. package/esm2022/chart/chart.mjs +24 -10
  32. package/esm2022/checkbox/checkbox.mjs +7 -7
  33. package/esm2022/chip/chip.mjs +7 -7
  34. package/esm2022/chips/chips.mjs +15 -18
  35. package/esm2022/colorpicker/colorpicker.mjs +7 -7
  36. package/esm2022/confirmdialog/confirmdialog.mjs +8 -8
  37. package/esm2022/confirmpopup/confirmpopup.mjs +7 -7
  38. package/esm2022/contextmenu/contextmenu.mjs +10 -10
  39. package/esm2022/dataview/dataview.mjs +10 -10
  40. package/esm2022/defer/defer.mjs +7 -7
  41. package/esm2022/dialog/dialog.mjs +9 -9
  42. package/esm2022/divider/divider.mjs +7 -7
  43. package/esm2022/dock/dock.mjs +7 -7
  44. package/esm2022/dragdrop/dragdrop.mjs +10 -10
  45. package/esm2022/dropdown/dropdown.mjs +82 -48
  46. package/esm2022/dynamicdialog/dialogservice.mjs +3 -3
  47. package/esm2022/dynamicdialog/dynamicdialog.mjs +7 -7
  48. package/esm2022/dynamicdialog/dynamicdialogcontent.mjs +3 -3
  49. package/esm2022/editor/editor.mjs +7 -7
  50. package/esm2022/fieldset/fieldset.mjs +7 -7
  51. package/esm2022/fileupload/fileupload.mjs +20 -13
  52. package/esm2022/focustrap/focustrap.mjs +7 -7
  53. package/esm2022/galleria/galleria.mjs +19 -19
  54. package/esm2022/icons/angledoubledown/angledoubledown.mjs +3 -3
  55. package/esm2022/icons/angledoubleleft/angledoubleleft.mjs +3 -3
  56. package/esm2022/icons/angledoubleright/angledoubleright.mjs +3 -3
  57. package/esm2022/icons/angledoubleup/angledoubleup.mjs +3 -3
  58. package/esm2022/icons/angledown/angledown.mjs +3 -3
  59. package/esm2022/icons/angleleft/angleleft.mjs +3 -3
  60. package/esm2022/icons/angleright/angleright.mjs +3 -3
  61. package/esm2022/icons/angleup/angleup.mjs +3 -3
  62. package/esm2022/icons/arrowdown/arrowdown.mjs +3 -3
  63. package/esm2022/icons/arrowdownleft/arrowdownleft.mjs +3 -3
  64. package/esm2022/icons/arrowdownright/arrowdownright.mjs +3 -3
  65. package/esm2022/icons/arrowleft/arrowleft.mjs +3 -3
  66. package/esm2022/icons/arrowright/arrowright.mjs +3 -3
  67. package/esm2022/icons/arrowup/arrowup.mjs +3 -3
  68. package/esm2022/icons/ban/ban.mjs +3 -3
  69. package/esm2022/icons/bars/bars.mjs +3 -3
  70. package/esm2022/icons/calendar/calendar.mjs +3 -3
  71. package/esm2022/icons/caretleft/caretleft.mjs +3 -3
  72. package/esm2022/icons/caretright/caretright.mjs +3 -3
  73. package/esm2022/icons/check/check.mjs +3 -3
  74. package/esm2022/icons/chevrondown/chevrondown.mjs +3 -3
  75. package/esm2022/icons/chevronleft/chevronleft.mjs +3 -3
  76. package/esm2022/icons/chevronright/chevronright.mjs +3 -3
  77. package/esm2022/icons/chevronup/chevronup.mjs +3 -3
  78. package/esm2022/icons/exclamationtriangle/exclamationtriangle.mjs +3 -3
  79. package/esm2022/icons/eye/eye.mjs +3 -3
  80. package/esm2022/icons/eyeslash/eyeslash.mjs +3 -3
  81. package/esm2022/icons/filter/filter.mjs +3 -3
  82. package/esm2022/icons/filterslash/filterslash.mjs +3 -3
  83. package/esm2022/icons/home/home.mjs +3 -3
  84. package/esm2022/icons/infocircle/infocircle.mjs +3 -3
  85. package/esm2022/icons/minus/minus.mjs +3 -3
  86. package/esm2022/icons/pencil/pencil.mjs +3 -3
  87. package/esm2022/icons/plus/plus.mjs +3 -3
  88. package/esm2022/icons/refresh/refresh.mjs +3 -3
  89. package/esm2022/icons/search/search.mjs +3 -3
  90. package/esm2022/icons/searchminus/searchminus.mjs +3 -3
  91. package/esm2022/icons/searchplus/searchplus.mjs +3 -3
  92. package/esm2022/icons/sortalt/sortalt.mjs +3 -3
  93. package/esm2022/icons/sortamountdown/sortamountdown.mjs +3 -3
  94. package/esm2022/icons/sortamountupalt/sortamountupalt.mjs +3 -3
  95. package/esm2022/icons/spinner/spinner.mjs +3 -3
  96. package/esm2022/icons/star/star.mjs +3 -3
  97. package/esm2022/icons/starfill/starfill.mjs +3 -3
  98. package/esm2022/icons/thlarge/thlarge.mjs +3 -3
  99. package/esm2022/icons/times/times.mjs +3 -3
  100. package/esm2022/icons/timescircle/timescircle.mjs +3 -3
  101. package/esm2022/icons/trash/trash.mjs +3 -3
  102. package/esm2022/icons/undo/undo.mjs +3 -3
  103. package/esm2022/icons/upload/upload.mjs +3 -3
  104. package/esm2022/icons/windowmaximize/windowmaximize.mjs +3 -3
  105. package/esm2022/icons/windowminimize/windowminimize.mjs +3 -3
  106. package/esm2022/image/image.mjs +10 -10
  107. package/esm2022/inplace/inplace.mjs +13 -13
  108. package/esm2022/inputmask/inputmask.mjs +7 -7
  109. package/esm2022/inputnumber/inputnumber.mjs +7 -7
  110. package/esm2022/inputswitch/inputswitch.mjs +7 -7
  111. package/esm2022/inputtext/inputtext.mjs +7 -7
  112. package/esm2022/inputtextarea/inputtextarea.mjs +7 -7
  113. package/esm2022/keyfilter/keyfilter.mjs +7 -7
  114. package/esm2022/knob/knob.mjs +7 -7
  115. package/esm2022/listbox/listbox.interface.mjs +1 -1
  116. package/esm2022/listbox/listbox.mjs +51 -17
  117. package/esm2022/megamenu/megamenu.mjs +12 -14
  118. package/esm2022/menu/menu.mjs +13 -13
  119. package/esm2022/menubar/menubar.mjs +15 -15
  120. package/esm2022/message/message.mjs +7 -7
  121. package/esm2022/messages/messages.mjs +10 -10
  122. package/esm2022/multiselect/multiselect.interface.mjs +1 -1
  123. package/esm2022/multiselect/multiselect.mjs +94 -40
  124. package/esm2022/orderlist/orderlist.mjs +296 -100
  125. package/esm2022/organizationchart/organizationchart.mjs +54 -53
  126. package/esm2022/overlay/overlay.mjs +16 -13
  127. package/esm2022/overlaypanel/overlaypanel.mjs +7 -7
  128. package/esm2022/paginator/paginator.mjs +76 -25
  129. package/esm2022/panel/panel.mjs +10 -8
  130. package/esm2022/panelmenu/panelmenu.mjs +13 -13
  131. package/esm2022/password/password.mjs +13 -13
  132. package/esm2022/picklist/picklist.mjs +321 -118
  133. package/esm2022/progressbar/progressbar.mjs +7 -7
  134. package/esm2022/progressspinner/progressspinner.mjs +7 -7
  135. package/esm2022/radiobutton/radiobutton.mjs +10 -10
  136. package/esm2022/rating/rating.mjs +7 -7
  137. package/esm2022/ripple/ripple.mjs +7 -7
  138. package/esm2022/scroller/scroller.mjs +20 -16
  139. package/esm2022/scrollpanel/scrollpanel.mjs +7 -7
  140. package/esm2022/scrolltop/scrolltop.mjs +7 -7
  141. package/esm2022/selectbutton/selectbutton.mjs +11 -8
  142. package/esm2022/sidebar/sidebar.mjs +17 -8
  143. package/esm2022/skeleton/skeleton.mjs +7 -7
  144. package/esm2022/slidemenu/slidemenu.mjs +10 -10
  145. package/esm2022/slider/slider.mjs +7 -7
  146. package/esm2022/speeddial/speeddial.mjs +7 -7
  147. package/esm2022/spinner/spinner.mjs +7 -7
  148. package/esm2022/splitbutton/splitbutton.mjs +9 -8
  149. package/esm2022/splitter/splitter.mjs +7 -7
  150. package/esm2022/steps/steps.mjs +7 -7
  151. package/esm2022/styleclass/styleclass.mjs +7 -7
  152. package/esm2022/table/table.mjs +280 -147
  153. package/esm2022/tabmenu/tabmenu.mjs +7 -7
  154. package/esm2022/tabview/tabview.mjs +10 -10
  155. package/esm2022/tag/tag.mjs +7 -7
  156. package/esm2022/terminal/terminal.mjs +7 -7
  157. package/esm2022/terminal/terminalservice.mjs +3 -3
  158. package/esm2022/tieredmenu/tieredmenu.mjs +10 -10
  159. package/esm2022/timeline/timeline.mjs +25 -21
  160. package/esm2022/toast/toast.interface.mjs +1 -1
  161. package/esm2022/toast/toast.mjs +37 -18
  162. package/esm2022/togglebutton/togglebutton.mjs +7 -7
  163. package/esm2022/toolbar/toolbar.mjs +7 -7
  164. package/esm2022/tooltip/tooltip.mjs +9 -9
  165. package/esm2022/tree/tree.mjs +172 -92
  166. package/esm2022/treeselect/treeselect.mjs +134 -37
  167. package/esm2022/treetable/treetable.mjs +242 -128
  168. package/esm2022/tristatecheckbox/tristatecheckbox.mjs +12 -12
  169. package/esm2022/virtualscroller/virtualscroller.mjs +14 -14
  170. package/fesm2022/primeng-accordion.mjs +10 -10
  171. package/fesm2022/primeng-animate.mjs +7 -7
  172. package/fesm2022/primeng-animateonscroll.mjs +7 -7
  173. package/fesm2022/primeng-api.mjs +34 -34
  174. package/fesm2022/primeng-autocomplete.mjs +34 -15
  175. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  176. package/fesm2022/primeng-autofocus.mjs +7 -7
  177. package/fesm2022/primeng-avatar.mjs +7 -7
  178. package/fesm2022/primeng-avatargroup.mjs +7 -7
  179. package/fesm2022/primeng-badge.mjs +10 -10
  180. package/fesm2022/primeng-baseicon.mjs +3 -3
  181. package/fesm2022/primeng-blockui.mjs +7 -7
  182. package/fesm2022/primeng-breadcrumb.mjs +7 -7
  183. package/fesm2022/primeng-button.mjs +10 -10
  184. package/fesm2022/primeng-calendar.mjs +176 -31
  185. package/fesm2022/primeng-calendar.mjs.map +1 -1
  186. package/fesm2022/primeng-card.mjs +7 -7
  187. package/fesm2022/primeng-carousel.mjs +7 -7
  188. package/fesm2022/primeng-cascadeselect.mjs +10 -10
  189. package/fesm2022/primeng-chart.mjs +23 -9
  190. package/fesm2022/primeng-chart.mjs.map +1 -1
  191. package/fesm2022/primeng-checkbox.mjs +7 -7
  192. package/fesm2022/primeng-chip.mjs +7 -7
  193. package/fesm2022/primeng-chips.mjs +14 -17
  194. package/fesm2022/primeng-chips.mjs.map +1 -1
  195. package/fesm2022/primeng-colorpicker.mjs +7 -7
  196. package/fesm2022/primeng-confirmdialog.mjs +7 -7
  197. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  198. package/fesm2022/primeng-confirmpopup.mjs +7 -7
  199. package/fesm2022/primeng-contextmenu.mjs +10 -10
  200. package/fesm2022/primeng-dataview.mjs +10 -10
  201. package/fesm2022/primeng-defer.mjs +7 -7
  202. package/fesm2022/primeng-dialog.mjs +8 -8
  203. package/fesm2022/primeng-dialog.mjs.map +1 -1
  204. package/fesm2022/primeng-divider.mjs +7 -7
  205. package/fesm2022/primeng-dock.mjs +7 -7
  206. package/fesm2022/primeng-dragdrop.mjs +10 -10
  207. package/fesm2022/primeng-dropdown.mjs +81 -47
  208. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  209. package/fesm2022/primeng-dynamicdialog.mjs +13 -13
  210. package/fesm2022/primeng-editor.mjs +7 -7
  211. package/fesm2022/primeng-fieldset.mjs +7 -7
  212. package/fesm2022/primeng-fileupload.mjs +19 -12
  213. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  214. package/fesm2022/primeng-focustrap.mjs +7 -7
  215. package/fesm2022/primeng-galleria.mjs +19 -19
  216. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  217. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  218. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  219. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  220. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  221. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  222. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  223. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  224. package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
  225. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  226. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  227. package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
  228. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  229. package/fesm2022/primeng-icons-arrowup.mjs +3 -3
  230. package/fesm2022/primeng-icons-ban.mjs +3 -3
  231. package/fesm2022/primeng-icons-bars.mjs +3 -3
  232. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  233. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  234. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  235. package/fesm2022/primeng-icons-check.mjs +3 -3
  236. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  237. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  238. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  239. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  240. package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
  241. package/fesm2022/primeng-icons-eye.mjs +3 -3
  242. package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
  243. package/fesm2022/primeng-icons-filter.mjs +3 -3
  244. package/fesm2022/primeng-icons-filterslash.mjs +3 -3
  245. package/fesm2022/primeng-icons-home.mjs +3 -3
  246. package/fesm2022/primeng-icons-infocircle.mjs +3 -3
  247. package/fesm2022/primeng-icons-minus.mjs +3 -3
  248. package/fesm2022/primeng-icons-pencil.mjs +3 -3
  249. package/fesm2022/primeng-icons-plus.mjs +3 -3
  250. package/fesm2022/primeng-icons-refresh.mjs +3 -3
  251. package/fesm2022/primeng-icons-search.mjs +3 -3
  252. package/fesm2022/primeng-icons-searchminus.mjs +3 -3
  253. package/fesm2022/primeng-icons-searchplus.mjs +3 -3
  254. package/fesm2022/primeng-icons-sortalt.mjs +3 -3
  255. package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
  256. package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
  257. package/fesm2022/primeng-icons-spinner.mjs +3 -3
  258. package/fesm2022/primeng-icons-star.mjs +3 -3
  259. package/fesm2022/primeng-icons-starfill.mjs +3 -3
  260. package/fesm2022/primeng-icons-thlarge.mjs +3 -3
  261. package/fesm2022/primeng-icons-times.mjs +3 -3
  262. package/fesm2022/primeng-icons-timescircle.mjs +3 -3
  263. package/fesm2022/primeng-icons-trash.mjs +3 -3
  264. package/fesm2022/primeng-icons-undo.mjs +3 -3
  265. package/fesm2022/primeng-icons-upload.mjs +3 -3
  266. package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
  267. package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
  268. package/fesm2022/primeng-image.mjs +9 -9
  269. package/fesm2022/primeng-image.mjs.map +1 -1
  270. package/fesm2022/primeng-inplace.mjs +13 -13
  271. package/fesm2022/primeng-inputmask.mjs +7 -7
  272. package/fesm2022/primeng-inputnumber.mjs +7 -7
  273. package/fesm2022/primeng-inputswitch.mjs +7 -7
  274. package/fesm2022/primeng-inputtext.mjs +7 -7
  275. package/fesm2022/primeng-inputtextarea.mjs +7 -7
  276. package/fesm2022/primeng-keyfilter.mjs +7 -7
  277. package/fesm2022/primeng-knob.mjs +7 -7
  278. package/fesm2022/primeng-listbox.mjs +50 -16
  279. package/fesm2022/primeng-listbox.mjs.map +1 -1
  280. package/fesm2022/primeng-megamenu.mjs +11 -13
  281. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  282. package/fesm2022/primeng-menu.mjs +13 -13
  283. package/fesm2022/primeng-menubar.mjs +14 -14
  284. package/fesm2022/primeng-menubar.mjs.map +1 -1
  285. package/fesm2022/primeng-message.mjs +7 -7
  286. package/fesm2022/primeng-messages.mjs +9 -9
  287. package/fesm2022/primeng-messages.mjs.map +1 -1
  288. package/fesm2022/primeng-multiselect.mjs +93 -39
  289. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  290. package/fesm2022/primeng-orderlist.mjs +299 -103
  291. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  292. package/fesm2022/primeng-organizationchart.mjs +52 -50
  293. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  294. package/fesm2022/primeng-overlay.mjs +15 -12
  295. package/fesm2022/primeng-overlay.mjs.map +1 -1
  296. package/fesm2022/primeng-overlaypanel.mjs +7 -7
  297. package/fesm2022/primeng-paginator.mjs +79 -27
  298. package/fesm2022/primeng-paginator.mjs.map +1 -1
  299. package/fesm2022/primeng-panel.mjs +9 -7
  300. package/fesm2022/primeng-panel.mjs.map +1 -1
  301. package/fesm2022/primeng-panelmenu.mjs +13 -13
  302. package/fesm2022/primeng-password.mjs +13 -13
  303. package/fesm2022/primeng-picklist.mjs +324 -121
  304. package/fesm2022/primeng-picklist.mjs.map +1 -1
  305. package/fesm2022/primeng-progressbar.mjs +7 -7
  306. package/fesm2022/primeng-progressspinner.mjs +7 -7
  307. package/fesm2022/primeng-radiobutton.mjs +10 -10
  308. package/fesm2022/primeng-rating.mjs +7 -7
  309. package/fesm2022/primeng-ripple.mjs +7 -7
  310. package/fesm2022/primeng-scroller.mjs +19 -15
  311. package/fesm2022/primeng-scroller.mjs.map +1 -1
  312. package/fesm2022/primeng-scrollpanel.mjs +7 -7
  313. package/fesm2022/primeng-scrolltop.mjs +7 -7
  314. package/fesm2022/primeng-selectbutton.mjs +10 -7
  315. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  316. package/fesm2022/primeng-sidebar.mjs +16 -7
  317. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  318. package/fesm2022/primeng-skeleton.mjs +7 -7
  319. package/fesm2022/primeng-slidemenu.mjs +10 -10
  320. package/fesm2022/primeng-slider.mjs +7 -7
  321. package/fesm2022/primeng-speeddial.mjs +7 -7
  322. package/fesm2022/primeng-spinner.mjs +7 -7
  323. package/fesm2022/primeng-splitbutton.mjs +8 -7
  324. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  325. package/fesm2022/primeng-splitter.mjs +7 -7
  326. package/fesm2022/primeng-steps.mjs +7 -7
  327. package/fesm2022/primeng-styleclass.mjs +7 -7
  328. package/fesm2022/primeng-table.mjs +279 -146
  329. package/fesm2022/primeng-table.mjs.map +1 -1
  330. package/fesm2022/primeng-tabmenu.mjs +7 -7
  331. package/fesm2022/primeng-tabview.mjs +10 -10
  332. package/fesm2022/primeng-tag.mjs +7 -7
  333. package/fesm2022/primeng-terminal.mjs +10 -10
  334. package/fesm2022/primeng-tieredmenu.mjs +10 -10
  335. package/fesm2022/primeng-timeline.mjs +25 -21
  336. package/fesm2022/primeng-timeline.mjs.map +1 -1
  337. package/fesm2022/primeng-toast.mjs +36 -17
  338. package/fesm2022/primeng-toast.mjs.map +1 -1
  339. package/fesm2022/primeng-togglebutton.mjs +7 -7
  340. package/fesm2022/primeng-toolbar.mjs +7 -7
  341. package/fesm2022/primeng-tooltip.mjs +8 -8
  342. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  343. package/fesm2022/primeng-tree.mjs +171 -91
  344. package/fesm2022/primeng-tree.mjs.map +1 -1
  345. package/fesm2022/primeng-treeselect.mjs +133 -36
  346. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  347. package/fesm2022/primeng-treetable.mjs +241 -127
  348. package/fesm2022/primeng-treetable.mjs.map +1 -1
  349. package/fesm2022/primeng-tristatecheckbox.mjs +11 -11
  350. package/fesm2022/primeng-tristatecheckbox.mjs.map +1 -1
  351. package/fesm2022/primeng-virtualscroller.mjs +13 -13
  352. package/fesm2022/primeng-virtualscroller.mjs.map +1 -1
  353. package/listbox/listbox.d.ts +19 -2
  354. package/listbox/listbox.interface.d.ts +15 -0
  355. package/multiselect/multiselect.d.ts +29 -5
  356. package/multiselect/multiselect.interface.d.ts +15 -0
  357. package/orderlist/orderlist.d.ts +43 -7
  358. package/organizationchart/organizationchart.d.ts +3 -4
  359. package/overlay/overlay.d.ts +3 -2
  360. package/package.json +156 -156
  361. package/paginator/paginator.d.ts +3 -3
  362. package/picklist/picklist.d.ts +9 -4
  363. package/resources/components/messages/messages.css +1 -0
  364. package/resources/components/toast/toast.css +1 -0
  365. package/resources/components/tristatecheckbox/tristatecheckbox.css +5 -0
  366. package/resources/themes/arya-blue/theme.css +37 -15
  367. package/resources/themes/arya-green/theme.css +37 -15
  368. package/resources/themes/arya-orange/theme.css +37 -15
  369. package/resources/themes/arya-purple/theme.css +37 -15
  370. package/resources/themes/bootstrap4-dark-blue/theme.css +37 -15
  371. package/resources/themes/bootstrap4-dark-purple/theme.css +37 -15
  372. package/resources/themes/bootstrap4-light-blue/theme.css +37 -15
  373. package/resources/themes/bootstrap4-light-purple/theme.css +37 -15
  374. package/resources/themes/fluent-light/theme.css +37 -15
  375. package/resources/themes/lara-dark-blue/theme.css +37 -15
  376. package/resources/themes/lara-dark-indigo/theme.css +37 -15
  377. package/resources/themes/lara-dark-purple/theme.css +37 -15
  378. package/resources/themes/lara-dark-teal/theme.css +37 -15
  379. package/resources/themes/lara-light-blue/theme.css +37 -15
  380. package/resources/themes/lara-light-indigo/theme.css +37 -15
  381. package/resources/themes/lara-light-purple/theme.css +37 -15
  382. package/resources/themes/lara-light-teal/theme.css +37 -15
  383. package/resources/themes/luna-amber/theme.css +37 -15
  384. package/resources/themes/luna-blue/theme.css +37 -15
  385. package/resources/themes/luna-green/theme.css +37 -15
  386. package/resources/themes/luna-pink/theme.css +37 -15
  387. package/resources/themes/md-dark-deeppurple/theme.css +37 -15
  388. package/resources/themes/md-dark-indigo/theme.css +37 -15
  389. package/resources/themes/md-light-deeppurple/theme.css +37 -15
  390. package/resources/themes/md-light-indigo/theme.css +37 -15
  391. package/resources/themes/mdc-dark-deeppurple/theme.css +37 -15
  392. package/resources/themes/mdc-dark-indigo/theme.css +37 -15
  393. package/resources/themes/mdc-light-deeppurple/theme.css +37 -15
  394. package/resources/themes/mdc-light-indigo/theme.css +37 -15
  395. package/resources/themes/mira/theme.css +37 -15
  396. package/resources/themes/nano/theme.css +37 -15
  397. package/resources/themes/nova/theme.css +37 -15
  398. package/resources/themes/nova-accent/theme.css +37 -15
  399. package/resources/themes/nova-alt/theme.css +37 -15
  400. package/resources/themes/rhea/theme.css +37 -15
  401. package/resources/themes/saga-blue/theme.css +37 -15
  402. package/resources/themes/saga-green/theme.css +37 -15
  403. package/resources/themes/saga-orange/theme.css +37 -15
  404. package/resources/themes/saga-purple/theme.css +37 -15
  405. package/resources/themes/soho-dark/theme.css +37 -15
  406. package/resources/themes/soho-light/theme.css +37 -15
  407. package/resources/themes/tailwind-light/theme.css +37 -15
  408. package/resources/themes/vela-blue/theme.css +37 -15
  409. package/resources/themes/vela-green/theme.css +37 -15
  410. package/resources/themes/vela-orange/theme.css +37 -15
  411. package/resources/themes/vela-purple/theme.css +37 -15
  412. package/resources/themes/viva-dark/theme.css +37 -15
  413. package/resources/themes/viva-light/theme.css +37 -15
  414. package/scroller/scroller.d.ts +2 -3
  415. package/sidebar/sidebar.d.ts +3 -2
  416. package/table/table.d.ts +22 -10
  417. package/timeline/timeline.d.ts +1 -1
  418. package/toast/toast.d.ts +4 -2
  419. package/toast/toast.interface.d.ts +1 -0
  420. package/tree/tree.d.ts +12 -1
  421. package/treeselect/treeselect.d.ts +14 -1
  422. package/treetable/treetable.d.ts +16 -2
  423. package/virtualscroller/virtualscroller.d.ts +1 -2
@@ -14,7 +14,7 @@ import { OverlayModule } from 'primeng/overlay';
14
14
  import { RippleModule } from 'primeng/ripple';
15
15
  import * as i4 from 'primeng/tree';
16
16
  import { TreeModule } from 'primeng/tree';
17
- import { ObjectUtils } from 'primeng/utils';
17
+ import { UniqueComponentId, ObjectUtils } from 'primeng/utils';
18
18
 
19
19
  const TREESELECT_VALUE_ACCESSOR = {
20
20
  provide: NG_VALUE_ACCESSOR,
@@ -64,7 +64,12 @@ class TreeSelect {
64
64
  * Index of the element in tabbing order.
65
65
  * @group Props
66
66
  */
67
- tabindex;
67
+ tabindex = '0';
68
+ /**
69
+ * Defines a string that labels the input for accessibility.
70
+ * @group Props
71
+ */
72
+ ariaLabel;
68
73
  /**
69
74
  * Establishes relationships between the component and label(s) where its value should be one or more element IDs.
70
75
  * @group Props
@@ -266,6 +271,8 @@ class TreeSelect {
266
271
  treeViewChild;
267
272
  panelEl;
268
273
  overlayViewChild;
274
+ firstHiddenFocusableElementOnOverlay;
275
+ lastHiddenFocusableElementOnOverlay;
269
276
  filteredNodes;
270
277
  filterValue = null;
271
278
  serializedValue;
@@ -289,6 +296,7 @@ class TreeSelect {
289
296
  templateMap;
290
297
  onModelChange = () => { };
291
298
  onModelTouched = () => { };
299
+ listId = '';
292
300
  constructor(config, cd, el, overlayService) {
293
301
  this.config = config;
294
302
  this.cd = cd;
@@ -296,6 +304,7 @@ class TreeSelect {
296
304
  this.overlayService = overlayService;
297
305
  }
298
306
  ngOnInit() {
307
+ this.listId = UniqueComponentId() + '_list';
299
308
  this.updateTreeState();
300
309
  }
301
310
  ngAfterContentInit() {
@@ -353,6 +362,12 @@ class TreeSelect {
353
362
  ObjectUtils.isNotEmpty(this.filterValue) && this.treeViewChild?._filter(this.filterValue);
354
363
  this.filterInputAutoFocus && this.filterViewChild?.nativeElement.focus();
355
364
  }
365
+ else {
366
+ let focusableElements = DomHandler.getFocusableElements(this.panelEl.nativeElement);
367
+ if (focusableElements && focusableElements.length > 0) {
368
+ focusableElements[0].focus();
369
+ }
370
+ }
356
371
  break;
357
372
  }
358
373
  }
@@ -376,39 +391,35 @@ class TreeSelect {
376
391
  }
377
392
  }
378
393
  onKeyDown(event) {
379
- switch (event.which) {
394
+ switch (event.code) {
380
395
  //down
381
- case 40:
382
- if (!this.overlayVisible && event.altKey) {
396
+ case 'ArrowDown':
397
+ if (!this.overlayVisible) {
383
398
  this.show();
384
399
  event.preventDefault();
385
400
  }
386
- else if (this.overlayVisible && this.panelEl?.nativeElement) {
387
- let focusableElements = DomHandler.getFocusableElements(this.panelEl.nativeElement);
388
- if (focusableElements && focusableElements.length > 0) {
389
- focusableElements[0].focus();
390
- }
391
- event.preventDefault();
392
- }
401
+ this.onArrowDown(event);
402
+ event.preventDefault();
393
403
  break;
394
404
  //space
395
- case 32:
405
+ case 'Space':
406
+ case 'Enter':
396
407
  if (!this.overlayVisible) {
397
408
  this.show();
398
409
  event.preventDefault();
399
410
  }
400
411
  break;
401
- //enter and escape
402
- case 13:
403
- case 27:
412
+ //escape
413
+ case 'Escape':
404
414
  if (this.overlayVisible) {
405
415
  this.hide();
416
+ this.focusInput?.nativeElement.focus();
406
417
  event.preventDefault();
407
418
  }
408
419
  break;
409
420
  //tab
410
- case 9:
411
- this.hide();
421
+ case 'Tab':
422
+ this.onTabKey(event);
412
423
  break;
413
424
  default:
414
425
  break;
@@ -422,6 +433,23 @@ class TreeSelect {
422
433
  filteredValue: this.treeViewChild?.filteredNodes
423
434
  });
424
435
  }
436
+ onArrowDown(event) {
437
+ if (this.overlayVisible && this.panelEl?.nativeElement) {
438
+ let focusableElements = DomHandler.getFocusableElements(this.panelEl.nativeElement, '.p-treenode');
439
+ if (focusableElements && focusableElements.length > 0) {
440
+ focusableElements[0].focus();
441
+ }
442
+ event.preventDefault();
443
+ }
444
+ }
445
+ onFirstHiddenFocus(event) {
446
+ const focusableEl = event.relatedTarget === this.focusInput?.nativeElement ? DomHandler.getFirstFocusableElement(this.overlayViewChild?.overlayViewChild?.nativeElement, ':not([data-p-hidden-focusable="true"])') : this.focusInput?.nativeElement;
447
+ DomHandler.focus(focusableEl);
448
+ }
449
+ onLastHiddenFocus(event) {
450
+ const focusableEl = event.relatedTarget === this.focusInput?.nativeElement ? DomHandler.getLastFocusableElement(this.overlayViewChild?.overlayViewChild?.nativeElement, ':not([data-p-hidden-focusable="true"])') : this.focusInput?.nativeElement;
451
+ DomHandler.focus(focusableEl);
452
+ }
425
453
  show() {
426
454
  this.overlayVisible = true;
427
455
  }
@@ -442,6 +470,20 @@ class TreeSelect {
442
470
  checkValue() {
443
471
  return this.value !== null && ObjectUtils.isNotEmpty(this.value);
444
472
  }
473
+ onTabKey(event, pressedInInputText = false) {
474
+ if (!pressedInInputText) {
475
+ if (this.overlayVisible && this.hasFocusableElements()) {
476
+ DomHandler.focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay.nativeElement : this.firstHiddenFocusableElementOnOverlay.nativeElement);
477
+ event.preventDefault();
478
+ }
479
+ else {
480
+ this.overlayVisible && this.hide(this.filter);
481
+ }
482
+ }
483
+ }
484
+ hasFocusableElements() {
485
+ return DomHandler.getFocusableElements(this.overlayViewChild.overlayViewChild.nativeElement, ':not([data-p-hidden-focusable="true"])').length > 0;
486
+ }
445
487
  resetFilter() {
446
488
  if (this.filter && !this.resetFilterOnHide) {
447
489
  this.filteredNodes = this.treeViewChild?.filteredNodes;
@@ -555,6 +597,7 @@ class TreeSelect {
555
597
  this.onNodeSelect.emit(event);
556
598
  if (this.selectionMode === 'single') {
557
599
  this.hide();
600
+ this.focusInput?.nativeElement.focus();
558
601
  }
559
602
  }
560
603
  onUnselect(event) {
@@ -606,24 +649,26 @@ class TreeSelect {
606
649
  let value = this.value || [];
607
650
  return value.length ? value.map((node) => node.label).join(', ') : this.selectionMode === 'single' && this.value ? value.label : this.placeholder;
608
651
  }
609
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: TreeSelect, deps: [{ token: i1.PrimeNGConfig }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
610
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: TreeSelect, selector: "p-treeSelect", inputs: { inputId: "inputId", scrollHeight: "scrollHeight", disabled: "disabled", metaKeySelection: "metaKeySelection", display: "display", selectionMode: "selectionMode", tabindex: "tabindex", ariaLabelledBy: "ariaLabelledBy", placeholder: "placeholder", panelClass: "panelClass", panelStyle: "panelStyle", panelStyleClass: "panelStyleClass", containerStyle: "containerStyle", containerStyleClass: "containerStyleClass", labelStyle: "labelStyle", labelStyleClass: "labelStyleClass", overlayOptions: "overlayOptions", emptyMessage: "emptyMessage", appendTo: "appendTo", filter: "filter", filterBy: "filterBy", filterMode: "filterMode", filterPlaceholder: "filterPlaceholder", filterLocale: "filterLocale", filterInputAutoFocus: "filterInputAutoFocus", propagateSelectionDown: "propagateSelectionDown", propagateSelectionUp: "propagateSelectionUp", showClear: "showClear", resetFilterOnHide: "resetFilterOnHide", options: "options", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions" }, outputs: { onNodeExpand: "onNodeExpand", onNodeCollapse: "onNodeCollapse", onShow: "onShow", onHide: "onHide", onClear: "onClear", onFilter: "onFilter", onNodeUnselect: "onNodeUnselect", onNodeSelect: "onNodeSelect" }, host: { properties: { "class.p-inputwrapper-filled": "!emptyValue", "class.p-inputwrapper-focus": "focused || overlayVisible", "class.p-treeselect-clearable": "showClear && !disabled" }, classAttribute: "p-element p-inputwrapper" }, providers: [TREESELECT_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerEl", first: true, predicate: ["container"], descendants: true }, { propertyName: "focusInput", first: true, predicate: ["focusInput"], descendants: true }, { propertyName: "filterViewChild", first: true, predicate: ["filter"], descendants: true }, { propertyName: "treeViewChild", first: true, predicate: ["tree"], descendants: true }, { propertyName: "panelEl", first: true, predicate: ["panel"], descendants: true }, { propertyName: "overlayViewChild", first: true, predicate: ["overlay"], descendants: true }], ngImport: i0, template: `
652
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TreeSelect, deps: [{ token: i1.PrimeNGConfig }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
653
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: TreeSelect, selector: "p-treeSelect", inputs: { inputId: "inputId", scrollHeight: "scrollHeight", disabled: "disabled", metaKeySelection: "metaKeySelection", display: "display", selectionMode: "selectionMode", tabindex: "tabindex", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", placeholder: "placeholder", panelClass: "panelClass", panelStyle: "panelStyle", panelStyleClass: "panelStyleClass", containerStyle: "containerStyle", containerStyleClass: "containerStyleClass", labelStyle: "labelStyle", labelStyleClass: "labelStyleClass", overlayOptions: "overlayOptions", emptyMessage: "emptyMessage", appendTo: "appendTo", filter: "filter", filterBy: "filterBy", filterMode: "filterMode", filterPlaceholder: "filterPlaceholder", filterLocale: "filterLocale", filterInputAutoFocus: "filterInputAutoFocus", propagateSelectionDown: "propagateSelectionDown", propagateSelectionUp: "propagateSelectionUp", showClear: "showClear", resetFilterOnHide: "resetFilterOnHide", options: "options", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions" }, outputs: { onNodeExpand: "onNodeExpand", onNodeCollapse: "onNodeCollapse", onShow: "onShow", onHide: "onHide", onClear: "onClear", onFilter: "onFilter", onNodeUnselect: "onNodeUnselect", onNodeSelect: "onNodeSelect" }, host: { properties: { "class.p-inputwrapper-filled": "!emptyValue", "class.p-inputwrapper-focus": "focused", "class.p-treeselect-clearable": "showClear && !disabled" }, classAttribute: "p-element p-inputwrapper" }, providers: [TREESELECT_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerEl", first: true, predicate: ["container"], descendants: true }, { propertyName: "focusInput", first: true, predicate: ["focusInput"], descendants: true }, { propertyName: "filterViewChild", first: true, predicate: ["filter"], descendants: true }, { propertyName: "treeViewChild", first: true, predicate: ["tree"], descendants: true }, { propertyName: "panelEl", first: true, predicate: ["panel"], descendants: true }, { propertyName: "overlayViewChild", first: true, predicate: ["overlay"], descendants: true }, { propertyName: "firstHiddenFocusableElementOnOverlay", first: true, predicate: ["firstHiddenFocusableEl"], descendants: true }, { propertyName: "lastHiddenFocusableElementOnOverlay", first: true, predicate: ["lastHiddenFocusableEl"], descendants: true }], ngImport: i0, template: `
611
654
  <div #container [ngClass]="containerClass()" [class]="containerStyleClass" [ngStyle]="containerStyle" (click)="onClick($event)">
612
655
  <div class="p-hidden-accessible">
613
656
  <input
614
657
  #focusInput
615
658
  type="text"
616
- role="listbox"
659
+ role="combobox"
617
660
  [attr.id]="inputId"
618
661
  readonly
619
662
  [disabled]="disabled"
620
663
  (focus)="onFocus()"
621
664
  (blur)="onBlur()"
622
665
  (keydown)="onKeyDown($event)"
623
- [attr.tabindex]="tabindex"
624
- aria-haspopup="true"
666
+ [attr.tabindex]="!disabled ? tabindex : -1"
667
+ [attr.aria-controls]="listId"
668
+ [attr.aria-haspopup]="'tree'"
625
669
  [attr.aria-expanded]="overlayVisible"
626
670
  [attr.aria-labelledby]="ariaLabelledBy"
671
+ [attr.aria-label]="ariaLabel || (label === 'p-emptylabel' ? undefined : label)"
627
672
  />
628
673
  </div>
629
674
  <div class="p-treeselect-label-container">
@@ -650,7 +695,7 @@ class TreeSelect {
650
695
  </span>
651
696
  </ng-container>
652
697
  </div>
653
- <div class="p-treeselect-trigger">
698
+ <div class="p-treeselect-trigger" role="button" aria-haspopup="tree" [attr.aria-expanded]="overlayVisible">
654
699
  <ChevronDownIcon *ngIf="!triggerIconTemplate" [styleClass]="'p-treeselect-trigger-icon'" />
655
700
  <span *ngIf="triggerIconTemplate" class="p-treeselect-trigger-icon">
656
701
  <ng-template *ngTemplateOutlet="triggerIconTemplate"></ng-template>
@@ -670,8 +715,19 @@ class TreeSelect {
670
715
  >
671
716
  <ng-template pTemplate="content">
672
717
  <div #panel class="p-treeselect-panel p-component" [ngStyle]="panelStyle" [class]="panelStyleClass" [ngClass]="panelClass">
718
+ <span
719
+ #firstHiddenFocusableEl
720
+ role="presentation"
721
+ [attr.aria-hidden]="'true'"
722
+ class="p-hidden-accessible p-hidden-focusable"
723
+ [attr.tabindex]="0"
724
+ (focus)="onFirstHiddenFocus($event)"
725
+ [attr.data-p-hidden-accessible]="true"
726
+ [attr.data-p-hidden-focusable]="true"
727
+ >
728
+ </span>
673
729
  <ng-container *ngTemplateOutlet="headerTemplate; context: { $implicit: value, options: options }"></ng-container>
674
- <div class="p-treeselect-header" *ngIf="filter">
730
+ <div class="p-treeselect-header" *ngIf="filter" (keydown.arrowdown)="onArrowDown($event)">
675
731
  <div class="p-treeselect-filter-container">
676
732
  <input
677
733
  #filter
@@ -734,13 +790,23 @@ class TreeSelect {
734
790
  </p-tree>
735
791
  </div>
736
792
  <ng-container *ngTemplateOutlet="footerTemplate; context: { $implicit: value, options: options }"></ng-container>
793
+ <span
794
+ #lastHiddenFocusableEl
795
+ role="presentation"
796
+ [attr.aria-hidden]="true"
797
+ class="p-hidden-accessible p-hidden-focusable"
798
+ [attr.tabindex]="0"
799
+ (focus)="onLastHiddenFocus($event)"
800
+ [attr.data-p-hidden-accessible]="true"
801
+ [attr.data-p-hidden-focusable]="true"
802
+ ></span>
737
803
  </div>
738
804
  </ng-template>
739
805
  </p-overlay>
740
806
  </div>
741
807
  `, isInline: true, styles: ["@layer primeng{.p-treeselect{display:inline-flex;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.p-treeselect-trigger{display:flex;align-items:center;justify-content:center;flex-shrink:0}.p-treeselect-label-container{overflow:hidden;flex:1 1 auto;cursor:pointer;display:flex}.p-treeselect-label{display:block;white-space:nowrap;cursor:pointer;overflow:hidden;text-overflow:ellipsis}.p-treeselect-label-empty{overflow:hidden;visibility:hidden}.p-treeselect-token{cursor:default;display:inline-flex;align-items:center;flex:0 0 auto}.p-treeselect-items-wrapper{overflow:auto}.p-treeselect-header{display:flex;align-items:center;justify-content:space-between}.p-treeselect-filter-container{position:relative;flex:1 1 auto}.p-treeselect-filter-icon{position:absolute;top:50%;margin-top:-.5rem}.p-treeselect-filter-container .p-inputtext{width:100%}.p-treeselect-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;position:relative;margin-left:auto}.p-treeselect-clear-icon{position:absolute;top:50%;margin-top:-.5rem}.p-fluid .p-treeselect{display:flex}.p-treeselect-clear-icon{position:absolute;top:50%;margin-top:-.5rem;cursor:pointer}.p-treeselect-clearable{position:relative}}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i2.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i0.forwardRef(function () { return i3.Overlay; }), selector: "p-overlay", inputs: ["visible", "mode", "style", "styleClass", "contentStyle", "contentStyleClass", "target", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "listener", "responsive", "options"], outputs: ["visibleChange", "onBeforeShow", "onShow", "onBeforeHide", "onHide", "onAnimationStart", "onAnimationDone"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.PrimeTemplate; }), selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i0.forwardRef(function () { return i4.Tree; }), selector: "p-tree", inputs: ["value", "selectionMode", "selection", "style", "styleClass", "contextMenu", "layout", "draggableScope", "droppableScope", "draggableNodes", "droppableNodes", "metaKeySelection", "propagateSelectionUp", "propagateSelectionDown", "loading", "loadingIcon", "emptyMessage", "ariaLabel", "togglerAriaLabel", "ariaLabelledBy", "validateDrop", "filter", "filterBy", "filterMode", "filterPlaceholder", "filteredNodes", "filterLocale", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "indentation", "_templateMap", "trackBy", "virtualNodeHeight"], outputs: ["selectionChange", "onNodeSelect", "onNodeUnselect", "onNodeExpand", "onNodeCollapse", "onNodeContextMenuSelect", "onNodeDrop", "onLazyLoad", "onScroll", "onScrollIndexChange", "onFilter"] }, { kind: "component", type: i0.forwardRef(function () { return SearchIcon; }), selector: "SearchIcon" }, { kind: "component", type: i0.forwardRef(function () { return TimesIcon; }), selector: "TimesIcon" }, { kind: "component", type: i0.forwardRef(function () { return ChevronDownIcon; }), selector: "ChevronDownIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
742
808
  }
743
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: TreeSelect, decorators: [{
809
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TreeSelect, decorators: [{
744
810
  type: Component,
745
811
  args: [{ selector: 'p-treeSelect', template: `
746
812
  <div #container [ngClass]="containerClass()" [class]="containerStyleClass" [ngStyle]="containerStyle" (click)="onClick($event)">
@@ -748,17 +814,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
748
814
  <input
749
815
  #focusInput
750
816
  type="text"
751
- role="listbox"
817
+ role="combobox"
752
818
  [attr.id]="inputId"
753
819
  readonly
754
820
  [disabled]="disabled"
755
821
  (focus)="onFocus()"
756
822
  (blur)="onBlur()"
757
823
  (keydown)="onKeyDown($event)"
758
- [attr.tabindex]="tabindex"
759
- aria-haspopup="true"
824
+ [attr.tabindex]="!disabled ? tabindex : -1"
825
+ [attr.aria-controls]="listId"
826
+ [attr.aria-haspopup]="'tree'"
760
827
  [attr.aria-expanded]="overlayVisible"
761
828
  [attr.aria-labelledby]="ariaLabelledBy"
829
+ [attr.aria-label]="ariaLabel || (label === 'p-emptylabel' ? undefined : label)"
762
830
  />
763
831
  </div>
764
832
  <div class="p-treeselect-label-container">
@@ -785,7 +853,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
785
853
  </span>
786
854
  </ng-container>
787
855
  </div>
788
- <div class="p-treeselect-trigger">
856
+ <div class="p-treeselect-trigger" role="button" aria-haspopup="tree" [attr.aria-expanded]="overlayVisible">
789
857
  <ChevronDownIcon *ngIf="!triggerIconTemplate" [styleClass]="'p-treeselect-trigger-icon'" />
790
858
  <span *ngIf="triggerIconTemplate" class="p-treeselect-trigger-icon">
791
859
  <ng-template *ngTemplateOutlet="triggerIconTemplate"></ng-template>
@@ -805,8 +873,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
805
873
  >
806
874
  <ng-template pTemplate="content">
807
875
  <div #panel class="p-treeselect-panel p-component" [ngStyle]="panelStyle" [class]="panelStyleClass" [ngClass]="panelClass">
876
+ <span
877
+ #firstHiddenFocusableEl
878
+ role="presentation"
879
+ [attr.aria-hidden]="'true'"
880
+ class="p-hidden-accessible p-hidden-focusable"
881
+ [attr.tabindex]="0"
882
+ (focus)="onFirstHiddenFocus($event)"
883
+ [attr.data-p-hidden-accessible]="true"
884
+ [attr.data-p-hidden-focusable]="true"
885
+ >
886
+ </span>
808
887
  <ng-container *ngTemplateOutlet="headerTemplate; context: { $implicit: value, options: options }"></ng-container>
809
- <div class="p-treeselect-header" *ngIf="filter">
888
+ <div class="p-treeselect-header" *ngIf="filter" (keydown.arrowdown)="onArrowDown($event)">
810
889
  <div class="p-treeselect-filter-container">
811
890
  <input
812
891
  #filter
@@ -869,6 +948,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
869
948
  </p-tree>
870
949
  </div>
871
950
  <ng-container *ngTemplateOutlet="footerTemplate; context: { $implicit: value, options: options }"></ng-container>
951
+ <span
952
+ #lastHiddenFocusableEl
953
+ role="presentation"
954
+ [attr.aria-hidden]="true"
955
+ class="p-hidden-accessible p-hidden-focusable"
956
+ [attr.tabindex]="0"
957
+ (focus)="onLastHiddenFocus($event)"
958
+ [attr.data-p-hidden-accessible]="true"
959
+ [attr.data-p-hidden-focusable]="true"
960
+ ></span>
872
961
  </div>
873
962
  </ng-template>
874
963
  </p-overlay>
@@ -876,7 +965,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
876
965
  `, host: {
877
966
  class: 'p-element p-inputwrapper',
878
967
  '[class.p-inputwrapper-filled]': '!emptyValue',
879
- '[class.p-inputwrapper-focus]': 'focused || overlayVisible',
968
+ '[class.p-inputwrapper-focus]': 'focused',
880
969
  '[class.p-treeselect-clearable]': 'showClear && !disabled'
881
970
  }, changeDetection: ChangeDetectionStrategy.OnPush, providers: [TREESELECT_VALUE_ACCESSOR], encapsulation: ViewEncapsulation.None, styles: ["@layer primeng{.p-treeselect{display:inline-flex;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.p-treeselect-trigger{display:flex;align-items:center;justify-content:center;flex-shrink:0}.p-treeselect-label-container{overflow:hidden;flex:1 1 auto;cursor:pointer;display:flex}.p-treeselect-label{display:block;white-space:nowrap;cursor:pointer;overflow:hidden;text-overflow:ellipsis}.p-treeselect-label-empty{overflow:hidden;visibility:hidden}.p-treeselect-token{cursor:default;display:inline-flex;align-items:center;flex:0 0 auto}.p-treeselect-items-wrapper{overflow:auto}.p-treeselect-header{display:flex;align-items:center;justify-content:space-between}.p-treeselect-filter-container{position:relative;flex:1 1 auto}.p-treeselect-filter-icon{position:absolute;top:50%;margin-top:-.5rem}.p-treeselect-filter-container .p-inputtext{width:100%}.p-treeselect-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;position:relative;margin-left:auto}.p-treeselect-clear-icon{position:absolute;top:50%;margin-top:-.5rem}.p-fluid .p-treeselect{display:flex}.p-treeselect-clear-icon{position:absolute;top:50%;margin-top:-.5rem;cursor:pointer}.p-treeselect-clearable{position:relative}}\n"] }]
882
971
  }], ctorParameters: function () { return [{ type: i1.PrimeNGConfig }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.OverlayService }]; }, propDecorators: { inputId: [{
@@ -893,6 +982,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
893
982
  type: Input
894
983
  }], tabindex: [{
895
984
  type: Input
985
+ }], ariaLabel: [{
986
+ type: Input
896
987
  }], ariaLabelledBy: [{
897
988
  type: Input
898
989
  }], placeholder: [{
@@ -980,13 +1071,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
980
1071
  }], overlayViewChild: [{
981
1072
  type: ViewChild,
982
1073
  args: ['overlay']
1074
+ }], firstHiddenFocusableElementOnOverlay: [{
1075
+ type: ViewChild,
1076
+ args: ['firstHiddenFocusableEl']
1077
+ }], lastHiddenFocusableElementOnOverlay: [{
1078
+ type: ViewChild,
1079
+ args: ['lastHiddenFocusableEl']
983
1080
  }] } });
984
1081
  class TreeSelectModule {
985
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: TreeSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
986
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: TreeSelectModule, declarations: [TreeSelect], imports: [CommonModule, OverlayModule, RippleModule, SharedModule, TreeModule, SearchIcon, TimesIcon, ChevronDownIcon], exports: [TreeSelect, OverlayModule, SharedModule, TreeModule] });
987
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: TreeSelectModule, imports: [CommonModule, OverlayModule, RippleModule, SharedModule, TreeModule, SearchIcon, TimesIcon, ChevronDownIcon, OverlayModule, SharedModule, TreeModule] });
1082
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TreeSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1083
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: TreeSelectModule, declarations: [TreeSelect], imports: [CommonModule, OverlayModule, RippleModule, SharedModule, TreeModule, SearchIcon, TimesIcon, ChevronDownIcon], exports: [TreeSelect, OverlayModule, SharedModule, TreeModule] });
1084
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TreeSelectModule, imports: [CommonModule, OverlayModule, RippleModule, SharedModule, TreeModule, SearchIcon, TimesIcon, ChevronDownIcon, OverlayModule, SharedModule, TreeModule] });
988
1085
  }
989
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: TreeSelectModule, decorators: [{
1086
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TreeSelectModule, decorators: [{
990
1087
  type: NgModule,
991
1088
  args: [{
992
1089
  imports: [CommonModule, OverlayModule, RippleModule, SharedModule, TreeModule, SearchIcon, TimesIcon, ChevronDownIcon],