primeng 17.6.0 → 17.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 (409) hide show
  1. package/api/translation.d.ts +1 -0
  2. package/api/translationkeys.d.ts +1 -0
  3. package/autocomplete/autocomplete.d.ts +1 -0
  4. package/cascadeselect/cascadeselect.d.ts +3 -1
  5. package/chips/chips.d.ts +6 -1
  6. package/dialog/dialog.d.ts +7 -6
  7. package/dropdown/dropdown.d.ts +5 -0
  8. package/esm2022/accordion/accordion.mjs +10 -10
  9. package/esm2022/animate/animate.mjs +7 -7
  10. package/esm2022/animateonscroll/animateonscroll.mjs +7 -7
  11. package/esm2022/api/confirmationservice.mjs +3 -3
  12. package/esm2022/api/contextmenuservice.mjs +3 -3
  13. package/esm2022/api/filterservice.mjs +3 -3
  14. package/esm2022/api/messageservice.mjs +3 -3
  15. package/esm2022/api/overlayservice.mjs +3 -3
  16. package/esm2022/api/primengconfig.mjs +6 -5
  17. package/esm2022/api/shared.mjs +13 -13
  18. package/esm2022/api/translation.mjs +1 -1
  19. package/esm2022/api/translationkeys.mjs +2 -1
  20. package/esm2022/api/treedragdropservice.mjs +3 -3
  21. package/esm2022/autocomplete/autocomplete.mjs +15 -12
  22. package/esm2022/autofocus/autofocus.mjs +18 -16
  23. package/esm2022/avatar/avatar.mjs +7 -7
  24. package/esm2022/avatargroup/avatargroup.mjs +7 -7
  25. package/esm2022/badge/badge.mjs +10 -10
  26. package/esm2022/baseicon/baseicon.mjs +3 -3
  27. package/esm2022/blockui/blockui.mjs +7 -7
  28. package/esm2022/breadcrumb/breadcrumb.mjs +7 -7
  29. package/esm2022/button/button.mjs +10 -10
  30. package/esm2022/calendar/calendar.mjs +7 -7
  31. package/esm2022/card/card.mjs +7 -7
  32. package/esm2022/carousel/carousel.mjs +7 -7
  33. package/esm2022/cascadeselect/cascadeselect.mjs +41 -22
  34. package/esm2022/chart/chart.mjs +7 -7
  35. package/esm2022/checkbox/checkbox.mjs +9 -9
  36. package/esm2022/chip/chip.mjs +7 -7
  37. package/esm2022/chips/chips.mjs +23 -8
  38. package/esm2022/colorpicker/colorpicker.mjs +7 -7
  39. package/esm2022/confirmdialog/confirmdialog.mjs +7 -7
  40. package/esm2022/confirmpopup/confirmpopup.mjs +7 -7
  41. package/esm2022/contextmenu/contextmenu.mjs +15 -17
  42. package/esm2022/dataview/dataview.mjs +10 -10
  43. package/esm2022/defer/defer.mjs +7 -7
  44. package/esm2022/dialog/dialog.mjs +42 -16
  45. package/esm2022/divider/divider.mjs +7 -7
  46. package/esm2022/dock/dock.mjs +7 -7
  47. package/esm2022/dom/domhandler.mjs +3 -2
  48. package/esm2022/dragdrop/dragdrop.mjs +10 -10
  49. package/esm2022/dropdown/dropdown.mjs +62 -30
  50. package/esm2022/dynamicdialog/dialogservice.mjs +3 -3
  51. package/esm2022/dynamicdialog/dynamicdialog.mjs +7 -7
  52. package/esm2022/dynamicdialog/dynamicdialogcontent.mjs +3 -3
  53. package/esm2022/editor/editor.mjs +7 -7
  54. package/esm2022/fieldset/fieldset.mjs +10 -10
  55. package/esm2022/fileupload/fileupload.mjs +15 -15
  56. package/esm2022/focustrap/focustrap.mjs +12 -15
  57. package/esm2022/galleria/galleria.mjs +19 -19
  58. package/esm2022/icons/angledoubledown/angledoubledown.mjs +3 -3
  59. package/esm2022/icons/angledoubleleft/angledoubleleft.mjs +3 -3
  60. package/esm2022/icons/angledoubleright/angledoubleright.mjs +3 -3
  61. package/esm2022/icons/angledoubleup/angledoubleup.mjs +3 -3
  62. package/esm2022/icons/angledown/angledown.mjs +3 -3
  63. package/esm2022/icons/angleleft/angleleft.mjs +3 -3
  64. package/esm2022/icons/angleright/angleright.mjs +3 -3
  65. package/esm2022/icons/angleup/angleup.mjs +3 -3
  66. package/esm2022/icons/arrowdown/arrowdown.mjs +3 -3
  67. package/esm2022/icons/arrowdownleft/arrowdownleft.mjs +3 -3
  68. package/esm2022/icons/arrowdownright/arrowdownright.mjs +3 -3
  69. package/esm2022/icons/arrowleft/arrowleft.mjs +3 -3
  70. package/esm2022/icons/arrowright/arrowright.mjs +3 -3
  71. package/esm2022/icons/arrowup/arrowup.mjs +3 -3
  72. package/esm2022/icons/ban/ban.mjs +3 -3
  73. package/esm2022/icons/bars/bars.mjs +3 -3
  74. package/esm2022/icons/calendar/calendar.mjs +3 -3
  75. package/esm2022/icons/caretleft/caretleft.mjs +3 -3
  76. package/esm2022/icons/caretright/caretright.mjs +3 -3
  77. package/esm2022/icons/check/check.mjs +3 -3
  78. package/esm2022/icons/chevrondown/chevrondown.mjs +3 -3
  79. package/esm2022/icons/chevronleft/chevronleft.mjs +3 -3
  80. package/esm2022/icons/chevronright/chevronright.mjs +3 -3
  81. package/esm2022/icons/chevronup/chevronup.mjs +3 -3
  82. package/esm2022/icons/exclamationtriangle/exclamationtriangle.mjs +3 -3
  83. package/esm2022/icons/eye/eye.mjs +3 -3
  84. package/esm2022/icons/eyeslash/eyeslash.mjs +3 -3
  85. package/esm2022/icons/filter/filter.mjs +3 -3
  86. package/esm2022/icons/filterslash/filterslash.mjs +3 -3
  87. package/esm2022/icons/home/home.mjs +3 -3
  88. package/esm2022/icons/infocircle/infocircle.mjs +3 -3
  89. package/esm2022/icons/minus/minus.mjs +3 -3
  90. package/esm2022/icons/pencil/pencil.mjs +3 -3
  91. package/esm2022/icons/plus/plus.mjs +3 -3
  92. package/esm2022/icons/refresh/refresh.mjs +3 -3
  93. package/esm2022/icons/search/search.mjs +3 -3
  94. package/esm2022/icons/searchminus/searchminus.mjs +3 -3
  95. package/esm2022/icons/searchplus/searchplus.mjs +3 -3
  96. package/esm2022/icons/sortalt/sortalt.mjs +3 -3
  97. package/esm2022/icons/sortamountdown/sortamountdown.mjs +3 -3
  98. package/esm2022/icons/sortamountupalt/sortamountupalt.mjs +3 -3
  99. package/esm2022/icons/spinner/spinner.mjs +3 -3
  100. package/esm2022/icons/star/star.mjs +3 -3
  101. package/esm2022/icons/starfill/starfill.mjs +3 -3
  102. package/esm2022/icons/thlarge/thlarge.mjs +3 -3
  103. package/esm2022/icons/times/times.mjs +3 -3
  104. package/esm2022/icons/timescircle/timescircle.mjs +3 -3
  105. package/esm2022/icons/trash/trash.mjs +3 -3
  106. package/esm2022/icons/undo/undo.mjs +3 -3
  107. package/esm2022/icons/upload/upload.mjs +3 -3
  108. package/esm2022/icons/windowmaximize/windowmaximize.mjs +3 -3
  109. package/esm2022/icons/windowminimize/windowminimize.mjs +3 -3
  110. package/esm2022/image/image.mjs +7 -7
  111. package/esm2022/inplace/inplace.mjs +13 -13
  112. package/esm2022/inputgroup/inputgroup.mjs +7 -7
  113. package/esm2022/inputgroupaddon/inputgroupaddon.mjs +7 -7
  114. package/esm2022/inputmask/inputmask.mjs +7 -7
  115. package/esm2022/inputnumber/inputnumber.mjs +7 -7
  116. package/esm2022/inputswitch/inputswitch.mjs +7 -7
  117. package/esm2022/inputtext/inputtext.mjs +7 -7
  118. package/esm2022/inputtextarea/inputtextarea.mjs +7 -7
  119. package/esm2022/keyfilter/keyfilter.mjs +7 -7
  120. package/esm2022/knob/knob.mjs +7 -7
  121. package/esm2022/listbox/listbox.mjs +9 -9
  122. package/esm2022/megamenu/megamenu.mjs +10 -10
  123. package/esm2022/menu/menu.mjs +13 -13
  124. package/esm2022/menubar/menubar.mjs +13 -13
  125. package/esm2022/message/message.mjs +7 -7
  126. package/esm2022/messages/messages.mjs +7 -7
  127. package/esm2022/multiselect/multiselect.mjs +40 -16
  128. package/esm2022/orderlist/orderlist.mjs +7 -7
  129. package/esm2022/organizationchart/organizationchart.mjs +10 -10
  130. package/esm2022/overlay/overlay.mjs +7 -7
  131. package/esm2022/overlaypanel/overlaypanel.mjs +7 -7
  132. package/esm2022/paginator/paginator.mjs +7 -7
  133. package/esm2022/panel/panel.mjs +7 -7
  134. package/esm2022/panelmenu/panelmenu.mjs +13 -13
  135. package/esm2022/password/password.mjs +16 -16
  136. package/esm2022/picklist/picklist.mjs +7 -7
  137. package/esm2022/progressbar/progressbar.mjs +7 -7
  138. package/esm2022/progressspinner/progressspinner.mjs +17 -10
  139. package/esm2022/radiobutton/radiobutton.mjs +10 -10
  140. package/esm2022/rating/rating.mjs +7 -7
  141. package/esm2022/ripple/ripple.mjs +7 -7
  142. package/esm2022/scroller/scroller.mjs +7 -7
  143. package/esm2022/scrollpanel/scrollpanel.mjs +7 -7
  144. package/esm2022/scrolltop/scrolltop.mjs +7 -7
  145. package/esm2022/selectbutton/selectbutton.mjs +7 -7
  146. package/esm2022/sidebar/sidebar.mjs +8 -10
  147. package/esm2022/skeleton/skeleton.mjs +7 -7
  148. package/esm2022/slidemenu/slidemenu.mjs +10 -10
  149. package/esm2022/slider/slider.mjs +7 -7
  150. package/esm2022/speeddial/speeddial.mjs +7 -7
  151. package/esm2022/spinner/spinner.mjs +7 -7
  152. package/esm2022/splitbutton/splitbutton.mjs +7 -7
  153. package/esm2022/splitter/splitter.mjs +7 -7
  154. package/esm2022/steps/steps.mjs +7 -7
  155. package/esm2022/styleclass/styleclass.mjs +7 -7
  156. package/esm2022/table/table.mjs +85 -85
  157. package/esm2022/tabmenu/tabmenu.mjs +7 -7
  158. package/esm2022/tabview/tabview.mjs +28 -13
  159. package/esm2022/tag/tag.mjs +7 -7
  160. package/esm2022/terminal/terminal.mjs +7 -7
  161. package/esm2022/terminal/terminalservice.mjs +3 -3
  162. package/esm2022/tieredmenu/tieredmenu.mjs +10 -10
  163. package/esm2022/timeline/timeline.mjs +10 -10
  164. package/esm2022/toast/toast.mjs +10 -10
  165. package/esm2022/togglebutton/togglebutton.mjs +7 -7
  166. package/esm2022/toolbar/toolbar.mjs +7 -7
  167. package/esm2022/tooltip/tooltip.mjs +7 -7
  168. package/esm2022/tree/tree.mjs +10 -10
  169. package/esm2022/treeselect/treeselect.mjs +11 -8
  170. package/esm2022/treetable/treetable.mjs +55 -55
  171. package/esm2022/tristatecheckbox/tristatecheckbox.mjs +7 -7
  172. package/esm2022/utils/objectutils.mjs +7 -1
  173. package/esm2022/virtualscroller/virtualscroller.mjs +7 -7
  174. package/fesm2022/primeng-accordion.mjs +10 -10
  175. package/fesm2022/primeng-animate.mjs +7 -7
  176. package/fesm2022/primeng-animateonscroll.mjs +7 -7
  177. package/fesm2022/primeng-api.mjs +37 -35
  178. package/fesm2022/primeng-api.mjs.map +1 -1
  179. package/fesm2022/primeng-autocomplete.mjs +14 -11
  180. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  181. package/fesm2022/primeng-autofocus.mjs +17 -15
  182. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  183. package/fesm2022/primeng-avatar.mjs +7 -7
  184. package/fesm2022/primeng-avatargroup.mjs +7 -7
  185. package/fesm2022/primeng-badge.mjs +10 -10
  186. package/fesm2022/primeng-baseicon.mjs +3 -3
  187. package/fesm2022/primeng-blockui.mjs +7 -7
  188. package/fesm2022/primeng-breadcrumb.mjs +7 -7
  189. package/fesm2022/primeng-button.mjs +10 -10
  190. package/fesm2022/primeng-calendar.mjs +7 -7
  191. package/fesm2022/primeng-card.mjs +7 -7
  192. package/fesm2022/primeng-carousel.mjs +7 -7
  193. package/fesm2022/primeng-cascadeselect.mjs +40 -21
  194. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  195. package/fesm2022/primeng-chart.mjs +7 -7
  196. package/fesm2022/primeng-checkbox.mjs +8 -8
  197. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  198. package/fesm2022/primeng-chip.mjs +7 -7
  199. package/fesm2022/primeng-chips.mjs +22 -7
  200. package/fesm2022/primeng-chips.mjs.map +1 -1
  201. package/fesm2022/primeng-colorpicker.mjs +7 -7
  202. package/fesm2022/primeng-confirmdialog.mjs +7 -7
  203. package/fesm2022/primeng-confirmpopup.mjs +7 -7
  204. package/fesm2022/primeng-contextmenu.mjs +14 -16
  205. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  206. package/fesm2022/primeng-dataview.mjs +10 -10
  207. package/fesm2022/primeng-defer.mjs +7 -7
  208. package/fesm2022/primeng-dialog.mjs +41 -15
  209. package/fesm2022/primeng-dialog.mjs.map +1 -1
  210. package/fesm2022/primeng-divider.mjs +7 -7
  211. package/fesm2022/primeng-dock.mjs +7 -7
  212. package/fesm2022/primeng-dom.mjs +2 -1
  213. package/fesm2022/primeng-dom.mjs.map +1 -1
  214. package/fesm2022/primeng-dragdrop.mjs +10 -10
  215. package/fesm2022/primeng-dropdown.mjs +61 -29
  216. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  217. package/fesm2022/primeng-dynamicdialog.mjs +13 -13
  218. package/fesm2022/primeng-editor.mjs +7 -7
  219. package/fesm2022/primeng-fieldset.mjs +9 -9
  220. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  221. package/fesm2022/primeng-fileupload.mjs +14 -14
  222. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  223. package/fesm2022/primeng-focustrap.mjs +11 -14
  224. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  225. package/fesm2022/primeng-galleria.mjs +19 -19
  226. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  227. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  228. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  229. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  230. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  231. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  232. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  233. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  234. package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
  235. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  236. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  237. package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
  238. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  239. package/fesm2022/primeng-icons-arrowup.mjs +3 -3
  240. package/fesm2022/primeng-icons-ban.mjs +3 -3
  241. package/fesm2022/primeng-icons-bars.mjs +3 -3
  242. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  243. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  244. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  245. package/fesm2022/primeng-icons-check.mjs +3 -3
  246. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  247. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  248. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  249. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  250. package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
  251. package/fesm2022/primeng-icons-eye.mjs +3 -3
  252. package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
  253. package/fesm2022/primeng-icons-filter.mjs +3 -3
  254. package/fesm2022/primeng-icons-filterslash.mjs +3 -3
  255. package/fesm2022/primeng-icons-home.mjs +3 -3
  256. package/fesm2022/primeng-icons-infocircle.mjs +3 -3
  257. package/fesm2022/primeng-icons-minus.mjs +3 -3
  258. package/fesm2022/primeng-icons-pencil.mjs +3 -3
  259. package/fesm2022/primeng-icons-plus.mjs +3 -3
  260. package/fesm2022/primeng-icons-refresh.mjs +3 -3
  261. package/fesm2022/primeng-icons-search.mjs +3 -3
  262. package/fesm2022/primeng-icons-searchminus.mjs +3 -3
  263. package/fesm2022/primeng-icons-searchplus.mjs +3 -3
  264. package/fesm2022/primeng-icons-sortalt.mjs +3 -3
  265. package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
  266. package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
  267. package/fesm2022/primeng-icons-spinner.mjs +3 -3
  268. package/fesm2022/primeng-icons-star.mjs +3 -3
  269. package/fesm2022/primeng-icons-starfill.mjs +3 -3
  270. package/fesm2022/primeng-icons-thlarge.mjs +3 -3
  271. package/fesm2022/primeng-icons-times.mjs +3 -3
  272. package/fesm2022/primeng-icons-timescircle.mjs +3 -3
  273. package/fesm2022/primeng-icons-trash.mjs +3 -3
  274. package/fesm2022/primeng-icons-undo.mjs +3 -3
  275. package/fesm2022/primeng-icons-upload.mjs +3 -3
  276. package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
  277. package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
  278. package/fesm2022/primeng-image.mjs +7 -7
  279. package/fesm2022/primeng-inplace.mjs +13 -13
  280. package/fesm2022/primeng-inputgroup.mjs +7 -7
  281. package/fesm2022/primeng-inputgroupaddon.mjs +7 -7
  282. package/fesm2022/primeng-inputmask.mjs +7 -7
  283. package/fesm2022/primeng-inputnumber.mjs +7 -7
  284. package/fesm2022/primeng-inputswitch.mjs +7 -7
  285. package/fesm2022/primeng-inputtext.mjs +7 -7
  286. package/fesm2022/primeng-inputtextarea.mjs +7 -7
  287. package/fesm2022/primeng-keyfilter.mjs +7 -7
  288. package/fesm2022/primeng-knob.mjs +7 -7
  289. package/fesm2022/primeng-listbox.mjs +8 -8
  290. package/fesm2022/primeng-listbox.mjs.map +1 -1
  291. package/fesm2022/primeng-megamenu.mjs +10 -10
  292. package/fesm2022/primeng-menu.mjs +13 -13
  293. package/fesm2022/primeng-menubar.mjs +13 -13
  294. package/fesm2022/primeng-message.mjs +7 -7
  295. package/fesm2022/primeng-messages.mjs +7 -7
  296. package/fesm2022/primeng-multiselect.mjs +39 -15
  297. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  298. package/fesm2022/primeng-orderlist.mjs +7 -7
  299. package/fesm2022/primeng-organizationchart.mjs +10 -10
  300. package/fesm2022/primeng-overlay.mjs +7 -7
  301. package/fesm2022/primeng-overlaypanel.mjs +7 -7
  302. package/fesm2022/primeng-paginator.mjs +7 -7
  303. package/fesm2022/primeng-panel.mjs +7 -7
  304. package/fesm2022/primeng-panelmenu.mjs +13 -13
  305. package/fesm2022/primeng-password.mjs +15 -15
  306. package/fesm2022/primeng-password.mjs.map +1 -1
  307. package/fesm2022/primeng-picklist.mjs +7 -7
  308. package/fesm2022/primeng-progressbar.mjs +7 -7
  309. package/fesm2022/primeng-progressspinner.mjs +16 -9
  310. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  311. package/fesm2022/primeng-radiobutton.mjs +10 -10
  312. package/fesm2022/primeng-rating.mjs +7 -7
  313. package/fesm2022/primeng-ripple.mjs +7 -7
  314. package/fesm2022/primeng-scroller.mjs +7 -7
  315. package/fesm2022/primeng-scrollpanel.mjs +7 -7
  316. package/fesm2022/primeng-scrolltop.mjs +7 -7
  317. package/fesm2022/primeng-selectbutton.mjs +7 -7
  318. package/fesm2022/primeng-sidebar.mjs +7 -9
  319. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  320. package/fesm2022/primeng-skeleton.mjs +7 -7
  321. package/fesm2022/primeng-slidemenu.mjs +10 -10
  322. package/fesm2022/primeng-slider.mjs +7 -7
  323. package/fesm2022/primeng-speeddial.mjs +7 -7
  324. package/fesm2022/primeng-spinner.mjs +7 -7
  325. package/fesm2022/primeng-splitbutton.mjs +7 -7
  326. package/fesm2022/primeng-splitter.mjs +7 -7
  327. package/fesm2022/primeng-steps.mjs +7 -7
  328. package/fesm2022/primeng-styleclass.mjs +7 -7
  329. package/fesm2022/primeng-table.mjs +84 -84
  330. package/fesm2022/primeng-table.mjs.map +1 -1
  331. package/fesm2022/primeng-tabmenu.mjs +7 -7
  332. package/fesm2022/primeng-tabview.mjs +27 -12
  333. package/fesm2022/primeng-tabview.mjs.map +1 -1
  334. package/fesm2022/primeng-tag.mjs +7 -7
  335. package/fesm2022/primeng-terminal.mjs +10 -10
  336. package/fesm2022/primeng-tieredmenu.mjs +10 -10
  337. package/fesm2022/primeng-timeline.mjs +9 -9
  338. package/fesm2022/primeng-timeline.mjs.map +1 -1
  339. package/fesm2022/primeng-toast.mjs +10 -10
  340. package/fesm2022/primeng-togglebutton.mjs +7 -7
  341. package/fesm2022/primeng-toolbar.mjs +7 -7
  342. package/fesm2022/primeng-tooltip.mjs +7 -7
  343. package/fesm2022/primeng-tree.mjs +10 -10
  344. package/fesm2022/primeng-treeselect.mjs +10 -7
  345. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  346. package/fesm2022/primeng-treetable.mjs +55 -55
  347. package/fesm2022/primeng-tristatecheckbox.mjs +7 -7
  348. package/fesm2022/primeng-utils.mjs +6 -0
  349. package/fesm2022/primeng-utils.mjs.map +1 -1
  350. package/fesm2022/primeng-virtualscroller.mjs +7 -7
  351. package/fileupload/fileupload.d.ts +1 -1
  352. package/focustrap/focustrap.d.ts +1 -2
  353. package/multiselect/multiselect.d.ts +2 -0
  354. package/package.json +58 -58
  355. package/progressspinner/progressspinner.d.ts +6 -1
  356. package/resources/components/fieldset/fieldset.css +3 -0
  357. package/resources/components/password/password.css +4 -0
  358. package/resources/primeng.css +4 -0
  359. package/resources/primeng.min.css +1 -1
  360. package/resources/themes/arya-blue/theme.css +5 -0
  361. package/resources/themes/arya-green/theme.css +5 -0
  362. package/resources/themes/arya-orange/theme.css +5 -0
  363. package/resources/themes/arya-purple/theme.css +5 -0
  364. package/resources/themes/bootstrap4-dark-blue/theme.css +5 -0
  365. package/resources/themes/bootstrap4-dark-purple/theme.css +5 -0
  366. package/resources/themes/bootstrap4-light-blue/theme.css +5 -0
  367. package/resources/themes/bootstrap4-light-purple/theme.css +5 -0
  368. package/resources/themes/fluent-light/theme.css +5 -0
  369. package/resources/themes/lara-dark-blue/theme.css +5 -0
  370. package/resources/themes/lara-dark-indigo/theme.css +5 -0
  371. package/resources/themes/lara-dark-purple/theme.css +5 -0
  372. package/resources/themes/lara-dark-teal/theme.css +5 -0
  373. package/resources/themes/lara-light-blue/theme.css +5 -0
  374. package/resources/themes/lara-light-indigo/theme.css +5 -0
  375. package/resources/themes/lara-light-purple/theme.css +5 -0
  376. package/resources/themes/lara-light-teal/theme.css +5 -0
  377. package/resources/themes/luna-amber/theme.css +5 -0
  378. package/resources/themes/luna-blue/theme.css +5 -0
  379. package/resources/themes/luna-green/theme.css +5 -0
  380. package/resources/themes/luna-pink/theme.css +5 -0
  381. package/resources/themes/md-dark-deeppurple/theme.css +5 -0
  382. package/resources/themes/md-dark-indigo/theme.css +5 -0
  383. package/resources/themes/md-light-deeppurple/theme.css +5 -0
  384. package/resources/themes/md-light-indigo/theme.css +5 -0
  385. package/resources/themes/mdc-dark-deeppurple/theme.css +5 -0
  386. package/resources/themes/mdc-dark-indigo/theme.css +5 -0
  387. package/resources/themes/mdc-light-deeppurple/theme.css +5 -0
  388. package/resources/themes/mdc-light-indigo/theme.css +5 -0
  389. package/resources/themes/mira/theme.css +5 -0
  390. package/resources/themes/nano/theme.css +5 -0
  391. package/resources/themes/nova/theme.css +5 -0
  392. package/resources/themes/nova-accent/theme.css +5 -0
  393. package/resources/themes/nova-alt/theme.css +5 -0
  394. package/resources/themes/rhea/theme.css +5 -0
  395. package/resources/themes/saga-blue/theme.css +5 -0
  396. package/resources/themes/saga-green/theme.css +5 -0
  397. package/resources/themes/saga-orange/theme.css +5 -0
  398. package/resources/themes/saga-purple/theme.css +5 -0
  399. package/resources/themes/soho-dark/theme.css +5 -0
  400. package/resources/themes/soho-light/theme.css +5 -0
  401. package/resources/themes/tailwind-light/theme.css +5 -0
  402. package/resources/themes/vela-blue/theme.css +5 -0
  403. package/resources/themes/vela-green/theme.css +5 -0
  404. package/resources/themes/vela-orange/theme.css +5 -0
  405. package/resources/themes/vela-purple/theme.css +5 -0
  406. package/resources/themes/viva-dark/theme.css +5 -0
  407. package/resources/themes/viva-light/theme.css +5 -0
  408. package/tabview/tabview.d.ts +1 -0
  409. package/utils/objectutils.d.ts +2 -0
@@ -47,8 +47,8 @@ class DropdownItem {
47
47
  onOptionMouseEnter(event) {
48
48
  this.onMouseEnter.emit(event);
49
49
  }
50
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DropdownItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
51
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: DropdownItem, selector: "p-dropdownItem", inputs: { id: "id", option: "option", selected: "selected", focused: "focused", label: "label", disabled: "disabled", visible: "visible", itemSize: "itemSize", ariaPosInset: "ariaPosInset", ariaSetSize: "ariaSetSize", template: "template" }, outputs: { onClick: "onClick", onMouseEnter: "onMouseEnter" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
50
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: DropdownItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
51
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: DropdownItem, selector: "p-dropdownItem", inputs: { id: "id", option: "option", selected: "selected", focused: "focused", label: "label", disabled: "disabled", visible: "visible", itemSize: "itemSize", ariaPosInset: "ariaPosInset", ariaSetSize: "ariaSetSize", template: "template" }, outputs: { onClick: "onClick", onMouseEnter: "onMouseEnter" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
52
52
  <li
53
53
  [id]="id"
54
54
  (click)="onOptionClick($event)"
@@ -70,7 +70,7 @@ class DropdownItem {
70
70
  </li>
71
71
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.Ripple, selector: "[pRipple]" }] });
72
72
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DropdownItem, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: DropdownItem, decorators: [{
74
74
  type: Component,
75
75
  args: [{
76
76
  selector: 'p-dropdownItem',
@@ -489,7 +489,9 @@ class Dropdown {
489
489
  return this._filterValue();
490
490
  }
491
491
  set filterValue(val) {
492
- this._filterValue.set(val);
492
+ setTimeout(() => {
493
+ this._filterValue.set(val);
494
+ });
493
495
  }
494
496
  /**
495
497
  * An array of objects to display as the available options.
@@ -617,6 +619,9 @@ class Dropdown {
617
619
  get isVisibleClearIcon() {
618
620
  return this.modelValue() != null && this.hasSelectedOption() && this.showClear && !this.disabled;
619
621
  }
622
+ get listLabel() {
623
+ return this.config.getTranslation(TranslationKeys.ARIA)['listLabel'];
624
+ }
620
625
  get containerClass() {
621
626
  return {
622
627
  'p-dropdown p-component p-inputwrapper': true,
@@ -646,7 +651,7 @@ class Dropdown {
646
651
  return this.focusedOptionIndex() !== -1 ? `${this.id}_${this.focusedOptionIndex()}` : null;
647
652
  }
648
653
  visibleOptions = computed(() => {
649
- const options = this.group ? this.flatOptions(this.options) : this.options || [];
654
+ const options = this.getAllVisibleAndNonVisibleOptions();
650
655
  if (this._filterValue()) {
651
656
  const _filterBy = this.filterBy || this.optionLabel;
652
657
  const filteredOptions = !_filterBy && !this.filterFields && !this.optionValue
@@ -673,8 +678,12 @@ class Dropdown {
673
678
  return options;
674
679
  });
675
680
  label = computed(() => {
676
- const selectedOptionIndex = this.findSelectedOptionIndex();
677
- return selectedOptionIndex !== -1 ? this.getOptionLabel(this.visibleOptions()[selectedOptionIndex]) : this.placeholder() || 'p-emptylabel';
681
+ // use getAllVisibleAndNonVisibleOptions verses just visible options
682
+ // this will find the selected option whether or not the user is currently filtering because the filtered (i.e. visible) options, are a subset of all the options
683
+ const options = this.getAllVisibleAndNonVisibleOptions();
684
+ // use isOptionEqualsModelValue for the use case where the dropdown is initalized with a disabled option
685
+ const selectedOptionIndex = options.findIndex((option) => this.isOptionValueEqualsModelValue(option));
686
+ return selectedOptionIndex !== -1 ? this.getOptionLabel(options[selectedOptionIndex]) : this.placeholder() || 'p-emptylabel';
678
687
  });
679
688
  filled = computed(() => {
680
689
  if (typeof this.modelValue() === 'string')
@@ -695,16 +704,28 @@ class Dropdown {
695
704
  const visibleOptions = this.visibleOptions();
696
705
  if (visibleOptions && ObjectUtils.isNotEmpty(visibleOptions)) {
697
706
  const selectedOptionIndex = this.findSelectedOptionIndex();
698
- if (selectedOptionIndex !== -1 || modelValue === undefined || modelValue === null || this.editable) {
707
+ if (selectedOptionIndex !== -1 || modelValue === undefined || (typeof modelValue === 'string' && modelValue.length === 0) || this.isModelValueNotSet() || this.editable) {
699
708
  this.selectedOption = visibleOptions[selectedOptionIndex];
700
- this.cd.markForCheck();
701
709
  }
702
710
  }
711
+ if (ObjectUtils.isEmpty(visibleOptions) && (modelValue === undefined || this.isModelValueNotSet()) && ObjectUtils.isNotEmpty(this.selectedOption)) {
712
+ this.selectedOption = null;
713
+ }
703
714
  if (modelValue !== undefined && this.editable) {
704
715
  this.updateEditableLabel();
705
716
  }
717
+ this.cd.markForCheck();
706
718
  });
707
719
  }
720
+ isModelValueNotSet() {
721
+ return this.modelValue() === null && !this.isOptionValueEqualsModelValue(this.selectedOption);
722
+ }
723
+ displayPlaceholder() {
724
+ return ObjectUtils.isEmpty(this.selectedOption) && this.label() === this.placeholder();
725
+ }
726
+ getAllVisibleAndNonVisibleOptions() {
727
+ return this.group ? this.flatOptions(this.options) : this.options || [];
728
+ }
708
729
  ngOnInit() {
709
730
  this.id = this.id || UniqueComponentId();
710
731
  this.autoUpdateModel();
@@ -800,11 +821,13 @@ class Dropdown {
800
821
  }
801
822
  }
802
823
  onOptionSelect(event, option, isHide = true, preventChange = false) {
803
- const value = this.getOptionValue(option);
804
- this.updateModel(value, event);
805
- this.focusedOptionIndex.set(this.findSelectedOptionIndex());
806
- isHide && setTimeout(() => this.hide(true), 1);
807
- preventChange === false && this.onChange.emit({ originalEvent: event, value: value });
824
+ if (!this.isSelected(option)) {
825
+ const value = this.getOptionValue(option);
826
+ this.updateModel(value, event);
827
+ this.focusedOptionIndex.set(this.findSelectedOptionIndex());
828
+ isHide && setTimeout(() => this.hide(true), 1);
829
+ preventChange === false && this.onChange.emit({ originalEvent: event, value: value });
830
+ }
808
831
  }
809
832
  onOptionMouseEnter(event, index) {
810
833
  if (this.focusOnHover) {
@@ -831,7 +854,10 @@ class Dropdown {
831
854
  return this.autoDisplayFirst && !this.placeholder() && (this.modelValue() === undefined || this.modelValue() === null) && !this.editable && this.options && this.options.length;
832
855
  }
833
856
  isSelected(option) {
834
- return this.isValidOption(option) && ObjectUtils.equals(this.modelValue(), this.getOptionValue(option), this.equalityKey());
857
+ return this.isValidOption(option) && this.isOptionValueEqualsModelValue(option);
858
+ }
859
+ isOptionValueEqualsModelValue(option) {
860
+ return ObjectUtils.equals(this.modelValue(), this.getOptionValue(option), this.equalityKey());
835
861
  }
836
862
  ngAfterViewInit() {
837
863
  if (this.editable) {
@@ -858,7 +884,12 @@ class Dropdown {
858
884
  return this.optionValue && this.optionValue !== null ? ObjectUtils.resolveFieldData(option, this.optionValue) : !this.optionLabel && option && option.value !== undefined ? option.value : option;
859
885
  }
860
886
  isOptionDisabled(option) {
861
- return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : option && option.disabled !== undefined ? option.disabled : false;
887
+ if (this.getOptionValue(this.modelValue()) === this.getOptionValue(option) || (this.getOptionLabel(this.modelValue() === this.getOptionLabel(option)) && option.disabled === false)) {
888
+ return false;
889
+ }
890
+ else {
891
+ return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : option && option.disabled !== undefined ? option.disabled : false;
892
+ }
862
893
  }
863
894
  getOptionGroupLabel(optionGroup) {
864
895
  return this.optionGroupLabel !== undefined && this.optionGroupLabel !== null ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel) : optionGroup && optionGroup.label !== undefined ? optionGroup.label : optionGroup;
@@ -960,7 +991,7 @@ class Dropdown {
960
991
  }
961
992
  if (this.filterViewChild && this.filterViewChild.nativeElement) {
962
993
  this.preventModelTouched = true;
963
- if (this.autofocusFilter) {
994
+ if (this.autofocusFilter && !this.editable) {
964
995
  this.filterViewChild.nativeElement.focus();
965
996
  }
966
997
  }
@@ -1301,7 +1332,7 @@ class Dropdown {
1301
1332
  }
1302
1333
  }
1303
1334
  onFirstHiddenFocus(event) {
1304
- const focusableEl = event.relatedTarget === this.focusInputViewChild?.nativeElement ? DomHandler.getFirstFocusableElement(this.overlayViewChild.el.nativeElement, ':not(.p-hidden-focusable)') : this.focusInputViewChild.nativeElement;
1335
+ const focusableEl = event.relatedTarget === this.focusInputViewChild?.nativeElement ? DomHandler.getFirstFocusableElement(this.overlayViewChild.el?.nativeElement, ':not(.p-hidden-focusable)') : this.focusInputViewChild?.nativeElement;
1305
1336
  DomHandler.focus(focusableEl);
1306
1337
  }
1307
1338
  onLastHiddenFocus(event) {
@@ -1391,12 +1422,13 @@ class Dropdown {
1391
1422
  clear(event) {
1392
1423
  this.updateModel(null, event);
1393
1424
  this.clearEditableLabel();
1425
+ this.onModelTouched();
1394
1426
  this.onChange.emit({ originalEvent: event, value: this.value });
1395
1427
  this.onClear.emit(event);
1396
1428
  this.resetFilter();
1397
1429
  }
1398
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: Dropdown, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i3.FilterService }, { token: i3.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
1399
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: Dropdown, selector: "p-dropdown", inputs: { id: "id", scrollHeight: "scrollHeight", filter: "filter", name: "name", style: "style", panelStyle: "panelStyle", styleClass: "styleClass", panelStyleClass: "panelStyleClass", readonly: "readonly", required: "required", editable: "editable", appendTo: "appendTo", tabindex: "tabindex", placeholder: "placeholder", filterPlaceholder: "filterPlaceholder", filterLocale: "filterLocale", inputId: "inputId", dataKey: "dataKey", filterBy: "filterBy", filterFields: "filterFields", autofocus: "autofocus", resetFilterOnHide: "resetFilterOnHide", dropdownIcon: "dropdownIcon", optionLabel: "optionLabel", optionValue: "optionValue", optionDisabled: "optionDisabled", optionGroupLabel: "optionGroupLabel", optionGroupChildren: "optionGroupChildren", autoDisplayFirst: "autoDisplayFirst", group: "group", showClear: "showClear", emptyFilterMessage: "emptyFilterMessage", emptyMessage: "emptyMessage", lazy: "lazy", virtualScroll: "virtualScroll", virtualScrollItemSize: "virtualScrollItemSize", virtualScrollOptions: "virtualScrollOptions", overlayOptions: "overlayOptions", ariaFilterLabel: "ariaFilterLabel", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", filterMatchMode: "filterMatchMode", maxlength: "maxlength", tooltip: "tooltip", tooltipPosition: "tooltipPosition", tooltipPositionStyle: "tooltipPositionStyle", tooltipStyleClass: "tooltipStyleClass", focusOnHover: "focusOnHover", selectOnFocus: "selectOnFocus", autoOptionFocus: "autoOptionFocus", autofocusFilter: "autofocusFilter", disabled: "disabled", itemSize: "itemSize", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", filterValue: "filterValue", options: "options" }, outputs: { onChange: "onChange", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onClick: "onClick", onShow: "onShow", onHide: "onHide", onClear: "onClear", onLazyLoad: "onLazyLoad" }, host: { properties: { "class.p-inputwrapper-filled": "filled()", "class.p-inputwrapper-focus": "focused || overlayVisible" }, classAttribute: "p-element p-inputwrapper" }, providers: [DROPDOWN_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }, { propertyName: "filterViewChild", first: true, predicate: ["filter"], descendants: true }, { propertyName: "focusInputViewChild", first: true, predicate: ["focusInput"], descendants: true }, { propertyName: "editableInputViewChild", first: true, predicate: ["editableInput"], descendants: true }, { propertyName: "itemsViewChild", first: true, predicate: ["items"], descendants: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], 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: `
1430
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: Dropdown, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i3.FilterService }, { token: i3.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
1431
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: Dropdown, selector: "p-dropdown", inputs: { id: "id", scrollHeight: "scrollHeight", filter: "filter", name: "name", style: "style", panelStyle: "panelStyle", styleClass: "styleClass", panelStyleClass: "panelStyleClass", readonly: "readonly", required: "required", editable: "editable", appendTo: "appendTo", tabindex: "tabindex", placeholder: "placeholder", filterPlaceholder: "filterPlaceholder", filterLocale: "filterLocale", inputId: "inputId", dataKey: "dataKey", filterBy: "filterBy", filterFields: "filterFields", autofocus: "autofocus", resetFilterOnHide: "resetFilterOnHide", dropdownIcon: "dropdownIcon", optionLabel: "optionLabel", optionValue: "optionValue", optionDisabled: "optionDisabled", optionGroupLabel: "optionGroupLabel", optionGroupChildren: "optionGroupChildren", autoDisplayFirst: "autoDisplayFirst", group: "group", showClear: "showClear", emptyFilterMessage: "emptyFilterMessage", emptyMessage: "emptyMessage", lazy: "lazy", virtualScroll: "virtualScroll", virtualScrollItemSize: "virtualScrollItemSize", virtualScrollOptions: "virtualScrollOptions", overlayOptions: "overlayOptions", ariaFilterLabel: "ariaFilterLabel", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", filterMatchMode: "filterMatchMode", maxlength: "maxlength", tooltip: "tooltip", tooltipPosition: "tooltipPosition", tooltipPositionStyle: "tooltipPositionStyle", tooltipStyleClass: "tooltipStyleClass", focusOnHover: "focusOnHover", selectOnFocus: "selectOnFocus", autoOptionFocus: "autoOptionFocus", autofocusFilter: "autofocusFilter", disabled: "disabled", itemSize: "itemSize", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", filterValue: "filterValue", options: "options" }, outputs: { onChange: "onChange", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onClick: "onClick", onShow: "onShow", onHide: "onHide", onClear: "onClear", onLazyLoad: "onLazyLoad" }, host: { properties: { "class.p-inputwrapper-filled": "filled()", "class.p-inputwrapper-focus": "focused || overlayVisible" }, classAttribute: "p-element p-inputwrapper" }, providers: [DROPDOWN_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }, { propertyName: "filterViewChild", first: true, predicate: ["filter"], descendants: true }, { propertyName: "focusInputViewChild", first: true, predicate: ["focusInput"], descendants: true }, { propertyName: "editableInputViewChild", first: true, predicate: ["editableInput"], descendants: true }, { propertyName: "itemsViewChild", first: true, predicate: ["items"], descendants: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], 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: `
1400
1432
  <div #container [attr.id]="id" [ngClass]="containerClass" (click)="onContainerClick($event)" [ngStyle]="style" [class]="styleClass">
1401
1433
  <span
1402
1434
  #focusInput
@@ -1427,7 +1459,7 @@ class Dropdown {
1427
1459
  <ng-container *ngIf="!selectedItemTemplate; else defaultPlaceholder">{{ label() === 'p-emptylabel' ? '&nbsp;' : label() }}</ng-container>
1428
1460
  <ng-container *ngIf="selectedItemTemplate && selectedOption" [ngTemplateOutlet]="selectedItemTemplate" [ngTemplateOutletContext]="{ $implicit: selectedOption }"></ng-container>
1429
1461
  <ng-template #defaultPlaceholder>
1430
- <span *ngIf="(modelValue() === undefined || modelValue() === null) && (label() === placeholder() || (label() && !placeholder()))">{{ label() === 'p-emptylabel' ? '&nbsp;' : placeholder() }}</span>
1462
+ <span *ngIf="displayPlaceholder()">{{ label() === 'p-emptylabel' ? '&nbsp;' : placeholder() }}</span>
1431
1463
  </ng-template>
1432
1464
  </span>
1433
1465
  <input
@@ -1542,7 +1574,7 @@ class Dropdown {
1542
1574
  </ng-container>
1543
1575
 
1544
1576
  <ng-template #buildInItems let-items let-scrollerOptions="options">
1545
- <ul #items [attr.id]="id + '_list'" class="p-dropdown-items" [ngClass]="scrollerOptions.contentStyleClass" [style]="scrollerOptions.contentStyle" role="listbox">
1577
+ <ul #items [attr.id]="id + '_list'" [attr.aria-label]="listLabel" class="p-dropdown-items" [ngClass]="scrollerOptions.contentStyleClass" [style]="scrollerOptions.contentStyle" role="listbox">
1546
1578
  <ng-template ngFor let-option [ngForOf]="items" let-i="index">
1547
1579
  <ng-container *ngIf="isOptionGroup(option)">
1548
1580
  <li class="p-dropdown-item-group" [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
@@ -1599,7 +1631,7 @@ class Dropdown {
1599
1631
  </div>
1600
1632
  `, isInline: true, styles: ["@layer primeng{.p-dropdown{display:inline-flex;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.p-dropdown-clear-icon{position:absolute;top:50%;margin-top:-.5rem}.p-dropdown-trigger{display:flex;align-items:center;justify-content:center;flex-shrink:0}.p-dropdown-label{display:block;white-space:nowrap;overflow:hidden;flex:1 1 auto;width:1%;text-overflow:ellipsis;cursor:pointer}.p-dropdown-label-empty{overflow:hidden;opacity:0}input.p-dropdown-label{cursor:default}.p-dropdown .p-dropdown-panel{min-width:100%}.p-dropdown-items-wrapper{overflow:auto}.p-dropdown-item{cursor:pointer;font-weight:400;white-space:nowrap;position:relative;overflow:hidden}.p-dropdown-item-group{cursor:auto}.p-dropdown-items{margin:0;padding:0;list-style-type:none}.p-dropdown-filter{width:100%}.p-dropdown-filter-container{position:relative}.p-dropdown-filter-icon{position:absolute;top:50%;margin-top:-.5rem}.p-fluid .p-dropdown{display:flex}.p-fluid .p-dropdown .p-dropdown-label{width:1%}}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => i1.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i0.forwardRef(() => i4.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(() => i3.PrimeTemplate), selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i5.Tooltip), selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i0.forwardRef(() => i6.Scroller), selector: "p-scroller", inputs: ["id", "style", "styleClass", "tabindex", "items", "itemSize", "scrollHeight", "scrollWidth", "orientation", "step", "delay", "resizeDelay", "appendOnly", "inline", "lazy", "disabled", "loaderDisabled", "columns", "showSpacer", "showLoader", "numToleratedItems", "loading", "autoSize", "trackBy", "options"], outputs: ["onLazyLoad", "onScroll", "onScrollIndexChange"] }, { kind: "directive", type: i0.forwardRef(() => i7.AutoFocus), selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "component", type: i0.forwardRef(() => TimesIcon), selector: "TimesIcon" }, { kind: "component", type: i0.forwardRef(() => ChevronDownIcon), selector: "ChevronDownIcon" }, { kind: "component", type: i0.forwardRef(() => SearchIcon), selector: "SearchIcon" }, { kind: "component", type: i0.forwardRef(() => DropdownItem), selector: "p-dropdownItem", inputs: ["id", "option", "selected", "focused", "label", "disabled", "visible", "itemSize", "ariaPosInset", "ariaSetSize", "template"], outputs: ["onClick", "onMouseEnter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1601
1633
  }
1602
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: Dropdown, decorators: [{
1634
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: Dropdown, decorators: [{
1603
1635
  type: Component,
1604
1636
  args: [{ selector: 'p-dropdown', template: `
1605
1637
  <div #container [attr.id]="id" [ngClass]="containerClass" (click)="onContainerClick($event)" [ngStyle]="style" [class]="styleClass">
@@ -1632,7 +1664,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
1632
1664
  <ng-container *ngIf="!selectedItemTemplate; else defaultPlaceholder">{{ label() === 'p-emptylabel' ? '&nbsp;' : label() }}</ng-container>
1633
1665
  <ng-container *ngIf="selectedItemTemplate && selectedOption" [ngTemplateOutlet]="selectedItemTemplate" [ngTemplateOutletContext]="{ $implicit: selectedOption }"></ng-container>
1634
1666
  <ng-template #defaultPlaceholder>
1635
- <span *ngIf="(modelValue() === undefined || modelValue() === null) && (label() === placeholder() || (label() && !placeholder()))">{{ label() === 'p-emptylabel' ? '&nbsp;' : placeholder() }}</span>
1667
+ <span *ngIf="displayPlaceholder()">{{ label() === 'p-emptylabel' ? '&nbsp;' : placeholder() }}</span>
1636
1668
  </ng-template>
1637
1669
  </span>
1638
1670
  <input
@@ -1747,7 +1779,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
1747
1779
  </ng-container>
1748
1780
 
1749
1781
  <ng-template #buildInItems let-items let-scrollerOptions="options">
1750
- <ul #items [attr.id]="id + '_list'" class="p-dropdown-items" [ngClass]="scrollerOptions.contentStyleClass" [style]="scrollerOptions.contentStyle" role="listbox">
1782
+ <ul #items [attr.id]="id + '_list'" [attr.aria-label]="listLabel" class="p-dropdown-items" [ngClass]="scrollerOptions.contentStyleClass" [style]="scrollerOptions.contentStyle" role="listbox">
1751
1783
  <ng-template ngFor let-option [ngForOf]="items" let-i="index">
1752
1784
  <ng-container *ngIf="isOptionGroup(option)">
1753
1785
  <li class="p-dropdown-item-group" [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
@@ -1975,11 +2007,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
1975
2007
  args: [PrimeTemplate]
1976
2008
  }] } });
1977
2009
  class DropdownModule {
1978
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1979
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: DropdownModule, declarations: [Dropdown, DropdownItem], imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, AutoFocusModule, TimesIcon, ChevronDownIcon, SearchIcon], exports: [Dropdown, OverlayModule, SharedModule, ScrollerModule] });
1980
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DropdownModule, imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, AutoFocusModule, TimesIcon, ChevronDownIcon, SearchIcon, OverlayModule, SharedModule, ScrollerModule] });
2010
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: DropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2011
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: DropdownModule, declarations: [Dropdown, DropdownItem], imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, AutoFocusModule, TimesIcon, ChevronDownIcon, SearchIcon], exports: [Dropdown, OverlayModule, SharedModule, ScrollerModule] });
2012
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: DropdownModule, imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, AutoFocusModule, TimesIcon, ChevronDownIcon, SearchIcon, OverlayModule, SharedModule, ScrollerModule] });
1981
2013
  }
1982
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DropdownModule, decorators: [{
2014
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: DropdownModule, decorators: [{
1983
2015
  type: NgModule,
1984
2016
  args: [{
1985
2017
  imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, AutoFocusModule, TimesIcon, ChevronDownIcon, SearchIcon],