primeng 13.3.3 → 14.0.0-rc.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 (680) hide show
  1. package/accordion/accordion.d.ts +2 -2
  2. package/api/lazyloadevent.d.ts +2 -0
  3. package/api/primeicons.d.ts +2 -2
  4. package/api/shared.d.ts +3 -3
  5. package/autocomplete/autocomplete.d.ts +28 -19
  6. package/avatar/avatar.d.ts +1 -1
  7. package/avatargroup/avatargroup.d.ts +1 -1
  8. package/badge/badge.d.ts +2 -2
  9. package/blockui/blockui.d.ts +1 -1
  10. package/breadcrumb/breadcrumb.d.ts +1 -1
  11. package/button/button.d.ts +2 -2
  12. package/calendar/calendar.d.ts +9 -5
  13. package/captcha/captcha.d.ts +1 -1
  14. package/card/card.d.ts +1 -1
  15. package/carousel/carousel.d.ts +1 -1
  16. package/cascadeselect/cascadeselect.d.ts +6 -2
  17. package/chart/chart.d.ts +1 -1
  18. package/checkbox/checkbox.d.ts +1 -1
  19. package/chip/chip.d.ts +1 -1
  20. package/chips/chips.d.ts +4 -1
  21. package/codehighlighter/codehighlighter.d.ts +1 -1
  22. package/colorpicker/colorpicker.d.ts +1 -1
  23. package/confirmdialog/confirmdialog.d.ts +1 -1
  24. package/confirmpopup/confirmpopup.d.ts +1 -1
  25. package/contextmenu/contextmenu.d.ts +2 -2
  26. package/dataview/dataview.d.ts +2 -2
  27. package/defer/defer.d.ts +1 -1
  28. package/dialog/dialog.d.ts +1 -1
  29. package/divider/divider.d.ts +1 -1
  30. package/dock/dock.d.ts +1 -1
  31. package/dragdrop/dragdrop.d.ts +2 -2
  32. package/dropdown/dropdown.d.ts +23 -14
  33. package/dynamicdialog/dynamicdialog-config.d.ts +1 -0
  34. package/dynamicdialog/dynamicdialog.d.ts +1 -1
  35. package/dynamicdialog/dynamicdialogcontent.d.ts +1 -1
  36. package/editor/editor.d.ts +1 -1
  37. package/esm2020/accordion/accordion.mjs +18 -20
  38. package/esm2020/api/confirmationservice.mjs +3 -3
  39. package/esm2020/api/contextmenuservice.mjs +3 -3
  40. package/esm2020/api/filterservice.mjs +3 -3
  41. package/esm2020/api/lazyloadevent.mjs +1 -1
  42. package/esm2020/api/messageservice.mjs +3 -3
  43. package/esm2020/api/overlayservice.mjs +3 -3
  44. package/esm2020/api/primeicons.mjs +3 -3
  45. package/esm2020/api/primengconfig.mjs +3 -3
  46. package/esm2020/api/shared.mjs +14 -14
  47. package/esm2020/api/treedragdropservice.mjs +3 -3
  48. package/esm2020/autocomplete/autocomplete.mjs +186 -131
  49. package/esm2020/avatar/avatar.mjs +9 -9
  50. package/esm2020/avatargroup/avatargroup.mjs +9 -9
  51. package/esm2020/badge/badge.mjs +12 -12
  52. package/esm2020/blockui/blockui.mjs +9 -9
  53. package/esm2020/breadcrumb/breadcrumb.mjs +11 -11
  54. package/esm2020/button/button.mjs +14 -14
  55. package/esm2020/calendar/calendar.mjs +35 -16
  56. package/esm2020/captcha/captcha.mjs +8 -8
  57. package/esm2020/card/card.mjs +9 -9
  58. package/esm2020/carousel/carousel.mjs +9 -9
  59. package/esm2020/cascadeselect/cascadeselect.mjs +36 -17
  60. package/esm2020/chart/chart.mjs +8 -8
  61. package/esm2020/checkbox/checkbox.mjs +9 -9
  62. package/esm2020/chip/chip.mjs +9 -9
  63. package/esm2020/chips/chips.mjs +36 -17
  64. package/esm2020/codehighlighter/codehighlighter.mjs +8 -8
  65. package/esm2020/colorpicker/colorpicker.mjs +13 -10
  66. package/esm2020/confirmdialog/confirmdialog.mjs +13 -13
  67. package/esm2020/confirmpopup/confirmpopup.mjs +12 -10
  68. package/esm2020/contextmenu/contextmenu.mjs +20 -15
  69. package/esm2020/dataview/dataview.mjs +15 -15
  70. package/esm2020/defer/defer.mjs +8 -8
  71. package/esm2020/dialog/dialog.mjs +11 -11
  72. package/esm2020/divider/divider.mjs +9 -9
  73. package/esm2020/dock/dock.mjs +9 -9
  74. package/esm2020/dragdrop/dragdrop.mjs +11 -11
  75. package/esm2020/dropdown/dropdown.mjs +193 -161
  76. package/esm2020/dynamicdialog/dialogservice.mjs +3 -3
  77. package/esm2020/dynamicdialog/dynamicdialog-config.mjs +1 -1
  78. package/esm2020/dynamicdialog/dynamicdialog.mjs +11 -11
  79. package/esm2020/dynamicdialog/dynamicdialogcontent.mjs +3 -3
  80. package/esm2020/editor/editor.mjs +9 -9
  81. package/esm2020/fieldset/fieldset.mjs +16 -18
  82. package/esm2020/fileupload/fileupload.mjs +13 -13
  83. package/esm2020/focustrap/focustrap.mjs +8 -8
  84. package/esm2020/fullcalendar/fullcalendar.mjs +8 -8
  85. package/esm2020/galleria/galleria.mjs +25 -25
  86. package/esm2020/gmap/gmap.mjs +8 -8
  87. package/esm2020/image/image.mjs +43 -29
  88. package/esm2020/inplace/inplace.mjs +15 -15
  89. package/esm2020/inputmask/inputmask.mjs +38 -26
  90. package/esm2020/inputnumber/inputnumber.mjs +25 -11
  91. package/esm2020/inputswitch/inputswitch.mjs +9 -9
  92. package/esm2020/inputtext/inputtext.mjs +8 -8
  93. package/esm2020/inputtextarea/inputtextarea.mjs +8 -8
  94. package/esm2020/keyfilter/keyfilter.mjs +8 -8
  95. package/esm2020/knob/knob.mjs +9 -9
  96. package/esm2020/lightbox/lightbox.mjs +9 -9
  97. package/esm2020/listbox/listbox.mjs +49 -18
  98. package/esm2020/megamenu/megamenu.mjs +22 -12
  99. package/esm2020/menu/menu.mjs +23 -17
  100. package/esm2020/menubar/menubar.mjs +22 -18
  101. package/esm2020/message/message.mjs +9 -9
  102. package/esm2020/messages/messages.mjs +14 -14
  103. package/esm2020/multiselect/multiselect.mjs +212 -130
  104. package/esm2020/orderlist/orderlist.mjs +44 -18
  105. package/esm2020/organizationchart/organizationchart.mjs +13 -13
  106. package/esm2020/overlaypanel/overlaypanel.mjs +24 -10
  107. package/esm2020/paginator/paginator.mjs +14 -14
  108. package/esm2020/panel/panel.mjs +16 -18
  109. package/esm2020/panelmenu/panelmenu.mjs +36 -32
  110. package/esm2020/password/password.mjs +34 -16
  111. package/esm2020/picklist/picklist.mjs +86 -37
  112. package/esm2020/progressbar/progressbar.mjs +9 -9
  113. package/esm2020/progressspinner/progressspinner.mjs +9 -9
  114. package/esm2020/radiobutton/radiobutton.mjs +12 -12
  115. package/esm2020/rating/rating.mjs +9 -9
  116. package/esm2020/ripple/ripple.mjs +8 -8
  117. package/esm2020/scroller/primeng-scroller.mjs +5 -0
  118. package/esm2020/scroller/public_api.mjs +2 -0
  119. package/esm2020/scroller/scroller.mjs +739 -0
  120. package/esm2020/scrollpanel/scrollpanel.mjs +9 -9
  121. package/esm2020/scrolltop/scrolltop.mjs +9 -9
  122. package/esm2020/selectbutton/selectbutton.mjs +10 -10
  123. package/esm2020/sidebar/sidebar.mjs +10 -10
  124. package/esm2020/skeleton/skeleton.mjs +9 -9
  125. package/esm2020/slidemenu/slidemenu.mjs +22 -16
  126. package/esm2020/slider/slider.mjs +36 -21
  127. package/esm2020/speeddial/speeddial.mjs +11 -11
  128. package/esm2020/spinner/spinner.mjs +9 -9
  129. package/esm2020/splitbutton/splitbutton.mjs +12 -12
  130. package/esm2020/splitter/splitter.mjs +9 -9
  131. package/esm2020/steps/steps.mjs +9 -9
  132. package/esm2020/styleclass/styleclass.mjs +8 -8
  133. package/esm2020/table/table.mjs +269 -254
  134. package/esm2020/tabmenu/tabmenu.mjs +51 -13
  135. package/esm2020/tabview/tabview.mjs +15 -15
  136. package/esm2020/tag/tag.mjs +9 -9
  137. package/esm2020/terminal/terminal.mjs +9 -9
  138. package/esm2020/terminal/terminalservice.mjs +3 -3
  139. package/esm2020/tieredmenu/tieredmenu.mjs +29 -18
  140. package/esm2020/timeline/timeline.mjs +9 -9
  141. package/esm2020/toast/toast.mjs +14 -14
  142. package/esm2020/togglebutton/togglebutton.mjs +12 -12
  143. package/esm2020/toolbar/toolbar.mjs +9 -9
  144. package/esm2020/tooltip/tooltip.mjs +23 -12
  145. package/esm2020/tree/tree.mjs +113 -77
  146. package/esm2020/treeselect/treeselect.mjs +122 -37
  147. package/esm2020/treetable/treetable.mjs +180 -155
  148. package/esm2020/tristatecheckbox/tristatecheckbox.mjs +9 -9
  149. package/esm2020/virtualscroller/virtualscroller.mjs +58 -99
  150. package/fesm2015/primeng-accordion.mjs +17 -19
  151. package/fesm2015/primeng-accordion.mjs.map +1 -1
  152. package/fesm2015/primeng-api.mjs +36 -36
  153. package/fesm2015/primeng-api.mjs.map +1 -1
  154. package/fesm2015/primeng-autocomplete.mjs +187 -131
  155. package/fesm2015/primeng-autocomplete.mjs.map +1 -1
  156. package/fesm2015/primeng-avatar.mjs +8 -8
  157. package/fesm2015/primeng-avatar.mjs.map +1 -1
  158. package/fesm2015/primeng-avatargroup.mjs +8 -8
  159. package/fesm2015/primeng-avatargroup.mjs.map +1 -1
  160. package/fesm2015/primeng-badge.mjs +11 -11
  161. package/fesm2015/primeng-badge.mjs.map +1 -1
  162. package/fesm2015/primeng-blockui.mjs +8 -8
  163. package/fesm2015/primeng-blockui.mjs.map +1 -1
  164. package/fesm2015/primeng-breadcrumb.mjs +10 -10
  165. package/fesm2015/primeng-breadcrumb.mjs.map +1 -1
  166. package/fesm2015/primeng-button.mjs +13 -13
  167. package/fesm2015/primeng-button.mjs.map +1 -1
  168. package/fesm2015/primeng-calendar.mjs +34 -15
  169. package/fesm2015/primeng-calendar.mjs.map +1 -1
  170. package/fesm2015/primeng-captcha.mjs +7 -7
  171. package/fesm2015/primeng-captcha.mjs.map +1 -1
  172. package/fesm2015/primeng-card.mjs +8 -8
  173. package/fesm2015/primeng-card.mjs.map +1 -1
  174. package/fesm2015/primeng-carousel.mjs +8 -8
  175. package/fesm2015/primeng-carousel.mjs.map +1 -1
  176. package/fesm2015/primeng-cascadeselect.mjs +35 -16
  177. package/fesm2015/primeng-cascadeselect.mjs.map +1 -1
  178. package/fesm2015/primeng-chart.mjs +7 -7
  179. package/fesm2015/primeng-chart.mjs.map +1 -1
  180. package/fesm2015/primeng-checkbox.mjs +8 -8
  181. package/fesm2015/primeng-checkbox.mjs.map +1 -1
  182. package/fesm2015/primeng-chip.mjs +8 -8
  183. package/fesm2015/primeng-chip.mjs.map +1 -1
  184. package/fesm2015/primeng-chips.mjs +35 -16
  185. package/fesm2015/primeng-chips.mjs.map +1 -1
  186. package/fesm2015/primeng-codehighlighter.mjs +7 -7
  187. package/fesm2015/primeng-codehighlighter.mjs.map +1 -1
  188. package/fesm2015/primeng-colorpicker.mjs +12 -9
  189. package/fesm2015/primeng-colorpicker.mjs.map +1 -1
  190. package/fesm2015/primeng-confirmdialog.mjs +12 -12
  191. package/fesm2015/primeng-confirmdialog.mjs.map +1 -1
  192. package/fesm2015/primeng-confirmpopup.mjs +11 -9
  193. package/fesm2015/primeng-confirmpopup.mjs.map +1 -1
  194. package/fesm2015/primeng-contextmenu.mjs +19 -14
  195. package/fesm2015/primeng-contextmenu.mjs.map +1 -1
  196. package/fesm2015/primeng-dataview.mjs +14 -14
  197. package/fesm2015/primeng-dataview.mjs.map +1 -1
  198. package/fesm2015/primeng-defer.mjs +7 -7
  199. package/fesm2015/primeng-defer.mjs.map +1 -1
  200. package/fesm2015/primeng-dialog.mjs +10 -10
  201. package/fesm2015/primeng-dialog.mjs.map +1 -1
  202. package/fesm2015/primeng-divider.mjs +8 -8
  203. package/fesm2015/primeng-divider.mjs.map +1 -1
  204. package/fesm2015/primeng-dock.mjs +8 -8
  205. package/fesm2015/primeng-dock.mjs.map +1 -1
  206. package/fesm2015/primeng-dragdrop.mjs +10 -10
  207. package/fesm2015/primeng-dragdrop.mjs.map +1 -1
  208. package/fesm2015/primeng-dropdown.mjs +192 -160
  209. package/fesm2015/primeng-dropdown.mjs.map +1 -1
  210. package/fesm2015/primeng-dynamicdialog.mjs +16 -16
  211. package/fesm2015/primeng-dynamicdialog.mjs.map +1 -1
  212. package/fesm2015/primeng-editor.mjs +8 -8
  213. package/fesm2015/primeng-editor.mjs.map +1 -1
  214. package/fesm2015/primeng-fieldset.mjs +15 -17
  215. package/fesm2015/primeng-fieldset.mjs.map +1 -1
  216. package/fesm2015/primeng-fileupload.mjs +12 -12
  217. package/fesm2015/primeng-fileupload.mjs.map +1 -1
  218. package/fesm2015/primeng-focustrap.mjs +7 -7
  219. package/fesm2015/primeng-focustrap.mjs.map +1 -1
  220. package/fesm2015/primeng-fullcalendar.mjs +7 -7
  221. package/fesm2015/primeng-fullcalendar.mjs.map +1 -1
  222. package/fesm2015/primeng-galleria.mjs +24 -24
  223. package/fesm2015/primeng-galleria.mjs.map +1 -1
  224. package/fesm2015/primeng-gmap.mjs +7 -7
  225. package/fesm2015/primeng-gmap.mjs.map +1 -1
  226. package/fesm2015/primeng-image.mjs +42 -28
  227. package/fesm2015/primeng-image.mjs.map +1 -1
  228. package/fesm2015/primeng-inplace.mjs +14 -14
  229. package/fesm2015/primeng-inplace.mjs.map +1 -1
  230. package/fesm2015/primeng-inputmask.mjs +37 -25
  231. package/fesm2015/primeng-inputmask.mjs.map +1 -1
  232. package/fesm2015/primeng-inputnumber.mjs +24 -10
  233. package/fesm2015/primeng-inputnumber.mjs.map +1 -1
  234. package/fesm2015/primeng-inputswitch.mjs +8 -8
  235. package/fesm2015/primeng-inputswitch.mjs.map +1 -1
  236. package/fesm2015/primeng-inputtext.mjs +7 -7
  237. package/fesm2015/primeng-inputtext.mjs.map +1 -1
  238. package/fesm2015/primeng-inputtextarea.mjs +7 -7
  239. package/fesm2015/primeng-inputtextarea.mjs.map +1 -1
  240. package/fesm2015/primeng-keyfilter.mjs +7 -7
  241. package/fesm2015/primeng-keyfilter.mjs.map +1 -1
  242. package/fesm2015/primeng-knob.mjs +8 -8
  243. package/fesm2015/primeng-knob.mjs.map +1 -1
  244. package/fesm2015/primeng-lightbox.mjs +8 -8
  245. package/fesm2015/primeng-lightbox.mjs.map +1 -1
  246. package/fesm2015/primeng-listbox.mjs +48 -17
  247. package/fesm2015/primeng-listbox.mjs.map +1 -1
  248. package/fesm2015/primeng-megamenu.mjs +21 -11
  249. package/fesm2015/primeng-megamenu.mjs.map +1 -1
  250. package/fesm2015/primeng-menu.mjs +22 -16
  251. package/fesm2015/primeng-menu.mjs.map +1 -1
  252. package/fesm2015/primeng-menubar.mjs +21 -17
  253. package/fesm2015/primeng-menubar.mjs.map +1 -1
  254. package/fesm2015/primeng-message.mjs +8 -8
  255. package/fesm2015/primeng-message.mjs.map +1 -1
  256. package/fesm2015/primeng-messages.mjs +13 -13
  257. package/fesm2015/primeng-messages.mjs.map +1 -1
  258. package/fesm2015/primeng-multiselect.mjs +212 -129
  259. package/fesm2015/primeng-multiselect.mjs.map +1 -1
  260. package/fesm2015/primeng-orderlist.mjs +43 -17
  261. package/fesm2015/primeng-orderlist.mjs.map +1 -1
  262. package/fesm2015/primeng-organizationchart.mjs +12 -12
  263. package/fesm2015/primeng-organizationchart.mjs.map +1 -1
  264. package/fesm2015/primeng-overlaypanel.mjs +23 -9
  265. package/fesm2015/primeng-overlaypanel.mjs.map +1 -1
  266. package/fesm2015/primeng-paginator.mjs +13 -13
  267. package/fesm2015/primeng-paginator.mjs.map +1 -1
  268. package/fesm2015/primeng-panel.mjs +15 -17
  269. package/fesm2015/primeng-panel.mjs.map +1 -1
  270. package/fesm2015/primeng-panelmenu.mjs +35 -31
  271. package/fesm2015/primeng-panelmenu.mjs.map +1 -1
  272. package/fesm2015/primeng-password.mjs +33 -15
  273. package/fesm2015/primeng-password.mjs.map +1 -1
  274. package/fesm2015/primeng-picklist.mjs +85 -36
  275. package/fesm2015/primeng-picklist.mjs.map +1 -1
  276. package/fesm2015/primeng-progressbar.mjs +8 -8
  277. package/fesm2015/primeng-progressbar.mjs.map +1 -1
  278. package/fesm2015/primeng-progressspinner.mjs +8 -8
  279. package/fesm2015/primeng-progressspinner.mjs.map +1 -1
  280. package/fesm2015/primeng-radiobutton.mjs +11 -11
  281. package/fesm2015/primeng-radiobutton.mjs.map +1 -1
  282. package/fesm2015/primeng-rating.mjs +8 -8
  283. package/fesm2015/primeng-rating.mjs.map +1 -1
  284. package/fesm2015/primeng-ripple.mjs +7 -7
  285. package/fesm2015/primeng-ripple.mjs.map +1 -1
  286. package/fesm2015/primeng-scroller.mjs +744 -0
  287. package/fesm2015/primeng-scroller.mjs.map +1 -0
  288. package/fesm2015/primeng-scrollpanel.mjs +8 -8
  289. package/fesm2015/primeng-scrollpanel.mjs.map +1 -1
  290. package/fesm2015/primeng-scrolltop.mjs +8 -8
  291. package/fesm2015/primeng-scrolltop.mjs.map +1 -1
  292. package/fesm2015/primeng-selectbutton.mjs +9 -9
  293. package/fesm2015/primeng-selectbutton.mjs.map +1 -1
  294. package/fesm2015/primeng-sidebar.mjs +9 -9
  295. package/fesm2015/primeng-sidebar.mjs.map +1 -1
  296. package/fesm2015/primeng-skeleton.mjs +8 -8
  297. package/fesm2015/primeng-skeleton.mjs.map +1 -1
  298. package/fesm2015/primeng-slidemenu.mjs +21 -15
  299. package/fesm2015/primeng-slidemenu.mjs.map +1 -1
  300. package/fesm2015/primeng-slider.mjs +35 -20
  301. package/fesm2015/primeng-slider.mjs.map +1 -1
  302. package/fesm2015/primeng-speeddial.mjs +10 -10
  303. package/fesm2015/primeng-speeddial.mjs.map +1 -1
  304. package/fesm2015/primeng-spinner.mjs +8 -8
  305. package/fesm2015/primeng-spinner.mjs.map +1 -1
  306. package/fesm2015/primeng-splitbutton.mjs +11 -11
  307. package/fesm2015/primeng-splitbutton.mjs.map +1 -1
  308. package/fesm2015/primeng-splitter.mjs +8 -8
  309. package/fesm2015/primeng-splitter.mjs.map +1 -1
  310. package/fesm2015/primeng-steps.mjs +8 -8
  311. package/fesm2015/primeng-steps.mjs.map +1 -1
  312. package/fesm2015/primeng-styleclass.mjs +7 -7
  313. package/fesm2015/primeng-styleclass.mjs.map +1 -1
  314. package/fesm2015/primeng-table.mjs +264 -253
  315. package/fesm2015/primeng-table.mjs.map +1 -1
  316. package/fesm2015/primeng-tabmenu.mjs +50 -12
  317. package/fesm2015/primeng-tabmenu.mjs.map +1 -1
  318. package/fesm2015/primeng-tabview.mjs +14 -14
  319. package/fesm2015/primeng-tabview.mjs.map +1 -1
  320. package/fesm2015/primeng-tag.mjs +8 -8
  321. package/fesm2015/primeng-tag.mjs.map +1 -1
  322. package/fesm2015/primeng-terminal.mjs +11 -11
  323. package/fesm2015/primeng-terminal.mjs.map +1 -1
  324. package/fesm2015/primeng-tieredmenu.mjs +28 -17
  325. package/fesm2015/primeng-tieredmenu.mjs.map +1 -1
  326. package/fesm2015/primeng-timeline.mjs +8 -8
  327. package/fesm2015/primeng-timeline.mjs.map +1 -1
  328. package/fesm2015/primeng-toast.mjs +13 -13
  329. package/fesm2015/primeng-toast.mjs.map +1 -1
  330. package/fesm2015/primeng-togglebutton.mjs +11 -11
  331. package/fesm2015/primeng-togglebutton.mjs.map +1 -1
  332. package/fesm2015/primeng-toolbar.mjs +8 -8
  333. package/fesm2015/primeng-toolbar.mjs.map +1 -1
  334. package/fesm2015/primeng-tooltip.mjs +22 -11
  335. package/fesm2015/primeng-tooltip.mjs.map +1 -1
  336. package/fesm2015/primeng-tree.mjs +112 -76
  337. package/fesm2015/primeng-tree.mjs.map +1 -1
  338. package/fesm2015/primeng-treeselect.mjs +121 -36
  339. package/fesm2015/primeng-treeselect.mjs.map +1 -1
  340. package/fesm2015/primeng-treetable.mjs +175 -154
  341. package/fesm2015/primeng-treetable.mjs.map +1 -1
  342. package/fesm2015/primeng-tristatecheckbox.mjs +8 -8
  343. package/fesm2015/primeng-tristatecheckbox.mjs.map +1 -1
  344. package/fesm2015/primeng-virtualscroller.mjs +53 -97
  345. package/fesm2015/primeng-virtualscroller.mjs.map +1 -1
  346. package/fesm2020/primeng-accordion.mjs +17 -19
  347. package/fesm2020/primeng-accordion.mjs.map +1 -1
  348. package/fesm2020/primeng-api.mjs +36 -36
  349. package/fesm2020/primeng-api.mjs.map +1 -1
  350. package/fesm2020/primeng-autocomplete.mjs +186 -131
  351. package/fesm2020/primeng-autocomplete.mjs.map +1 -1
  352. package/fesm2020/primeng-avatar.mjs +8 -8
  353. package/fesm2020/primeng-avatar.mjs.map +1 -1
  354. package/fesm2020/primeng-avatargroup.mjs +8 -8
  355. package/fesm2020/primeng-avatargroup.mjs.map +1 -1
  356. package/fesm2020/primeng-badge.mjs +11 -11
  357. package/fesm2020/primeng-badge.mjs.map +1 -1
  358. package/fesm2020/primeng-blockui.mjs +8 -8
  359. package/fesm2020/primeng-blockui.mjs.map +1 -1
  360. package/fesm2020/primeng-breadcrumb.mjs +10 -10
  361. package/fesm2020/primeng-breadcrumb.mjs.map +1 -1
  362. package/fesm2020/primeng-button.mjs +13 -13
  363. package/fesm2020/primeng-button.mjs.map +1 -1
  364. package/fesm2020/primeng-calendar.mjs +34 -15
  365. package/fesm2020/primeng-calendar.mjs.map +1 -1
  366. package/fesm2020/primeng-captcha.mjs +7 -7
  367. package/fesm2020/primeng-captcha.mjs.map +1 -1
  368. package/fesm2020/primeng-card.mjs +8 -8
  369. package/fesm2020/primeng-card.mjs.map +1 -1
  370. package/fesm2020/primeng-carousel.mjs +8 -8
  371. package/fesm2020/primeng-carousel.mjs.map +1 -1
  372. package/fesm2020/primeng-cascadeselect.mjs +35 -16
  373. package/fesm2020/primeng-cascadeselect.mjs.map +1 -1
  374. package/fesm2020/primeng-chart.mjs +7 -7
  375. package/fesm2020/primeng-chart.mjs.map +1 -1
  376. package/fesm2020/primeng-checkbox.mjs +8 -8
  377. package/fesm2020/primeng-checkbox.mjs.map +1 -1
  378. package/fesm2020/primeng-chip.mjs +8 -8
  379. package/fesm2020/primeng-chip.mjs.map +1 -1
  380. package/fesm2020/primeng-chips.mjs +35 -16
  381. package/fesm2020/primeng-chips.mjs.map +1 -1
  382. package/fesm2020/primeng-codehighlighter.mjs +7 -7
  383. package/fesm2020/primeng-codehighlighter.mjs.map +1 -1
  384. package/fesm2020/primeng-colorpicker.mjs +12 -9
  385. package/fesm2020/primeng-colorpicker.mjs.map +1 -1
  386. package/fesm2020/primeng-confirmdialog.mjs +12 -12
  387. package/fesm2020/primeng-confirmdialog.mjs.map +1 -1
  388. package/fesm2020/primeng-confirmpopup.mjs +11 -9
  389. package/fesm2020/primeng-confirmpopup.mjs.map +1 -1
  390. package/fesm2020/primeng-contextmenu.mjs +19 -14
  391. package/fesm2020/primeng-contextmenu.mjs.map +1 -1
  392. package/fesm2020/primeng-dataview.mjs +14 -14
  393. package/fesm2020/primeng-dataview.mjs.map +1 -1
  394. package/fesm2020/primeng-defer.mjs +7 -7
  395. package/fesm2020/primeng-defer.mjs.map +1 -1
  396. package/fesm2020/primeng-dialog.mjs +10 -10
  397. package/fesm2020/primeng-dialog.mjs.map +1 -1
  398. package/fesm2020/primeng-divider.mjs +8 -8
  399. package/fesm2020/primeng-divider.mjs.map +1 -1
  400. package/fesm2020/primeng-dock.mjs +8 -8
  401. package/fesm2020/primeng-dock.mjs.map +1 -1
  402. package/fesm2020/primeng-dragdrop.mjs +10 -10
  403. package/fesm2020/primeng-dragdrop.mjs.map +1 -1
  404. package/fesm2020/primeng-dropdown.mjs +192 -160
  405. package/fesm2020/primeng-dropdown.mjs.map +1 -1
  406. package/fesm2020/primeng-dynamicdialog.mjs +16 -16
  407. package/fesm2020/primeng-dynamicdialog.mjs.map +1 -1
  408. package/fesm2020/primeng-editor.mjs +8 -8
  409. package/fesm2020/primeng-editor.mjs.map +1 -1
  410. package/fesm2020/primeng-fieldset.mjs +15 -17
  411. package/fesm2020/primeng-fieldset.mjs.map +1 -1
  412. package/fesm2020/primeng-fileupload.mjs +12 -12
  413. package/fesm2020/primeng-fileupload.mjs.map +1 -1
  414. package/fesm2020/primeng-focustrap.mjs +7 -7
  415. package/fesm2020/primeng-focustrap.mjs.map +1 -1
  416. package/fesm2020/primeng-fullcalendar.mjs +7 -7
  417. package/fesm2020/primeng-fullcalendar.mjs.map +1 -1
  418. package/fesm2020/primeng-galleria.mjs +24 -24
  419. package/fesm2020/primeng-galleria.mjs.map +1 -1
  420. package/fesm2020/primeng-gmap.mjs +7 -7
  421. package/fesm2020/primeng-gmap.mjs.map +1 -1
  422. package/fesm2020/primeng-image.mjs +42 -28
  423. package/fesm2020/primeng-image.mjs.map +1 -1
  424. package/fesm2020/primeng-inplace.mjs +14 -14
  425. package/fesm2020/primeng-inplace.mjs.map +1 -1
  426. package/fesm2020/primeng-inputmask.mjs +37 -25
  427. package/fesm2020/primeng-inputmask.mjs.map +1 -1
  428. package/fesm2020/primeng-inputnumber.mjs +24 -10
  429. package/fesm2020/primeng-inputnumber.mjs.map +1 -1
  430. package/fesm2020/primeng-inputswitch.mjs +8 -8
  431. package/fesm2020/primeng-inputswitch.mjs.map +1 -1
  432. package/fesm2020/primeng-inputtext.mjs +7 -7
  433. package/fesm2020/primeng-inputtext.mjs.map +1 -1
  434. package/fesm2020/primeng-inputtextarea.mjs +7 -7
  435. package/fesm2020/primeng-inputtextarea.mjs.map +1 -1
  436. package/fesm2020/primeng-keyfilter.mjs +7 -7
  437. package/fesm2020/primeng-keyfilter.mjs.map +1 -1
  438. package/fesm2020/primeng-knob.mjs +8 -8
  439. package/fesm2020/primeng-knob.mjs.map +1 -1
  440. package/fesm2020/primeng-lightbox.mjs +8 -8
  441. package/fesm2020/primeng-lightbox.mjs.map +1 -1
  442. package/fesm2020/primeng-listbox.mjs +48 -17
  443. package/fesm2020/primeng-listbox.mjs.map +1 -1
  444. package/fesm2020/primeng-megamenu.mjs +21 -11
  445. package/fesm2020/primeng-megamenu.mjs.map +1 -1
  446. package/fesm2020/primeng-menu.mjs +22 -16
  447. package/fesm2020/primeng-menu.mjs.map +1 -1
  448. package/fesm2020/primeng-menubar.mjs +21 -17
  449. package/fesm2020/primeng-menubar.mjs.map +1 -1
  450. package/fesm2020/primeng-message.mjs +8 -8
  451. package/fesm2020/primeng-message.mjs.map +1 -1
  452. package/fesm2020/primeng-messages.mjs +13 -13
  453. package/fesm2020/primeng-messages.mjs.map +1 -1
  454. package/fesm2020/primeng-multiselect.mjs +211 -129
  455. package/fesm2020/primeng-multiselect.mjs.map +1 -1
  456. package/fesm2020/primeng-orderlist.mjs +43 -17
  457. package/fesm2020/primeng-orderlist.mjs.map +1 -1
  458. package/fesm2020/primeng-organizationchart.mjs +12 -12
  459. package/fesm2020/primeng-organizationchart.mjs.map +1 -1
  460. package/fesm2020/primeng-overlaypanel.mjs +23 -9
  461. package/fesm2020/primeng-overlaypanel.mjs.map +1 -1
  462. package/fesm2020/primeng-paginator.mjs +13 -13
  463. package/fesm2020/primeng-paginator.mjs.map +1 -1
  464. package/fesm2020/primeng-panel.mjs +15 -17
  465. package/fesm2020/primeng-panel.mjs.map +1 -1
  466. package/fesm2020/primeng-panelmenu.mjs +35 -31
  467. package/fesm2020/primeng-panelmenu.mjs.map +1 -1
  468. package/fesm2020/primeng-password.mjs +33 -15
  469. package/fesm2020/primeng-password.mjs.map +1 -1
  470. package/fesm2020/primeng-picklist.mjs +85 -36
  471. package/fesm2020/primeng-picklist.mjs.map +1 -1
  472. package/fesm2020/primeng-progressbar.mjs +8 -8
  473. package/fesm2020/primeng-progressbar.mjs.map +1 -1
  474. package/fesm2020/primeng-progressspinner.mjs +8 -8
  475. package/fesm2020/primeng-progressspinner.mjs.map +1 -1
  476. package/fesm2020/primeng-radiobutton.mjs +11 -11
  477. package/fesm2020/primeng-radiobutton.mjs.map +1 -1
  478. package/fesm2020/primeng-rating.mjs +8 -8
  479. package/fesm2020/primeng-rating.mjs.map +1 -1
  480. package/fesm2020/primeng-ripple.mjs +7 -7
  481. package/fesm2020/primeng-ripple.mjs.map +1 -1
  482. package/fesm2020/primeng-scroller.mjs +746 -0
  483. package/fesm2020/primeng-scroller.mjs.map +1 -0
  484. package/fesm2020/primeng-scrollpanel.mjs +8 -8
  485. package/fesm2020/primeng-scrollpanel.mjs.map +1 -1
  486. package/fesm2020/primeng-scrolltop.mjs +8 -8
  487. package/fesm2020/primeng-scrolltop.mjs.map +1 -1
  488. package/fesm2020/primeng-selectbutton.mjs +9 -9
  489. package/fesm2020/primeng-selectbutton.mjs.map +1 -1
  490. package/fesm2020/primeng-sidebar.mjs +9 -9
  491. package/fesm2020/primeng-sidebar.mjs.map +1 -1
  492. package/fesm2020/primeng-skeleton.mjs +8 -8
  493. package/fesm2020/primeng-skeleton.mjs.map +1 -1
  494. package/fesm2020/primeng-slidemenu.mjs +21 -15
  495. package/fesm2020/primeng-slidemenu.mjs.map +1 -1
  496. package/fesm2020/primeng-slider.mjs +35 -20
  497. package/fesm2020/primeng-slider.mjs.map +1 -1
  498. package/fesm2020/primeng-speeddial.mjs +10 -10
  499. package/fesm2020/primeng-speeddial.mjs.map +1 -1
  500. package/fesm2020/primeng-spinner.mjs +8 -8
  501. package/fesm2020/primeng-spinner.mjs.map +1 -1
  502. package/fesm2020/primeng-splitbutton.mjs +11 -11
  503. package/fesm2020/primeng-splitbutton.mjs.map +1 -1
  504. package/fesm2020/primeng-splitter.mjs +8 -8
  505. package/fesm2020/primeng-splitter.mjs.map +1 -1
  506. package/fesm2020/primeng-steps.mjs +8 -8
  507. package/fesm2020/primeng-steps.mjs.map +1 -1
  508. package/fesm2020/primeng-styleclass.mjs +7 -7
  509. package/fesm2020/primeng-styleclass.mjs.map +1 -1
  510. package/fesm2020/primeng-table.mjs +268 -253
  511. package/fesm2020/primeng-table.mjs.map +1 -1
  512. package/fesm2020/primeng-tabmenu.mjs +50 -12
  513. package/fesm2020/primeng-tabmenu.mjs.map +1 -1
  514. package/fesm2020/primeng-tabview.mjs +14 -14
  515. package/fesm2020/primeng-tabview.mjs.map +1 -1
  516. package/fesm2020/primeng-tag.mjs +8 -8
  517. package/fesm2020/primeng-tag.mjs.map +1 -1
  518. package/fesm2020/primeng-terminal.mjs +11 -11
  519. package/fesm2020/primeng-terminal.mjs.map +1 -1
  520. package/fesm2020/primeng-tieredmenu.mjs +28 -17
  521. package/fesm2020/primeng-tieredmenu.mjs.map +1 -1
  522. package/fesm2020/primeng-timeline.mjs +8 -8
  523. package/fesm2020/primeng-timeline.mjs.map +1 -1
  524. package/fesm2020/primeng-toast.mjs +13 -13
  525. package/fesm2020/primeng-toast.mjs.map +1 -1
  526. package/fesm2020/primeng-togglebutton.mjs +11 -11
  527. package/fesm2020/primeng-togglebutton.mjs.map +1 -1
  528. package/fesm2020/primeng-toolbar.mjs +8 -8
  529. package/fesm2020/primeng-toolbar.mjs.map +1 -1
  530. package/fesm2020/primeng-tooltip.mjs +22 -11
  531. package/fesm2020/primeng-tooltip.mjs.map +1 -1
  532. package/fesm2020/primeng-tree.mjs +112 -76
  533. package/fesm2020/primeng-tree.mjs.map +1 -1
  534. package/fesm2020/primeng-treeselect.mjs +121 -36
  535. package/fesm2020/primeng-treeselect.mjs.map +1 -1
  536. package/fesm2020/primeng-treetable.mjs +179 -154
  537. package/fesm2020/primeng-treetable.mjs.map +1 -1
  538. package/fesm2020/primeng-tristatecheckbox.mjs +8 -8
  539. package/fesm2020/primeng-tristatecheckbox.mjs.map +1 -1
  540. package/fesm2020/primeng-virtualscroller.mjs +56 -97
  541. package/fesm2020/primeng-virtualscroller.mjs.map +1 -1
  542. package/fieldset/fieldset.d.ts +1 -1
  543. package/fileupload/fileupload.d.ts +1 -1
  544. package/focustrap/focustrap.d.ts +1 -1
  545. package/fullcalendar/fullcalendar.d.ts +1 -1
  546. package/galleria/galleria.d.ts +5 -5
  547. package/gmap/gmap.d.ts +1 -1
  548. package/image/image.d.ts +6 -2
  549. package/inplace/inplace.d.ts +3 -3
  550. package/inputmask/inputmask.d.ts +4 -1
  551. package/inputnumber/inputnumber.d.ts +4 -1
  552. package/inputswitch/inputswitch.d.ts +1 -1
  553. package/inputtext/inputtext.d.ts +1 -1
  554. package/inputtextarea/inputtextarea.d.ts +1 -1
  555. package/keyfilter/keyfilter.d.ts +1 -1
  556. package/knob/knob.d.ts +1 -1
  557. package/lightbox/lightbox.d.ts +1 -1
  558. package/listbox/listbox.d.ts +10 -1
  559. package/megamenu/megamenu.d.ts +1 -1
  560. package/menu/menu.d.ts +2 -2
  561. package/menubar/menubar.d.ts +4 -3
  562. package/message/message.d.ts +1 -1
  563. package/messages/messages.d.ts +1 -1
  564. package/multiselect/multiselect.d.ts +28 -8
  565. package/orderlist/orderlist.d.ts +9 -1
  566. package/organizationchart/organizationchart.d.ts +2 -2
  567. package/overlaypanel/overlaypanel.d.ts +2 -1
  568. package/package.json +12 -4
  569. package/paginator/paginator.d.ts +1 -1
  570. package/panel/panel.d.ts +1 -1
  571. package/panelmenu/panelmenu.d.ts +2 -2
  572. package/password/password.d.ts +5 -2
  573. package/picklist/picklist.d.ts +14 -2
  574. package/progressbar/progressbar.d.ts +1 -1
  575. package/progressspinner/progressspinner.d.ts +1 -1
  576. package/radiobutton/radiobutton.d.ts +1 -1
  577. package/rating/rating.d.ts +1 -1
  578. package/resources/components/accordion/accordion.css +8 -0
  579. package/resources/components/autocomplete/autocomplete.css +11 -0
  580. package/resources/components/button/button.css +0 -4
  581. package/resources/components/calendar/calendar.css +11 -0
  582. package/resources/components/cascadeselect/cascadeselect.css +11 -0
  583. package/resources/components/chips/chips.css +12 -1
  584. package/resources/components/fieldset/fieldset.css +8 -0
  585. package/resources/components/image/image.css +5 -0
  586. package/resources/components/inputmask/inputmask.css +10 -0
  587. package/resources/components/inputnumber/inputnumber.css +11 -0
  588. package/resources/components/inputtext/inputtext.css +16 -1
  589. package/resources/components/megamenu/megamenu.css +5 -0
  590. package/resources/components/menu/menu.css +5 -0
  591. package/resources/components/messages/messages.css +4 -0
  592. package/resources/components/multiselect/multiselect.css +11 -0
  593. package/resources/components/orderlist/orderlist.css +1 -0
  594. package/resources/components/panel/panel.css +8 -0
  595. package/resources/components/panelmenu/panelmenu.css +10 -0
  596. package/resources/components/password/password.css +11 -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/treeselect/treeselect.css +48 -0
  601. package/resources/components/treetable/treetable.css +11 -1
  602. package/resources/primeng.css +26 -5
  603. package/resources/primeng.min.css +1 -1
  604. package/resources/themes/arya-blue/theme.css +241 -13
  605. package/resources/themes/arya-green/theme.css +241 -13
  606. package/resources/themes/arya-orange/theme.css +241 -13
  607. package/resources/themes/arya-purple/theme.css +241 -13
  608. package/resources/themes/bootstrap4-dark-blue/theme.css +241 -13
  609. package/resources/themes/bootstrap4-dark-purple/theme.css +241 -13
  610. package/resources/themes/bootstrap4-light-blue/theme.css +240 -12
  611. package/resources/themes/bootstrap4-light-purple/theme.css +240 -12
  612. package/resources/themes/fluent-light/theme.css +241 -13
  613. package/resources/themes/lara-dark-blue/theme.css +241 -13
  614. package/resources/themes/lara-dark-indigo/theme.css +241 -13
  615. package/resources/themes/lara-dark-purple/theme.css +241 -13
  616. package/resources/themes/lara-dark-teal/theme.css +241 -13
  617. package/resources/themes/lara-light-blue/theme.css +241 -13
  618. package/resources/themes/lara-light-indigo/theme.css +241 -13
  619. package/resources/themes/lara-light-purple/theme.css +241 -13
  620. package/resources/themes/lara-light-teal/theme.css +241 -13
  621. package/resources/themes/luna-amber/theme.css +241 -13
  622. package/resources/themes/luna-blue/theme.css +241 -13
  623. package/resources/themes/luna-green/theme.css +241 -13
  624. package/resources/themes/luna-pink/theme.css +241 -13
  625. package/resources/themes/md-dark-deeppurple/theme.css +241 -13
  626. package/resources/themes/md-dark-indigo/theme.css +241 -13
  627. package/resources/themes/md-light-deeppurple/theme.css +241 -13
  628. package/resources/themes/md-light-indigo/theme.css +241 -13
  629. package/resources/themes/mdc-dark-deeppurple/theme.css +241 -13
  630. package/resources/themes/mdc-dark-indigo/theme.css +241 -13
  631. package/resources/themes/mdc-light-deeppurple/theme.css +241 -13
  632. package/resources/themes/mdc-light-indigo/theme.css +241 -13
  633. package/resources/themes/nova/theme.css +242 -14
  634. package/resources/themes/nova-accent/theme.css +242 -14
  635. package/resources/themes/nova-alt/theme.css +242 -14
  636. package/resources/themes/rhea/theme.css +242 -14
  637. package/resources/themes/saga-blue/theme.css +241 -13
  638. package/resources/themes/saga-green/theme.css +241 -13
  639. package/resources/themes/saga-orange/theme.css +241 -13
  640. package/resources/themes/saga-purple/theme.css +241 -13
  641. package/resources/themes/tailwind-light/theme.css +241 -13
  642. package/resources/themes/vela-blue/theme.css +241 -13
  643. package/resources/themes/vela-green/theme.css +241 -13
  644. package/resources/themes/vela-orange/theme.css +241 -13
  645. package/resources/themes/vela-purple/theme.css +241 -13
  646. package/ripple/ripple.d.ts +1 -1
  647. package/scroller/package.json +10 -0
  648. package/scroller/primeng-scroller.d.ts +5 -0
  649. package/scroller/public_api.d.ts +1 -0
  650. package/scroller/scroller.d.ts +223 -0
  651. package/scrollpanel/scrollpanel.d.ts +1 -1
  652. package/scrolltop/scrolltop.d.ts +1 -1
  653. package/selectbutton/selectbutton.d.ts +1 -1
  654. package/sidebar/sidebar.d.ts +1 -1
  655. package/skeleton/skeleton.d.ts +1 -1
  656. package/slidemenu/slidemenu.d.ts +2 -2
  657. package/slider/slider.d.ts +6 -1
  658. package/speeddial/speeddial.d.ts +1 -1
  659. package/spinner/spinner.d.ts +1 -1
  660. package/splitbutton/splitbutton.d.ts +1 -1
  661. package/splitter/splitter.d.ts +1 -1
  662. package/steps/steps.d.ts +1 -1
  663. package/styleclass/styleclass.d.ts +1 -1
  664. package/table/table.d.ts +49 -45
  665. package/tabmenu/tabmenu.d.ts +9 -4
  666. package/tabview/tabview.d.ts +2 -2
  667. package/tag/tag.d.ts +1 -1
  668. package/terminal/terminal.d.ts +1 -1
  669. package/tieredmenu/tieredmenu.d.ts +3 -3
  670. package/timeline/timeline.d.ts +1 -1
  671. package/toast/toast.d.ts +2 -2
  672. package/togglebutton/togglebutton.d.ts +1 -1
  673. package/toolbar/toolbar.d.ts +1 -1
  674. package/tooltip/tooltip.d.ts +3 -1
  675. package/tree/tree.d.ts +24 -18
  676. package/treeselect/treeselect.d.ts +21 -2
  677. package/treetable/treetable.d.ts +33 -25
  678. package/tristatecheckbox/tristatecheckbox.d.ts +1 -1
  679. package/virtualscroller/virtualscroller.d.ts +12 -27
  680. package/resources/components/virtualscroller/virtualscroller.css +0 -3
@@ -1,19 +1,19 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { forwardRef, EventEmitter, Component, ViewEncapsulation, Input, Output, ChangeDetectionStrategy, ViewChild, ContentChild, ContentChildren, NgModule } from '@angular/core';
3
3
  import { trigger, transition, style, animate } from '@angular/animations';
4
- import * as i2 from '@angular/common';
4
+ import * as i1 from '@angular/common';
5
5
  import { CommonModule } from '@angular/common';
6
6
  import { DomHandler, ConnectedOverlayScrollHandler } from 'primeng/dom';
7
7
  import { ObjectUtils, ZIndexUtils } from 'primeng/utils';
8
8
  import * as i3 from 'primeng/api';
9
9
  import { TranslationKeys, Footer, Header, PrimeTemplate, SharedModule } from 'primeng/api';
10
10
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
11
- import * as i4 from '@angular/cdk/scrolling';
12
- import { ScrollingModule } from '@angular/cdk/scrolling';
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 i2 from 'primeng/ripple';
16
14
  import { RippleModule } from 'primeng/ripple';
15
+ import * as i5 from 'primeng/scroller';
16
+ import { ScrollerModule } from 'primeng/scroller';
17
17
 
18
18
  const MULTISELECT_VALUE_ACCESSOR = {
19
19
  provide: NG_VALUE_ACCESSOR,
@@ -38,8 +38,8 @@ class MultiSelectItem {
38
38
  });
39
39
  }
40
40
  }
41
- MultiSelectItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: MultiSelectItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
42
- MultiSelectItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: MultiSelectItem, selector: "p-multiSelectItem", inputs: { option: "option", selected: "selected", label: "label", disabled: "disabled", itemSize: "itemSize", template: "template" }, outputs: { onClick: "onClick", onKeydown: "onKeydown" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
41
+ MultiSelectItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: MultiSelectItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
42
+ MultiSelectItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: MultiSelectItem, selector: "p-multiSelectItem", inputs: { option: "option", selected: "selected", label: "label", disabled: "disabled", itemSize: "itemSize", template: "template" }, outputs: { onClick: "onClick", onKeydown: "onKeydown" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
43
43
  <li class="p-multiselect-item" (click)="onOptionClick($event)" (keydown)="onOptionKeydown($event)" [attr.aria-label]="label"
44
44
  [attr.tabindex]="disabled ? null : '0'" [ngStyle]="{'height': itemSize + 'px'}"
45
45
  [ngClass]="{'p-highlight': selected, 'p-disabled': disabled}" pRipple>
@@ -51,8 +51,8 @@ MultiSelectItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
51
51
  <span *ngIf="!template">{{label}}</span>
52
52
  <ng-container *ngTemplateOutlet="template; context: {$implicit: option}"></ng-container>
53
53
  </li>
54
- `, 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"] }], encapsulation: i0.ViewEncapsulation.None });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: MultiSelectItem, decorators: [{
54
+ `, 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]" }], encapsulation: i0.ViewEncapsulation.None });
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: MultiSelectItem, decorators: [{
56
56
  type: Component,
57
57
  args: [{
58
58
  selector: 'p-multiSelectItem',
@@ -112,6 +112,8 @@ class MultiSelect {
112
112
  this.showHeader = true;
113
113
  this.autoZIndex = true;
114
114
  this.baseZIndex = 0;
115
+ this.scrollHeight = '200px';
116
+ this.lazy = false;
115
117
  this.showTransitionOptions = '.12s cubic-bezier(0, 0, 0.2, 1)';
116
118
  this.hideTransitionOptions = '.1s linear';
117
119
  this.filterMatchMode = "contains";
@@ -121,14 +123,16 @@ class MultiSelect {
121
123
  this.autofocusFilter = true;
122
124
  this.display = 'comma';
123
125
  this.autocomplete = 'on';
126
+ this.showClear = false;
124
127
  this.onChange = new EventEmitter();
125
128
  this.onFilter = new EventEmitter();
126
129
  this.onFocus = new EventEmitter();
127
130
  this.onBlur = new EventEmitter();
128
131
  this.onClick = new EventEmitter();
132
+ this.onClear = new EventEmitter();
129
133
  this.onPanelShow = new EventEmitter();
130
134
  this.onPanelHide = new EventEmitter();
131
- this.scrollHeight = '200px';
135
+ this.onLazyLoad = new EventEmitter();
132
136
  this.onModelChange = () => { };
133
137
  this.onModelTouched = () => { };
134
138
  }
@@ -160,8 +164,21 @@ class MultiSelect {
160
164
  this._filterValue = val;
161
165
  this.activateFilter();
162
166
  }
167
+ get itemSize() {
168
+ return this._itemSize;
169
+ }
170
+ set itemSize(val) {
171
+ this._itemSize = val;
172
+ console.warn("The itemSize property is deprecated, use virtualScrollItemSize property instead.");
173
+ }
163
174
  ngOnInit() {
164
175
  this.updateLabel();
176
+ if (this.filterBy) {
177
+ this.filterOptions = {
178
+ filter: (value) => this.onFilterInputChange(value),
179
+ reset: () => this.resetFilter()
180
+ };
181
+ }
165
182
  }
166
183
  ngAfterContentInit() {
167
184
  this.templates.forEach((item) => {
@@ -178,6 +195,9 @@ class MultiSelect {
178
195
  case 'header':
179
196
  this.headerTemplate = item.template;
180
197
  break;
198
+ case 'filter':
199
+ this.filterTemplate = item.template;
200
+ break;
181
201
  case 'emptyfilter':
182
202
  this.emptyFilterTemplate = item.template;
183
203
  break;
@@ -187,6 +207,9 @@ class MultiSelect {
187
207
  case 'footer':
188
208
  this.footerTemplate = item.template;
189
209
  break;
210
+ case 'loader':
211
+ this.loaderTemplate = item.template;
212
+ break;
190
213
  default:
191
214
  this.itemTemplate = item.template;
192
215
  break;
@@ -205,19 +228,19 @@ class MultiSelect {
205
228
  }
206
229
  }
207
230
  getOptionLabel(option) {
208
- return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : (option.label != undefined ? option.label : option);
231
+ return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : (option && option.label != undefined ? option.label : option);
209
232
  }
210
233
  getOptionValue(option) {
211
- return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : (this.optionLabel || option.value === undefined ? option : option.value);
234
+ return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : (!this.optionLabel && (option && option.value !== undefined) ? option.value : option);
212
235
  }
213
236
  getOptionGroupLabel(optionGroup) {
214
- return this.optionGroupLabel ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel) : (optionGroup.label != undefined ? optionGroup.label : optionGroup);
237
+ return this.optionGroupLabel ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel) : (optionGroup && optionGroup.label != undefined ? optionGroup.label : optionGroup);
215
238
  }
216
239
  getOptionGroupChildren(optionGroup) {
217
240
  return this.optionGroupChildren ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items;
218
241
  }
219
242
  isOptionDisabled(option) {
220
- let disabled = this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : (option.disabled !== undefined ? option.disabled : false);
243
+ let disabled = this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : (option && option.disabled !== undefined ? option.disabled : false);
221
244
  return (disabled || (this.maxSelectionLimitReached && !this.isSelected(option)));
222
245
  }
223
246
  writeValue(value) {
@@ -379,6 +402,7 @@ class MultiSelect {
379
402
  switch (event.toState) {
380
403
  case 'visible':
381
404
  this.overlay = event.element;
405
+ this.virtualScroll && this.scroller?.setContentEl(this.itemsViewChild.nativeElement);
382
406
  this.appendOverlay();
383
407
  if (this.autoZIndex) {
384
408
  ZIndexUtils.set('overlay', this.overlay, this.baseZIndex + this.config.zIndex.overlay);
@@ -435,18 +459,31 @@ class MultiSelect {
435
459
  this.overlayVisible = false;
436
460
  this.unbindDocumentClickListener();
437
461
  if (this.resetFilterOnHide) {
438
- this.filterInputChild.nativeElement.value = '';
439
- this._filterValue = null;
440
- this._filteredOptions = null;
462
+ this.resetFilter();
441
463
  }
442
464
  this.onPanelHide.emit();
443
465
  this.cd.markForCheck();
444
466
  }
467
+ resetFilter() {
468
+ if (this.filterInputChild && this.filterInputChild.nativeElement) {
469
+ this.filterInputChild.nativeElement.value = '';
470
+ }
471
+ this._filterValue = null;
472
+ this._filteredOptions = null;
473
+ }
445
474
  close(event) {
446
475
  this.hide();
447
476
  event.preventDefault();
448
477
  event.stopPropagation();
449
478
  }
479
+ clear(event) {
480
+ this.value = null;
481
+ this.updateLabel();
482
+ this.updateFilledState();
483
+ this.onClear.emit();
484
+ this.onModelChange(this.value);
485
+ event.stopPropagation();
486
+ }
450
487
  onMouseclick(event, input) {
451
488
  if (this.disabled || this.readonly || event.target.isSameNode(this.accessibleViewChild.nativeElement)) {
452
489
  return;
@@ -746,7 +783,7 @@ class MultiSelect {
746
783
  }
747
784
  }
748
785
  onWindowResize() {
749
- if (!DomHandler.isAndroid()) {
786
+ if (this.overlayVisible && !DomHandler.isTouchDevice()) {
750
787
  this.hide();
751
788
  }
752
789
  }
@@ -784,8 +821,8 @@ class MultiSelect {
784
821
  this.onOverlayHide();
785
822
  }
786
823
  }
787
- MultiSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: MultiSelect, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i3.FilterService }, { token: i3.PrimeNGConfig }, { token: i3.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
788
- MultiSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: MultiSelect, selector: "p-multiSelect", inputs: { style: "style", styleClass: "styleClass", panelStyle: "panelStyle", panelStyleClass: "panelStyleClass", inputId: "inputId", disabled: "disabled", readonly: "readonly", group: "group", filter: "filter", filterPlaceHolder: "filterPlaceHolder", filterLocale: "filterLocale", overlayVisible: "overlayVisible", tabindex: "tabindex", appendTo: "appendTo", dataKey: "dataKey", name: "name", label: "label", ariaLabelledBy: "ariaLabelledBy", displaySelectedLabel: "displaySelectedLabel", maxSelectedLabels: "maxSelectedLabels", selectionLimit: "selectionLimit", selectedItemsLabel: "selectedItemsLabel", showToggleAll: "showToggleAll", emptyFilterMessage: "emptyFilterMessage", emptyMessage: "emptyMessage", resetFilterOnHide: "resetFilterOnHide", dropdownIcon: "dropdownIcon", optionLabel: "optionLabel", optionValue: "optionValue", optionDisabled: "optionDisabled", optionGroupLabel: "optionGroupLabel", optionGroupChildren: "optionGroupChildren", showHeader: "showHeader", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", filterBy: "filterBy", virtualScroll: "virtualScroll", itemSize: "itemSize", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", ariaFilterLabel: "ariaFilterLabel", filterMatchMode: "filterMatchMode", tooltip: "tooltip", tooltipPosition: "tooltipPosition", tooltipPositionStyle: "tooltipPositionStyle", tooltipStyleClass: "tooltipStyleClass", autofocusFilter: "autofocusFilter", display: "display", autocomplete: "autocomplete", scrollHeight: "scrollHeight", defaultLabel: "defaultLabel", placeholder: "placeholder", options: "options", filterValue: "filterValue" }, outputs: { onChange: "onChange", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onClick: "onClick", onPanelShow: "onPanelShow", onPanelHide: "onPanelHide" }, host: { properties: { "class.p-inputwrapper-filled": "filled", "class.p-inputwrapper-focus": "focus || overlayVisible" }, classAttribute: "p-element p-inputwrapper" }, providers: [MULTISELECT_VALUE_ACCESSOR], queries: [{ propertyName: "footerFacet", first: true, predicate: Footer, descendants: true }, { propertyName: "headerFacet", first: true, predicate: Header, descendants: true }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }, { propertyName: "filterInputChild", first: true, predicate: ["filterInput"], descendants: true }, { propertyName: "accessibleViewChild", first: true, predicate: ["in"], descendants: true }], ngImport: i0, template: `
824
+ MultiSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: MultiSelect, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i3.FilterService }, { token: i3.PrimeNGConfig }, { token: i3.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
825
+ MultiSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: MultiSelect, selector: "p-multiSelect", inputs: { style: "style", styleClass: "styleClass", panelStyle: "panelStyle", panelStyleClass: "panelStyleClass", inputId: "inputId", disabled: "disabled", readonly: "readonly", group: "group", filter: "filter", filterPlaceHolder: "filterPlaceHolder", filterLocale: "filterLocale", overlayVisible: "overlayVisible", tabindex: "tabindex", appendTo: "appendTo", dataKey: "dataKey", name: "name", label: "label", ariaLabelledBy: "ariaLabelledBy", displaySelectedLabel: "displaySelectedLabel", maxSelectedLabels: "maxSelectedLabels", selectionLimit: "selectionLimit", selectedItemsLabel: "selectedItemsLabel", showToggleAll: "showToggleAll", emptyFilterMessage: "emptyFilterMessage", emptyMessage: "emptyMessage", resetFilterOnHide: "resetFilterOnHide", dropdownIcon: "dropdownIcon", optionLabel: "optionLabel", optionValue: "optionValue", optionDisabled: "optionDisabled", optionGroupLabel: "optionGroupLabel", optionGroupChildren: "optionGroupChildren", showHeader: "showHeader", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", filterBy: "filterBy", scrollHeight: "scrollHeight", lazy: "lazy", virtualScroll: "virtualScroll", virtualScrollItemSize: "virtualScrollItemSize", virtualScrollOptions: "virtualScrollOptions", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", ariaFilterLabel: "ariaFilterLabel", filterMatchMode: "filterMatchMode", tooltip: "tooltip", tooltipPosition: "tooltipPosition", tooltipPositionStyle: "tooltipPositionStyle", tooltipStyleClass: "tooltipStyleClass", autofocusFilter: "autofocusFilter", display: "display", autocomplete: "autocomplete", showClear: "showClear", defaultLabel: "defaultLabel", placeholder: "placeholder", options: "options", filterValue: "filterValue", itemSize: "itemSize" }, outputs: { onChange: "onChange", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onClick: "onClick", onClear: "onClear", onPanelShow: "onPanelShow", onPanelHide: "onPanelHide", onLazyLoad: "onLazyLoad" }, host: { properties: { "class.p-inputwrapper-filled": "filled", "class.p-inputwrapper-focus": "focus || overlayVisible", "class.p-multiselect-clearable": "showClear && !disabled" }, classAttribute: "p-element p-inputwrapper" }, providers: [MULTISELECT_VALUE_ACCESSOR], queries: [{ propertyName: "footerFacet", first: true, predicate: Footer, descendants: true }, { propertyName: "headerFacet", first: true, predicate: Header, descendants: true }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }, { propertyName: "filterInputChild", first: true, predicate: ["filterInput"], descendants: true }, { propertyName: "accessibleViewChild", first: true, predicate: ["in"], descendants: true }, { propertyName: "itemsViewChild", first: true, predicate: ["items"], descendants: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }], ngImport: i0, template: `
789
826
  <div #container [ngClass]="{'p-multiselect p-component':true,
790
827
  'p-multiselect-open':overlayVisible,
791
828
  'p-multiselect-chip': display === 'chip',
@@ -811,6 +848,7 @@ MultiSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
811
848
  </ng-container>
812
849
  <ng-container *ngTemplateOutlet="selectedItemsTemplate; context: {$implicit: value}"></ng-container>
813
850
  </div>
851
+ <i *ngIf="value != null && filled && !disabled && showClear" class="p-multiselect-clear-icon pi pi-times" (click)="clear($event)"></i>
814
852
  </div>
815
853
  <div [ngClass]="{'p-multiselect-trigger':true}">
816
854
  <span class="p-multiselect-trigger-icon" [ngClass]="dropdownIcon"></span>
@@ -820,65 +858,77 @@ MultiSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
820
858
  <div class="p-multiselect-header" *ngIf="showHeader">
821
859
  <ng-content select="p-header"></ng-content>
822
860
  <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
823
- <div class="p-checkbox p-component" *ngIf="showToggleAll && !selectionLimit" [ngClass]="{'p-checkbox-disabled': disabled || toggleAllDisabled}">
824
- <div class="p-hidden-accessible">
825
- <input type="checkbox" readonly="readonly" [checked]="allChecked" (focus)="onHeaderCheckboxFocus()" (blur)="onHeaderCheckboxBlur()" (keydown.space)="toggleAll($event)" [disabled]="disabled || toggleAllDisabled">
861
+ <ng-container *ngIf="filterTemplate; else builtInFilterElement">
862
+ <ng-container *ngTemplateOutlet="filterTemplate; context: {options: filterOptions}"></ng-container>
863
+ </ng-container>
864
+ <ng-template #builtInFilterElement>
865
+ <div class="p-checkbox p-component" *ngIf="showToggleAll && !selectionLimit" [ngClass]="{'p-checkbox-disabled': disabled || toggleAllDisabled}">
866
+ <div class="p-hidden-accessible">
867
+ <input type="checkbox" readonly="readonly" [checked]="allChecked" (focus)="onHeaderCheckboxFocus()" (blur)="onHeaderCheckboxBlur()" (keydown.space)="toggleAll($event)" [disabled]="disabled || toggleAllDisabled">
868
+ </div>
869
+ <div class="p-checkbox-box" role="checkbox" [attr.aria-checked]="allChecked" [ngClass]="{'p-highlight':allChecked, 'p-focus': headerCheckboxFocus, 'p-disabled': disabled || toggleAllDisabled}" (click)="toggleAll($event)">
870
+ <span class="p-checkbox-icon" [ngClass]="{'pi pi-check':allChecked}"></span>
871
+ </div>
826
872
  </div>
827
- <div class="p-checkbox-box" role="checkbox" [attr.aria-checked]="allChecked" [ngClass]="{'p-highlight':allChecked, 'p-focus': headerCheckboxFocus, 'p-disabled': disabled || toggleAllDisabled}" (click)="toggleAll($event)">
828
- <span class="p-checkbox-icon" [ngClass]="{'pi pi-check':allChecked}"></span>
873
+ <div class="p-multiselect-filter-container" *ngIf="filter">
874
+ <input #filterInput type="text" [attr.autocomplete]="autocomplete" role="textbox" [value]="filterValue||''" (input)="onFilterInputChange($event)" class="p-multiselect-filter p-inputtext p-component" [disabled]="disabled" [attr.placeholder]="filterPlaceHolder" [attr.aria-label]="ariaFilterLabel">
875
+ <span class="p-multiselect-filter-icon pi pi-search"></span>
829
876
  </div>
830
- </div>
831
- <div class="p-multiselect-filter-container" *ngIf="filter">
832
- <input #filterInput type="text" [attr.autocomplete]="autocomplete" role="textbox" [value]="filterValue||''" (input)="onFilterInputChange($event)" class="p-multiselect-filter p-inputtext p-component" [disabled]="disabled" [attr.placeholder]="filterPlaceHolder" [attr.aria-label]="ariaFilterLabel">
833
- <span class="p-multiselect-filter-icon pi pi-search"></span>
834
- </div>
835
- <button class="p-multiselect-close p-link" type="button" (click)="close($event)" pRipple>
836
- <span class="p-multiselect-close-icon pi pi-times"></span>
837
- </button>
877
+ <button class="p-multiselect-close p-link" type="button" (click)="close($event)" pRipple>
878
+ <span class="p-multiselect-close-icon pi pi-times"></span>
879
+ </button>
880
+ </ng-template>
838
881
  </div>
839
882
  <div class="p-multiselect-items-wrapper" [style.max-height]="virtualScroll ? 'auto' : (scrollHeight||'auto')">
840
- <ul class="p-multiselect-items p-component" [ngClass]="{'p-multiselect-virtualscroll': virtualScroll}" role="listbox" aria-multiselectable="true">
841
- <ng-container *ngIf="group">
842
- <ng-template ngFor let-optgroup [ngForOf]="optionsToRender">
843
- <li class="p-multiselect-item-group">
844
- <span *ngIf="!groupTemplate">{{getOptionGroupLabel(optgroup)||'empty'}}</span>
845
- <ng-container *ngTemplateOutlet="groupTemplate; context: {$implicit: optgroup}"></ng-container>
846
- </li>
847
- <ng-container *ngTemplateOutlet="itemslist; context: {$implicit: getOptionGroupChildren(optgroup)}"></ng-container>
883
+ <p-scroller *ngIf="virtualScroll" #scroller [items]="optionsToRender" [style]="{'height': scrollHeight}" [itemSize]="virtualScrollItemSize||_itemSize" [autoSize]="true" [tabindex]="-1"
884
+ [lazy]="lazy" (onLazyLoad)="onLazyLoad.emit($event)" [options]="virtualScrollOptions">
885
+ <ng-template pTemplate="content" let-items let-scrollerOptions="options">
886
+ <ng-container *ngTemplateOutlet="buildInItems; context: {$implicit: items, options: scrollerOptions}"></ng-container>
887
+ </ng-template>
888
+ <ng-container *ngIf="loaderTemplate">
889
+ <ng-template pTemplate="loader" let-scrollerOptions="options">
890
+ <ng-container *ngTemplateOutlet="loaderTemplate; context: {options: scrollerOptions}"></ng-container>
848
891
  </ng-template>
849
892
  </ng-container>
850
- <ng-container *ngIf="!group">
851
- <ng-container *ngTemplateOutlet="itemslist; context: {$implicit: optionsToRender}"></ng-container>
852
- </ng-container>
853
- <ng-template #itemslist let-optionsToDisplay let-selectedOption="selectedOption">
854
- <ng-container *ngIf="!virtualScroll; else virtualScrollList">
893
+ </p-scroller>
894
+ <ng-container *ngIf="!virtualScroll">
895
+ <ng-container *ngTemplateOutlet="buildInItems; context: {$implicit: optionsToRender, options: {}}"></ng-container>
896
+ </ng-container>
897
+
898
+ <ng-template #buildInItems let-items let-scrollerOptions="options">
899
+ <ul #items class="p-multiselect-items p-component" [ngClass]="scrollerOptions.contentStyleClass" [style]="scrollerOptions.contentStyle" role="listbox" aria-multiselectable="true">
900
+ <ng-container *ngIf="group">
901
+ <ng-template ngFor let-optgroup [ngForOf]="items">
902
+ <li class="p-multiselect-item-group" [ngStyle]="{'height': scrollerOptions.itemSize + 'px'}">
903
+ <span *ngIf="!groupTemplate">{{getOptionGroupLabel(optgroup)||'empty'}}</span>
904
+ <ng-container *ngTemplateOutlet="groupTemplate; context: {$implicit: optgroup}"></ng-container>
905
+ </li>
906
+ <ng-container *ngTemplateOutlet="itemslist; context: {$implicit: getOptionGroupChildren(optgroup)}"></ng-container>
907
+ </ng-template>
908
+ </ng-container>
909
+ <ng-container *ngIf="!group">
910
+ <ng-container *ngTemplateOutlet="itemslist; context: {$implicit: items}"></ng-container>
911
+ </ng-container>
912
+ <ng-template #itemslist let-optionsToDisplay let-selectedOption="selectedOption">
855
913
  <ng-template ngFor let-option let-i="index" [ngForOf]="optionsToDisplay">
856
914
  <p-multiSelectItem [option]="option" [selected]="isSelected(option)" [label]="getOptionLabel(option)" [disabled]="isOptionDisabled(option)" (onClick)="onOptionClick($event)" (onKeydown)="onOptionKeydown($event)"
857
- [template]="itemTemplate"></p-multiSelectItem>
915
+ [template]="itemTemplate" [itemSize]="scrollerOptions.itemSize"></p-multiSelectItem>
858
916
  </ng-template>
859
- </ng-container>
860
- <ng-template #virtualScrollList>
861
- <cdk-virtual-scroll-viewport #viewport [ngStyle]="{'height': scrollHeight}" [itemSize]="itemSize" *ngIf="virtualScroll && !emptyOptions">
862
- <ng-container *cdkVirtualFor="let option of optionsToDisplay; let i = index; let c = count; let f = first; let l = last; let e = even; let o = odd">
863
- <p-multiSelectItem [option]="option" [selected]="isSelected(option)" [label]="getOptionLabel(option)" [disabled]="isOptionDisabled(option)" (onClick)="onOptionClick($event)" (onKeydown)="onOptionKeydown($event)"
864
- [template]="itemTemplate" [itemSize]="itemSize"></p-multiSelectItem>
917
+ <li *ngIf="hasFilter() && emptyOptions" class="p-multiselect-empty-message" [ngStyle]="{'height': scrollerOptions.itemSize + 'px'}">
918
+ <ng-container *ngIf="!emptyFilterTemplate && !emptyTemplate; else emptyFilter">
919
+ {{emptyFilterMessageLabel}}
920
+ </ng-container>
921
+ <ng-container #emptyFilter *ngTemplateOutlet="emptyFilterTemplate || emptyTemplate"></ng-container>
922
+ </li>
923
+ <li *ngIf="!hasFilter() && emptyOptions" class="p-multiselect-empty-message" [ngStyle]="{'height': scrollerOptions.itemSize + 'px'}">
924
+ <ng-container *ngIf="!emptyTemplate; else empty">
925
+ {{emptyMessageLabel}}
865
926
  </ng-container>
866
- </cdk-virtual-scroll-viewport>
927
+ <ng-container #empty *ngTemplateOutlet="emptyTemplate"></ng-container>
928
+ </li>
867
929
  </ng-template>
868
- <li *ngIf="hasFilter() && emptyOptions" class="p-multiselect-empty-message">
869
- <ng-container *ngIf="!emptyFilterTemplate && !emptyTemplate; else emptyFilter">
870
- {{emptyFilterMessageLabel}}
871
- </ng-container>
872
- <ng-container #emptyFilter *ngTemplateOutlet="emptyFilterTemplate || emptyTemplate"></ng-container>
873
- </li>
874
- <li *ngIf="!hasFilter() && emptyOptions" class="p-multiselect-empty-message">
875
- <ng-container *ngIf="!emptyTemplate; else empty">
876
- {{emptyMessageLabel}}
877
- </ng-container>
878
- <ng-container #empty *ngTemplateOutlet="emptyTemplate"></ng-container>
879
- </li>
880
- </ng-template>
881
- </ul>
930
+ </ul>
931
+ </ng-template>
882
932
  </div>
883
933
  <div class="p-multiselect-footer" *ngIf="footerFacet || footerTemplate">
884
934
  <ng-content select="p-footer"></ng-content>
@@ -886,7 +936,7 @@ MultiSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
886
936
  </div>
887
937
  </div>
888
938
  </div>
889
- `, isInline: true, styles: [".p-multiselect{display:inline-flex;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.p-multiselect-trigger{display:flex;align-items:center;justify-content:center;flex-shrink:0}.p-multiselect-label-container{overflow:hidden;flex:1 1 auto;cursor:pointer}.p-multiselect-label{display:block;white-space:nowrap;cursor:pointer;overflow:hidden;text-overflow:ellipsis}.p-multiselect-label-empty{overflow:hidden;visibility:hidden}.p-multiselect-token{cursor:default;display:inline-flex;align-items:center;flex:0 0 auto}.p-multiselect-token-icon{cursor:pointer}.p-multiselect .p-multiselect-panel{min-width:100%}.p-multiselect-panel{position:absolute;top:0;left:0}.p-multiselect-items-wrapper{overflow:auto}.p-multiselect-items{margin:0;padding:0;list-style-type:none}.p-multiselect-item{cursor:pointer;display:flex;align-items:center;font-weight:400;white-space:nowrap;position:relative;overflow:hidden}.p-multiselect-header{display:flex;align-items:center;justify-content:space-between}.p-multiselect-filter-container{position:relative;flex:1 1 auto}.p-multiselect-filter-icon{position:absolute;top:50%;margin-top:-.5rem}.p-multiselect-filter-container .p-inputtext{width:100%}.p-multiselect-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;position:relative}.p-fluid .p-multiselect{display:flex}\n"], components: [{ type: MultiSelectItem, selector: "p-multiSelectItem", inputs: ["option", "selected", "label", "disabled", "itemSize", "template"], outputs: ["onClick", "onKeydown"] }, { 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: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.Ripple, selector: "[pRipple]" }, { 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: [
939
+ `, isInline: true, styles: [".p-multiselect{display:inline-flex;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.p-multiselect-trigger{display:flex;align-items:center;justify-content:center;flex-shrink:0}.p-multiselect-label-container{overflow:hidden;flex:1 1 auto;cursor:pointer}.p-multiselect-label{display:block;white-space:nowrap;cursor:pointer;overflow:hidden;text-overflow:ellipsis}.p-multiselect-label-empty{overflow:hidden;visibility:hidden}.p-multiselect-token{cursor:default;display:inline-flex;align-items:center;flex:0 0 auto}.p-multiselect-token-icon{cursor:pointer}.p-multiselect .p-multiselect-panel{min-width:100%}.p-multiselect-panel{position:absolute;top:0;left:0}.p-multiselect-items-wrapper{overflow:auto}.p-multiselect-items{margin:0;padding:0;list-style-type:none}.p-multiselect-item{cursor:pointer;display:flex;align-items:center;font-weight:400;white-space:nowrap;position:relative;overflow:hidden}.p-multiselect-header{display:flex;align-items:center;justify-content:space-between}.p-multiselect-filter-container{position:relative;flex:1 1 auto}.p-multiselect-filter-icon{position:absolute;top:50%;margin-top:-.5rem}.p-multiselect-filter-container .p-inputtext{width:100%}.p-multiselect-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;position:relative}.p-fluid .p-multiselect{display:flex}.p-multiselect-clear-icon{position:absolute;top:50%;margin-top:-.5rem;cursor:pointer}.p-multiselect-clearable{position:relative}\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: "directive", type: i2.Ripple, selector: "[pRipple]" }, { 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: "component", type: MultiSelectItem, selector: "p-multiSelectItem", inputs: ["option", "selected", "label", "disabled", "itemSize", "template"], outputs: ["onClick", "onKeydown"] }], animations: [
890
940
  trigger('overlayAnimation', [
891
941
  transition(':enter', [
892
942
  style({ opacity: 0, transform: 'scaleY(0.8)' }),
@@ -897,7 +947,7 @@ MultiSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
897
947
  ])
898
948
  ])
899
949
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
900
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: MultiSelect, decorators: [{
950
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: MultiSelect, decorators: [{
901
951
  type: Component,
902
952
  args: [{ selector: 'p-multiSelect', template: `
903
953
  <div #container [ngClass]="{'p-multiselect p-component':true,
@@ -925,6 +975,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImpor
925
975
  </ng-container>
926
976
  <ng-container *ngTemplateOutlet="selectedItemsTemplate; context: {$implicit: value}"></ng-container>
927
977
  </div>
978
+ <i *ngIf="value != null && filled && !disabled && showClear" class="p-multiselect-clear-icon pi pi-times" (click)="clear($event)"></i>
928
979
  </div>
929
980
  <div [ngClass]="{'p-multiselect-trigger':true}">
930
981
  <span class="p-multiselect-trigger-icon" [ngClass]="dropdownIcon"></span>
@@ -934,65 +985,77 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImpor
934
985
  <div class="p-multiselect-header" *ngIf="showHeader">
935
986
  <ng-content select="p-header"></ng-content>
936
987
  <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
937
- <div class="p-checkbox p-component" *ngIf="showToggleAll && !selectionLimit" [ngClass]="{'p-checkbox-disabled': disabled || toggleAllDisabled}">
938
- <div class="p-hidden-accessible">
939
- <input type="checkbox" readonly="readonly" [checked]="allChecked" (focus)="onHeaderCheckboxFocus()" (blur)="onHeaderCheckboxBlur()" (keydown.space)="toggleAll($event)" [disabled]="disabled || toggleAllDisabled">
988
+ <ng-container *ngIf="filterTemplate; else builtInFilterElement">
989
+ <ng-container *ngTemplateOutlet="filterTemplate; context: {options: filterOptions}"></ng-container>
990
+ </ng-container>
991
+ <ng-template #builtInFilterElement>
992
+ <div class="p-checkbox p-component" *ngIf="showToggleAll && !selectionLimit" [ngClass]="{'p-checkbox-disabled': disabled || toggleAllDisabled}">
993
+ <div class="p-hidden-accessible">
994
+ <input type="checkbox" readonly="readonly" [checked]="allChecked" (focus)="onHeaderCheckboxFocus()" (blur)="onHeaderCheckboxBlur()" (keydown.space)="toggleAll($event)" [disabled]="disabled || toggleAllDisabled">
995
+ </div>
996
+ <div class="p-checkbox-box" role="checkbox" [attr.aria-checked]="allChecked" [ngClass]="{'p-highlight':allChecked, 'p-focus': headerCheckboxFocus, 'p-disabled': disabled || toggleAllDisabled}" (click)="toggleAll($event)">
997
+ <span class="p-checkbox-icon" [ngClass]="{'pi pi-check':allChecked}"></span>
998
+ </div>
940
999
  </div>
941
- <div class="p-checkbox-box" role="checkbox" [attr.aria-checked]="allChecked" [ngClass]="{'p-highlight':allChecked, 'p-focus': headerCheckboxFocus, 'p-disabled': disabled || toggleAllDisabled}" (click)="toggleAll($event)">
942
- <span class="p-checkbox-icon" [ngClass]="{'pi pi-check':allChecked}"></span>
1000
+ <div class="p-multiselect-filter-container" *ngIf="filter">
1001
+ <input #filterInput type="text" [attr.autocomplete]="autocomplete" role="textbox" [value]="filterValue||''" (input)="onFilterInputChange($event)" class="p-multiselect-filter p-inputtext p-component" [disabled]="disabled" [attr.placeholder]="filterPlaceHolder" [attr.aria-label]="ariaFilterLabel">
1002
+ <span class="p-multiselect-filter-icon pi pi-search"></span>
943
1003
  </div>
944
- </div>
945
- <div class="p-multiselect-filter-container" *ngIf="filter">
946
- <input #filterInput type="text" [attr.autocomplete]="autocomplete" role="textbox" [value]="filterValue||''" (input)="onFilterInputChange($event)" class="p-multiselect-filter p-inputtext p-component" [disabled]="disabled" [attr.placeholder]="filterPlaceHolder" [attr.aria-label]="ariaFilterLabel">
947
- <span class="p-multiselect-filter-icon pi pi-search"></span>
948
- </div>
949
- <button class="p-multiselect-close p-link" type="button" (click)="close($event)" pRipple>
950
- <span class="p-multiselect-close-icon pi pi-times"></span>
951
- </button>
1004
+ <button class="p-multiselect-close p-link" type="button" (click)="close($event)" pRipple>
1005
+ <span class="p-multiselect-close-icon pi pi-times"></span>
1006
+ </button>
1007
+ </ng-template>
952
1008
  </div>
953
1009
  <div class="p-multiselect-items-wrapper" [style.max-height]="virtualScroll ? 'auto' : (scrollHeight||'auto')">
954
- <ul class="p-multiselect-items p-component" [ngClass]="{'p-multiselect-virtualscroll': virtualScroll}" role="listbox" aria-multiselectable="true">
955
- <ng-container *ngIf="group">
956
- <ng-template ngFor let-optgroup [ngForOf]="optionsToRender">
957
- <li class="p-multiselect-item-group">
958
- <span *ngIf="!groupTemplate">{{getOptionGroupLabel(optgroup)||'empty'}}</span>
959
- <ng-container *ngTemplateOutlet="groupTemplate; context: {$implicit: optgroup}"></ng-container>
960
- </li>
961
- <ng-container *ngTemplateOutlet="itemslist; context: {$implicit: getOptionGroupChildren(optgroup)}"></ng-container>
1010
+ <p-scroller *ngIf="virtualScroll" #scroller [items]="optionsToRender" [style]="{'height': scrollHeight}" [itemSize]="virtualScrollItemSize||_itemSize" [autoSize]="true" [tabindex]="-1"
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>
962
1018
  </ng-template>
963
1019
  </ng-container>
964
- <ng-container *ngIf="!group">
965
- <ng-container *ngTemplateOutlet="itemslist; context: {$implicit: optionsToRender}"></ng-container>
966
- </ng-container>
967
- <ng-template #itemslist let-optionsToDisplay let-selectedOption="selectedOption">
968
- <ng-container *ngIf="!virtualScroll; else virtualScrollList">
1020
+ </p-scroller>
1021
+ <ng-container *ngIf="!virtualScroll">
1022
+ <ng-container *ngTemplateOutlet="buildInItems; context: {$implicit: optionsToRender, options: {}}"></ng-container>
1023
+ </ng-container>
1024
+
1025
+ <ng-template #buildInItems let-items let-scrollerOptions="options">
1026
+ <ul #items class="p-multiselect-items p-component" [ngClass]="scrollerOptions.contentStyleClass" [style]="scrollerOptions.contentStyle" role="listbox" aria-multiselectable="true">
1027
+ <ng-container *ngIf="group">
1028
+ <ng-template ngFor let-optgroup [ngForOf]="items">
1029
+ <li class="p-multiselect-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)}"></ng-container>
1034
+ </ng-template>
1035
+ </ng-container>
1036
+ <ng-container *ngIf="!group">
1037
+ <ng-container *ngTemplateOutlet="itemslist; context: {$implicit: items}"></ng-container>
1038
+ </ng-container>
1039
+ <ng-template #itemslist let-optionsToDisplay let-selectedOption="selectedOption">
969
1040
  <ng-template ngFor let-option let-i="index" [ngForOf]="optionsToDisplay">
970
1041
  <p-multiSelectItem [option]="option" [selected]="isSelected(option)" [label]="getOptionLabel(option)" [disabled]="isOptionDisabled(option)" (onClick)="onOptionClick($event)" (onKeydown)="onOptionKeydown($event)"
971
- [template]="itemTemplate"></p-multiSelectItem>
1042
+ [template]="itemTemplate" [itemSize]="scrollerOptions.itemSize"></p-multiSelectItem>
972
1043
  </ng-template>
973
- </ng-container>
974
- <ng-template #virtualScrollList>
975
- <cdk-virtual-scroll-viewport #viewport [ngStyle]="{'height': scrollHeight}" [itemSize]="itemSize" *ngIf="virtualScroll && !emptyOptions">
976
- <ng-container *cdkVirtualFor="let option of optionsToDisplay; let i = index; let c = count; let f = first; let l = last; let e = even; let o = odd">
977
- <p-multiSelectItem [option]="option" [selected]="isSelected(option)" [label]="getOptionLabel(option)" [disabled]="isOptionDisabled(option)" (onClick)="onOptionClick($event)" (onKeydown)="onOptionKeydown($event)"
978
- [template]="itemTemplate" [itemSize]="itemSize"></p-multiSelectItem>
1044
+ <li *ngIf="hasFilter() && emptyOptions" class="p-multiselect-empty-message" [ngStyle]="{'height': scrollerOptions.itemSize + 'px'}">
1045
+ <ng-container *ngIf="!emptyFilterTemplate && !emptyTemplate; else emptyFilter">
1046
+ {{emptyFilterMessageLabel}}
1047
+ </ng-container>
1048
+ <ng-container #emptyFilter *ngTemplateOutlet="emptyFilterTemplate || emptyTemplate"></ng-container>
1049
+ </li>
1050
+ <li *ngIf="!hasFilter() && emptyOptions" class="p-multiselect-empty-message" [ngStyle]="{'height': scrollerOptions.itemSize + 'px'}">
1051
+ <ng-container *ngIf="!emptyTemplate; else empty">
1052
+ {{emptyMessageLabel}}
979
1053
  </ng-container>
980
- </cdk-virtual-scroll-viewport>
1054
+ <ng-container #empty *ngTemplateOutlet="emptyTemplate"></ng-container>
1055
+ </li>
981
1056
  </ng-template>
982
- <li *ngIf="hasFilter() && emptyOptions" class="p-multiselect-empty-message">
983
- <ng-container *ngIf="!emptyFilterTemplate && !emptyTemplate; else emptyFilter">
984
- {{emptyFilterMessageLabel}}
985
- </ng-container>
986
- <ng-container #emptyFilter *ngTemplateOutlet="emptyFilterTemplate || emptyTemplate"></ng-container>
987
- </li>
988
- <li *ngIf="!hasFilter() && emptyOptions" class="p-multiselect-empty-message">
989
- <ng-container *ngIf="!emptyTemplate; else empty">
990
- {{emptyMessageLabel}}
991
- </ng-container>
992
- <ng-container #empty *ngTemplateOutlet="emptyTemplate"></ng-container>
993
- </li>
994
- </ng-template>
995
- </ul>
1057
+ </ul>
1058
+ </ng-template>
996
1059
  </div>
997
1060
  <div class="p-multiselect-footer" *ngIf="footerFacet || footerTemplate">
998
1061
  <ng-content select="p-footer"></ng-content>
@@ -1013,8 +1076,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImpor
1013
1076
  ], host: {
1014
1077
  'class': 'p-element p-inputwrapper',
1015
1078
  '[class.p-inputwrapper-filled]': 'filled',
1016
- '[class.p-inputwrapper-focus]': 'focus || overlayVisible'
1017
- }, providers: [MULTISELECT_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".p-multiselect{display:inline-flex;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.p-multiselect-trigger{display:flex;align-items:center;justify-content:center;flex-shrink:0}.p-multiselect-label-container{overflow:hidden;flex:1 1 auto;cursor:pointer}.p-multiselect-label{display:block;white-space:nowrap;cursor:pointer;overflow:hidden;text-overflow:ellipsis}.p-multiselect-label-empty{overflow:hidden;visibility:hidden}.p-multiselect-token{cursor:default;display:inline-flex;align-items:center;flex:0 0 auto}.p-multiselect-token-icon{cursor:pointer}.p-multiselect .p-multiselect-panel{min-width:100%}.p-multiselect-panel{position:absolute;top:0;left:0}.p-multiselect-items-wrapper{overflow:auto}.p-multiselect-items{margin:0;padding:0;list-style-type:none}.p-multiselect-item{cursor:pointer;display:flex;align-items:center;font-weight:400;white-space:nowrap;position:relative;overflow:hidden}.p-multiselect-header{display:flex;align-items:center;justify-content:space-between}.p-multiselect-filter-container{position:relative;flex:1 1 auto}.p-multiselect-filter-icon{position:absolute;top:50%;margin-top:-.5rem}.p-multiselect-filter-container .p-inputtext{width:100%}.p-multiselect-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;position:relative}.p-fluid .p-multiselect{display:flex}\n"] }]
1079
+ '[class.p-inputwrapper-focus]': 'focus || overlayVisible',
1080
+ '[class.p-multiselect-clearable]': 'showClear && !disabled'
1081
+ }, providers: [MULTISELECT_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".p-multiselect{display:inline-flex;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.p-multiselect-trigger{display:flex;align-items:center;justify-content:center;flex-shrink:0}.p-multiselect-label-container{overflow:hidden;flex:1 1 auto;cursor:pointer}.p-multiselect-label{display:block;white-space:nowrap;cursor:pointer;overflow:hidden;text-overflow:ellipsis}.p-multiselect-label-empty{overflow:hidden;visibility:hidden}.p-multiselect-token{cursor:default;display:inline-flex;align-items:center;flex:0 0 auto}.p-multiselect-token-icon{cursor:pointer}.p-multiselect .p-multiselect-panel{min-width:100%}.p-multiselect-panel{position:absolute;top:0;left:0}.p-multiselect-items-wrapper{overflow:auto}.p-multiselect-items{margin:0;padding:0;list-style-type:none}.p-multiselect-item{cursor:pointer;display:flex;align-items:center;font-weight:400;white-space:nowrap;position:relative;overflow:hidden}.p-multiselect-header{display:flex;align-items:center;justify-content:space-between}.p-multiselect-filter-container{position:relative;flex:1 1 auto}.p-multiselect-filter-icon{position:absolute;top:50%;margin-top:-.5rem}.p-multiselect-filter-container .p-inputtext{width:100%}.p-multiselect-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;position:relative}.p-fluid .p-multiselect{display:flex}.p-multiselect-clear-icon{position:absolute;top:50%;margin-top:-.5rem;cursor:pointer}.p-multiselect-clearable{position:relative}\n"] }]
1018
1082
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i3.FilterService }, { type: i3.PrimeNGConfig }, { type: i3.OverlayService }]; }, propDecorators: { style: [{
1019
1083
  type: Input
1020
1084
  }], styleClass: [{
@@ -1087,9 +1151,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImpor
1087
1151
  type: Input
1088
1152
  }], filterBy: [{
1089
1153
  type: Input
1154
+ }], scrollHeight: [{
1155
+ type: Input
1156
+ }], lazy: [{
1157
+ type: Input
1090
1158
  }], virtualScroll: [{
1091
1159
  type: Input
1092
- }], itemSize: [{
1160
+ }], virtualScrollItemSize: [{
1161
+ type: Input
1162
+ }], virtualScrollOptions: [{
1093
1163
  type: Input
1094
1164
  }], showTransitionOptions: [{
1095
1165
  type: Input
@@ -1113,6 +1183,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImpor
1113
1183
  type: Input
1114
1184
  }], autocomplete: [{
1115
1185
  type: Input
1186
+ }], showClear: [{
1187
+ type: Input
1116
1188
  }], containerViewChild: [{
1117
1189
  type: ViewChild,
1118
1190
  args: ['container']
@@ -1122,6 +1194,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImpor
1122
1194
  }], accessibleViewChild: [{
1123
1195
  type: ViewChild,
1124
1196
  args: ['in']
1197
+ }], itemsViewChild: [{
1198
+ type: ViewChild,
1199
+ args: ['items']
1200
+ }], scroller: [{
1201
+ type: ViewChild,
1202
+ args: ['scroller']
1125
1203
  }], footerFacet: [{
1126
1204
  type: ContentChild,
1127
1205
  args: [Footer]
@@ -1141,12 +1219,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImpor
1141
1219
  type: Output
1142
1220
  }], onClick: [{
1143
1221
  type: Output
1222
+ }], onClear: [{
1223
+ type: Output
1144
1224
  }], onPanelShow: [{
1145
1225
  type: Output
1146
1226
  }], onPanelHide: [{
1147
1227
  type: Output
1148
- }], scrollHeight: [{
1149
- type: Input
1228
+ }], onLazyLoad: [{
1229
+ type: Output
1150
1230
  }], defaultLabel: [{
1151
1231
  type: Input
1152
1232
  }], placeholder: [{
@@ -1155,17 +1235,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImpor
1155
1235
  type: Input
1156
1236
  }], filterValue: [{
1157
1237
  type: Input
1238
+ }], itemSize: [{
1239
+ type: Input
1158
1240
  }] } });
1159
1241
  class MultiSelectModule {
1160
1242
  }
1161
- MultiSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: MultiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1162
- MultiSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: MultiSelectModule, declarations: [MultiSelect, MultiSelectItem], imports: [CommonModule, SharedModule, ScrollingModule, TooltipModule, RippleModule], exports: [MultiSelect, SharedModule, ScrollingModule] });
1163
- MultiSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: MultiSelectModule, imports: [[CommonModule, SharedModule, ScrollingModule, TooltipModule, RippleModule], SharedModule, ScrollingModule] });
1164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: MultiSelectModule, decorators: [{
1243
+ MultiSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: MultiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1244
+ MultiSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.3", ngImport: i0, type: MultiSelectModule, declarations: [MultiSelect, MultiSelectItem], imports: [CommonModule, SharedModule, TooltipModule, RippleModule, ScrollerModule], exports: [MultiSelect, SharedModule, ScrollerModule] });
1245
+ MultiSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: MultiSelectModule, imports: [CommonModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, SharedModule, ScrollerModule] });
1246
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: MultiSelectModule, decorators: [{
1165
1247
  type: NgModule,
1166
1248
  args: [{
1167
- imports: [CommonModule, SharedModule, ScrollingModule, TooltipModule, RippleModule],
1168
- exports: [MultiSelect, SharedModule, ScrollingModule],
1249
+ imports: [CommonModule, SharedModule, TooltipModule, RippleModule, ScrollerModule],
1250
+ exports: [MultiSelect, SharedModule, ScrollerModule],
1169
1251
  declarations: [MultiSelect, MultiSelectItem]
1170
1252
  }]
1171
1253
  }] });