primeng 13.4.1 → 14.0.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 (679) hide show
  1. package/accordion/accordion.d.ts +2 -2
  2. package/api/lazyloadevent.d.ts +2 -0
  3. package/api/shared.d.ts +3 -3
  4. package/autocomplete/autocomplete.d.ts +26 -19
  5. package/autofocus/autofocus.d.ts +17 -0
  6. package/autofocus/package.json +10 -0
  7. package/autofocus/primeng-autofocus.d.ts +5 -0
  8. package/autofocus/public_api.d.ts +1 -0
  9. package/avatar/avatar.d.ts +1 -1
  10. package/avatargroup/avatargroup.d.ts +1 -1
  11. package/badge/badge.d.ts +2 -2
  12. package/blockui/blockui.d.ts +1 -1
  13. package/breadcrumb/breadcrumb.d.ts +1 -1
  14. package/button/button.d.ts +2 -2
  15. package/calendar/calendar.d.ts +6 -5
  16. package/captcha/captcha.d.ts +1 -1
  17. package/card/card.d.ts +1 -1
  18. package/carousel/carousel.d.ts +1 -1
  19. package/cascadeselect/cascadeselect.d.ts +2 -3
  20. package/chart/chart.d.ts +1 -1
  21. package/checkbox/checkbox.d.ts +1 -1
  22. package/chip/chip.d.ts +1 -1
  23. package/chips/chips.d.ts +1 -1
  24. package/codehighlighter/codehighlighter.d.ts +1 -1
  25. package/colorpicker/colorpicker.d.ts +1 -1
  26. package/confirmdialog/confirmdialog.d.ts +1 -1
  27. package/confirmpopup/confirmpopup.d.ts +1 -1
  28. package/contextmenu/contextmenu.d.ts +2 -2
  29. package/dataview/dataview.d.ts +2 -2
  30. package/defer/defer.d.ts +1 -1
  31. package/dialog/dialog.d.ts +1 -1
  32. package/divider/divider.d.ts +1 -1
  33. package/dock/dock.d.ts +1 -1
  34. package/dragdrop/dragdrop.d.ts +2 -2
  35. package/dropdown/dropdown.d.ts +24 -14
  36. package/dynamicdialog/dynamicdialog-config.d.ts +1 -0
  37. package/dynamicdialog/dynamicdialog.d.ts +1 -1
  38. package/dynamicdialog/dynamicdialogcontent.d.ts +1 -1
  39. package/editor/editor.d.ts +1 -1
  40. package/esm2020/accordion/accordion.mjs +18 -20
  41. package/esm2020/api/confirmationservice.mjs +3 -3
  42. package/esm2020/api/contextmenuservice.mjs +3 -3
  43. package/esm2020/api/filterservice.mjs +3 -3
  44. package/esm2020/api/lazyloadevent.mjs +1 -1
  45. package/esm2020/api/messageservice.mjs +3 -3
  46. package/esm2020/api/overlayservice.mjs +3 -3
  47. package/esm2020/api/primengconfig.mjs +3 -3
  48. package/esm2020/api/shared.mjs +14 -14
  49. package/esm2020/api/treedragdropservice.mjs +3 -3
  50. package/esm2020/autocomplete/autocomplete.mjs +156 -130
  51. package/esm2020/autofocus/autofocus.mjs +52 -0
  52. package/esm2020/autofocus/primeng-autofocus.mjs +5 -0
  53. package/esm2020/autofocus/public_api.mjs +2 -0
  54. package/esm2020/avatar/avatar.mjs +9 -9
  55. package/esm2020/avatargroup/avatargroup.mjs +9 -9
  56. package/esm2020/badge/badge.mjs +14 -18
  57. package/esm2020/blockui/blockui.mjs +9 -9
  58. package/esm2020/breadcrumb/breadcrumb.mjs +11 -11
  59. package/esm2020/button/button.mjs +14 -14
  60. package/esm2020/calendar/calendar.mjs +18 -11
  61. package/esm2020/captcha/captcha.mjs +8 -8
  62. package/esm2020/card/card.mjs +9 -9
  63. package/esm2020/carousel/carousel.mjs +9 -9
  64. package/esm2020/cascadeselect/cascadeselect.mjs +20 -21
  65. package/esm2020/chart/chart.mjs +8 -8
  66. package/esm2020/checkbox/checkbox.mjs +9 -9
  67. package/esm2020/chip/chip.mjs +9 -9
  68. package/esm2020/chips/chips.mjs +9 -9
  69. package/esm2020/codehighlighter/codehighlighter.mjs +8 -8
  70. package/esm2020/colorpicker/colorpicker.mjs +12 -10
  71. package/esm2020/confirmdialog/confirmdialog.mjs +13 -13
  72. package/esm2020/confirmpopup/confirmpopup.mjs +12 -10
  73. package/esm2020/contextmenu/contextmenu.mjs +20 -15
  74. package/esm2020/dataview/dataview.mjs +15 -15
  75. package/esm2020/defer/defer.mjs +8 -8
  76. package/esm2020/dialog/dialog.mjs +11 -11
  77. package/esm2020/divider/divider.mjs +9 -9
  78. package/esm2020/dock/dock.mjs +9 -9
  79. package/esm2020/dragdrop/dragdrop.mjs +11 -11
  80. package/esm2020/dropdown/dropdown.mjs +186 -161
  81. package/esm2020/dynamicdialog/dialogservice.mjs +3 -3
  82. package/esm2020/dynamicdialog/dynamicdialog-config.mjs +1 -1
  83. package/esm2020/dynamicdialog/dynamicdialog.mjs +11 -11
  84. package/esm2020/dynamicdialog/dynamicdialogcontent.mjs +3 -3
  85. package/esm2020/editor/editor.mjs +9 -9
  86. package/esm2020/fieldset/fieldset.mjs +16 -18
  87. package/esm2020/fileupload/fileupload.mjs +13 -13
  88. package/esm2020/focustrap/focustrap.mjs +8 -8
  89. package/esm2020/fullcalendar/fullcalendar.mjs +8 -8
  90. package/esm2020/galleria/galleria.mjs +25 -25
  91. package/esm2020/gmap/gmap.mjs +8 -8
  92. package/esm2020/image/image.mjs +43 -29
  93. package/esm2020/inplace/inplace.mjs +15 -15
  94. package/esm2020/inputmask/inputmask.mjs +16 -14
  95. package/esm2020/inputnumber/inputnumber.mjs +9 -9
  96. package/esm2020/inputswitch/inputswitch.mjs +9 -9
  97. package/esm2020/inputtext/inputtext.mjs +8 -8
  98. package/esm2020/inputtextarea/inputtextarea.mjs +8 -8
  99. package/esm2020/keyfilter/keyfilter.mjs +8 -8
  100. package/esm2020/knob/knob.mjs +9 -9
  101. package/esm2020/lightbox/lightbox.mjs +9 -9
  102. package/esm2020/listbox/listbox.mjs +75 -44
  103. package/esm2020/megamenu/megamenu.mjs +22 -12
  104. package/esm2020/menu/menu.mjs +23 -17
  105. package/esm2020/menubar/menubar.mjs +22 -18
  106. package/esm2020/message/message.mjs +9 -9
  107. package/esm2020/messages/messages.mjs +14 -14
  108. package/esm2020/multiselect/multiselect.mjs +180 -116
  109. package/esm2020/orderlist/orderlist.mjs +44 -18
  110. package/esm2020/organizationchart/organizationchart.mjs +13 -13
  111. package/esm2020/overlaypanel/overlaypanel.mjs +27 -10
  112. package/esm2020/paginator/paginator.mjs +14 -14
  113. package/esm2020/panel/panel.mjs +16 -18
  114. package/esm2020/panelmenu/panelmenu.mjs +36 -32
  115. package/esm2020/password/password.mjs +16 -14
  116. package/esm2020/picklist/picklist.mjs +86 -37
  117. package/esm2020/progressbar/progressbar.mjs +9 -9
  118. package/esm2020/progressspinner/progressspinner.mjs +9 -9
  119. package/esm2020/radiobutton/radiobutton.mjs +12 -12
  120. package/esm2020/rating/rating.mjs +9 -9
  121. package/esm2020/ripple/ripple.mjs +8 -8
  122. package/esm2020/scroller/primeng-scroller.mjs +5 -0
  123. package/esm2020/scroller/public_api.mjs +2 -0
  124. package/esm2020/scroller/scroller.mjs +735 -0
  125. package/esm2020/scrollpanel/scrollpanel.mjs +9 -9
  126. package/esm2020/scrolltop/scrolltop.mjs +9 -9
  127. package/esm2020/selectbutton/selectbutton.mjs +9 -9
  128. package/esm2020/sidebar/sidebar.mjs +10 -10
  129. package/esm2020/skeleton/skeleton.mjs +9 -9
  130. package/esm2020/slidemenu/slidemenu.mjs +22 -16
  131. package/esm2020/slider/slider.mjs +9 -9
  132. package/esm2020/speeddial/speeddial.mjs +11 -11
  133. package/esm2020/spinner/spinner.mjs +9 -9
  134. package/esm2020/splitbutton/splitbutton.mjs +12 -12
  135. package/esm2020/splitter/splitter.mjs +9 -9
  136. package/esm2020/steps/steps.mjs +9 -9
  137. package/esm2020/styleclass/styleclass.mjs +8 -8
  138. package/esm2020/table/table.mjs +277 -259
  139. package/esm2020/tabmenu/tabmenu.mjs +51 -13
  140. package/esm2020/tabview/tabview.mjs +31 -19
  141. package/esm2020/tag/tag.mjs +9 -9
  142. package/esm2020/terminal/terminal.mjs +9 -9
  143. package/esm2020/terminal/terminalservice.mjs +3 -3
  144. package/esm2020/tieredmenu/tieredmenu.mjs +29 -18
  145. package/esm2020/timeline/timeline.mjs +9 -9
  146. package/esm2020/toast/toast.mjs +14 -14
  147. package/esm2020/togglebutton/togglebutton.mjs +11 -11
  148. package/esm2020/toolbar/toolbar.mjs +9 -9
  149. package/esm2020/tooltip/tooltip.mjs +14 -8
  150. package/esm2020/tree/tree.mjs +144 -83
  151. package/esm2020/treeselect/treeselect.mjs +14 -14
  152. package/esm2020/treetable/treetable.mjs +180 -155
  153. package/esm2020/tristatecheckbox/tristatecheckbox.mjs +9 -9
  154. package/esm2020/virtualscroller/virtualscroller.mjs +58 -99
  155. package/fesm2015/primeng-accordion.mjs +17 -19
  156. package/fesm2015/primeng-accordion.mjs.map +1 -1
  157. package/fesm2015/primeng-api.mjs +34 -34
  158. package/fesm2015/primeng-api.mjs.map +1 -1
  159. package/fesm2015/primeng-autocomplete.mjs +157 -130
  160. package/fesm2015/primeng-autocomplete.mjs.map +1 -1
  161. package/fesm2015/primeng-autofocus.mjs +59 -0
  162. package/fesm2015/primeng-autofocus.mjs.map +1 -0
  163. package/fesm2015/primeng-avatar.mjs +8 -8
  164. package/fesm2015/primeng-avatar.mjs.map +1 -1
  165. package/fesm2015/primeng-avatargroup.mjs +8 -8
  166. package/fesm2015/primeng-avatargroup.mjs.map +1 -1
  167. package/fesm2015/primeng-badge.mjs +13 -17
  168. package/fesm2015/primeng-badge.mjs.map +1 -1
  169. package/fesm2015/primeng-blockui.mjs +8 -8
  170. package/fesm2015/primeng-blockui.mjs.map +1 -1
  171. package/fesm2015/primeng-breadcrumb.mjs +10 -10
  172. package/fesm2015/primeng-breadcrumb.mjs.map +1 -1
  173. package/fesm2015/primeng-button.mjs +13 -13
  174. package/fesm2015/primeng-button.mjs.map +1 -1
  175. package/fesm2015/primeng-calendar.mjs +17 -10
  176. package/fesm2015/primeng-calendar.mjs.map +1 -1
  177. package/fesm2015/primeng-captcha.mjs +7 -7
  178. package/fesm2015/primeng-captcha.mjs.map +1 -1
  179. package/fesm2015/primeng-card.mjs +8 -8
  180. package/fesm2015/primeng-card.mjs.map +1 -1
  181. package/fesm2015/primeng-carousel.mjs +8 -8
  182. package/fesm2015/primeng-carousel.mjs.map +1 -1
  183. package/fesm2015/primeng-cascadeselect.mjs +19 -20
  184. package/fesm2015/primeng-cascadeselect.mjs.map +1 -1
  185. package/fesm2015/primeng-chart.mjs +7 -7
  186. package/fesm2015/primeng-chart.mjs.map +1 -1
  187. package/fesm2015/primeng-checkbox.mjs +8 -8
  188. package/fesm2015/primeng-checkbox.mjs.map +1 -1
  189. package/fesm2015/primeng-chip.mjs +8 -8
  190. package/fesm2015/primeng-chip.mjs.map +1 -1
  191. package/fesm2015/primeng-chips.mjs +8 -8
  192. package/fesm2015/primeng-chips.mjs.map +1 -1
  193. package/fesm2015/primeng-codehighlighter.mjs +7 -7
  194. package/fesm2015/primeng-codehighlighter.mjs.map +1 -1
  195. package/fesm2015/primeng-colorpicker.mjs +11 -9
  196. package/fesm2015/primeng-colorpicker.mjs.map +1 -1
  197. package/fesm2015/primeng-confirmdialog.mjs +12 -12
  198. package/fesm2015/primeng-confirmdialog.mjs.map +1 -1
  199. package/fesm2015/primeng-confirmpopup.mjs +11 -9
  200. package/fesm2015/primeng-confirmpopup.mjs.map +1 -1
  201. package/fesm2015/primeng-contextmenu.mjs +19 -14
  202. package/fesm2015/primeng-contextmenu.mjs.map +1 -1
  203. package/fesm2015/primeng-dataview.mjs +14 -14
  204. package/fesm2015/primeng-dataview.mjs.map +1 -1
  205. package/fesm2015/primeng-defer.mjs +7 -7
  206. package/fesm2015/primeng-defer.mjs.map +1 -1
  207. package/fesm2015/primeng-dialog.mjs +10 -10
  208. package/fesm2015/primeng-dialog.mjs.map +1 -1
  209. package/fesm2015/primeng-divider.mjs +8 -8
  210. package/fesm2015/primeng-divider.mjs.map +1 -1
  211. package/fesm2015/primeng-dock.mjs +8 -8
  212. package/fesm2015/primeng-dock.mjs.map +1 -1
  213. package/fesm2015/primeng-dragdrop.mjs +10 -10
  214. package/fesm2015/primeng-dragdrop.mjs.map +1 -1
  215. package/fesm2015/primeng-dropdown.mjs +185 -160
  216. package/fesm2015/primeng-dropdown.mjs.map +1 -1
  217. package/fesm2015/primeng-dynamicdialog.mjs +16 -16
  218. package/fesm2015/primeng-dynamicdialog.mjs.map +1 -1
  219. package/fesm2015/primeng-editor.mjs +8 -8
  220. package/fesm2015/primeng-editor.mjs.map +1 -1
  221. package/fesm2015/primeng-fieldset.mjs +15 -17
  222. package/fesm2015/primeng-fieldset.mjs.map +1 -1
  223. package/fesm2015/primeng-fileupload.mjs +12 -12
  224. package/fesm2015/primeng-fileupload.mjs.map +1 -1
  225. package/fesm2015/primeng-focustrap.mjs +7 -7
  226. package/fesm2015/primeng-focustrap.mjs.map +1 -1
  227. package/fesm2015/primeng-fullcalendar.mjs +7 -7
  228. package/fesm2015/primeng-fullcalendar.mjs.map +1 -1
  229. package/fesm2015/primeng-galleria.mjs +24 -24
  230. package/fesm2015/primeng-galleria.mjs.map +1 -1
  231. package/fesm2015/primeng-gmap.mjs +7 -7
  232. package/fesm2015/primeng-gmap.mjs.map +1 -1
  233. package/fesm2015/primeng-image.mjs +42 -28
  234. package/fesm2015/primeng-image.mjs.map +1 -1
  235. package/fesm2015/primeng-inplace.mjs +14 -14
  236. package/fesm2015/primeng-inplace.mjs.map +1 -1
  237. package/fesm2015/primeng-inputmask.mjs +15 -13
  238. package/fesm2015/primeng-inputmask.mjs.map +1 -1
  239. package/fesm2015/primeng-inputnumber.mjs +8 -8
  240. package/fesm2015/primeng-inputnumber.mjs.map +1 -1
  241. package/fesm2015/primeng-inputswitch.mjs +8 -8
  242. package/fesm2015/primeng-inputswitch.mjs.map +1 -1
  243. package/fesm2015/primeng-inputtext.mjs +7 -7
  244. package/fesm2015/primeng-inputtext.mjs.map +1 -1
  245. package/fesm2015/primeng-inputtextarea.mjs +7 -7
  246. package/fesm2015/primeng-inputtextarea.mjs.map +1 -1
  247. package/fesm2015/primeng-keyfilter.mjs +7 -7
  248. package/fesm2015/primeng-keyfilter.mjs.map +1 -1
  249. package/fesm2015/primeng-knob.mjs +8 -8
  250. package/fesm2015/primeng-knob.mjs.map +1 -1
  251. package/fesm2015/primeng-lightbox.mjs +8 -8
  252. package/fesm2015/primeng-lightbox.mjs.map +1 -1
  253. package/fesm2015/primeng-listbox.mjs +74 -43
  254. package/fesm2015/primeng-listbox.mjs.map +1 -1
  255. package/fesm2015/primeng-megamenu.mjs +21 -11
  256. package/fesm2015/primeng-megamenu.mjs.map +1 -1
  257. package/fesm2015/primeng-menu.mjs +22 -16
  258. package/fesm2015/primeng-menu.mjs.map +1 -1
  259. package/fesm2015/primeng-menubar.mjs +21 -17
  260. package/fesm2015/primeng-menubar.mjs.map +1 -1
  261. package/fesm2015/primeng-message.mjs +8 -8
  262. package/fesm2015/primeng-message.mjs.map +1 -1
  263. package/fesm2015/primeng-messages.mjs +13 -13
  264. package/fesm2015/primeng-messages.mjs.map +1 -1
  265. package/fesm2015/primeng-multiselect.mjs +180 -115
  266. package/fesm2015/primeng-multiselect.mjs.map +1 -1
  267. package/fesm2015/primeng-orderlist.mjs +43 -17
  268. package/fesm2015/primeng-orderlist.mjs.map +1 -1
  269. package/fesm2015/primeng-organizationchart.mjs +12 -12
  270. package/fesm2015/primeng-organizationchart.mjs.map +1 -1
  271. package/fesm2015/primeng-overlaypanel.mjs +26 -9
  272. package/fesm2015/primeng-overlaypanel.mjs.map +1 -1
  273. package/fesm2015/primeng-paginator.mjs +13 -13
  274. package/fesm2015/primeng-paginator.mjs.map +1 -1
  275. package/fesm2015/primeng-panel.mjs +15 -17
  276. package/fesm2015/primeng-panel.mjs.map +1 -1
  277. package/fesm2015/primeng-panelmenu.mjs +35 -31
  278. package/fesm2015/primeng-panelmenu.mjs.map +1 -1
  279. package/fesm2015/primeng-password.mjs +15 -13
  280. package/fesm2015/primeng-password.mjs.map +1 -1
  281. package/fesm2015/primeng-picklist.mjs +85 -36
  282. package/fesm2015/primeng-picklist.mjs.map +1 -1
  283. package/fesm2015/primeng-progressbar.mjs +8 -8
  284. package/fesm2015/primeng-progressbar.mjs.map +1 -1
  285. package/fesm2015/primeng-progressspinner.mjs +8 -8
  286. package/fesm2015/primeng-progressspinner.mjs.map +1 -1
  287. package/fesm2015/primeng-radiobutton.mjs +11 -11
  288. package/fesm2015/primeng-radiobutton.mjs.map +1 -1
  289. package/fesm2015/primeng-rating.mjs +8 -8
  290. package/fesm2015/primeng-rating.mjs.map +1 -1
  291. package/fesm2015/primeng-ripple.mjs +7 -7
  292. package/fesm2015/primeng-ripple.mjs.map +1 -1
  293. package/fesm2015/primeng-scroller.mjs +740 -0
  294. package/fesm2015/primeng-scroller.mjs.map +1 -0
  295. package/fesm2015/primeng-scrollpanel.mjs +8 -8
  296. package/fesm2015/primeng-scrollpanel.mjs.map +1 -1
  297. package/fesm2015/primeng-scrolltop.mjs +8 -8
  298. package/fesm2015/primeng-scrolltop.mjs.map +1 -1
  299. package/fesm2015/primeng-selectbutton.mjs +8 -8
  300. package/fesm2015/primeng-selectbutton.mjs.map +1 -1
  301. package/fesm2015/primeng-sidebar.mjs +9 -9
  302. package/fesm2015/primeng-sidebar.mjs.map +1 -1
  303. package/fesm2015/primeng-skeleton.mjs +8 -8
  304. package/fesm2015/primeng-skeleton.mjs.map +1 -1
  305. package/fesm2015/primeng-slidemenu.mjs +21 -15
  306. package/fesm2015/primeng-slidemenu.mjs.map +1 -1
  307. package/fesm2015/primeng-slider.mjs +8 -8
  308. package/fesm2015/primeng-slider.mjs.map +1 -1
  309. package/fesm2015/primeng-speeddial.mjs +10 -10
  310. package/fesm2015/primeng-speeddial.mjs.map +1 -1
  311. package/fesm2015/primeng-spinner.mjs +8 -8
  312. package/fesm2015/primeng-spinner.mjs.map +1 -1
  313. package/fesm2015/primeng-splitbutton.mjs +11 -11
  314. package/fesm2015/primeng-splitbutton.mjs.map +1 -1
  315. package/fesm2015/primeng-splitter.mjs +8 -8
  316. package/fesm2015/primeng-splitter.mjs.map +1 -1
  317. package/fesm2015/primeng-steps.mjs +8 -8
  318. package/fesm2015/primeng-steps.mjs.map +1 -1
  319. package/fesm2015/primeng-styleclass.mjs +7 -7
  320. package/fesm2015/primeng-styleclass.mjs.map +1 -1
  321. package/fesm2015/primeng-table.mjs +272 -258
  322. package/fesm2015/primeng-table.mjs.map +1 -1
  323. package/fesm2015/primeng-tabmenu.mjs +50 -12
  324. package/fesm2015/primeng-tabmenu.mjs.map +1 -1
  325. package/fesm2015/primeng-tabview.mjs +30 -18
  326. package/fesm2015/primeng-tabview.mjs.map +1 -1
  327. package/fesm2015/primeng-tag.mjs +8 -8
  328. package/fesm2015/primeng-tag.mjs.map +1 -1
  329. package/fesm2015/primeng-terminal.mjs +11 -11
  330. package/fesm2015/primeng-terminal.mjs.map +1 -1
  331. package/fesm2015/primeng-tieredmenu.mjs +28 -17
  332. package/fesm2015/primeng-tieredmenu.mjs.map +1 -1
  333. package/fesm2015/primeng-timeline.mjs +8 -8
  334. package/fesm2015/primeng-timeline.mjs.map +1 -1
  335. package/fesm2015/primeng-toast.mjs +13 -13
  336. package/fesm2015/primeng-toast.mjs.map +1 -1
  337. package/fesm2015/primeng-togglebutton.mjs +10 -10
  338. package/fesm2015/primeng-togglebutton.mjs.map +1 -1
  339. package/fesm2015/primeng-toolbar.mjs +8 -8
  340. package/fesm2015/primeng-toolbar.mjs.map +1 -1
  341. package/fesm2015/primeng-tooltip.mjs +13 -7
  342. package/fesm2015/primeng-tooltip.mjs.map +1 -1
  343. package/fesm2015/primeng-tree.mjs +143 -82
  344. package/fesm2015/primeng-tree.mjs.map +1 -1
  345. package/fesm2015/primeng-treeselect.mjs +13 -13
  346. package/fesm2015/primeng-treeselect.mjs.map +1 -1
  347. package/fesm2015/primeng-treetable.mjs +175 -154
  348. package/fesm2015/primeng-treetable.mjs.map +1 -1
  349. package/fesm2015/primeng-tristatecheckbox.mjs +8 -8
  350. package/fesm2015/primeng-tristatecheckbox.mjs.map +1 -1
  351. package/fesm2015/primeng-virtualscroller.mjs +53 -97
  352. package/fesm2015/primeng-virtualscroller.mjs.map +1 -1
  353. package/fesm2020/primeng-accordion.mjs +17 -19
  354. package/fesm2020/primeng-accordion.mjs.map +1 -1
  355. package/fesm2020/primeng-api.mjs +34 -34
  356. package/fesm2020/primeng-api.mjs.map +1 -1
  357. package/fesm2020/primeng-autocomplete.mjs +156 -130
  358. package/fesm2020/primeng-autocomplete.mjs.map +1 -1
  359. package/fesm2020/primeng-autofocus.mjs +59 -0
  360. package/fesm2020/primeng-autofocus.mjs.map +1 -0
  361. package/fesm2020/primeng-avatar.mjs +8 -8
  362. package/fesm2020/primeng-avatar.mjs.map +1 -1
  363. package/fesm2020/primeng-avatargroup.mjs +8 -8
  364. package/fesm2020/primeng-avatargroup.mjs.map +1 -1
  365. package/fesm2020/primeng-badge.mjs +13 -17
  366. package/fesm2020/primeng-badge.mjs.map +1 -1
  367. package/fesm2020/primeng-blockui.mjs +8 -8
  368. package/fesm2020/primeng-blockui.mjs.map +1 -1
  369. package/fesm2020/primeng-breadcrumb.mjs +10 -10
  370. package/fesm2020/primeng-breadcrumb.mjs.map +1 -1
  371. package/fesm2020/primeng-button.mjs +13 -13
  372. package/fesm2020/primeng-button.mjs.map +1 -1
  373. package/fesm2020/primeng-calendar.mjs +17 -10
  374. package/fesm2020/primeng-calendar.mjs.map +1 -1
  375. package/fesm2020/primeng-captcha.mjs +7 -7
  376. package/fesm2020/primeng-captcha.mjs.map +1 -1
  377. package/fesm2020/primeng-card.mjs +8 -8
  378. package/fesm2020/primeng-card.mjs.map +1 -1
  379. package/fesm2020/primeng-carousel.mjs +8 -8
  380. package/fesm2020/primeng-carousel.mjs.map +1 -1
  381. package/fesm2020/primeng-cascadeselect.mjs +19 -20
  382. package/fesm2020/primeng-cascadeselect.mjs.map +1 -1
  383. package/fesm2020/primeng-chart.mjs +7 -7
  384. package/fesm2020/primeng-chart.mjs.map +1 -1
  385. package/fesm2020/primeng-checkbox.mjs +8 -8
  386. package/fesm2020/primeng-checkbox.mjs.map +1 -1
  387. package/fesm2020/primeng-chip.mjs +8 -8
  388. package/fesm2020/primeng-chip.mjs.map +1 -1
  389. package/fesm2020/primeng-chips.mjs +8 -8
  390. package/fesm2020/primeng-chips.mjs.map +1 -1
  391. package/fesm2020/primeng-codehighlighter.mjs +7 -7
  392. package/fesm2020/primeng-codehighlighter.mjs.map +1 -1
  393. package/fesm2020/primeng-colorpicker.mjs +11 -9
  394. package/fesm2020/primeng-colorpicker.mjs.map +1 -1
  395. package/fesm2020/primeng-confirmdialog.mjs +12 -12
  396. package/fesm2020/primeng-confirmdialog.mjs.map +1 -1
  397. package/fesm2020/primeng-confirmpopup.mjs +11 -9
  398. package/fesm2020/primeng-confirmpopup.mjs.map +1 -1
  399. package/fesm2020/primeng-contextmenu.mjs +19 -14
  400. package/fesm2020/primeng-contextmenu.mjs.map +1 -1
  401. package/fesm2020/primeng-dataview.mjs +14 -14
  402. package/fesm2020/primeng-dataview.mjs.map +1 -1
  403. package/fesm2020/primeng-defer.mjs +7 -7
  404. package/fesm2020/primeng-defer.mjs.map +1 -1
  405. package/fesm2020/primeng-dialog.mjs +10 -10
  406. package/fesm2020/primeng-dialog.mjs.map +1 -1
  407. package/fesm2020/primeng-divider.mjs +8 -8
  408. package/fesm2020/primeng-divider.mjs.map +1 -1
  409. package/fesm2020/primeng-dock.mjs +8 -8
  410. package/fesm2020/primeng-dock.mjs.map +1 -1
  411. package/fesm2020/primeng-dragdrop.mjs +10 -10
  412. package/fesm2020/primeng-dragdrop.mjs.map +1 -1
  413. package/fesm2020/primeng-dropdown.mjs +185 -160
  414. package/fesm2020/primeng-dropdown.mjs.map +1 -1
  415. package/fesm2020/primeng-dynamicdialog.mjs +16 -16
  416. package/fesm2020/primeng-dynamicdialog.mjs.map +1 -1
  417. package/fesm2020/primeng-editor.mjs +8 -8
  418. package/fesm2020/primeng-editor.mjs.map +1 -1
  419. package/fesm2020/primeng-fieldset.mjs +15 -17
  420. package/fesm2020/primeng-fieldset.mjs.map +1 -1
  421. package/fesm2020/primeng-fileupload.mjs +12 -12
  422. package/fesm2020/primeng-fileupload.mjs.map +1 -1
  423. package/fesm2020/primeng-focustrap.mjs +7 -7
  424. package/fesm2020/primeng-focustrap.mjs.map +1 -1
  425. package/fesm2020/primeng-fullcalendar.mjs +7 -7
  426. package/fesm2020/primeng-fullcalendar.mjs.map +1 -1
  427. package/fesm2020/primeng-galleria.mjs +24 -24
  428. package/fesm2020/primeng-galleria.mjs.map +1 -1
  429. package/fesm2020/primeng-gmap.mjs +7 -7
  430. package/fesm2020/primeng-gmap.mjs.map +1 -1
  431. package/fesm2020/primeng-image.mjs +42 -28
  432. package/fesm2020/primeng-image.mjs.map +1 -1
  433. package/fesm2020/primeng-inplace.mjs +14 -14
  434. package/fesm2020/primeng-inplace.mjs.map +1 -1
  435. package/fesm2020/primeng-inputmask.mjs +15 -13
  436. package/fesm2020/primeng-inputmask.mjs.map +1 -1
  437. package/fesm2020/primeng-inputnumber.mjs +8 -8
  438. package/fesm2020/primeng-inputnumber.mjs.map +1 -1
  439. package/fesm2020/primeng-inputswitch.mjs +8 -8
  440. package/fesm2020/primeng-inputswitch.mjs.map +1 -1
  441. package/fesm2020/primeng-inputtext.mjs +7 -7
  442. package/fesm2020/primeng-inputtext.mjs.map +1 -1
  443. package/fesm2020/primeng-inputtextarea.mjs +7 -7
  444. package/fesm2020/primeng-inputtextarea.mjs.map +1 -1
  445. package/fesm2020/primeng-keyfilter.mjs +7 -7
  446. package/fesm2020/primeng-keyfilter.mjs.map +1 -1
  447. package/fesm2020/primeng-knob.mjs +8 -8
  448. package/fesm2020/primeng-knob.mjs.map +1 -1
  449. package/fesm2020/primeng-lightbox.mjs +8 -8
  450. package/fesm2020/primeng-lightbox.mjs.map +1 -1
  451. package/fesm2020/primeng-listbox.mjs +74 -43
  452. package/fesm2020/primeng-listbox.mjs.map +1 -1
  453. package/fesm2020/primeng-megamenu.mjs +21 -11
  454. package/fesm2020/primeng-megamenu.mjs.map +1 -1
  455. package/fesm2020/primeng-menu.mjs +22 -16
  456. package/fesm2020/primeng-menu.mjs.map +1 -1
  457. package/fesm2020/primeng-menubar.mjs +21 -17
  458. package/fesm2020/primeng-menubar.mjs.map +1 -1
  459. package/fesm2020/primeng-message.mjs +8 -8
  460. package/fesm2020/primeng-message.mjs.map +1 -1
  461. package/fesm2020/primeng-messages.mjs +13 -13
  462. package/fesm2020/primeng-messages.mjs.map +1 -1
  463. package/fesm2020/primeng-multiselect.mjs +179 -115
  464. package/fesm2020/primeng-multiselect.mjs.map +1 -1
  465. package/fesm2020/primeng-orderlist.mjs +43 -17
  466. package/fesm2020/primeng-orderlist.mjs.map +1 -1
  467. package/fesm2020/primeng-organizationchart.mjs +12 -12
  468. package/fesm2020/primeng-organizationchart.mjs.map +1 -1
  469. package/fesm2020/primeng-overlaypanel.mjs +26 -9
  470. package/fesm2020/primeng-overlaypanel.mjs.map +1 -1
  471. package/fesm2020/primeng-paginator.mjs +13 -13
  472. package/fesm2020/primeng-paginator.mjs.map +1 -1
  473. package/fesm2020/primeng-panel.mjs +15 -17
  474. package/fesm2020/primeng-panel.mjs.map +1 -1
  475. package/fesm2020/primeng-panelmenu.mjs +35 -31
  476. package/fesm2020/primeng-panelmenu.mjs.map +1 -1
  477. package/fesm2020/primeng-password.mjs +15 -13
  478. package/fesm2020/primeng-password.mjs.map +1 -1
  479. package/fesm2020/primeng-picklist.mjs +85 -36
  480. package/fesm2020/primeng-picklist.mjs.map +1 -1
  481. package/fesm2020/primeng-progressbar.mjs +8 -8
  482. package/fesm2020/primeng-progressbar.mjs.map +1 -1
  483. package/fesm2020/primeng-progressspinner.mjs +8 -8
  484. package/fesm2020/primeng-progressspinner.mjs.map +1 -1
  485. package/fesm2020/primeng-radiobutton.mjs +11 -11
  486. package/fesm2020/primeng-radiobutton.mjs.map +1 -1
  487. package/fesm2020/primeng-rating.mjs +8 -8
  488. package/fesm2020/primeng-rating.mjs.map +1 -1
  489. package/fesm2020/primeng-ripple.mjs +7 -7
  490. package/fesm2020/primeng-ripple.mjs.map +1 -1
  491. package/fesm2020/primeng-scroller.mjs +742 -0
  492. package/fesm2020/primeng-scroller.mjs.map +1 -0
  493. package/fesm2020/primeng-scrollpanel.mjs +8 -8
  494. package/fesm2020/primeng-scrollpanel.mjs.map +1 -1
  495. package/fesm2020/primeng-scrolltop.mjs +8 -8
  496. package/fesm2020/primeng-scrolltop.mjs.map +1 -1
  497. package/fesm2020/primeng-selectbutton.mjs +8 -8
  498. package/fesm2020/primeng-selectbutton.mjs.map +1 -1
  499. package/fesm2020/primeng-sidebar.mjs +9 -9
  500. package/fesm2020/primeng-sidebar.mjs.map +1 -1
  501. package/fesm2020/primeng-skeleton.mjs +8 -8
  502. package/fesm2020/primeng-skeleton.mjs.map +1 -1
  503. package/fesm2020/primeng-slidemenu.mjs +21 -15
  504. package/fesm2020/primeng-slidemenu.mjs.map +1 -1
  505. package/fesm2020/primeng-slider.mjs +8 -8
  506. package/fesm2020/primeng-slider.mjs.map +1 -1
  507. package/fesm2020/primeng-speeddial.mjs +10 -10
  508. package/fesm2020/primeng-speeddial.mjs.map +1 -1
  509. package/fesm2020/primeng-spinner.mjs +8 -8
  510. package/fesm2020/primeng-spinner.mjs.map +1 -1
  511. package/fesm2020/primeng-splitbutton.mjs +11 -11
  512. package/fesm2020/primeng-splitbutton.mjs.map +1 -1
  513. package/fesm2020/primeng-splitter.mjs +8 -8
  514. package/fesm2020/primeng-splitter.mjs.map +1 -1
  515. package/fesm2020/primeng-steps.mjs +8 -8
  516. package/fesm2020/primeng-steps.mjs.map +1 -1
  517. package/fesm2020/primeng-styleclass.mjs +7 -7
  518. package/fesm2020/primeng-styleclass.mjs.map +1 -1
  519. package/fesm2020/primeng-table.mjs +276 -258
  520. package/fesm2020/primeng-table.mjs.map +1 -1
  521. package/fesm2020/primeng-tabmenu.mjs +50 -12
  522. package/fesm2020/primeng-tabmenu.mjs.map +1 -1
  523. package/fesm2020/primeng-tabview.mjs +30 -18
  524. package/fesm2020/primeng-tabview.mjs.map +1 -1
  525. package/fesm2020/primeng-tag.mjs +8 -8
  526. package/fesm2020/primeng-tag.mjs.map +1 -1
  527. package/fesm2020/primeng-terminal.mjs +11 -11
  528. package/fesm2020/primeng-terminal.mjs.map +1 -1
  529. package/fesm2020/primeng-tieredmenu.mjs +28 -17
  530. package/fesm2020/primeng-tieredmenu.mjs.map +1 -1
  531. package/fesm2020/primeng-timeline.mjs +8 -8
  532. package/fesm2020/primeng-timeline.mjs.map +1 -1
  533. package/fesm2020/primeng-toast.mjs +13 -13
  534. package/fesm2020/primeng-toast.mjs.map +1 -1
  535. package/fesm2020/primeng-togglebutton.mjs +10 -10
  536. package/fesm2020/primeng-togglebutton.mjs.map +1 -1
  537. package/fesm2020/primeng-toolbar.mjs +8 -8
  538. package/fesm2020/primeng-toolbar.mjs.map +1 -1
  539. package/fesm2020/primeng-tooltip.mjs +13 -7
  540. package/fesm2020/primeng-tooltip.mjs.map +1 -1
  541. package/fesm2020/primeng-tree.mjs +143 -82
  542. package/fesm2020/primeng-tree.mjs.map +1 -1
  543. package/fesm2020/primeng-treeselect.mjs +13 -13
  544. package/fesm2020/primeng-treeselect.mjs.map +1 -1
  545. package/fesm2020/primeng-treetable.mjs +179 -154
  546. package/fesm2020/primeng-treetable.mjs.map +1 -1
  547. package/fesm2020/primeng-tristatecheckbox.mjs +8 -8
  548. package/fesm2020/primeng-tristatecheckbox.mjs.map +1 -1
  549. package/fesm2020/primeng-virtualscroller.mjs +56 -97
  550. package/fesm2020/primeng-virtualscroller.mjs.map +1 -1
  551. package/fieldset/fieldset.d.ts +1 -1
  552. package/fileupload/fileupload.d.ts +1 -1
  553. package/focustrap/focustrap.d.ts +1 -1
  554. package/fullcalendar/fullcalendar.d.ts +1 -1
  555. package/galleria/galleria.d.ts +5 -5
  556. package/gmap/gmap.d.ts +1 -1
  557. package/image/image.d.ts +6 -2
  558. package/inplace/inplace.d.ts +3 -3
  559. package/inputmask/inputmask.d.ts +3 -2
  560. package/inputnumber/inputnumber.d.ts +1 -1
  561. package/inputswitch/inputswitch.d.ts +1 -1
  562. package/inputtext/inputtext.d.ts +1 -1
  563. package/inputtextarea/inputtextarea.d.ts +1 -1
  564. package/keyfilter/keyfilter.d.ts +1 -1
  565. package/knob/knob.d.ts +1 -1
  566. package/lightbox/lightbox.d.ts +1 -1
  567. package/listbox/listbox.d.ts +11 -2
  568. package/megamenu/megamenu.d.ts +1 -1
  569. package/menu/menu.d.ts +2 -2
  570. package/menubar/menubar.d.ts +4 -3
  571. package/message/message.d.ts +1 -1
  572. package/messages/messages.d.ts +1 -1
  573. package/multiselect/multiselect.d.ts +26 -9
  574. package/orderlist/orderlist.d.ts +9 -1
  575. package/organizationchart/organizationchart.d.ts +2 -2
  576. package/overlaypanel/overlaypanel.d.ts +2 -1
  577. package/package.json +20 -4
  578. package/paginator/paginator.d.ts +1 -1
  579. package/panel/panel.d.ts +1 -1
  580. package/panelmenu/panelmenu.d.ts +2 -2
  581. package/password/password.d.ts +2 -2
  582. package/picklist/picklist.d.ts +14 -2
  583. package/progressbar/progressbar.d.ts +1 -1
  584. package/progressspinner/progressspinner.d.ts +1 -1
  585. package/radiobutton/radiobutton.d.ts +1 -1
  586. package/rating/rating.d.ts +1 -1
  587. package/resources/components/accordion/accordion.css +8 -0
  588. package/resources/components/fieldset/fieldset.css +8 -0
  589. package/resources/components/image/image.css +5 -0
  590. package/resources/components/inputtext/inputtext.css +16 -1
  591. package/resources/components/megamenu/megamenu.css +5 -0
  592. package/resources/components/menu/menu.css +5 -0
  593. package/resources/components/messages/messages.css +4 -0
  594. package/resources/components/orderlist/orderlist.css +1 -0
  595. package/resources/components/panel/panel.css +8 -0
  596. package/resources/components/panelmenu/panelmenu.css +10 -0
  597. package/resources/components/scroller/scroller.css +51 -0
  598. package/resources/components/table/table.css +12 -5
  599. package/resources/components/tree/tree.css +6 -1
  600. package/resources/components/treetable/treetable.css +11 -1
  601. package/resources/primeng.css +15 -1
  602. package/resources/primeng.min.css +1 -1
  603. package/resources/themes/arya-blue/theme.css +101 -14
  604. package/resources/themes/arya-green/theme.css +101 -14
  605. package/resources/themes/arya-orange/theme.css +101 -14
  606. package/resources/themes/arya-purple/theme.css +101 -14
  607. package/resources/themes/bootstrap4-dark-blue/theme.css +101 -14
  608. package/resources/themes/bootstrap4-dark-purple/theme.css +101 -14
  609. package/resources/themes/bootstrap4-light-blue/theme.css +100 -13
  610. package/resources/themes/bootstrap4-light-purple/theme.css +100 -13
  611. package/resources/themes/fluent-light/theme.css +101 -14
  612. package/resources/themes/lara-dark-blue/theme.css +101 -14
  613. package/resources/themes/lara-dark-indigo/theme.css +101 -14
  614. package/resources/themes/lara-dark-purple/theme.css +101 -14
  615. package/resources/themes/lara-dark-teal/theme.css +101 -14
  616. package/resources/themes/lara-light-blue/theme.css +101 -14
  617. package/resources/themes/lara-light-indigo/theme.css +101 -14
  618. package/resources/themes/lara-light-purple/theme.css +101 -14
  619. package/resources/themes/lara-light-teal/theme.css +101 -14
  620. package/resources/themes/luna-amber/theme.css +101 -14
  621. package/resources/themes/luna-blue/theme.css +101 -14
  622. package/resources/themes/luna-green/theme.css +101 -14
  623. package/resources/themes/luna-pink/theme.css +101 -14
  624. package/resources/themes/md-dark-deeppurple/theme.css +106 -18
  625. package/resources/themes/md-dark-indigo/theme.css +106 -18
  626. package/resources/themes/md-light-deeppurple/theme.css +106 -18
  627. package/resources/themes/md-light-indigo/theme.css +106 -18
  628. package/resources/themes/mdc-dark-deeppurple/theme.css +106 -18
  629. package/resources/themes/mdc-dark-indigo/theme.css +106 -18
  630. package/resources/themes/mdc-light-deeppurple/theme.css +106 -18
  631. package/resources/themes/mdc-light-indigo/theme.css +106 -18
  632. package/resources/themes/nova/theme.css +102 -15
  633. package/resources/themes/nova-accent/theme.css +102 -15
  634. package/resources/themes/nova-alt/theme.css +102 -15
  635. package/resources/themes/rhea/theme.css +102 -15
  636. package/resources/themes/saga-blue/theme.css +101 -14
  637. package/resources/themes/saga-green/theme.css +101 -14
  638. package/resources/themes/saga-orange/theme.css +101 -14
  639. package/resources/themes/saga-purple/theme.css +101 -14
  640. package/resources/themes/tailwind-light/theme.css +101 -14
  641. package/resources/themes/vela-blue/theme.css +101 -14
  642. package/resources/themes/vela-green/theme.css +101 -14
  643. package/resources/themes/vela-orange/theme.css +101 -14
  644. package/resources/themes/vela-purple/theme.css +101 -14
  645. package/ripple/ripple.d.ts +1 -1
  646. package/scroller/package.json +10 -0
  647. package/scroller/primeng-scroller.d.ts +5 -0
  648. package/scroller/public_api.d.ts +1 -0
  649. package/scroller/scroller.d.ts +223 -0
  650. package/scrollpanel/scrollpanel.d.ts +1 -1
  651. package/scrolltop/scrolltop.d.ts +1 -1
  652. package/selectbutton/selectbutton.d.ts +1 -1
  653. package/sidebar/sidebar.d.ts +1 -1
  654. package/skeleton/skeleton.d.ts +1 -1
  655. package/slidemenu/slidemenu.d.ts +2 -2
  656. package/slider/slider.d.ts +1 -1
  657. package/speeddial/speeddial.d.ts +1 -1
  658. package/spinner/spinner.d.ts +1 -1
  659. package/splitbutton/splitbutton.d.ts +1 -1
  660. package/splitter/splitter.d.ts +1 -1
  661. package/steps/steps.d.ts +1 -1
  662. package/styleclass/styleclass.d.ts +1 -1
  663. package/table/table.d.ts +50 -45
  664. package/tabmenu/tabmenu.d.ts +9 -4
  665. package/tabview/tabview.d.ts +5 -3
  666. package/tag/tag.d.ts +1 -1
  667. package/terminal/terminal.d.ts +1 -1
  668. package/tieredmenu/tieredmenu.d.ts +3 -3
  669. package/timeline/timeline.d.ts +1 -1
  670. package/toast/toast.d.ts +2 -2
  671. package/togglebutton/togglebutton.d.ts +1 -1
  672. package/toolbar/toolbar.d.ts +1 -1
  673. package/tooltip/tooltip.d.ts +2 -1
  674. package/tree/tree.d.ts +29 -17
  675. package/treeselect/treeselect.d.ts +1 -1
  676. package/treetable/treetable.d.ts +33 -25
  677. package/tristatecheckbox/tristatecheckbox.d.ts +1 -1
  678. package/virtualscroller/virtualscroller.d.ts +12 -27
  679. package/resources/components/virtualscroller/virtualscroller.css +0 -3
@@ -1,19 +1,21 @@
1
- import * as i4 from '@angular/cdk/scrolling';
2
- import { CdkVirtualScrollViewport, ScrollingModule } from '@angular/cdk/scrolling';
3
1
  import * as i0 from '@angular/core';
4
2
  import { forwardRef, EventEmitter, Component, Input, Output, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, ContentChildren, NgModule } from '@angular/core';
5
3
  import { trigger, transition, style, animate } from '@angular/animations';
6
- import * as i2 from '@angular/common';
4
+ import * as i1 from '@angular/common';
7
5
  import { CommonModule } from '@angular/common';
8
6
  import * as i3 from 'primeng/api';
9
7
  import { TranslationKeys, PrimeTemplate, SharedModule } from 'primeng/api';
10
8
  import { DomHandler, ConnectedOverlayScrollHandler } from 'primeng/dom';
11
9
  import { UniqueComponentId, ObjectUtils, ZIndexUtils } from 'primeng/utils';
12
10
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
13
- import * as i5 from 'primeng/tooltip';
11
+ import * as i4 from 'primeng/tooltip';
14
12
  import { TooltipModule } from 'primeng/tooltip';
15
- import * as i1 from 'primeng/ripple';
13
+ import * as i5 from 'primeng/scroller';
14
+ import { ScrollerModule } from 'primeng/scroller';
15
+ import * as i2 from 'primeng/ripple';
16
16
  import { RippleModule } from 'primeng/ripple';
17
+ import * as i6 from 'primeng/autofocus';
18
+ import { AutoFocusModule } from 'primeng/autofocus';
17
19
 
18
20
  const DROPDOWN_VALUE_ACCESSOR = {
19
21
  provide: NG_VALUE_ACCESSOR,
@@ -31,8 +33,8 @@ class DropdownItem {
31
33
  });
32
34
  }
33
35
  }
34
- DropdownItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: DropdownItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
35
- DropdownItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: DropdownItem, selector: "p-dropdownItem", inputs: { option: "option", selected: "selected", label: "label", disabled: "disabled", visible: "visible", itemSize: "itemSize", template: "template" }, outputs: { onClick: "onClick" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
36
+ DropdownItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: DropdownItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
37
+ DropdownItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: DropdownItem, selector: "p-dropdownItem", inputs: { option: "option", selected: "selected", label: "label", disabled: "disabled", visible: "visible", itemSize: "itemSize", template: "template" }, outputs: { onClick: "onClick" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
36
38
  <li (click)="onOptionClick($event)" role="option" pRipple
37
39
  [attr.aria-label]="label" [attr.aria-selected]="selected"
38
40
  [ngStyle]="{'height': itemSize + 'px'}" [id]="selected ? 'p-highlighted-option':''"
@@ -40,8 +42,8 @@ DropdownItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
40
42
  <span *ngIf="!template">{{label||'empty'}}</span>
41
43
  <ng-container *ngTemplateOutlet="template; context: {$implicit: option}"></ng-container>
42
44
  </li>
43
- `, isInline: true, directives: [{ type: i1.Ripple, selector: "[pRipple]" }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: DropdownItem, decorators: [{
45
+ `, 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]" }] });
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: DropdownItem, decorators: [{
45
47
  type: Component,
46
48
  args: [{
47
49
  selector: 'p-dropdownItem',
@@ -91,6 +93,7 @@ class Dropdown {
91
93
  this.autoDisplayFirst = true;
92
94
  this.emptyFilterMessage = '';
93
95
  this.emptyMessage = '';
96
+ this.lazy = false;
94
97
  this.autoZIndex = true;
95
98
  this.baseZIndex = 0;
96
99
  this.showTransitionOptions = '.12s cubic-bezier(0, 0, 0.2, 1)';
@@ -108,15 +111,14 @@ class Dropdown {
108
111
  this.onShow = new EventEmitter();
109
112
  this.onHide = new EventEmitter();
110
113
  this.onClear = new EventEmitter();
114
+ this.onLazyLoad = new EventEmitter();
111
115
  this.onModelChange = () => { };
112
116
  this.onModelTouched = () => { };
113
- this.viewPortOffsetTop = 0;
114
117
  this.id = UniqueComponentId();
115
118
  }
116
119
  get disabled() {
117
120
  return this._disabled;
118
121
  }
119
- ;
120
122
  set disabled(_disabled) {
121
123
  if (_disabled) {
122
124
  this.focused = false;
@@ -128,6 +130,13 @@ class Dropdown {
128
130
  this.cd.detectChanges();
129
131
  }
130
132
  }
133
+ get itemSize() {
134
+ return this._itemSize;
135
+ }
136
+ set itemSize(val) {
137
+ this._itemSize = val;
138
+ console.warn("The itemSize property is deprecated, use virtualScrollItemSize property instead.");
139
+ }
131
140
  ngAfterContentInit() {
132
141
  this.templates.forEach((item) => {
133
142
  switch (item.getType()) {
@@ -140,6 +149,9 @@ class Dropdown {
140
149
  case 'header':
141
150
  this.headerTemplate = item.template;
142
151
  break;
152
+ case 'filter':
153
+ this.filterTemplate = item.template;
154
+ break;
143
155
  case 'footer':
144
156
  this.footerTemplate = item.template;
145
157
  break;
@@ -152,6 +164,9 @@ class Dropdown {
152
164
  case 'group':
153
165
  this.groupTemplate = item.template;
154
166
  break;
167
+ case 'loader':
168
+ this.loaderTemplate = item.template;
169
+ break;
155
170
  default:
156
171
  this.itemTemplate = item.template;
157
172
  break;
@@ -163,6 +178,12 @@ class Dropdown {
163
178
  this.updateSelectedOption(null);
164
179
  this.labelId = this.id + '_label';
165
180
  this.listId = this.id + '_list';
181
+ if (this.filterBy) {
182
+ this.filterOptions = {
183
+ filter: (value) => this.onFilterInputChange(value),
184
+ reset: () => this.resetFilter()
185
+ };
186
+ }
166
187
  }
167
188
  get options() {
168
189
  return this._options;
@@ -172,7 +193,7 @@ class Dropdown {
172
193
  this.optionsToDisplay = this._options;
173
194
  this.updateSelectedOption(this.value);
174
195
  this.selectedOption = this.findOption(this.value, this.optionsToDisplay);
175
- if (!this.selectedOption) {
196
+ if (!this.selectedOption && ObjectUtils.isNotEmpty(this.value)) {
176
197
  this.value = null;
177
198
  this.onModelChange(this.value);
178
199
  }
@@ -211,16 +232,16 @@ class Dropdown {
211
232
  }
212
233
  }
213
234
  getOptionLabel(option) {
214
- return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : (option.label != undefined ? option.label : option);
235
+ return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : (option && option.label !== undefined ? option.label : option);
215
236
  }
216
237
  getOptionValue(option) {
217
- return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : (this.optionLabel || option.value === undefined ? option : option.value);
238
+ return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : (!this.optionLabel && (option && option.value !== undefined) ? option.value : option);
218
239
  }
219
240
  isOptionDisabled(option) {
220
- return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : (option.disabled !== undefined ? option.disabled : false);
241
+ return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : (option && option.disabled !== undefined ? option.disabled : false);
221
242
  }
222
243
  getOptionGroupLabel(optionGroup) {
223
- return this.optionGroupLabel ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel) : (optionGroup.label != undefined ? optionGroup.label : optionGroup);
244
+ return this.optionGroupLabel ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel) : (optionGroup && optionGroup.label !== undefined ? optionGroup.label : optionGroup);
224
245
  }
225
246
  getOptionGroupChildren(optionGroup) {
226
247
  return this.optionGroupChildren ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items;
@@ -229,7 +250,7 @@ class Dropdown {
229
250
  const option = event.option;
230
251
  if (!this.isOptionDisabled(option)) {
231
252
  this.selectItem(event.originalEvent, option);
232
- this.accessibleViewChild.nativeElement.focus();
253
+ this.accessibleViewChild.nativeElement.focus({ preventScroll: true });
233
254
  }
234
255
  setTimeout(() => {
235
256
  this.hide();
@@ -245,19 +266,11 @@ class Dropdown {
245
266
  originalEvent: event,
246
267
  value: this.value
247
268
  });
248
- if (this.virtualScroll) {
249
- setTimeout(() => {
250
- this.viewPortOffsetTop = this.viewPort ? this.viewPort.measureScrollOffset() : 0;
251
- }, 1);
252
- }
253
269
  }
254
270
  }
255
271
  ngAfterViewChecked() {
256
272
  if (this.optionsChanged && this.overlayVisible) {
257
273
  this.optionsChanged = false;
258
- if (this.virtualScroll) {
259
- this.updateVirtualScrollSelectedIndex(true);
260
- }
261
274
  this.zone.runOutsideAngular(() => {
262
275
  setTimeout(() => {
263
276
  this.alignOverlay();
@@ -265,13 +278,6 @@ class Dropdown {
265
278
  });
266
279
  }
267
280
  if (this.selectedOptionUpdated && this.itemsWrapper) {
268
- if (this.virtualScroll && this.viewPort) {
269
- let range = this.viewPort.getRenderedRange();
270
- this.updateVirtualScrollSelectedIndex(false);
271
- if (range.start > this.virtualScrollSelectedIndex || range.end < this.virtualScrollSelectedIndex) {
272
- this.viewPort.scrollToIndex(this.virtualScrollSelectedIndex);
273
- }
274
- }
275
281
  let selectedItem = DomHandler.findSingle(this.overlay, 'li.p-highlight');
276
282
  if (selectedItem) {
277
283
  DomHandler.scrollInView(this.itemsWrapper, DomHandler.findSingle(this.overlay, 'li.p-highlight'));
@@ -324,7 +330,7 @@ class Dropdown {
324
330
  return;
325
331
  }
326
332
  this.onClick.emit(event);
327
- this.accessibleViewChild.nativeElement.focus();
333
+ this.accessibleViewChild.nativeElement.focus({ preventScroll: true });
328
334
  if (this.overlayVisible)
329
335
  this.hide();
330
336
  else
@@ -367,14 +373,15 @@ class Dropdown {
367
373
  }
368
374
  show() {
369
375
  this.overlayVisible = true;
376
+ this.preventDocumentDefault = true;
370
377
  this.cd.markForCheck();
371
378
  }
372
379
  onOverlayAnimationStart(event) {
373
380
  switch (event.toState) {
374
381
  case 'visible':
375
382
  this.overlay = event.element;
376
- let itemsWrapperSelector = this.virtualScroll ? '.cdk-virtual-scroll-viewport' : '.p-dropdown-items-wrapper';
377
- this.itemsWrapper = DomHandler.findSingle(this.overlay, itemsWrapperSelector);
383
+ this.itemsWrapper = DomHandler.findSingle(this.overlay, this.virtualScroll ? '.p-scroller' : '.p-dropdown-items-wrapper');
384
+ this.virtualScroll && this.scroller.setContentEl(this.itemsViewChild.nativeElement);
378
385
  this.appendOverlay();
379
386
  if (this.autoZIndex) {
380
387
  ZIndexUtils.set('overlay', this.overlay, this.baseZIndex + this.config.zIndex.overlay);
@@ -384,7 +391,13 @@ class Dropdown {
384
391
  this.bindDocumentResizeListener();
385
392
  this.bindScrollListener();
386
393
  if (this.options && this.options.length) {
387
- if (!this.virtualScroll) {
394
+ if (this.virtualScroll) {
395
+ const selectedIndex = this.selectedOption ? this.findOptionIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : -1;
396
+ if (selectedIndex !== -1) {
397
+ this.scroller.scrollToIndex(selectedIndex);
398
+ }
399
+ }
400
+ else {
388
401
  let selectedListItem = DomHandler.findSingle(this.itemsWrapper, '.p-dropdown-item.p-highlight');
389
402
  if (selectedListItem) {
390
403
  selectedListItem.scrollIntoView({ block: 'nearest', inline: 'center' });
@@ -412,25 +425,6 @@ class Dropdown {
412
425
  break;
413
426
  }
414
427
  }
415
- scrollToSelectedVirtualScrollElement() {
416
- if (!this.virtualAutoScrolled) {
417
- if (this.viewPortOffsetTop) {
418
- this.viewPort.scrollToOffset(this.viewPortOffsetTop);
419
- }
420
- else if (this.virtualScrollSelectedIndex > -1) {
421
- this.viewPort.scrollToIndex(this.virtualScrollSelectedIndex);
422
- }
423
- }
424
- this.virtualAutoScrolled = true;
425
- }
426
- updateVirtualScrollSelectedIndex(resetOffset) {
427
- if (this.selectedOption && this.optionsToDisplay && this.optionsToDisplay.length) {
428
- if (resetOffset) {
429
- this.viewPortOffsetTop = 0;
430
- }
431
- this.virtualScrollSelectedIndex = this.findOptionIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay);
432
- }
433
- }
434
428
  appendOverlay() {
435
429
  if (this.appendTo) {
436
430
  if (this.appendTo === 'body')
@@ -452,9 +446,6 @@ class Dropdown {
452
446
  if (this.filter && this.resetFilterOnHide) {
453
447
  this.resetFilter();
454
448
  }
455
- if (this.virtualScroll) {
456
- this.virtualAutoScrolled = false;
457
- }
458
449
  this.cd.markForCheck();
459
450
  }
460
451
  alignOverlay() {
@@ -767,6 +758,7 @@ class Dropdown {
767
758
  this._filterValue = null;
768
759
  this.optionsToDisplay = this.options;
769
760
  }
761
+ this.virtualScroll && this.scroller.scrollToIndex(0);
770
762
  this.optionsChanged = true;
771
763
  this.onFilter.emit({ originalEvent: event, filter: this._filterValue });
772
764
  }
@@ -877,15 +869,15 @@ class Dropdown {
877
869
  this.onOverlayHide();
878
870
  }
879
871
  }
880
- Dropdown.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: Dropdown, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i3.FilterService }, { token: i3.PrimeNGConfig }, { token: i3.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
881
- Dropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: Dropdown, selector: "p-dropdown", inputs: { 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", selectId: "selectId", dataKey: "dataKey", filterBy: "filterBy", 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", virtualScroll: "virtualScroll", itemSize: "itemSize", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", ariaFilterLabel: "ariaFilterLabel", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", filterMatchMode: "filterMatchMode", maxlength: "maxlength", tooltip: "tooltip", tooltipPosition: "tooltipPosition", tooltipPositionStyle: "tooltipPositionStyle", tooltipStyleClass: "tooltipStyleClass", autofocusFilter: "autofocusFilter", disabled: "disabled", options: "options", filterValue: "filterValue" }, outputs: { onChange: "onChange", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onClick: "onClick", onShow: "onShow", onHide: "onHide", onClear: "onClear" }, 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: "accessibleViewChild", first: true, predicate: ["in"], descendants: true }, { propertyName: "viewPort", first: true, predicate: CdkVirtualScrollViewport, descendants: true }, { propertyName: "editableInputViewChild", first: true, predicate: ["editableInput"], descendants: true }], ngImport: i0, template: `
872
+ Dropdown.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: Dropdown, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i3.FilterService }, { token: i3.PrimeNGConfig }, { token: i3.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
873
+ Dropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: Dropdown, selector: "p-dropdown", inputs: { 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", selectId: "selectId", dataKey: "dataKey", filterBy: "filterBy", 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", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", ariaFilterLabel: "ariaFilterLabel", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", filterMatchMode: "filterMatchMode", maxlength: "maxlength", tooltip: "tooltip", tooltipPosition: "tooltipPosition", tooltipPositionStyle: "tooltipPositionStyle", tooltipStyleClass: "tooltipStyleClass", autofocusFilter: "autofocusFilter", disabled: "disabled", itemSize: "itemSize", options: "options", filterValue: "filterValue" }, 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: "accessibleViewChild", first: true, predicate: ["in"], 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 }], ngImport: i0, template: `
882
874
  <div #container [ngClass]="{'p-dropdown p-component':true,
883
875
  'p-disabled':disabled, 'p-dropdown-open':overlayVisible, 'p-focus':focused, 'p-dropdown-clearable': showClear && !disabled}"
884
876
  (click)="onMouseclick($event)" [ngStyle]="style" [class]="styleClass">
885
877
  <div class="p-hidden-accessible">
886
878
  <input #in [attr.id]="inputId" type="text" readonly (focus)="onInputFocus($event)" aria-haspopup="listbox" [attr.placeholder]="placeholder"
887
879
  aria-haspopup="listbox" [attr.aria-label]="ariaLabel" [attr.aria-expanded]="false" [attr.aria-labelledby]="ariaLabelledBy" (blur)="onInputBlur($event)" (keydown)="onKeydown($event, true)"
888
- [disabled]="disabled" [attr.tabindex]="tabindex" [attr.autofocus]="autofocus" [attr.aria-activedescendant]="overlayVisible ? labelId : null" role="combobox">
880
+ [disabled]="disabled" [attr.tabindex]="tabindex" [pAutoFocus]="autofocus" [attr.aria-activedescendant]="overlayVisible ? labelId : null" role="combobox">
889
881
  </div>
890
882
  <span [attr.id]="labelId" [ngClass]="{'p-dropdown-label p-inputtext':true,'p-dropdown-label-empty':(label == null || label.length === 0)}" *ngIf="!editable && (label != null)" [pTooltip]="tooltip" [tooltipPosition]="tooltipPosition" [positionStyle]="tooltipPositionStyle" [tooltipStyleClass]="tooltipStyleClass">
891
883
  <ng-container *ngIf="!selectedItemTemplate">{{label||'empty'}}</ng-container>
@@ -898,65 +890,76 @@ Dropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
898
890
  <div class="p-dropdown-trigger" role="button" aria-label="dropdown trigger" aria-haspopup="listbox" [attr.aria-expanded]="overlayVisible">
899
891
  <span class="p-dropdown-trigger-icon" [ngClass]="dropdownIcon"></span>
900
892
  </div>
901
- <div *ngIf="overlayVisible" [ngClass]="'p-dropdown-panel p-component'" (click)="onOverlayClick($event)" [@overlayAnimation]="{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}" (@overlayAnimation.start)="onOverlayAnimationStart($event)" (@overlayAnimation.start)="onOverlayAnimationEnd($event)"onOverlayAnimationEnd [ngStyle]="panelStyle" [class]="panelStyleClass">
893
+ <div *ngIf="overlayVisible" [ngClass]="'p-dropdown-panel p-component'" (click)="onOverlayClick($event)" [@overlayAnimation]="{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}" (@overlayAnimation.start)="onOverlayAnimationStart($event)" (@overlayAnimation.done)="onOverlayAnimationEnd($event)" [ngStyle]="panelStyle" [class]="panelStyleClass">
902
894
  <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
903
- <div class="p-dropdown-header" *ngIf="filter">
904
- <div class="p-dropdown-filter-container" (click)="$event.stopPropagation()">
905
- <input #filter type="text" autocomplete="off" [value]="filterValue||''" class="p-dropdown-filter p-inputtext p-component" [attr.placeholder]="filterPlaceholder"
906
- (keydown.enter)="$event.preventDefault()" (keydown)="onKeydown($event, false)" (input)="onFilterInputChange($event)" [attr.aria-label]="ariaFilterLabel" [attr.aria-activedescendant]="overlayVisible ? 'p-highlighted-option' : labelId">
907
- <span class="p-dropdown-filter-icon pi pi-search"></span>
908
- </div>
895
+ <div class="p-dropdown-header" *ngIf="filter" (click)="$event.stopPropagation()">
896
+ <ng-container *ngIf="filterTemplate; else builtInFilterElement">
897
+ <ng-container *ngTemplateOutlet="filterTemplate; context: {options: filterOptions}"></ng-container>
898
+ </ng-container>
899
+ <ng-template #builtInFilterElement>
900
+ <div class="p-dropdown-filter-container">
901
+ <input #filter type="text" autocomplete="off" [value]="filterValue||''" class="p-dropdown-filter p-inputtext p-component" [attr.placeholder]="filterPlaceholder"
902
+ (keydown.enter)="$event.preventDefault()" (keydown)="onKeydown($event, false)" (input)="onFilterInputChange($event)" [attr.aria-label]="ariaFilterLabel" [attr.aria-activedescendant]="overlayVisible ? 'p-highlighted-option' : labelId">
903
+ <span class="p-dropdown-filter-icon pi pi-search"></span>
904
+ </div>
905
+ </ng-template>
909
906
  </div>
910
907
  <div class="p-dropdown-items-wrapper" [style.max-height]="virtualScroll ? 'auto' : (scrollHeight||'auto')">
911
- <ul [attr.id]="listId" class="p-dropdown-items" [ngClass]="{'p-dropdown-virtualscroll': virtualScroll}" role="listbox">
912
- <ng-container *ngIf="group">
913
- <ng-template ngFor let-optgroup [ngForOf]="optionsToDisplay">
914
- <li class="p-dropdown-item-group">
915
- <span *ngIf="!groupTemplate">{{getOptionGroupLabel(optgroup)||'empty'}}</span>
916
- <ng-container *ngTemplateOutlet="groupTemplate; context: {$implicit: optgroup}"></ng-container>
917
- </li>
918
- <ng-container *ngTemplateOutlet="itemslist; context: {$implicit: getOptionGroupChildren(optgroup), selectedOption: selectedOption}"></ng-container>
908
+ <p-scroller *ngIf="virtualScroll" #scroller [items]="optionsToDisplay" [style]="{'height': scrollHeight}" [itemSize]="virtualScrollItemSize||_itemSize" [autoSize]="true"
909
+ [lazy]="lazy" (onLazyLoad)="onLazyLoad.emit($event)" [options]="virtualScrollOptions">
910
+ <ng-template pTemplate="content" let-items let-scrollerOptions="options">
911
+ <ng-container *ngTemplateOutlet="buildInItems; context: {$implicit: items, options: scrollerOptions}"></ng-container>
912
+ </ng-template>
913
+ <ng-container *ngIf="loaderTemplate">
914
+ <ng-template pTemplate="loader" let-scrollerOptions="options">
915
+ <ng-container *ngTemplateOutlet="loaderTemplate; context: {options: scrollerOptions}"></ng-container>
919
916
  </ng-template>
920
917
  </ng-container>
921
- <ng-container *ngIf="!group">
922
- <ng-container *ngTemplateOutlet="itemslist; context: {$implicit: optionsToDisplay, selectedOption: selectedOption}"></ng-container>
923
- </ng-container>
924
- <ng-template #itemslist let-options let-selectedOption="selectedOption">
925
- <ng-container *ngIf="!virtualScroll; else virtualScrollList">
918
+ </p-scroller>
919
+ <ng-container *ngIf="!virtualScroll">
920
+ <ng-container *ngTemplateOutlet="buildInItems; context: {$implicit: optionsToDisplay, options: {}}"></ng-container>
921
+ </ng-container>
922
+
923
+ <ng-template #buildInItems let-items let-scrollerOptions="options">
924
+ <ul #items [attr.id]="listId" class="p-dropdown-items" [ngClass]="scrollerOptions.contentStyleClass" [style]="scrollerOptions.contentStyle" role="listbox">
925
+ <ng-container *ngIf="group">
926
+ <ng-template ngFor let-optgroup [ngForOf]="items">
927
+ <li class="p-dropdown-item-group" [ngStyle]="{'height': scrollerOptions.itemSize + 'px'}">
928
+ <span *ngIf="!groupTemplate">{{getOptionGroupLabel(optgroup)||'empty'}}</span>
929
+ <ng-container *ngTemplateOutlet="groupTemplate; context: {$implicit: optgroup}"></ng-container>
930
+ </li>
931
+ <ng-container *ngTemplateOutlet="itemslist; context: {$implicit: getOptionGroupChildren(optgroup), selectedOption: selectedOption}"></ng-container>
932
+ </ng-template>
933
+ </ng-container>
934
+ <ng-container *ngIf="!group">
935
+ <ng-container *ngTemplateOutlet="itemslist; context: {$implicit: items, selectedOption: selectedOption}"></ng-container>
936
+ </ng-container>
937
+ <ng-template #itemslist let-options let-selectedOption="selectedOption">
926
938
  <ng-template ngFor let-option let-i="index" [ngForOf]="options">
927
939
  <p-dropdownItem [option]="option" [selected]="selectedOption == option" [label]="getOptionLabel(option)" [disabled]="isOptionDisabled(option)"
928
940
  (onClick)="onItemClick($event)"
929
941
  [template]="itemTemplate"></p-dropdownItem>
930
942
  </ng-template>
931
- </ng-container>
932
- <ng-template #virtualScrollList>
933
- <cdk-virtual-scroll-viewport (scrolledIndexChange)="scrollToSelectedVirtualScrollElement()" #viewport [ngStyle]="{'height': scrollHeight}" [itemSize]="itemSize" *ngIf="virtualScroll && optionsToDisplay && optionsToDisplay.length">
934
- <ng-container *cdkVirtualFor="let option of options; let i = index; let c = count; let f = first; let l = last; let e = even; let o = odd">
935
- <p-dropdownItem [option]="option" [selected]="selectedOption == option" [label]="getOptionLabel(option)" [disabled]="isOptionDisabled(option)"
936
- (onClick)="onItemClick($event)"
937
- [template]="itemTemplate"></p-dropdownItem>
938
- </ng-container>
939
- </cdk-virtual-scroll-viewport>
940
943
  </ng-template>
941
- </ng-template>
942
- <li *ngIf="filterValue && isEmpty()" class="p-dropdown-empty-message">
943
- <ng-container *ngIf="!emptyFilterTemplate && !emptyTemplate; else emptyFilter">
944
- {{emptyFilterMessageLabel}}
945
- </ng-container>
946
- <ng-container #emptyFilter *ngTemplateOutlet="emptyFilterTemplate || emptyTemplate"></ng-container>
947
- </li>
948
- <li *ngIf="!filterValue && isEmpty()" class="p-dropdown-empty-message">
949
- <ng-container *ngIf="!emptyTemplate; else empty">
950
- {{emptyMessageLabel}}
951
- </ng-container>
952
- <ng-container #empty *ngTemplateOutlet="emptyTemplate"></ng-container>
953
- </li>
954
- </ul>
944
+ <li *ngIf="filterValue && isEmpty()" class="p-dropdown-empty-message" [ngStyle]="{'height': scrollerOptions.itemSize + 'px'}">
945
+ <ng-container *ngIf="!emptyFilterTemplate && !emptyTemplate; else emptyFilter">
946
+ {{emptyFilterMessageLabel}}
947
+ </ng-container>
948
+ <ng-container #emptyFilter *ngTemplateOutlet="emptyFilterTemplate || emptyTemplate"></ng-container>
949
+ </li>
950
+ <li *ngIf="!filterValue && isEmpty()" class="p-dropdown-empty-message" [ngStyle]="{'height': scrollerOptions.itemSize + 'px'}">
951
+ <ng-container *ngIf="!emptyTemplate; else empty">
952
+ {{emptyMessageLabel}}
953
+ </ng-container>
954
+ <ng-container #empty *ngTemplateOutlet="emptyTemplate"></ng-container>
955
+ </li>
956
+ </ul>
957
+ </ng-template>
955
958
  </div>
956
959
  <ng-container *ngTemplateOutlet="footerTemplate"></ng-container>
957
960
  </div>
958
961
  </div>
959
- `, isInline: true, styles: [".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;visibility:hidden}input.p-dropdown-label{cursor:default}.p-dropdown .p-dropdown-panel{min-width:100%}.p-dropdown-panel{position:absolute;top:0;left:0}.p-dropdown-items-wrapper{overflow:auto}.p-dropdown-item{cursor:pointer;font-weight:400;white-space:nowrap;position:relative;overflow:hidden}.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"], components: [{ type: DropdownItem, selector: "p-dropdownItem", inputs: ["option", "selected", "label", "disabled", "visible", "itemSize", "template"], outputs: ["onClick"] }, { type: i4.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { type: i4.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }], animations: [
962
+ `, isInline: true, styles: [".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;visibility:hidden}input.p-dropdown-label{cursor:default}.p-dropdown .p-dropdown-panel{min-width:100%}.p-dropdown-panel{position:absolute;top:0;left:0}.p-dropdown-items-wrapper{overflow:auto}.p-dropdown-item{cursor:pointer;font-weight:400;white-space:nowrap;position:relative;overflow:hidden}.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: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i5.Scroller, selector: "p-scroller", inputs: ["id", "style", "styleClass", "tabindex", "items", "itemSize", "scrollHeight", "scrollWidth", "orientation", "delay", "resizeDelay", "lazy", "disabled", "loaderDisabled", "columns", "showSpacer", "showLoader", "numToleratedItems", "loading", "autoSize", "trackBy", "options"], outputs: ["onLazyLoad", "onScroll", "onScrollIndexChange"] }, { kind: "directive", type: i6.AutoFocus, selector: "[pAutoFocus]", inputs: ["pAutoFocus"] }, { kind: "component", type: DropdownItem, selector: "p-dropdownItem", inputs: ["option", "selected", "label", "disabled", "visible", "itemSize", "template"], outputs: ["onClick"] }], animations: [
960
963
  trigger('overlayAnimation', [
961
964
  transition(':enter', [
962
965
  style({ opacity: 0, transform: 'scaleY(0.8)' }),
@@ -967,7 +970,7 @@ Dropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
967
970
  ])
968
971
  ])
969
972
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
970
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: Dropdown, decorators: [{
973
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: Dropdown, decorators: [{
971
974
  type: Component,
972
975
  args: [{ selector: 'p-dropdown', template: `
973
976
  <div #container [ngClass]="{'p-dropdown p-component':true,
@@ -976,7 +979,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
976
979
  <div class="p-hidden-accessible">
977
980
  <input #in [attr.id]="inputId" type="text" readonly (focus)="onInputFocus($event)" aria-haspopup="listbox" [attr.placeholder]="placeholder"
978
981
  aria-haspopup="listbox" [attr.aria-label]="ariaLabel" [attr.aria-expanded]="false" [attr.aria-labelledby]="ariaLabelledBy" (blur)="onInputBlur($event)" (keydown)="onKeydown($event, true)"
979
- [disabled]="disabled" [attr.tabindex]="tabindex" [attr.autofocus]="autofocus" [attr.aria-activedescendant]="overlayVisible ? labelId : null" role="combobox">
982
+ [disabled]="disabled" [attr.tabindex]="tabindex" [pAutoFocus]="autofocus" [attr.aria-activedescendant]="overlayVisible ? labelId : null" role="combobox">
980
983
  </div>
981
984
  <span [attr.id]="labelId" [ngClass]="{'p-dropdown-label p-inputtext':true,'p-dropdown-label-empty':(label == null || label.length === 0)}" *ngIf="!editable && (label != null)" [pTooltip]="tooltip" [tooltipPosition]="tooltipPosition" [positionStyle]="tooltipPositionStyle" [tooltipStyleClass]="tooltipStyleClass">
982
985
  <ng-container *ngIf="!selectedItemTemplate">{{label||'empty'}}</ng-container>
@@ -989,60 +992,71 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
989
992
  <div class="p-dropdown-trigger" role="button" aria-label="dropdown trigger" aria-haspopup="listbox" [attr.aria-expanded]="overlayVisible">
990
993
  <span class="p-dropdown-trigger-icon" [ngClass]="dropdownIcon"></span>
991
994
  </div>
992
- <div *ngIf="overlayVisible" [ngClass]="'p-dropdown-panel p-component'" (click)="onOverlayClick($event)" [@overlayAnimation]="{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}" (@overlayAnimation.start)="onOverlayAnimationStart($event)" (@overlayAnimation.start)="onOverlayAnimationEnd($event)"onOverlayAnimationEnd [ngStyle]="panelStyle" [class]="panelStyleClass">
995
+ <div *ngIf="overlayVisible" [ngClass]="'p-dropdown-panel p-component'" (click)="onOverlayClick($event)" [@overlayAnimation]="{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}" (@overlayAnimation.start)="onOverlayAnimationStart($event)" (@overlayAnimation.done)="onOverlayAnimationEnd($event)" [ngStyle]="panelStyle" [class]="panelStyleClass">
993
996
  <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
994
- <div class="p-dropdown-header" *ngIf="filter">
995
- <div class="p-dropdown-filter-container" (click)="$event.stopPropagation()">
996
- <input #filter type="text" autocomplete="off" [value]="filterValue||''" class="p-dropdown-filter p-inputtext p-component" [attr.placeholder]="filterPlaceholder"
997
- (keydown.enter)="$event.preventDefault()" (keydown)="onKeydown($event, false)" (input)="onFilterInputChange($event)" [attr.aria-label]="ariaFilterLabel" [attr.aria-activedescendant]="overlayVisible ? 'p-highlighted-option' : labelId">
998
- <span class="p-dropdown-filter-icon pi pi-search"></span>
999
- </div>
997
+ <div class="p-dropdown-header" *ngIf="filter" (click)="$event.stopPropagation()">
998
+ <ng-container *ngIf="filterTemplate; else builtInFilterElement">
999
+ <ng-container *ngTemplateOutlet="filterTemplate; context: {options: filterOptions}"></ng-container>
1000
+ </ng-container>
1001
+ <ng-template #builtInFilterElement>
1002
+ <div class="p-dropdown-filter-container">
1003
+ <input #filter type="text" autocomplete="off" [value]="filterValue||''" class="p-dropdown-filter p-inputtext p-component" [attr.placeholder]="filterPlaceholder"
1004
+ (keydown.enter)="$event.preventDefault()" (keydown)="onKeydown($event, false)" (input)="onFilterInputChange($event)" [attr.aria-label]="ariaFilterLabel" [attr.aria-activedescendant]="overlayVisible ? 'p-highlighted-option' : labelId">
1005
+ <span class="p-dropdown-filter-icon pi pi-search"></span>
1006
+ </div>
1007
+ </ng-template>
1000
1008
  </div>
1001
1009
  <div class="p-dropdown-items-wrapper" [style.max-height]="virtualScroll ? 'auto' : (scrollHeight||'auto')">
1002
- <ul [attr.id]="listId" class="p-dropdown-items" [ngClass]="{'p-dropdown-virtualscroll': virtualScroll}" role="listbox">
1003
- <ng-container *ngIf="group">
1004
- <ng-template ngFor let-optgroup [ngForOf]="optionsToDisplay">
1005
- <li class="p-dropdown-item-group">
1006
- <span *ngIf="!groupTemplate">{{getOptionGroupLabel(optgroup)||'empty'}}</span>
1007
- <ng-container *ngTemplateOutlet="groupTemplate; context: {$implicit: optgroup}"></ng-container>
1008
- </li>
1009
- <ng-container *ngTemplateOutlet="itemslist; context: {$implicit: getOptionGroupChildren(optgroup), selectedOption: selectedOption}"></ng-container>
1010
+ <p-scroller *ngIf="virtualScroll" #scroller [items]="optionsToDisplay" [style]="{'height': scrollHeight}" [itemSize]="virtualScrollItemSize||_itemSize" [autoSize]="true"
1011
+ [lazy]="lazy" (onLazyLoad)="onLazyLoad.emit($event)" [options]="virtualScrollOptions">
1012
+ <ng-template pTemplate="content" let-items let-scrollerOptions="options">
1013
+ <ng-container *ngTemplateOutlet="buildInItems; context: {$implicit: items, options: scrollerOptions}"></ng-container>
1014
+ </ng-template>
1015
+ <ng-container *ngIf="loaderTemplate">
1016
+ <ng-template pTemplate="loader" let-scrollerOptions="options">
1017
+ <ng-container *ngTemplateOutlet="loaderTemplate; context: {options: scrollerOptions}"></ng-container>
1010
1018
  </ng-template>
1011
1019
  </ng-container>
1012
- <ng-container *ngIf="!group">
1013
- <ng-container *ngTemplateOutlet="itemslist; context: {$implicit: optionsToDisplay, selectedOption: selectedOption}"></ng-container>
1014
- </ng-container>
1015
- <ng-template #itemslist let-options let-selectedOption="selectedOption">
1016
- <ng-container *ngIf="!virtualScroll; else virtualScrollList">
1020
+ </p-scroller>
1021
+ <ng-container *ngIf="!virtualScroll">
1022
+ <ng-container *ngTemplateOutlet="buildInItems; context: {$implicit: optionsToDisplay, options: {}}"></ng-container>
1023
+ </ng-container>
1024
+
1025
+ <ng-template #buildInItems let-items let-scrollerOptions="options">
1026
+ <ul #items [attr.id]="listId" class="p-dropdown-items" [ngClass]="scrollerOptions.contentStyleClass" [style]="scrollerOptions.contentStyle" role="listbox">
1027
+ <ng-container *ngIf="group">
1028
+ <ng-template ngFor let-optgroup [ngForOf]="items">
1029
+ <li class="p-dropdown-item-group" [ngStyle]="{'height': scrollerOptions.itemSize + 'px'}">
1030
+ <span *ngIf="!groupTemplate">{{getOptionGroupLabel(optgroup)||'empty'}}</span>
1031
+ <ng-container *ngTemplateOutlet="groupTemplate; context: {$implicit: optgroup}"></ng-container>
1032
+ </li>
1033
+ <ng-container *ngTemplateOutlet="itemslist; context: {$implicit: getOptionGroupChildren(optgroup), selectedOption: selectedOption}"></ng-container>
1034
+ </ng-template>
1035
+ </ng-container>
1036
+ <ng-container *ngIf="!group">
1037
+ <ng-container *ngTemplateOutlet="itemslist; context: {$implicit: items, selectedOption: selectedOption}"></ng-container>
1038
+ </ng-container>
1039
+ <ng-template #itemslist let-options let-selectedOption="selectedOption">
1017
1040
  <ng-template ngFor let-option let-i="index" [ngForOf]="options">
1018
1041
  <p-dropdownItem [option]="option" [selected]="selectedOption == option" [label]="getOptionLabel(option)" [disabled]="isOptionDisabled(option)"
1019
1042
  (onClick)="onItemClick($event)"
1020
1043
  [template]="itemTemplate"></p-dropdownItem>
1021
1044
  </ng-template>
1022
- </ng-container>
1023
- <ng-template #virtualScrollList>
1024
- <cdk-virtual-scroll-viewport (scrolledIndexChange)="scrollToSelectedVirtualScrollElement()" #viewport [ngStyle]="{'height': scrollHeight}" [itemSize]="itemSize" *ngIf="virtualScroll && optionsToDisplay && optionsToDisplay.length">
1025
- <ng-container *cdkVirtualFor="let option of options; let i = index; let c = count; let f = first; let l = last; let e = even; let o = odd">
1026
- <p-dropdownItem [option]="option" [selected]="selectedOption == option" [label]="getOptionLabel(option)" [disabled]="isOptionDisabled(option)"
1027
- (onClick)="onItemClick($event)"
1028
- [template]="itemTemplate"></p-dropdownItem>
1029
- </ng-container>
1030
- </cdk-virtual-scroll-viewport>
1031
1045
  </ng-template>
1032
- </ng-template>
1033
- <li *ngIf="filterValue && isEmpty()" class="p-dropdown-empty-message">
1034
- <ng-container *ngIf="!emptyFilterTemplate && !emptyTemplate; else emptyFilter">
1035
- {{emptyFilterMessageLabel}}
1036
- </ng-container>
1037
- <ng-container #emptyFilter *ngTemplateOutlet="emptyFilterTemplate || emptyTemplate"></ng-container>
1038
- </li>
1039
- <li *ngIf="!filterValue && isEmpty()" class="p-dropdown-empty-message">
1040
- <ng-container *ngIf="!emptyTemplate; else empty">
1041
- {{emptyMessageLabel}}
1042
- </ng-container>
1043
- <ng-container #empty *ngTemplateOutlet="emptyTemplate"></ng-container>
1044
- </li>
1045
- </ul>
1046
+ <li *ngIf="filterValue && isEmpty()" class="p-dropdown-empty-message" [ngStyle]="{'height': scrollerOptions.itemSize + 'px'}">
1047
+ <ng-container *ngIf="!emptyFilterTemplate && !emptyTemplate; else emptyFilter">
1048
+ {{emptyFilterMessageLabel}}
1049
+ </ng-container>
1050
+ <ng-container #emptyFilter *ngTemplateOutlet="emptyFilterTemplate || emptyTemplate"></ng-container>
1051
+ </li>
1052
+ <li *ngIf="!filterValue && isEmpty()" class="p-dropdown-empty-message" [ngStyle]="{'height': scrollerOptions.itemSize + 'px'}">
1053
+ <ng-container *ngIf="!emptyTemplate; else empty">
1054
+ {{emptyMessageLabel}}
1055
+ </ng-container>
1056
+ <ng-container #empty *ngTemplateOutlet="emptyTemplate"></ng-container>
1057
+ </li>
1058
+ </ul>
1059
+ </ng-template>
1046
1060
  </div>
1047
1061
  <ng-container *ngTemplateOutlet="footerTemplate"></ng-container>
1048
1062
  </div>
@@ -1126,9 +1140,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1126
1140
  type: Input
1127
1141
  }], emptyMessage: [{
1128
1142
  type: Input
1143
+ }], lazy: [{
1144
+ type: Input
1129
1145
  }], virtualScroll: [{
1130
1146
  type: Input
1131
- }], itemSize: [{
1147
+ }], virtualScrollItemSize: [{
1148
+ type: Input
1149
+ }], virtualScrollOptions: [{
1132
1150
  type: Input
1133
1151
  }], autoZIndex: [{
1134
1152
  type: Input
@@ -1174,6 +1192,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1174
1192
  type: Output
1175
1193
  }], onClear: [{
1176
1194
  type: Output
1195
+ }], onLazyLoad: [{
1196
+ type: Output
1177
1197
  }], containerViewChild: [{
1178
1198
  type: ViewChild,
1179
1199
  args: ['container']
@@ -1183,17 +1203,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1183
1203
  }], accessibleViewChild: [{
1184
1204
  type: ViewChild,
1185
1205
  args: ['in']
1186
- }], viewPort: [{
1187
- type: ViewChild,
1188
- args: [CdkVirtualScrollViewport]
1189
1206
  }], editableInputViewChild: [{
1190
1207
  type: ViewChild,
1191
1208
  args: ['editableInput']
1209
+ }], itemsViewChild: [{
1210
+ type: ViewChild,
1211
+ args: ['items']
1212
+ }], scroller: [{
1213
+ type: ViewChild,
1214
+ args: ['scroller']
1192
1215
  }], templates: [{
1193
1216
  type: ContentChildren,
1194
1217
  args: [PrimeTemplate]
1195
1218
  }], disabled: [{
1196
1219
  type: Input
1220
+ }], itemSize: [{
1221
+ type: Input
1197
1222
  }], options: [{
1198
1223
  type: Input
1199
1224
  }], filterValue: [{
@@ -1201,14 +1226,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1201
1226
  }] } });
1202
1227
  class DropdownModule {
1203
1228
  }
1204
- DropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: DropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1205
- DropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: DropdownModule, declarations: [Dropdown, DropdownItem], imports: [CommonModule, SharedModule, ScrollingModule, TooltipModule, RippleModule], exports: [Dropdown, SharedModule, ScrollingModule] });
1206
- DropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: DropdownModule, imports: [[CommonModule, SharedModule, ScrollingModule, TooltipModule, RippleModule], SharedModule, ScrollingModule] });
1207
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: DropdownModule, decorators: [{
1229
+ DropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: DropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1230
+ DropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.7", ngImport: i0, type: DropdownModule, declarations: [Dropdown, DropdownItem], imports: [CommonModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, AutoFocusModule], exports: [Dropdown, SharedModule, ScrollerModule] });
1231
+ DropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: DropdownModule, imports: [CommonModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, AutoFocusModule, SharedModule, ScrollerModule] });
1232
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: DropdownModule, decorators: [{
1208
1233
  type: NgModule,
1209
1234
  args: [{
1210
- imports: [CommonModule, SharedModule, ScrollingModule, TooltipModule, RippleModule],
1211
- exports: [Dropdown, SharedModule, ScrollingModule],
1235
+ imports: [CommonModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, AutoFocusModule],
1236
+ exports: [Dropdown, SharedModule, ScrollerModule],
1212
1237
  declarations: [Dropdown, DropdownItem]
1213
1238
  }]
1214
1239
  }] });