primeng 17.15.0 → 17.16.1

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 (500) hide show
  1. package/api/megamenuitem.d.ts +4 -0
  2. package/api/primeicons.d.ts +53 -0
  3. package/api/primengconfig.d.ts +1 -1
  4. package/api/treenode.d.ts +4 -0
  5. package/autocomplete/autocomplete.d.ts +11 -2
  6. package/badge/badge.d.ts +2 -5
  7. package/breadcrumb/breadcrumb.interface.d.ts +11 -0
  8. package/button/button.d.ts +1 -1
  9. package/calendar/calendar.d.ts +18 -4
  10. package/cascadeselect/cascadeselect.d.ts +19 -1
  11. package/cascadeselect/cascadeselect.interface.d.ts +4 -0
  12. package/checkbox/checkbox.d.ts +9 -3
  13. package/chips/chips.d.ts +9 -2
  14. package/dataview/dataview.d.ts +0 -1
  15. package/dropdown/dropdown.d.ts +32 -4
  16. package/esm2022/accordion/accordion.mjs +10 -10
  17. package/esm2022/animate/animate.mjs +7 -7
  18. package/esm2022/animateonscroll/animateonscroll.mjs +7 -7
  19. package/esm2022/api/confirmationservice.mjs +3 -3
  20. package/esm2022/api/contextmenuservice.mjs +3 -3
  21. package/esm2022/api/filterservice.mjs +3 -3
  22. package/esm2022/api/megamenuitem.mjs +1 -1
  23. package/esm2022/api/messageservice.mjs +3 -3
  24. package/esm2022/api/overlayservice.mjs +3 -3
  25. package/esm2022/api/primeicons.mjs +54 -1
  26. package/esm2022/api/primengconfig.mjs +6 -6
  27. package/esm2022/api/shared.mjs +13 -13
  28. package/esm2022/api/treedragdropservice.mjs +3 -3
  29. package/esm2022/api/treenode.mjs +1 -1
  30. package/esm2022/autocomplete/autocomplete.mjs +26 -15
  31. package/esm2022/autofocus/autofocus.mjs +7 -7
  32. package/esm2022/avatar/avatar.mjs +7 -7
  33. package/esm2022/avatargroup/avatargroup.mjs +7 -7
  34. package/esm2022/badge/badge.mjs +25 -18
  35. package/esm2022/baseicon/baseicon.mjs +3 -3
  36. package/esm2022/blockui/blockui.mjs +7 -7
  37. package/esm2022/breadcrumb/breadcrumb.interface.mjs +1 -1
  38. package/esm2022/breadcrumb/breadcrumb.mjs +8 -8
  39. package/esm2022/button/button.mjs +11 -11
  40. package/esm2022/buttongroup/buttongroup.mjs +7 -7
  41. package/esm2022/calendar/calendar.mjs +157 -29
  42. package/esm2022/card/card.mjs +7 -7
  43. package/esm2022/carousel/carousel.mjs +7 -7
  44. package/esm2022/cascadeselect/cascadeselect.interface.mjs +1 -1
  45. package/esm2022/cascadeselect/cascadeselect.mjs +70 -21
  46. package/esm2022/chart/chart.mjs +7 -7
  47. package/esm2022/checkbox/checkbox.mjs +37 -15
  48. package/esm2022/chip/chip.mjs +7 -7
  49. package/esm2022/chips/chips.mjs +25 -15
  50. package/esm2022/colorpicker/colorpicker.mjs +7 -7
  51. package/esm2022/confirmdialog/confirmdialog.mjs +7 -7
  52. package/esm2022/confirmpopup/confirmpopup.mjs +7 -7
  53. package/esm2022/contextmenu/contextmenu.mjs +10 -10
  54. package/esm2022/dataview/dataview.mjs +12 -13
  55. package/esm2022/defer/defer.mjs +7 -7
  56. package/esm2022/dialog/dialog.mjs +7 -7
  57. package/esm2022/divider/divider.mjs +7 -7
  58. package/esm2022/dock/dock.mjs +7 -7
  59. package/esm2022/dragdrop/dragdrop.mjs +10 -10
  60. package/esm2022/dropdown/dropdown.mjs +127 -40
  61. package/esm2022/dynamicdialog/dialogservice.mjs +3 -3
  62. package/esm2022/dynamicdialog/dynamicdialog.mjs +13 -10
  63. package/esm2022/dynamicdialog/dynamicdialogcontent.mjs +3 -3
  64. package/esm2022/editor/editor.mjs +7 -7
  65. package/esm2022/fieldset/fieldset.mjs +7 -7
  66. package/esm2022/fileupload/fileupload.interface.mjs +1 -1
  67. package/esm2022/fileupload/fileupload.mjs +181 -113
  68. package/esm2022/floatlabel/floatlabel.mjs +7 -7
  69. package/esm2022/focustrap/focustrap.mjs +7 -7
  70. package/esm2022/galleria/galleria.mjs +19 -19
  71. package/esm2022/iconfield/iconfield.mjs +7 -7
  72. package/esm2022/icons/angledoubledown/angledoubledown.mjs +3 -3
  73. package/esm2022/icons/angledoubleleft/angledoubleleft.mjs +3 -3
  74. package/esm2022/icons/angledoubleright/angledoubleright.mjs +3 -3
  75. package/esm2022/icons/angledoubleup/angledoubleup.mjs +3 -3
  76. package/esm2022/icons/angledown/angledown.mjs +3 -3
  77. package/esm2022/icons/angleleft/angleleft.mjs +3 -3
  78. package/esm2022/icons/angleright/angleright.mjs +3 -3
  79. package/esm2022/icons/angleup/angleup.mjs +3 -3
  80. package/esm2022/icons/arrowdown/arrowdown.mjs +3 -3
  81. package/esm2022/icons/arrowdownleft/arrowdownleft.mjs +3 -3
  82. package/esm2022/icons/arrowdownright/arrowdownright.mjs +3 -3
  83. package/esm2022/icons/arrowleft/arrowleft.mjs +3 -3
  84. package/esm2022/icons/arrowright/arrowright.mjs +3 -3
  85. package/esm2022/icons/arrowup/arrowup.mjs +3 -3
  86. package/esm2022/icons/ban/ban.mjs +3 -3
  87. package/esm2022/icons/bars/bars.mjs +3 -3
  88. package/esm2022/icons/blank/blank.mjs +25 -0
  89. package/esm2022/icons/blank/primeng-icons-blank.mjs +5 -0
  90. package/esm2022/icons/blank/public_api.mjs +2 -0
  91. package/esm2022/icons/calendar/calendar.mjs +3 -3
  92. package/esm2022/icons/caretleft/caretleft.mjs +3 -3
  93. package/esm2022/icons/caretright/caretright.mjs +3 -3
  94. package/esm2022/icons/check/check.mjs +3 -3
  95. package/esm2022/icons/chevrondown/chevrondown.mjs +3 -3
  96. package/esm2022/icons/chevronleft/chevronleft.mjs +3 -3
  97. package/esm2022/icons/chevronright/chevronright.mjs +3 -3
  98. package/esm2022/icons/chevronup/chevronup.mjs +3 -3
  99. package/esm2022/icons/exclamationtriangle/exclamationtriangle.mjs +3 -3
  100. package/esm2022/icons/eye/eye.mjs +3 -3
  101. package/esm2022/icons/eyeslash/eyeslash.mjs +3 -3
  102. package/esm2022/icons/filter/filter.mjs +3 -3
  103. package/esm2022/icons/filterslash/filterslash.mjs +3 -3
  104. package/esm2022/icons/home/home.mjs +3 -3
  105. package/esm2022/icons/infocircle/infocircle.mjs +3 -3
  106. package/esm2022/icons/minus/minus.mjs +3 -3
  107. package/esm2022/icons/pencil/pencil.mjs +3 -3
  108. package/esm2022/icons/plus/plus.mjs +3 -3
  109. package/esm2022/icons/refresh/refresh.mjs +3 -3
  110. package/esm2022/icons/search/search.mjs +3 -3
  111. package/esm2022/icons/searchminus/searchminus.mjs +3 -3
  112. package/esm2022/icons/searchplus/searchplus.mjs +3 -3
  113. package/esm2022/icons/sortalt/sortalt.mjs +3 -3
  114. package/esm2022/icons/sortamountdown/sortamountdown.mjs +3 -3
  115. package/esm2022/icons/sortamountupalt/sortamountupalt.mjs +3 -3
  116. package/esm2022/icons/spinner/spinner.mjs +3 -3
  117. package/esm2022/icons/star/star.mjs +3 -3
  118. package/esm2022/icons/starfill/starfill.mjs +3 -3
  119. package/esm2022/icons/thlarge/thlarge.mjs +3 -3
  120. package/esm2022/icons/times/times.mjs +3 -3
  121. package/esm2022/icons/timescircle/timescircle.mjs +3 -3
  122. package/esm2022/icons/trash/trash.mjs +3 -3
  123. package/esm2022/icons/undo/undo.mjs +3 -3
  124. package/esm2022/icons/upload/upload.mjs +3 -3
  125. package/esm2022/icons/windowmaximize/windowmaximize.mjs +3 -3
  126. package/esm2022/icons/windowminimize/windowminimize.mjs +3 -3
  127. package/esm2022/image/image.mjs +7 -7
  128. package/esm2022/inplace/inplace.mjs +13 -13
  129. package/esm2022/inputgroup/inputgroup.mjs +7 -7
  130. package/esm2022/inputgroupaddon/inputgroupaddon.mjs +7 -7
  131. package/esm2022/inputicon/inputicon.mjs +7 -7
  132. package/esm2022/inputmask/inputmask.mjs +36 -18
  133. package/esm2022/inputnumber/inputnumber.mjs +34 -16
  134. package/esm2022/inputotp/inputotp.mjs +13 -10
  135. package/esm2022/inputswitch/inputswitch.mjs +8 -9
  136. package/esm2022/inputtext/inputtext.mjs +27 -12
  137. package/esm2022/inputtextarea/inputtextarea.mjs +22 -11
  138. package/esm2022/keyfilter/keyfilter.mjs +7 -7
  139. package/esm2022/knob/knob.mjs +7 -7
  140. package/esm2022/listbox/listbox.mjs +7 -7
  141. package/esm2022/megamenu/megamenu.interface.mjs +1 -1
  142. package/esm2022/megamenu/megamenu.mjs +12 -12
  143. package/esm2022/menu/menu.mjs +31 -18
  144. package/esm2022/menubar/menubar.interface.mjs +1 -1
  145. package/esm2022/menubar/menubar.mjs +16 -16
  146. package/esm2022/message/message.mjs +18 -36
  147. package/esm2022/messages/messages.mjs +7 -7
  148. package/esm2022/metergroup/metergroup.mjs +10 -10
  149. package/esm2022/multiselect/multiselect.mjs +90 -37
  150. package/esm2022/orderlist/orderlist.mjs +7 -7
  151. package/esm2022/organizationchart/organizationchart.mjs +51 -35
  152. package/esm2022/overlay/overlay.mjs +7 -7
  153. package/esm2022/overlaypanel/overlaypanel.mjs +7 -7
  154. package/esm2022/paginator/paginator.mjs +10 -10
  155. package/esm2022/panel/panel.mjs +7 -7
  156. package/esm2022/panelmenu/panelmenu.interface.mjs +1 -1
  157. package/esm2022/panelmenu/panelmenu.mjs +64 -54
  158. package/esm2022/password/password.mjs +33 -16
  159. package/esm2022/picklist/picklist.mjs +11 -10
  160. package/esm2022/progressbar/progressbar.mjs +7 -7
  161. package/esm2022/progressspinner/progressspinner.mjs +7 -7
  162. package/esm2022/radiobutton/radiobutton.mjs +40 -18
  163. package/esm2022/rating/rating.mjs +7 -7
  164. package/esm2022/ripple/ripple.mjs +7 -7
  165. package/esm2022/scroller/scroller.mjs +11 -11
  166. package/esm2022/scrollpanel/scrollpanel.mjs +7 -7
  167. package/esm2022/scrolltop/scrolltop.mjs +7 -7
  168. package/esm2022/selectbutton/selectbutton.mjs +7 -7
  169. package/esm2022/sidebar/sidebar.mjs +7 -7
  170. package/esm2022/skeleton/skeleton.mjs +12 -12
  171. package/esm2022/slidemenu/slidemenu.mjs +10 -10
  172. package/esm2022/slider/slider.mjs +7 -7
  173. package/esm2022/speeddial/speeddial.mjs +7 -7
  174. package/esm2022/spinner/spinner.mjs +7 -7
  175. package/esm2022/splitbutton/splitbutton.mjs +20 -20
  176. package/esm2022/splitter/splitter.mjs +7 -7
  177. package/esm2022/stepper/stepper.mjs +19 -19
  178. package/esm2022/steps/steps.mjs +7 -7
  179. package/esm2022/styleclass/styleclass.mjs +7 -7
  180. package/esm2022/table/table.mjs +108 -87
  181. package/esm2022/tabmenu/tabmenu.mjs +7 -7
  182. package/esm2022/tabview/tabview.mjs +10 -10
  183. package/esm2022/tag/tag.mjs +9 -12
  184. package/esm2022/terminal/terminal.mjs +7 -7
  185. package/esm2022/terminal/terminalservice.mjs +3 -3
  186. package/esm2022/tieredmenu/tieredmenu.mjs +41 -37
  187. package/esm2022/timeline/timeline.mjs +9 -9
  188. package/esm2022/toast/toast.mjs +10 -10
  189. package/esm2022/togglebutton/togglebutton.mjs +7 -7
  190. package/esm2022/toolbar/toolbar.mjs +7 -7
  191. package/esm2022/tooltip/tooltip.mjs +25 -15
  192. package/esm2022/tree/tree.mjs +61 -21
  193. package/esm2022/treeselect/treeselect.mjs +18 -10
  194. package/esm2022/treetable/treetable.mjs +62 -60
  195. package/esm2022/tristatecheckbox/tristatecheckbox.mjs +25 -15
  196. package/esm2022/virtualscroller/virtualscroller.mjs +7 -7
  197. package/fesm2022/primeng-accordion.mjs +10 -10
  198. package/fesm2022/primeng-animate.mjs +7 -7
  199. package/fesm2022/primeng-animateonscroll.mjs +7 -7
  200. package/fesm2022/primeng-api.mjs +89 -36
  201. package/fesm2022/primeng-api.mjs.map +1 -1
  202. package/fesm2022/primeng-autocomplete.mjs +25 -14
  203. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  204. package/fesm2022/primeng-autofocus.mjs +7 -7
  205. package/fesm2022/primeng-avatar.mjs +7 -7
  206. package/fesm2022/primeng-avatargroup.mjs +7 -7
  207. package/fesm2022/primeng-badge.mjs +24 -17
  208. package/fesm2022/primeng-badge.mjs.map +1 -1
  209. package/fesm2022/primeng-baseicon.mjs +3 -3
  210. package/fesm2022/primeng-blockui.mjs +7 -7
  211. package/fesm2022/primeng-breadcrumb.mjs +7 -7
  212. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  213. package/fesm2022/primeng-button.mjs +10 -10
  214. package/fesm2022/primeng-button.mjs.map +1 -1
  215. package/fesm2022/primeng-buttongroup.mjs +7 -7
  216. package/fesm2022/primeng-calendar.mjs +156 -28
  217. package/fesm2022/primeng-calendar.mjs.map +1 -1
  218. package/fesm2022/primeng-card.mjs +7 -7
  219. package/fesm2022/primeng-carousel.mjs +7 -7
  220. package/fesm2022/primeng-cascadeselect.mjs +69 -20
  221. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  222. package/fesm2022/primeng-chart.mjs +7 -7
  223. package/fesm2022/primeng-checkbox.mjs +36 -14
  224. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  225. package/fesm2022/primeng-chip.mjs +7 -7
  226. package/fesm2022/primeng-chips.mjs +24 -14
  227. package/fesm2022/primeng-chips.mjs.map +1 -1
  228. package/fesm2022/primeng-colorpicker.mjs +7 -7
  229. package/fesm2022/primeng-confirmdialog.mjs +7 -7
  230. package/fesm2022/primeng-confirmpopup.mjs +7 -7
  231. package/fesm2022/primeng-contextmenu.mjs +10 -10
  232. package/fesm2022/primeng-dataview.mjs +11 -12
  233. package/fesm2022/primeng-dataview.mjs.map +1 -1
  234. package/fesm2022/primeng-defer.mjs +7 -7
  235. package/fesm2022/primeng-dialog.mjs +7 -7
  236. package/fesm2022/primeng-divider.mjs +7 -7
  237. package/fesm2022/primeng-dock.mjs +7 -7
  238. package/fesm2022/primeng-dragdrop.mjs +10 -10
  239. package/fesm2022/primeng-dropdown.mjs +126 -39
  240. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  241. package/fesm2022/primeng-dynamicdialog.mjs +18 -15
  242. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  243. package/fesm2022/primeng-editor.mjs +7 -7
  244. package/fesm2022/primeng-fieldset.mjs +7 -7
  245. package/fesm2022/primeng-fileupload.mjs +180 -112
  246. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  247. package/fesm2022/primeng-floatlabel.mjs +7 -7
  248. package/fesm2022/primeng-focustrap.mjs +7 -7
  249. package/fesm2022/primeng-galleria.mjs +19 -19
  250. package/fesm2022/primeng-iconfield.mjs +7 -7
  251. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  252. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  253. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  254. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  255. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  256. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  257. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  258. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  259. package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
  260. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  261. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  262. package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
  263. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  264. package/fesm2022/primeng-icons-arrowup.mjs +3 -3
  265. package/fesm2022/primeng-icons-ban.mjs +3 -3
  266. package/fesm2022/primeng-icons-bars.mjs +3 -3
  267. package/fesm2022/primeng-icons-blank.mjs +32 -0
  268. package/fesm2022/primeng-icons-blank.mjs.map +1 -0
  269. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  270. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  271. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  272. package/fesm2022/primeng-icons-check.mjs +3 -3
  273. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  274. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  275. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  276. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  277. package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
  278. package/fesm2022/primeng-icons-eye.mjs +3 -3
  279. package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
  280. package/fesm2022/primeng-icons-filter.mjs +3 -3
  281. package/fesm2022/primeng-icons-filterslash.mjs +3 -3
  282. package/fesm2022/primeng-icons-home.mjs +3 -3
  283. package/fesm2022/primeng-icons-infocircle.mjs +3 -3
  284. package/fesm2022/primeng-icons-minus.mjs +3 -3
  285. package/fesm2022/primeng-icons-pencil.mjs +3 -3
  286. package/fesm2022/primeng-icons-plus.mjs +3 -3
  287. package/fesm2022/primeng-icons-refresh.mjs +3 -3
  288. package/fesm2022/primeng-icons-search.mjs +3 -3
  289. package/fesm2022/primeng-icons-searchminus.mjs +3 -3
  290. package/fesm2022/primeng-icons-searchplus.mjs +3 -3
  291. package/fesm2022/primeng-icons-sortalt.mjs +3 -3
  292. package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
  293. package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
  294. package/fesm2022/primeng-icons-spinner.mjs +3 -3
  295. package/fesm2022/primeng-icons-star.mjs +3 -3
  296. package/fesm2022/primeng-icons-starfill.mjs +3 -3
  297. package/fesm2022/primeng-icons-thlarge.mjs +3 -3
  298. package/fesm2022/primeng-icons-times.mjs +3 -3
  299. package/fesm2022/primeng-icons-timescircle.mjs +3 -3
  300. package/fesm2022/primeng-icons-trash.mjs +3 -3
  301. package/fesm2022/primeng-icons-undo.mjs +3 -3
  302. package/fesm2022/primeng-icons-upload.mjs +3 -3
  303. package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
  304. package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
  305. package/fesm2022/primeng-image.mjs +7 -7
  306. package/fesm2022/primeng-inplace.mjs +13 -13
  307. package/fesm2022/primeng-inputgroup.mjs +7 -7
  308. package/fesm2022/primeng-inputgroupaddon.mjs +7 -7
  309. package/fesm2022/primeng-inputicon.mjs +7 -7
  310. package/fesm2022/primeng-inputmask.mjs +35 -17
  311. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  312. package/fesm2022/primeng-inputnumber.mjs +34 -16
  313. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  314. package/fesm2022/primeng-inputotp.mjs +12 -9
  315. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  316. package/fesm2022/primeng-inputswitch.mjs +7 -8
  317. package/fesm2022/primeng-inputswitch.mjs.map +1 -1
  318. package/fesm2022/primeng-inputtext.mjs +26 -11
  319. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  320. package/fesm2022/primeng-inputtextarea.mjs +21 -10
  321. package/fesm2022/primeng-inputtextarea.mjs.map +1 -1
  322. package/fesm2022/primeng-keyfilter.mjs +7 -7
  323. package/fesm2022/primeng-knob.mjs +7 -7
  324. package/fesm2022/primeng-listbox.mjs +7 -7
  325. package/fesm2022/primeng-megamenu.mjs +11 -11
  326. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  327. package/fesm2022/primeng-menu.mjs +30 -17
  328. package/fesm2022/primeng-menu.mjs.map +1 -1
  329. package/fesm2022/primeng-menubar.mjs +15 -15
  330. package/fesm2022/primeng-menubar.mjs.map +1 -1
  331. package/fesm2022/primeng-message.mjs +17 -35
  332. package/fesm2022/primeng-message.mjs.map +1 -1
  333. package/fesm2022/primeng-messages.mjs +7 -7
  334. package/fesm2022/primeng-metergroup.mjs +10 -10
  335. package/fesm2022/primeng-multiselect.mjs +89 -36
  336. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  337. package/fesm2022/primeng-orderlist.mjs +7 -7
  338. package/fesm2022/primeng-organizationchart.mjs +50 -34
  339. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  340. package/fesm2022/primeng-overlay.mjs +7 -7
  341. package/fesm2022/primeng-overlaypanel.mjs +7 -7
  342. package/fesm2022/primeng-paginator.mjs +9 -9
  343. package/fesm2022/primeng-paginator.mjs.map +1 -1
  344. package/fesm2022/primeng-panel.mjs +7 -7
  345. package/fesm2022/primeng-panelmenu.mjs +63 -53
  346. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  347. package/fesm2022/primeng-password.mjs +32 -15
  348. package/fesm2022/primeng-password.mjs.map +1 -1
  349. package/fesm2022/primeng-picklist.mjs +10 -9
  350. package/fesm2022/primeng-picklist.mjs.map +1 -1
  351. package/fesm2022/primeng-progressbar.mjs +7 -7
  352. package/fesm2022/primeng-progressspinner.mjs +7 -7
  353. package/fesm2022/primeng-radiobutton.mjs +39 -17
  354. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  355. package/fesm2022/primeng-rating.mjs +7 -7
  356. package/fesm2022/primeng-ripple.mjs +7 -7
  357. package/fesm2022/primeng-scroller.mjs +10 -10
  358. package/fesm2022/primeng-scroller.mjs.map +1 -1
  359. package/fesm2022/primeng-scrollpanel.mjs +7 -7
  360. package/fesm2022/primeng-scrolltop.mjs +7 -7
  361. package/fesm2022/primeng-selectbutton.mjs +7 -7
  362. package/fesm2022/primeng-sidebar.mjs +7 -7
  363. package/fesm2022/primeng-skeleton.mjs +11 -11
  364. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  365. package/fesm2022/primeng-slidemenu.mjs +10 -10
  366. package/fesm2022/primeng-slider.mjs +7 -7
  367. package/fesm2022/primeng-speeddial.mjs +7 -7
  368. package/fesm2022/primeng-spinner.mjs +7 -7
  369. package/fesm2022/primeng-splitbutton.mjs +19 -19
  370. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  371. package/fesm2022/primeng-splitter.mjs +7 -7
  372. package/fesm2022/primeng-stepper.mjs +19 -19
  373. package/fesm2022/primeng-steps.mjs +7 -7
  374. package/fesm2022/primeng-styleclass.mjs +7 -7
  375. package/fesm2022/primeng-table.mjs +107 -86
  376. package/fesm2022/primeng-table.mjs.map +1 -1
  377. package/fesm2022/primeng-tabmenu.mjs +7 -7
  378. package/fesm2022/primeng-tabview.mjs +10 -10
  379. package/fesm2022/primeng-tag.mjs +8 -11
  380. package/fesm2022/primeng-tag.mjs.map +1 -1
  381. package/fesm2022/primeng-terminal.mjs +10 -10
  382. package/fesm2022/primeng-tieredmenu.mjs +40 -36
  383. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  384. package/fesm2022/primeng-timeline.mjs +9 -9
  385. package/fesm2022/primeng-timeline.mjs.map +1 -1
  386. package/fesm2022/primeng-toast.mjs +10 -10
  387. package/fesm2022/primeng-togglebutton.mjs +7 -7
  388. package/fesm2022/primeng-toolbar.mjs +7 -7
  389. package/fesm2022/primeng-tooltip.mjs +24 -14
  390. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  391. package/fesm2022/primeng-tree.mjs +60 -20
  392. package/fesm2022/primeng-tree.mjs.map +1 -1
  393. package/fesm2022/primeng-treeselect.mjs +17 -9
  394. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  395. package/fesm2022/primeng-treetable.mjs +61 -59
  396. package/fesm2022/primeng-treetable.mjs.map +1 -1
  397. package/fesm2022/primeng-tristatecheckbox.mjs +24 -14
  398. package/fesm2022/primeng-tristatecheckbox.mjs.map +1 -1
  399. package/fesm2022/primeng-virtualscroller.mjs +7 -7
  400. package/fileupload/fileupload.d.ts +23 -2
  401. package/fileupload/fileupload.interface.d.ts +73 -3
  402. package/icons/blank/blank.d.ts +6 -0
  403. package/icons/blank/index.d.ts +5 -0
  404. package/icons/blank/public_api.d.ts +1 -0
  405. package/inputmask/inputmask.d.ts +13 -3
  406. package/inputnumber/inputnumber.d.ts +6 -1
  407. package/inputotp/inputotp.d.ts +1 -1
  408. package/inputtext/inputtext.d.ts +14 -3
  409. package/inputtextarea/inputtextarea.d.ts +10 -3
  410. package/megamenu/megamenu.interface.d.ts +12 -0
  411. package/menu/menu.d.ts +1 -0
  412. package/menubar/menubar.interface.d.ts +17 -0
  413. package/message/message.d.ts +6 -2
  414. package/multiselect/multiselect.d.ts +21 -1
  415. package/organizationchart/organizationchart.d.ts +10 -2
  416. package/package.json +52 -46
  417. package/paginator/paginator.d.ts +4 -4
  418. package/panelmenu/panelmenu.d.ts +1 -0
  419. package/panelmenu/panelmenu.interface.d.ts +12 -0
  420. package/password/password.d.ts +12 -2
  421. package/radiobutton/radiobutton.d.ts +9 -2
  422. package/resources/components/dropdown/dropdown.css +6 -2
  423. package/resources/components/timeline/timeline.css +2 -0
  424. package/resources/themes/arya-blue/theme.css +117 -5
  425. package/resources/themes/arya-green/theme.css +117 -5
  426. package/resources/themes/arya-orange/theme.css +117 -5
  427. package/resources/themes/arya-purple/theme.css +117 -5
  428. package/resources/themes/aura-dark-amber/theme.css +174 -2
  429. package/resources/themes/aura-dark-blue/theme.css +174 -2
  430. package/resources/themes/aura-dark-cyan/theme.css +174 -2
  431. package/resources/themes/aura-dark-green/theme.css +174 -2
  432. package/resources/themes/aura-dark-indigo/theme.css +174 -2
  433. package/resources/themes/aura-dark-lime/theme.css +174 -2
  434. package/resources/themes/aura-dark-noir/theme.css +174 -2
  435. package/resources/themes/aura-dark-pink/theme.css +174 -2
  436. package/resources/themes/aura-dark-purple/theme.css +174 -2
  437. package/resources/themes/aura-dark-teal/theme.css +174 -2
  438. package/resources/themes/aura-light-amber/theme.css +174 -2
  439. package/resources/themes/aura-light-blue/theme.css +174 -2
  440. package/resources/themes/aura-light-cyan/theme.css +174 -2
  441. package/resources/themes/aura-light-green/theme.css +174 -2
  442. package/resources/themes/aura-light-indigo/theme.css +174 -2
  443. package/resources/themes/aura-light-lime/theme.css +174 -2
  444. package/resources/themes/aura-light-noir/theme.css +174 -2
  445. package/resources/themes/aura-light-pink/theme.css +174 -2
  446. package/resources/themes/aura-light-purple/theme.css +174 -2
  447. package/resources/themes/aura-light-teal/theme.css +174 -2
  448. package/resources/themes/bootstrap4-dark-blue/theme.css +166 -5
  449. package/resources/themes/bootstrap4-dark-purple/theme.css +166 -5
  450. package/resources/themes/bootstrap4-light-blue/theme.css +166 -5
  451. package/resources/themes/bootstrap4-light-purple/theme.css +166 -5
  452. package/resources/themes/fluent-light/theme.css +117 -5
  453. package/resources/themes/lara-dark-blue/theme.css +173 -1
  454. package/resources/themes/lara-dark-indigo/theme.css +173 -1
  455. package/resources/themes/lara-dark-purple/theme.css +173 -1
  456. package/resources/themes/lara-dark-teal/theme.css +173 -1
  457. package/resources/themes/lara-light-blue/theme.css +222 -1
  458. package/resources/themes/lara-light-indigo/theme.css +222 -1
  459. package/resources/themes/lara-light-purple/theme.css +222 -1
  460. package/resources/themes/lara-light-teal/theme.css +222 -1
  461. package/resources/themes/luna-amber/theme.css +117 -5
  462. package/resources/themes/luna-blue/theme.css +117 -5
  463. package/resources/themes/luna-green/theme.css +117 -5
  464. package/resources/themes/luna-pink/theme.css +117 -5
  465. package/resources/themes/md-dark-deeppurple/theme.css +187 -4
  466. package/resources/themes/md-dark-indigo/theme.css +187 -4
  467. package/resources/themes/md-light-deeppurple/theme.css +187 -4
  468. package/resources/themes/md-light-indigo/theme.css +187 -4
  469. package/resources/themes/mdc-dark-deeppurple/theme.css +187 -4
  470. package/resources/themes/mdc-dark-indigo/theme.css +187 -4
  471. package/resources/themes/mdc-light-deeppurple/theme.css +187 -4
  472. package/resources/themes/mdc-light-indigo/theme.css +187 -4
  473. package/resources/themes/mira/theme.css +117 -5
  474. package/resources/themes/nano/theme.css +117 -5
  475. package/resources/themes/nova/theme.css +117 -5
  476. package/resources/themes/nova-accent/theme.css +117 -5
  477. package/resources/themes/nova-alt/theme.css +117 -5
  478. package/resources/themes/rhea/theme.css +117 -5
  479. package/resources/themes/saga-blue/theme.css +117 -5
  480. package/resources/themes/saga-green/theme.css +117 -5
  481. package/resources/themes/saga-orange/theme.css +117 -5
  482. package/resources/themes/saga-purple/theme.css +117 -5
  483. package/resources/themes/soho-dark/theme.css +117 -5
  484. package/resources/themes/soho-light/theme.css +117 -5
  485. package/resources/themes/tailwind-light/theme.css +117 -5
  486. package/resources/themes/vela-blue/theme.css +117 -5
  487. package/resources/themes/vela-green/theme.css +117 -5
  488. package/resources/themes/vela-orange/theme.css +117 -5
  489. package/resources/themes/vela-purple/theme.css +117 -5
  490. package/resources/themes/viva-dark/theme.css +117 -5
  491. package/resources/themes/viva-light/theme.css +117 -5
  492. package/skeleton/skeleton.d.ts +3 -3
  493. package/table/table.d.ts +17 -1
  494. package/tag/tag.d.ts +2 -5
  495. package/tieredmenu/tieredmenu.d.ts +5 -4
  496. package/tooltip/tooltip.d.ts +1 -1
  497. package/tree/tree.d.ts +9 -2
  498. package/treeselect/treeselect.d.ts +7 -1
  499. package/treetable/treetable.d.ts +2 -1
  500. package/tristatecheckbox/tristatecheckbox.d.ts +9 -3
@@ -18,6 +18,8 @@ import * as i5 from 'primeng/tooltip';
18
18
  import { TooltipModule } from 'primeng/tooltip';
19
19
  import { ObjectUtils, UniqueComponentId } from 'primeng/utils';
20
20
  import { TimesIcon } from 'primeng/icons/times';
21
+ import { CheckIcon } from 'primeng/icons/check';
22
+ import { BlankIcon } from 'primeng/icons/blank';
21
23
  import { ChevronDownIcon } from 'primeng/icons/chevrondown';
22
24
  import { SearchIcon } from 'primeng/icons/search';
23
25
 
@@ -38,6 +40,7 @@ class DropdownItem {
38
40
  ariaPosInset;
39
41
  ariaSetSize;
40
42
  template;
43
+ checkmark;
41
44
  onClick = new EventEmitter();
42
45
  onMouseEnter = new EventEmitter();
43
46
  ngOnInit() { }
@@ -47,8 +50,8 @@ class DropdownItem {
47
50
  onOptionMouseEnter(event) {
48
51
  this.onMouseEnter.emit(event);
49
52
  }
50
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: DropdownItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
51
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.1", type: DropdownItem, selector: "p-dropdownItem", inputs: { id: "id", option: "option", selected: ["selected", "selected", booleanAttribute], focused: ["focused", "focused", booleanAttribute], label: "label", disabled: ["disabled", "disabled", booleanAttribute], visible: ["visible", "visible", booleanAttribute], itemSize: ["itemSize", "itemSize", numberAttribute], ariaPosInset: "ariaPosInset", ariaSetSize: "ariaSetSize", template: "template" }, outputs: { onClick: "onClick", onMouseEnter: "onMouseEnter" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
53
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: DropdownItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
54
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.7", type: DropdownItem, selector: "p-dropdownItem", inputs: { id: "id", option: "option", selected: ["selected", "selected", booleanAttribute], focused: ["focused", "focused", booleanAttribute], label: "label", disabled: ["disabled", "disabled", booleanAttribute], visible: ["visible", "visible", booleanAttribute], itemSize: ["itemSize", "itemSize", numberAttribute], ariaPosInset: "ariaPosInset", ariaSetSize: "ariaSetSize", template: "template", checkmark: ["checkmark", "checkmark", booleanAttribute] }, outputs: { onClick: "onClick", onMouseEnter: "onMouseEnter" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
52
55
  <li
53
56
  [id]="id"
54
57
  (click)="onOptionClick($event)"
@@ -65,12 +68,16 @@ class DropdownItem {
65
68
  [ngStyle]="{ height: itemSize + 'px' }"
66
69
  [ngClass]="{ 'p-dropdown-item': true, 'p-highlight': selected, 'p-disabled': disabled, 'p-focus': focused }"
67
70
  >
71
+ <ng-container *ngIf="checkmark">
72
+ <CheckIcon *ngIf="selected" [styleClass]="'p-dropdown-check-icon'" />
73
+ <BlankIcon *ngIf="!selected" [styleClass]="'p-dropdown-blank-icon'" />
74
+ </ng-container>
68
75
  <span *ngIf="!template">{{ label ?? 'empty' }}</span>
69
76
  <ng-container *ngTemplateOutlet="template; context: { $implicit: option }"></ng-container>
70
77
  </li>
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]" }] });
78
+ `, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(() => i1.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: "directive", type: i0.forwardRef(() => i2.Ripple), selector: "[pRipple]" }, { kind: "component", type: i0.forwardRef(() => BlankIcon), selector: "BlankIcon" }, { kind: "component", type: i0.forwardRef(() => CheckIcon), selector: "CheckIcon" }] });
72
79
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: DropdownItem, decorators: [{
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: DropdownItem, decorators: [{
74
81
  type: Component,
75
82
  args: [{
76
83
  selector: 'p-dropdownItem',
@@ -91,6 +98,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
91
98
  [ngStyle]="{ height: itemSize + 'px' }"
92
99
  [ngClass]="{ 'p-dropdown-item': true, 'p-highlight': selected, 'p-disabled': disabled, 'p-focus': focused }"
93
100
  >
101
+ <ng-container *ngIf="checkmark">
102
+ <CheckIcon *ngIf="selected" [styleClass]="'p-dropdown-check-icon'" />
103
+ <BlankIcon *ngIf="!selected" [styleClass]="'p-dropdown-blank-icon'" />
104
+ </ng-container>
94
105
  <span *ngIf="!template">{{ label ?? 'empty' }}</span>
95
106
  <ng-container *ngTemplateOutlet="template; context: { $implicit: option }"></ng-container>
96
107
  </li>
@@ -126,6 +137,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
126
137
  type: Input
127
138
  }], template: [{
128
139
  type: Input
140
+ }], checkmark: [{
141
+ type: Input,
142
+ args: [{ transform: booleanAttribute }]
129
143
  }], onClick: [{
130
144
  type: Output
131
145
  }], onMouseEnter: [{
@@ -217,6 +231,11 @@ class Dropdown {
217
231
  get placeholder() {
218
232
  return this._placeholder.asReadonly();
219
233
  }
234
+ /**
235
+ * Icon to display in loading state.
236
+ * @group Props
237
+ */
238
+ loadingIcon;
220
239
  /**
221
240
  * Placeholder text to show when filter input is empty.
222
241
  * @group Props
@@ -227,6 +246,11 @@ class Dropdown {
227
246
  * @group Props
228
247
  */
229
248
  filterLocale;
249
+ /**
250
+ * Specifies the input variant of the component.
251
+ * @group Props
252
+ */
253
+ variant = 'outlined';
230
254
  /**
231
255
  * Identifier of the accessible input element.
232
256
  * @group Props
@@ -257,11 +281,21 @@ class Dropdown {
257
281
  * @group Props
258
282
  */
259
283
  resetFilterOnHide = false;
284
+ /**
285
+ * Whether the selected option will be shown with a check mark.
286
+ * @group Props
287
+ */
288
+ checkmark = false;
260
289
  /**
261
290
  * Icon class of the dropdown icon.
262
291
  * @group Props
263
292
  */
264
293
  dropdownIcon;
294
+ /**
295
+ * Whether the dropdown is in loading state.
296
+ * @group Props
297
+ */
298
+ loading = false;
265
299
  /**
266
300
  * Name of the label field of an option.
267
301
  * @group Props
@@ -587,6 +621,7 @@ class Dropdown {
587
621
  emptyFilterTemplate;
588
622
  emptyTemplate;
589
623
  dropdownIconTemplate;
624
+ loadingIconTemplate;
590
625
  clearIconTemplate;
591
626
  filterIconTemplate;
592
627
  filterOptions;
@@ -634,7 +669,8 @@ class Dropdown {
634
669
  'p-dropdown-clearable': this.showClear && !this.disabled,
635
670
  'p-focus': this.focused,
636
671
  'p-inputwrapper-filled': this.modelValue() !== undefined && this.modelValue() !== null && !this.modelValue().length,
637
- 'p-inputwrapper-focus': this.focused || this.overlayVisible
672
+ 'p-inputwrapper-focus': this.focused || this.overlayVisible,
673
+ 'p-variant-filled': this.variant === 'filled' || this.config.inputStyle() === 'filled'
638
674
  };
639
675
  }
640
676
  get inputClass() {
@@ -648,7 +684,7 @@ class Dropdown {
648
684
  get panelClass() {
649
685
  return {
650
686
  'p-dropdown-panel p-component': true,
651
- 'p-input-filled': this.config.inputStyle === 'filled',
687
+ 'p-input-filled': this.config.inputStyle() === 'filled',
652
688
  'p-ripple-disabled': this.config.ripple === false
653
689
  };
654
690
  }
@@ -725,9 +761,6 @@ class Dropdown {
725
761
  isModelValueNotSet() {
726
762
  return this.modelValue() === null && !this.isOptionValueEqualsModelValue(this.selectedOption);
727
763
  }
728
- displayPlaceholder() {
729
- return ObjectUtils.isEmpty(this.selectedOption) && this.label() === this.placeholder();
730
- }
731
764
  getAllVisibleAndNonVisibleOptions() {
732
765
  return this.group ? this.flatOptions(this.options) : this.options || [];
733
766
  }
@@ -793,6 +826,9 @@ class Dropdown {
793
826
  case 'dropdownicon':
794
827
  this.dropdownIconTemplate = item.template;
795
828
  break;
829
+ case 'loadingicon':
830
+ this.loadingIconTemplate = item.template;
831
+ break;
796
832
  case 'clearicon':
797
833
  this.clearIconTemplate = item.template;
798
834
  break;
@@ -870,6 +906,17 @@ class Dropdown {
870
906
  if (this.editable) {
871
907
  this.updateEditableLabel();
872
908
  }
909
+ this.updatePlaceHolderForFloatingLabel();
910
+ }
911
+ updatePlaceHolderForFloatingLabel() {
912
+ const parentElement = this.el.nativeElement.parentElement;
913
+ const isInFloatingLabel = parentElement.classList.contains('p-float-label');
914
+ if (parentElement && isInFloatingLabel && !this.selectedOption) {
915
+ const label = parentElement.querySelector('label');
916
+ if (label) {
917
+ this._placeholder.set(label.textContent);
918
+ }
919
+ }
873
920
  }
874
921
  updateEditableLabel() {
875
922
  if (this.editableInputViewChild) {
@@ -936,7 +983,7 @@ class Dropdown {
936
983
  this.cd.markForCheck();
937
984
  }
938
985
  onContainerClick(event) {
939
- if (this.disabled || this.readonly) {
986
+ if (this.disabled || this.readonly || this.loading) {
940
987
  return;
941
988
  }
942
989
  this.focusInputViewChild?.nativeElement.focus({ preventScroll: true });
@@ -1055,7 +1102,7 @@ class Dropdown {
1055
1102
  this.preventModelTouched = false;
1056
1103
  }
1057
1104
  onKeyDown(event, search) {
1058
- if (this.disabled || this.readonly) {
1105
+ if (this.disabled || this.readonly || this.loading) {
1059
1106
  return;
1060
1107
  }
1061
1108
  switch (event.code) {
@@ -1166,6 +1213,7 @@ class Dropdown {
1166
1213
  // this.changeFocusedOptionIndex(event, optionIndex);
1167
1214
  // !this.overlayVisible && this.show();
1168
1215
  event.preventDefault();
1216
+ event.stopPropagation();
1169
1217
  }
1170
1218
  changeFocusedOptionIndex(event, index) {
1171
1219
  if (this.focusedOptionIndex() !== index) {
@@ -1245,14 +1293,14 @@ class Dropdown {
1245
1293
  this.onOptionSelect(event, option);
1246
1294
  }
1247
1295
  this.overlayVisible && this.hide();
1248
- event.preventDefault();
1249
1296
  }
1250
1297
  else {
1251
1298
  const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.clicked() ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex();
1252
1299
  this.changeFocusedOptionIndex(event, optionIndex);
1253
1300
  !this.overlayVisible && this.show();
1254
- event.preventDefault();
1255
1301
  }
1302
+ event.preventDefault();
1303
+ event.stopPropagation();
1256
1304
  }
1257
1305
  onArrowLeftKey(event, pressedInInputText = false) {
1258
1306
  pressedInInputText && this.focusedOptionIndex.set(-1);
@@ -1341,6 +1389,7 @@ class Dropdown {
1341
1389
  this.overlayVisible && this.hide(this.filter);
1342
1390
  }
1343
1391
  }
1392
+ event.stopPropagation();
1344
1393
  }
1345
1394
  onFirstHiddenFocus(event) {
1346
1395
  const focusableEl = event.relatedTarget === this.focusInputViewChild?.nativeElement ? DomHandler.getFirstFocusableElement(this.overlayViewChild.el?.nativeElement, ':not(.p-hidden-focusable)') : this.focusInputViewChild?.nativeElement;
@@ -1438,8 +1487,8 @@ class Dropdown {
1438
1487
  this.onClear.emit(event);
1439
1488
  this.resetFilter();
1440
1489
  }
1441
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", 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 });
1442
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.1", type: Dropdown, selector: "p-dropdown", inputs: { id: "id", scrollHeight: "scrollHeight", filter: ["filter", "filter", booleanAttribute], name: "name", style: "style", panelStyle: "panelStyle", styleClass: "styleClass", panelStyleClass: "panelStyleClass", readonly: ["readonly", "readonly", booleanAttribute], required: ["required", "required", booleanAttribute], editable: ["editable", "editable", booleanAttribute], appendTo: "appendTo", tabindex: ["tabindex", "tabindex", numberAttribute], placeholder: "placeholder", filterPlaceholder: "filterPlaceholder", filterLocale: "filterLocale", inputId: "inputId", dataKey: "dataKey", filterBy: "filterBy", filterFields: "filterFields", autofocus: ["autofocus", "autofocus", booleanAttribute], resetFilterOnHide: ["resetFilterOnHide", "resetFilterOnHide", booleanAttribute], dropdownIcon: "dropdownIcon", optionLabel: "optionLabel", optionValue: "optionValue", optionDisabled: "optionDisabled", optionGroupLabel: "optionGroupLabel", optionGroupChildren: "optionGroupChildren", autoDisplayFirst: ["autoDisplayFirst", "autoDisplayFirst", booleanAttribute], group: ["group", "group", booleanAttribute], showClear: ["showClear", "showClear", booleanAttribute], emptyFilterMessage: "emptyFilterMessage", emptyMessage: "emptyMessage", lazy: ["lazy", "lazy", booleanAttribute], virtualScroll: ["virtualScroll", "virtualScroll", booleanAttribute], virtualScrollItemSize: ["virtualScrollItemSize", "virtualScrollItemSize", numberAttribute], virtualScrollOptions: "virtualScrollOptions", overlayOptions: "overlayOptions", ariaFilterLabel: "ariaFilterLabel", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", filterMatchMode: "filterMatchMode", maxlength: ["maxlength", "maxlength", numberAttribute], tooltip: "tooltip", tooltipPosition: "tooltipPosition", tooltipPositionStyle: "tooltipPositionStyle", tooltipStyleClass: "tooltipStyleClass", focusOnHover: ["focusOnHover", "focusOnHover", booleanAttribute], selectOnFocus: ["selectOnFocus", "selectOnFocus", booleanAttribute], autoOptionFocus: ["autoOptionFocus", "autoOptionFocus", booleanAttribute], autofocusFilter: ["autofocusFilter", "autofocusFilter", booleanAttribute], 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: `
1490
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", 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 });
1491
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.7", type: Dropdown, selector: "p-dropdown", inputs: { id: "id", scrollHeight: "scrollHeight", filter: ["filter", "filter", booleanAttribute], name: "name", style: "style", panelStyle: "panelStyle", styleClass: "styleClass", panelStyleClass: "panelStyleClass", readonly: ["readonly", "readonly", booleanAttribute], required: ["required", "required", booleanAttribute], editable: ["editable", "editable", booleanAttribute], appendTo: "appendTo", tabindex: ["tabindex", "tabindex", numberAttribute], placeholder: "placeholder", loadingIcon: "loadingIcon", filterPlaceholder: "filterPlaceholder", filterLocale: "filterLocale", variant: "variant", inputId: "inputId", dataKey: "dataKey", filterBy: "filterBy", filterFields: "filterFields", autofocus: ["autofocus", "autofocus", booleanAttribute], resetFilterOnHide: ["resetFilterOnHide", "resetFilterOnHide", booleanAttribute], checkmark: ["checkmark", "checkmark", booleanAttribute], dropdownIcon: "dropdownIcon", loading: ["loading", "loading", booleanAttribute], optionLabel: "optionLabel", optionValue: "optionValue", optionDisabled: "optionDisabled", optionGroupLabel: "optionGroupLabel", optionGroupChildren: "optionGroupChildren", autoDisplayFirst: ["autoDisplayFirst", "autoDisplayFirst", booleanAttribute], group: ["group", "group", booleanAttribute], showClear: ["showClear", "showClear", booleanAttribute], emptyFilterMessage: "emptyFilterMessage", emptyMessage: "emptyMessage", lazy: ["lazy", "lazy", booleanAttribute], virtualScroll: ["virtualScroll", "virtualScroll", booleanAttribute], virtualScrollItemSize: ["virtualScrollItemSize", "virtualScrollItemSize", numberAttribute], virtualScrollOptions: "virtualScrollOptions", overlayOptions: "overlayOptions", ariaFilterLabel: "ariaFilterLabel", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", filterMatchMode: "filterMatchMode", maxlength: ["maxlength", "maxlength", numberAttribute], tooltip: "tooltip", tooltipPosition: "tooltipPosition", tooltipPositionStyle: "tooltipPositionStyle", tooltipStyleClass: "tooltipStyleClass", focusOnHover: ["focusOnHover", "focusOnHover", booleanAttribute], selectOnFocus: ["selectOnFocus", "selectOnFocus", booleanAttribute], autoOptionFocus: ["autoOptionFocus", "autoOptionFocus", booleanAttribute], autofocusFilter: ["autofocusFilter", "autofocusFilter", booleanAttribute], 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: `
1443
1492
  <div #container [attr.id]="id" [ngClass]="containerClass" (click)="onContainerClick($event)" [ngStyle]="style" [class]="styleClass">
1444
1493
  <span
1445
1494
  #focusInput
@@ -1470,7 +1519,7 @@ class Dropdown {
1470
1519
  <ng-container *ngIf="!selectedItemTemplate; else defaultPlaceholder">{{ label() === 'p-emptylabel' ? '&nbsp;' : label() }}</ng-container>
1471
1520
  <ng-container *ngIf="selectedItemTemplate && selectedOption" [ngTemplateOutlet]="selectedItemTemplate" [ngTemplateOutletContext]="{ $implicit: selectedOption }"></ng-container>
1472
1521
  <ng-template #defaultPlaceholder>
1473
- <span *ngIf="displayPlaceholder()">{{ label() === 'p-emptylabel' ? '&nbsp;' : placeholder() }}</span>
1522
+ <span *ngIf="!selectedOption">{{ label() === 'p-emptylabel' ? '&nbsp;' : label() }}</span>
1474
1523
  </ng-template>
1475
1524
  </span>
1476
1525
  <input
@@ -1499,13 +1548,25 @@ class Dropdown {
1499
1548
  </ng-container>
1500
1549
 
1501
1550
  <div class="p-dropdown-trigger" role="button" aria-label="dropdown trigger" aria-haspopup="listbox" [attr.aria-expanded]="overlayVisible ?? false" [attr.data-pc-section]="'trigger'">
1502
- <ng-container *ngIf="!dropdownIconTemplate">
1503
- <span class="p-dropdown-trigger-icon" *ngIf="dropdownIcon" [ngClass]="dropdownIcon"></span>
1504
- <ChevronDownIcon *ngIf="!dropdownIcon" [styleClass]="'p-dropdown-trigger-icon'" />
1551
+ <ng-container *ngIf="loading; else elseBlock">
1552
+ <ng-container *ngIf="loadingIconTemplate">
1553
+ <ng-container *ngTemplateOutlet="loadingIconTemplate"></ng-container>
1554
+ </ng-container>
1555
+ <ng-container *ngIf="!loadingIconTemplate">
1556
+ <span *ngIf="loadingIcon" [ngClass]="'p-dropdown-trigger-icon pi-spin ' + loadingIcon" aria-hidden="true"></span>
1557
+ <span *ngIf="!loadingIcon" [class]="'p-dropdown-trigger-icon pi pi-spinner pi-spin'" aria-hidden="true"></span>
1558
+ </ng-container>
1505
1559
  </ng-container>
1506
- <span *ngIf="dropdownIconTemplate" class="p-dropdown-trigger-icon">
1507
- <ng-template *ngTemplateOutlet="dropdownIconTemplate"></ng-template>
1508
- </span>
1560
+
1561
+ <ng-template #elseBlock>
1562
+ <ng-container *ngIf="!dropdownIconTemplate">
1563
+ <span class="p-dropdown-trigger-icon" *ngIf="dropdownIcon" [ngClass]="dropdownIcon"></span>
1564
+ <ChevronDownIcon *ngIf="!dropdownIcon" [styleClass]="'p-dropdown-trigger-icon'" />
1565
+ </ng-container>
1566
+ <span *ngIf="dropdownIconTemplate" class="p-dropdown-trigger-icon">
1567
+ <ng-template *ngTemplateOutlet="dropdownIconTemplate"></ng-template>
1568
+ </span>
1569
+ </ng-template>
1509
1570
  </div>
1510
1571
 
1511
1572
  <p-overlay
@@ -1547,6 +1608,7 @@ class Dropdown {
1547
1608
  autocomplete="off"
1548
1609
  [value]="_filterValue() || ''"
1549
1610
  class="p-dropdown-filter p-inputtext p-component"
1611
+ [ngClass]="{ 'p-variant-filled': variant === 'filled' || config.inputStyle() === 'filled' }"
1550
1612
  [attr.placeholder]="filterPlaceholder"
1551
1613
  [attr.aria-owns]="id + '_list'"
1552
1614
  (input)="onFilterInputChange($event)"
@@ -1562,7 +1624,7 @@ class Dropdown {
1562
1624
  </div>
1563
1625
  </ng-template>
1564
1626
  </div>
1565
- <div class="p-dropdown-items-wrapper" [style.max-height]="virtualScroll ? 'auto' : scrollHeight || 'auto'" role="section">
1627
+ <div class="p-dropdown-items-wrapper" [style.max-height]="virtualScroll ? 'auto' : scrollHeight || 'auto'">
1566
1628
  <p-scroller
1567
1629
  *ngIf="virtualScroll"
1568
1630
  #scroller
@@ -1600,6 +1662,7 @@ class Dropdown {
1600
1662
  <p-dropdownItem
1601
1663
  [id]="id + '_' + getOptionIndex(i, scrollerOptions)"
1602
1664
  [option]="option"
1665
+ [checkmark]="checkmark"
1603
1666
  [selected]="isSelected(option)"
1604
1667
  [label]="getOptionLabel(option)"
1605
1668
  [disabled]="isOptionDisabled(option)"
@@ -1641,9 +1704,9 @@ class Dropdown {
1641
1704
  </ng-template>
1642
1705
  </p-overlay>
1643
1706
  </div>
1644
- `, 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 });
1707
+ `, 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%}.p-float-label .p-dropdown .p-placeholder{opacity:0}}\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", "checkmark"], outputs: ["onClick", "onMouseEnter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1645
1708
  }
1646
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Dropdown, decorators: [{
1709
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: Dropdown, decorators: [{
1647
1710
  type: Component,
1648
1711
  args: [{ selector: 'p-dropdown', template: `
1649
1712
  <div #container [attr.id]="id" [ngClass]="containerClass" (click)="onContainerClick($event)" [ngStyle]="style" [class]="styleClass">
@@ -1676,7 +1739,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
1676
1739
  <ng-container *ngIf="!selectedItemTemplate; else defaultPlaceholder">{{ label() === 'p-emptylabel' ? '&nbsp;' : label() }}</ng-container>
1677
1740
  <ng-container *ngIf="selectedItemTemplate && selectedOption" [ngTemplateOutlet]="selectedItemTemplate" [ngTemplateOutletContext]="{ $implicit: selectedOption }"></ng-container>
1678
1741
  <ng-template #defaultPlaceholder>
1679
- <span *ngIf="displayPlaceholder()">{{ label() === 'p-emptylabel' ? '&nbsp;' : placeholder() }}</span>
1742
+ <span *ngIf="!selectedOption">{{ label() === 'p-emptylabel' ? '&nbsp;' : label() }}</span>
1680
1743
  </ng-template>
1681
1744
  </span>
1682
1745
  <input
@@ -1705,13 +1768,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
1705
1768
  </ng-container>
1706
1769
 
1707
1770
  <div class="p-dropdown-trigger" role="button" aria-label="dropdown trigger" aria-haspopup="listbox" [attr.aria-expanded]="overlayVisible ?? false" [attr.data-pc-section]="'trigger'">
1708
- <ng-container *ngIf="!dropdownIconTemplate">
1709
- <span class="p-dropdown-trigger-icon" *ngIf="dropdownIcon" [ngClass]="dropdownIcon"></span>
1710
- <ChevronDownIcon *ngIf="!dropdownIcon" [styleClass]="'p-dropdown-trigger-icon'" />
1771
+ <ng-container *ngIf="loading; else elseBlock">
1772
+ <ng-container *ngIf="loadingIconTemplate">
1773
+ <ng-container *ngTemplateOutlet="loadingIconTemplate"></ng-container>
1774
+ </ng-container>
1775
+ <ng-container *ngIf="!loadingIconTemplate">
1776
+ <span *ngIf="loadingIcon" [ngClass]="'p-dropdown-trigger-icon pi-spin ' + loadingIcon" aria-hidden="true"></span>
1777
+ <span *ngIf="!loadingIcon" [class]="'p-dropdown-trigger-icon pi pi-spinner pi-spin'" aria-hidden="true"></span>
1778
+ </ng-container>
1711
1779
  </ng-container>
1712
- <span *ngIf="dropdownIconTemplate" class="p-dropdown-trigger-icon">
1713
- <ng-template *ngTemplateOutlet="dropdownIconTemplate"></ng-template>
1714
- </span>
1780
+
1781
+ <ng-template #elseBlock>
1782
+ <ng-container *ngIf="!dropdownIconTemplate">
1783
+ <span class="p-dropdown-trigger-icon" *ngIf="dropdownIcon" [ngClass]="dropdownIcon"></span>
1784
+ <ChevronDownIcon *ngIf="!dropdownIcon" [styleClass]="'p-dropdown-trigger-icon'" />
1785
+ </ng-container>
1786
+ <span *ngIf="dropdownIconTemplate" class="p-dropdown-trigger-icon">
1787
+ <ng-template *ngTemplateOutlet="dropdownIconTemplate"></ng-template>
1788
+ </span>
1789
+ </ng-template>
1715
1790
  </div>
1716
1791
 
1717
1792
  <p-overlay
@@ -1753,6 +1828,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
1753
1828
  autocomplete="off"
1754
1829
  [value]="_filterValue() || ''"
1755
1830
  class="p-dropdown-filter p-inputtext p-component"
1831
+ [ngClass]="{ 'p-variant-filled': variant === 'filled' || config.inputStyle() === 'filled' }"
1756
1832
  [attr.placeholder]="filterPlaceholder"
1757
1833
  [attr.aria-owns]="id + '_list'"
1758
1834
  (input)="onFilterInputChange($event)"
@@ -1768,7 +1844,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
1768
1844
  </div>
1769
1845
  </ng-template>
1770
1846
  </div>
1771
- <div class="p-dropdown-items-wrapper" [style.max-height]="virtualScroll ? 'auto' : scrollHeight || 'auto'" role="section">
1847
+ <div class="p-dropdown-items-wrapper" [style.max-height]="virtualScroll ? 'auto' : scrollHeight || 'auto'">
1772
1848
  <p-scroller
1773
1849
  *ngIf="virtualScroll"
1774
1850
  #scroller
@@ -1806,6 +1882,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
1806
1882
  <p-dropdownItem
1807
1883
  [id]="id + '_' + getOptionIndex(i, scrollerOptions)"
1808
1884
  [option]="option"
1885
+ [checkmark]="checkmark"
1809
1886
  [selected]="isSelected(option)"
1810
1887
  [label]="getOptionLabel(option)"
1811
1888
  [disabled]="isOptionDisabled(option)"
@@ -1851,7 +1928,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
1851
1928
  class: 'p-element p-inputwrapper',
1852
1929
  '[class.p-inputwrapper-filled]': 'filled()',
1853
1930
  '[class.p-inputwrapper-focus]': 'focused || overlayVisible'
1854
- }, providers: [DROPDOWN_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, 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"] }]
1931
+ }, providers: [DROPDOWN_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, 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%}.p-float-label .p-dropdown .p-placeholder{opacity:0}}\n"] }]
1855
1932
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i3.FilterService }, { type: i3.PrimeNGConfig }], propDecorators: { id: [{
1856
1933
  type: Input
1857
1934
  }], scrollHeight: [{
@@ -1885,10 +1962,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
1885
1962
  args: [{ transform: numberAttribute }]
1886
1963
  }], placeholder: [{
1887
1964
  type: Input
1965
+ }], loadingIcon: [{
1966
+ type: Input
1888
1967
  }], filterPlaceholder: [{
1889
1968
  type: Input
1890
1969
  }], filterLocale: [{
1891
1970
  type: Input
1971
+ }], variant: [{
1972
+ type: Input
1892
1973
  }], inputId: [{
1893
1974
  type: Input
1894
1975
  }], dataKey: [{
@@ -1903,8 +1984,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
1903
1984
  }], resetFilterOnHide: [{
1904
1985
  type: Input,
1905
1986
  args: [{ transform: booleanAttribute }]
1987
+ }], checkmark: [{
1988
+ type: Input,
1989
+ args: [{ transform: booleanAttribute }]
1906
1990
  }], dropdownIcon: [{
1907
1991
  type: Input
1992
+ }], loading: [{
1993
+ type: Input,
1994
+ args: [{ transform: booleanAttribute }]
1908
1995
  }], optionLabel: [{
1909
1996
  type: Input
1910
1997
  }], optionValue: [{
@@ -2038,14 +2125,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
2038
2125
  args: [PrimeTemplate]
2039
2126
  }] } });
2040
2127
  class DropdownModule {
2041
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: DropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2042
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: DropdownModule, declarations: [Dropdown, DropdownItem], imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, AutoFocusModule, TimesIcon, ChevronDownIcon, SearchIcon], exports: [Dropdown, OverlayModule, SharedModule, ScrollerModule] });
2043
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: DropdownModule, imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, AutoFocusModule, TimesIcon, ChevronDownIcon, SearchIcon, OverlayModule, SharedModule, ScrollerModule] });
2128
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: DropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2129
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.7", ngImport: i0, type: DropdownModule, declarations: [Dropdown, DropdownItem], imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, AutoFocusModule, TimesIcon, ChevronDownIcon, SearchIcon, BlankIcon, CheckIcon], exports: [Dropdown, OverlayModule, SharedModule, ScrollerModule] });
2130
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: DropdownModule, imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, AutoFocusModule, TimesIcon, ChevronDownIcon, SearchIcon, BlankIcon, CheckIcon, OverlayModule, SharedModule, ScrollerModule] });
2044
2131
  }
2045
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: DropdownModule, decorators: [{
2132
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: DropdownModule, decorators: [{
2046
2133
  type: NgModule,
2047
2134
  args: [{
2048
- imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, AutoFocusModule, TimesIcon, ChevronDownIcon, SearchIcon],
2135
+ imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, AutoFocusModule, TimesIcon, ChevronDownIcon, SearchIcon, BlankIcon, CheckIcon],
2049
2136
  exports: [Dropdown, OverlayModule, SharedModule, ScrollerModule],
2050
2137
  declarations: [Dropdown, DropdownItem]
2051
2138
  }]