primeng 20.1.1 → 20.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (322) hide show
  1. package/accordion/index.d.ts +2 -2
  2. package/animateonscroll/index.d.ts +2 -2
  3. package/api/index.d.ts +4 -3
  4. package/autocomplete/index.d.ts +59 -13
  5. package/avatargroup/index.d.ts +2 -2
  6. package/badge/index.d.ts +5 -5
  7. package/base/index.d.ts +6 -6
  8. package/basecomponent/index.d.ts +1 -1
  9. package/baseeditableholder/index.d.ts +4 -4
  10. package/baseinput/index.d.ts +12 -12
  11. package/breadcrumb/index.d.ts +1 -2
  12. package/button/index.d.ts +10 -10
  13. package/card/index.d.ts +1 -1
  14. package/carousel/index.d.ts +6 -6
  15. package/cascadeselect/index.d.ts +9 -9
  16. package/checkbox/index.d.ts +3 -3
  17. package/chip/index.d.ts +14 -4
  18. package/classnames/index.d.ts +38 -0
  19. package/config/index.d.ts +2 -2
  20. package/confirmdialog/index.d.ts +3 -3
  21. package/contextmenu/index.d.ts +4 -4
  22. package/dataview/index.d.ts +1 -1
  23. package/datepicker/index.d.ts +1 -1
  24. package/dialog/index.d.ts +4 -3
  25. package/divider/index.d.ts +2 -2
  26. package/dock/index.d.ts +2 -2
  27. package/dom/index.d.ts +4 -4
  28. package/dynamicdialog/index.d.ts +14 -14
  29. package/editor/index.d.ts +92 -13
  30. package/fesm2022/primeng-accordion.mjs +33 -21
  31. package/fesm2022/primeng-accordion.mjs.map +1 -1
  32. package/fesm2022/primeng-animateonscroll.mjs +8 -8
  33. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  34. package/fesm2022/primeng-api.mjs +31 -31
  35. package/fesm2022/primeng-autocomplete.mjs +180 -50
  36. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  37. package/fesm2022/primeng-autofocus.mjs +7 -7
  38. package/fesm2022/primeng-avatar.mjs +10 -10
  39. package/fesm2022/primeng-avatargroup.mjs +10 -10
  40. package/fesm2022/primeng-badge.mjs +15 -15
  41. package/fesm2022/primeng-badge.mjs.map +1 -1
  42. package/fesm2022/primeng-base.mjs +3 -3
  43. package/fesm2022/primeng-base.mjs.map +1 -1
  44. package/fesm2022/primeng-basecomponent.mjs +6 -6
  45. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  46. package/fesm2022/primeng-baseeditableholder.mjs +3 -3
  47. package/fesm2022/primeng-baseinput.mjs +3 -3
  48. package/fesm2022/primeng-baseinput.mjs.map +1 -1
  49. package/fesm2022/primeng-basemodelholder.mjs +3 -3
  50. package/fesm2022/primeng-blockui.mjs +10 -10
  51. package/fesm2022/primeng-breadcrumb.mjs +21 -21
  52. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  53. package/fesm2022/primeng-button.mjs +24 -23
  54. package/fesm2022/primeng-button.mjs.map +1 -1
  55. package/fesm2022/primeng-buttongroup.mjs +10 -10
  56. package/fesm2022/primeng-card.mjs +10 -10
  57. package/fesm2022/primeng-carousel.mjs +23 -23
  58. package/fesm2022/primeng-carousel.mjs.map +1 -1
  59. package/fesm2022/primeng-cascadeselect.mjs +31 -25
  60. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  61. package/fesm2022/primeng-chart.mjs +10 -10
  62. package/fesm2022/primeng-checkbox.mjs +15 -14
  63. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  64. package/fesm2022/primeng-chip.mjs +48 -17
  65. package/fesm2022/primeng-chip.mjs.map +1 -1
  66. package/fesm2022/primeng-classnames.mjs +73 -0
  67. package/fesm2022/primeng-classnames.mjs.map +1 -0
  68. package/fesm2022/primeng-colorpicker.mjs +11 -11
  69. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  70. package/fesm2022/primeng-config.mjs +8 -7
  71. package/fesm2022/primeng-config.mjs.map +1 -1
  72. package/fesm2022/primeng-confirmdialog.mjs +16 -10
  73. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  74. package/fesm2022/primeng-confirmpopup.mjs +24 -22
  75. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  76. package/fesm2022/primeng-contextmenu.mjs +24 -22
  77. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  78. package/fesm2022/primeng-dataview.mjs +11 -11
  79. package/fesm2022/primeng-dataview.mjs.map +1 -1
  80. package/fesm2022/primeng-datepicker.mjs +23 -23
  81. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  82. package/fesm2022/primeng-dialog.mjs +35 -16
  83. package/fesm2022/primeng-dialog.mjs.map +1 -1
  84. package/fesm2022/primeng-divider.mjs +10 -10
  85. package/fesm2022/primeng-dock.mjs +27 -25
  86. package/fesm2022/primeng-dock.mjs.map +1 -1
  87. package/fesm2022/primeng-dom.mjs +13 -10
  88. package/fesm2022/primeng-dom.mjs.map +1 -1
  89. package/fesm2022/primeng-dragdrop.mjs +10 -10
  90. package/fesm2022/primeng-drawer.mjs +28 -19
  91. package/fesm2022/primeng-drawer.mjs.map +1 -1
  92. package/fesm2022/primeng-dynamicdialog.mjs +48 -39
  93. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  94. package/fesm2022/primeng-editor.mjs +69 -11
  95. package/fesm2022/primeng-editor.mjs.map +1 -1
  96. package/fesm2022/primeng-fieldset.mjs +12 -11
  97. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  98. package/fesm2022/primeng-fileupload.mjs +15 -15
  99. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  100. package/fesm2022/primeng-floatlabel.mjs +10 -10
  101. package/fesm2022/primeng-fluid.mjs +10 -12
  102. package/fesm2022/primeng-fluid.mjs.map +1 -1
  103. package/fesm2022/primeng-focustrap.mjs +7 -7
  104. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  105. package/fesm2022/primeng-galleria.mjs +42 -38
  106. package/fesm2022/primeng-galleria.mjs.map +1 -1
  107. package/fesm2022/primeng-iconfield.mjs +10 -10
  108. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  109. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  110. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  111. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  112. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  113. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  114. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  115. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  116. package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
  117. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  118. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  119. package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
  120. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  121. package/fesm2022/primeng-icons-arrowup.mjs +3 -3
  122. package/fesm2022/primeng-icons-ban.mjs +3 -3
  123. package/fesm2022/primeng-icons-bars.mjs +3 -3
  124. package/fesm2022/primeng-icons-baseicon.mjs +6 -6
  125. package/fesm2022/primeng-icons-blank.mjs +3 -3
  126. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  127. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  128. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  129. package/fesm2022/primeng-icons-check.mjs +3 -3
  130. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  131. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  132. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  133. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  134. package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
  135. package/fesm2022/primeng-icons-eye.mjs +3 -3
  136. package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
  137. package/fesm2022/primeng-icons-filter.mjs +3 -3
  138. package/fesm2022/primeng-icons-filterfill.mjs +3 -3
  139. package/fesm2022/primeng-icons-filterslash.mjs +3 -3
  140. package/fesm2022/primeng-icons-home.mjs +3 -3
  141. package/fesm2022/primeng-icons-infocircle.mjs +3 -3
  142. package/fesm2022/primeng-icons-minus.mjs +3 -3
  143. package/fesm2022/primeng-icons-pencil.mjs +3 -3
  144. package/fesm2022/primeng-icons-plus.mjs +3 -3
  145. package/fesm2022/primeng-icons-refresh.mjs +3 -3
  146. package/fesm2022/primeng-icons-search.mjs +3 -3
  147. package/fesm2022/primeng-icons-searchminus.mjs +3 -3
  148. package/fesm2022/primeng-icons-searchplus.mjs +3 -3
  149. package/fesm2022/primeng-icons-sortalt.mjs +3 -3
  150. package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
  151. package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
  152. package/fesm2022/primeng-icons-spinner.mjs +3 -3
  153. package/fesm2022/primeng-icons-star.mjs +3 -3
  154. package/fesm2022/primeng-icons-starfill.mjs +3 -3
  155. package/fesm2022/primeng-icons-thlarge.mjs +3 -3
  156. package/fesm2022/primeng-icons-times.mjs +3 -3
  157. package/fesm2022/primeng-icons-timescircle.mjs +3 -3
  158. package/fesm2022/primeng-icons-trash.mjs +3 -3
  159. package/fesm2022/primeng-icons-undo.mjs +3 -3
  160. package/fesm2022/primeng-icons-upload.mjs +3 -3
  161. package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
  162. package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
  163. package/fesm2022/primeng-iftalabel.mjs +10 -10
  164. package/fesm2022/primeng-image.mjs +19 -16
  165. package/fesm2022/primeng-image.mjs.map +1 -1
  166. package/fesm2022/primeng-imagecompare.mjs +10 -10
  167. package/fesm2022/primeng-inplace.mjs +16 -16
  168. package/fesm2022/primeng-inputgroup.mjs +10 -10
  169. package/fesm2022/primeng-inputgroupaddon.mjs +10 -10
  170. package/fesm2022/primeng-inputicon.mjs +10 -10
  171. package/fesm2022/primeng-inputmask.mjs +22 -13
  172. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  173. package/fesm2022/primeng-inputnumber.mjs +52 -31
  174. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  175. package/fesm2022/primeng-inputotp.mjs +11 -11
  176. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  177. package/fesm2022/primeng-inputtext.mjs +10 -10
  178. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  179. package/fesm2022/primeng-keyfilter.mjs +19 -10
  180. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  181. package/fesm2022/primeng-knob.mjs +10 -10
  182. package/fesm2022/primeng-listbox.mjs +124 -43
  183. package/fesm2022/primeng-listbox.mjs.map +1 -1
  184. package/fesm2022/primeng-megamenu.mjs +22 -20
  185. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  186. package/fesm2022/primeng-menu.mjs +35 -44
  187. package/fesm2022/primeng-menu.mjs.map +1 -1
  188. package/fesm2022/primeng-menubar.mjs +28 -27
  189. package/fesm2022/primeng-menubar.mjs.map +1 -1
  190. package/fesm2022/primeng-message.mjs +33 -30
  191. package/fesm2022/primeng-message.mjs.map +1 -1
  192. package/fesm2022/primeng-metergroup.mjs +27 -18
  193. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  194. package/fesm2022/primeng-multiselect.mjs +58 -48
  195. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  196. package/fesm2022/primeng-orderlist.mjs +149 -43
  197. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  198. package/fesm2022/primeng-organizationchart.mjs +13 -13
  199. package/fesm2022/primeng-overlay.mjs +15 -11
  200. package/fesm2022/primeng-overlay.mjs.map +1 -1
  201. package/fesm2022/primeng-overlaybadge.mjs +10 -10
  202. package/fesm2022/primeng-paginator.mjs +11 -11
  203. package/fesm2022/primeng-paginator.mjs.map +1 -1
  204. package/fesm2022/primeng-panel.mjs +11 -11
  205. package/fesm2022/primeng-panel.mjs.map +1 -1
  206. package/fesm2022/primeng-panelmenu.mjs +27 -26
  207. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  208. package/fesm2022/primeng-password.mjs +25 -21
  209. package/fesm2022/primeng-password.mjs.map +1 -1
  210. package/fesm2022/primeng-picklist.mjs +129 -48
  211. package/fesm2022/primeng-picklist.mjs.map +1 -1
  212. package/fesm2022/primeng-popover.mjs +11 -11
  213. package/fesm2022/primeng-popover.mjs.map +1 -1
  214. package/fesm2022/primeng-progressbar.mjs +10 -10
  215. package/fesm2022/primeng-progressspinner.mjs +10 -10
  216. package/fesm2022/primeng-radiobutton.mjs +15 -15
  217. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  218. package/fesm2022/primeng-rating.mjs +11 -11
  219. package/fesm2022/primeng-rating.mjs.map +1 -1
  220. package/fesm2022/primeng-ripple.mjs +10 -10
  221. package/fesm2022/primeng-scroller.mjs +48 -24
  222. package/fesm2022/primeng-scroller.mjs.map +1 -1
  223. package/fesm2022/primeng-scrollpanel.mjs +19 -19
  224. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  225. package/fesm2022/primeng-scrolltop.mjs +10 -10
  226. package/fesm2022/primeng-select.mjs +56 -38
  227. package/fesm2022/primeng-select.mjs.map +1 -1
  228. package/fesm2022/primeng-selectbutton.mjs +12 -12
  229. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  230. package/fesm2022/primeng-skeleton.mjs +10 -10
  231. package/fesm2022/primeng-slider.mjs +14 -14
  232. package/fesm2022/primeng-slider.mjs.map +1 -1
  233. package/fesm2022/primeng-speeddial.mjs +32 -24
  234. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  235. package/fesm2022/primeng-splitbutton.mjs +15 -15
  236. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  237. package/fesm2022/primeng-splitter.mjs +21 -21
  238. package/fesm2022/primeng-splitter.mjs.map +1 -1
  239. package/fesm2022/primeng-stepper.mjs +43 -43
  240. package/fesm2022/primeng-stepper.mjs.map +1 -1
  241. package/fesm2022/primeng-steps.mjs +15 -15
  242. package/fesm2022/primeng-steps.mjs.map +1 -1
  243. package/fesm2022/primeng-styleclass.mjs +8 -8
  244. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  245. package/fesm2022/primeng-table.mjs +178 -158
  246. package/fesm2022/primeng-table.mjs.map +1 -1
  247. package/fesm2022/primeng-tabs.mjs +99 -55
  248. package/fesm2022/primeng-tabs.mjs.map +1 -1
  249. package/fesm2022/primeng-tag.mjs +10 -10
  250. package/fesm2022/primeng-tag.mjs.map +1 -1
  251. package/fesm2022/primeng-terminal.mjs +13 -13
  252. package/fesm2022/primeng-textarea.mjs +11 -11
  253. package/fesm2022/primeng-textarea.mjs.map +1 -1
  254. package/fesm2022/primeng-tieredmenu.mjs +26 -25
  255. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  256. package/fesm2022/primeng-timeline.mjs +10 -10
  257. package/fesm2022/primeng-toast.mjs +14 -13
  258. package/fesm2022/primeng-toast.mjs.map +1 -1
  259. package/fesm2022/primeng-togglebutton.mjs +20 -13
  260. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  261. package/fesm2022/primeng-toggleswitch.mjs +10 -10
  262. package/fesm2022/primeng-toolbar.mjs +10 -10
  263. package/fesm2022/primeng-tooltip.mjs +16 -15
  264. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  265. package/fesm2022/primeng-tree.mjs +170 -221
  266. package/fesm2022/primeng-tree.mjs.map +1 -1
  267. package/fesm2022/primeng-treeselect.mjs +17 -17
  268. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  269. package/fesm2022/primeng-treetable.mjs +84 -77
  270. package/fesm2022/primeng-treetable.mjs.map +1 -1
  271. package/fesm2022/primeng-usestyle.mjs +20 -18
  272. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  273. package/fesm2022/primeng-utils.mjs.map +1 -1
  274. package/fieldset/index.d.ts +3 -2
  275. package/fileupload/index.d.ts +6 -6
  276. package/fluid/index.d.ts +0 -2
  277. package/galleria/index.d.ts +10 -10
  278. package/icons/baseicon/index.d.ts +1 -1
  279. package/image/index.d.ts +7 -7
  280. package/inputnumber/index.d.ts +7 -7
  281. package/inputotp/index.d.ts +3 -3
  282. package/inputtext/index.d.ts +6 -6
  283. package/keyfilter/index.d.ts +2 -2
  284. package/listbox/index.d.ts +31 -19
  285. package/megamenu/index.d.ts +1 -1
  286. package/menu/index.d.ts +1 -2
  287. package/message/index.d.ts +3 -2
  288. package/metergroup/index.d.ts +6 -6
  289. package/multiselect/index.d.ts +18 -17
  290. package/orderlist/index.d.ts +13 -7
  291. package/organizationchart/index.d.ts +2 -2
  292. package/overlay/index.d.ts +5 -5
  293. package/package.json +224 -220
  294. package/paginator/index.d.ts +1 -1
  295. package/panel/index.d.ts +2 -2
  296. package/panelmenu/index.d.ts +8 -8
  297. package/password/index.d.ts +6 -6
  298. package/picklist/index.d.ts +17 -12
  299. package/radiobutton/index.d.ts +3 -3
  300. package/rating/index.d.ts +1 -1
  301. package/scroller/index.d.ts +7 -3
  302. package/select/index.d.ts +11 -11
  303. package/selectbutton/index.d.ts +3 -3
  304. package/slider/index.d.ts +2 -2
  305. package/speeddial/index.d.ts +9 -9
  306. package/splitter/index.d.ts +3 -3
  307. package/stepper/index.d.ts +4 -4
  308. package/steps/index.d.ts +3 -3
  309. package/table/index.d.ts +39 -31
  310. package/tabs/index.d.ts +23 -8
  311. package/tag/index.d.ts +1 -1
  312. package/textarea/index.d.ts +6 -6
  313. package/tieredmenu/index.d.ts +1 -1
  314. package/toast/index.d.ts +5 -5
  315. package/togglebutton/index.d.ts +4 -3
  316. package/toggleswitch/index.d.ts +1 -1
  317. package/tooltip/index.d.ts +11 -11
  318. package/tree/index.d.ts +31 -46
  319. package/treeselect/index.d.ts +6 -6
  320. package/treetable/index.d.ts +10 -10
  321. package/usestyle/index.d.ts +2 -2
  322. package/utils/index.d.ts +2 -2
@@ -50,7 +50,7 @@ const classes = {
50
50
  'p-multiselect-display-chip': instance.display === 'chip',
51
51
  'p-disabled': instance.$disabled(),
52
52
  'p-invalid': instance.invalid(),
53
- 'p-variant-filled': instance.$variant(),
53
+ 'p-variant-filled': instance.$variant() === 'filled',
54
54
  'p-focus': instance.focused,
55
55
  'p-inputwrapper-filled': instance.$filled(),
56
56
  'p-inputwrapper-focus': instance.focused || instance.overlayVisible,
@@ -93,10 +93,10 @@ class MultiSelectStyle extends BaseStyle {
93
93
  theme = theme;
94
94
  classes = classes;
95
95
  inlineStyles = inlineStyles;
96
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: MultiSelectStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
97
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: MultiSelectStyle });
96
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: MultiSelectStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
97
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: MultiSelectStyle });
98
98
  }
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: MultiSelectStyle, decorators: [{
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: MultiSelectStyle, decorators: [{
100
100
  type: Injectable
101
101
  }] });
102
102
  /**
@@ -227,8 +227,8 @@ class MultiSelectItem extends BaseComponent {
227
227
  selected: this.selected
228
228
  });
229
229
  }
230
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: MultiSelectItem, deps: null, target: i0.ɵɵFactoryTarget.Component });
231
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.2.1", type: MultiSelectItem, isStandalone: true, selector: "p-multiSelectItem, p-multiselect-item", inputs: { id: "id", option: "option", selected: ["selected", "selected", booleanAttribute], label: "label", disabled: ["disabled", "disabled", booleanAttribute], itemSize: ["itemSize", "itemSize", numberAttribute], focused: ["focused", "focused", booleanAttribute], ariaPosInset: "ariaPosInset", ariaSetSize: "ariaSetSize", variant: "variant", template: "template", checkIconTemplate: "checkIconTemplate", itemCheckboxIconTemplate: "itemCheckboxIconTemplate", highlightOnSelect: ["highlightOnSelect", "highlightOnSelect", booleanAttribute] }, outputs: { onClick: "onClick", onMouseEnter: "onMouseEnter" }, providers: [MultiSelectStyle], usesInheritance: true, ngImport: i0, template: `
230
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: MultiSelectItem, deps: null, target: i0.ɵɵFactoryTarget.Component });
231
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.2", type: MultiSelectItem, isStandalone: true, selector: "p-multiSelectItem, p-multiselect-item", inputs: { id: "id", option: "option", selected: ["selected", "selected", booleanAttribute], label: "label", disabled: ["disabled", "disabled", booleanAttribute], itemSize: ["itemSize", "itemSize", numberAttribute], focused: ["focused", "focused", booleanAttribute], ariaPosInset: "ariaPosInset", ariaSetSize: "ariaSetSize", variant: "variant", template: "template", checkIconTemplate: "checkIconTemplate", itemCheckboxIconTemplate: "itemCheckboxIconTemplate", highlightOnSelect: ["highlightOnSelect", "highlightOnSelect", booleanAttribute] }, outputs: { onClick: "onClick", onMouseEnter: "onMouseEnter" }, providers: [MultiSelectStyle], usesInheritance: true, ngImport: i0, template: `
232
232
  <li
233
233
  pRipple
234
234
  [class]="cx('option')"
@@ -258,7 +258,7 @@ class MultiSelectItem extends BaseComponent {
258
258
  </li>
259
259
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: "component", type: Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["value", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "inputStyle", "styleClass", "inputClass", "indeterminate", "formControl", "checkboxIcon", "readonly", "autofocus", "trueValue", "falseValue", "variant", "size"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "ngmodule", type: SharedModule }], encapsulation: i0.ViewEncapsulation.None });
260
260
  }
261
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: MultiSelectItem, decorators: [{
261
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: MultiSelectItem, decorators: [{
262
262
  type: Component,
263
263
  args: [{
264
264
  selector: 'p-multiSelectItem, p-multiselect-item',
@@ -402,7 +402,7 @@ class MultiSelect extends BaseEditableHolder {
402
402
  * Specifies the visibility of the options panel.
403
403
  * @group Props
404
404
  */
405
- overlayVisible;
405
+ overlayVisible = false;
406
406
  /**
407
407
  * Index of the element in tabbing order.
408
408
  * @group Props
@@ -435,7 +435,7 @@ class MultiSelect extends BaseEditableHolder {
435
435
  * @defaultValue 3
436
436
  */
437
437
  set maxSelectedLabels(val) {
438
- this._maxSelectedLabels = val;
438
+ this._maxSelectedLabels = val || 0;
439
439
  }
440
440
  get maxSelectedLabels() {
441
441
  return this._maxSelectedLabels;
@@ -629,7 +629,7 @@ class MultiSelect extends BaseEditableHolder {
629
629
  }
630
630
  set options(val) {
631
631
  if (!deepEquals(this._options(), val)) {
632
- this._options.set(val);
632
+ this._options.set(val || []);
633
633
  }
634
634
  }
635
635
  /**
@@ -897,7 +897,7 @@ class MultiSelect extends BaseEditableHolder {
897
897
  _maxSelectedLabels = 3;
898
898
  modelValue = signal(null, ...(ngDevMode ? [{ debugName: "modelValue" }] : []));
899
899
  _filterValue = signal(null, ...(ngDevMode ? [{ debugName: "_filterValue" }] : []));
900
- _options = signal(null, ...(ngDevMode ? [{ debugName: "_options" }] : []));
900
+ _options = signal([], ...(ngDevMode ? [{ debugName: "_options" }] : []));
901
901
  startRangeIndex = signal(-1, ...(ngDevMode ? [{ debugName: "startRangeIndex" }] : []));
902
902
  focusedOptionIndex = signal(-1, ...(ngDevMode ? [{ debugName: "focusedOptionIndex" }] : []));
903
903
  selectedOptions;
@@ -952,8 +952,8 @@ class MultiSelect extends BaseEditableHolder {
952
952
  label = computed(() => {
953
953
  let label;
954
954
  const modelValue = this.modelValue();
955
- if (modelValue && modelValue.length && this.displaySelectedLabel) {
956
- if (isNotEmpty(this.maxSelectedLabels) && modelValue.length > this.maxSelectedLabels) {
955
+ if (modelValue && modelValue?.length && this.displaySelectedLabel) {
956
+ if (isNotEmpty(this.maxSelectedLabels) && modelValue?.length > (this.maxSelectedLabels || 0)) {
957
957
  return this.getSelectedItemsLabel();
958
958
  }
959
959
  else {
@@ -972,7 +972,7 @@ class MultiSelect extends BaseEditableHolder {
972
972
  return label;
973
973
  }, ...(ngDevMode ? [{ debugName: "label" }] : []));
974
974
  chipSelectedItems = computed(() => {
975
- return isNotEmpty(this.maxSelectedLabels) && this.modelValue() && this.modelValue().length > this.maxSelectedLabels ? this.modelValue().slice(0, this.maxSelectedLabels) : this.modelValue();
975
+ return isNotEmpty(this.maxSelectedLabels) && this.modelValue() && this.modelValue()?.length > (this.maxSelectedLabels || 0) ? this.modelValue()?.slice(0, this.maxSelectedLabels) : this.modelValue();
976
976
  }, ...(ngDevMode ? [{ debugName: "chipSelectedItems" }] : []));
977
977
  constructor(zone, filterService, overlayService) {
978
978
  super();
@@ -1058,9 +1058,9 @@ class MultiSelect extends BaseEditableHolder {
1058
1058
  return;
1059
1059
  }
1060
1060
  let selected = this.isSelected(option);
1061
- let value = null;
1061
+ let value = [];
1062
1062
  if (selected) {
1063
- value = this.modelValue().filter((val) => !equals(val, this.getOptionValue(option), this.equalityKey()));
1063
+ value = this.modelValue().filter((val) => !equals(val, this.getOptionValue(option), this.equalityKey() || ''));
1064
1064
  }
1065
1065
  else {
1066
1066
  value = [...(this.modelValue() || []), this.getOptionValue(option)];
@@ -1139,7 +1139,7 @@ class MultiSelect extends BaseEditableHolder {
1139
1139
  return this.isValidOption(option) && this.isSelected(option);
1140
1140
  }
1141
1141
  isOptionGroup(option) {
1142
- return (this.group || this.optionGroupLabel) && option.optionGroup && option.group;
1142
+ return option && (this.group || this.optionGroupLabel) && option.optionGroup && option.group;
1143
1143
  }
1144
1144
  isValidOption(option) {
1145
1145
  return option && !(this.isOptionDisabled(option) || this.isOptionGroup(option));
@@ -1152,10 +1152,10 @@ class MultiSelect extends BaseEditableHolder {
1152
1152
  }
1153
1153
  isSelected(option) {
1154
1154
  const optionValue = this.getOptionValue(option);
1155
- return (this.modelValue() || []).some((value) => equals(value, optionValue, this.equalityKey()));
1155
+ return (this.modelValue() || []).some((value) => equals(value, optionValue, this.equalityKey() || ''));
1156
1156
  }
1157
1157
  isOptionMatched(option) {
1158
- return this.isValidOption(option) && this.getOptionLabel(option).toString().toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale));
1158
+ return this.isValidOption(option) && this.getOptionLabel(option).toString().toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue?.toLocaleLowerCase(this.filterLocale));
1159
1159
  }
1160
1160
  isEmpty() {
1161
1161
  return !this._options() || (this.visibleOptions() && this.visibleOptions().length === 0);
@@ -1176,7 +1176,7 @@ class MultiSelect extends BaseEditableHolder {
1176
1176
  }
1177
1177
  getLabelByValue(value) {
1178
1178
  const options = this.group ? this.flatOptions(this._options()) : this._options() || [];
1179
- const matchedOption = options.find((option) => !this.isOptionGroup(option) && equals(this.getOptionValue(option), value, this.equalityKey()));
1179
+ const matchedOption = options.find((option) => !this.isOptionGroup(option) && equals(this.getOptionValue(option), value, this.equalityKey() || ''));
1180
1180
  return matchedOption ? this.getOptionLabel(matchedOption) : null;
1181
1181
  }
1182
1182
  getSelectedItemsLabel() {
@@ -1197,7 +1197,7 @@ class MultiSelect extends BaseEditableHolder {
1197
1197
  return this.optionGroupLabel ? resolveFieldData(optionGroup, this.optionGroupLabel) : optionGroup && optionGroup.label != undefined ? optionGroup.label : optionGroup;
1198
1198
  }
1199
1199
  getOptionGroupChildren(optionGroup) {
1200
- return this.optionGroupChildren ? resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items;
1200
+ return optionGroup ? (this.optionGroupChildren ? resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items) : [];
1201
1201
  }
1202
1202
  onKeyDown(event) {
1203
1203
  if (this.$disabled()) {
@@ -1380,14 +1380,16 @@ class MultiSelect extends BaseEditableHolder {
1380
1380
  event.preventDefault();
1381
1381
  }
1382
1382
  onEscapeKey(event) {
1383
- this.overlayVisible && this.hide(true);
1384
- event.stopPropagation();
1385
- event.preventDefault();
1383
+ if (this.overlayVisible) {
1384
+ this.hide(true);
1385
+ event.stopPropagation();
1386
+ event.preventDefault();
1387
+ }
1386
1388
  }
1387
1389
  onTabKey(event, pressedInInputText = false) {
1388
1390
  if (!pressedInInputText) {
1389
1391
  if (this.overlayVisible && this.hasFocusableElements()) {
1390
- focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay.nativeElement : this.firstHiddenFocusableElementOnOverlay.nativeElement);
1392
+ focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay?.nativeElement : this.firstHiddenFocusableElementOnOverlay?.nativeElement);
1391
1393
  event.preventDefault();
1392
1394
  }
1393
1395
  else {
@@ -1403,7 +1405,7 @@ class MultiSelect extends BaseEditableHolder {
1403
1405
  this.startRangeIndex.set(this.focusedOptionIndex());
1404
1406
  }
1405
1407
  onContainerClick(event) {
1406
- if (this.$disabled() || this.loading || this.readonly || event.target.isSameNode(this.focusInputViewChild?.nativeElement)) {
1408
+ if (this.$disabled() || this.loading || this.readonly || event.target?.isSameNode?.(this.focusInputViewChild?.nativeElement)) {
1407
1409
  return;
1408
1410
  }
1409
1411
  if (!this.overlayViewChild || !this.overlayViewChild.el.nativeElement.contains(event.target)) {
@@ -1444,9 +1446,9 @@ class MultiSelect extends BaseEditableHolder {
1444
1446
  this._filterValue.set(value);
1445
1447
  this.focusedOptionIndex.set(-1);
1446
1448
  this.onFilter.emit({ originalEvent: event, filter: this._filterValue() });
1447
- !this.virtualScrollerDisabled && this.scroller.scrollToIndex(0);
1449
+ !this.virtualScrollerDisabled && this.scroller?.scrollToIndex(0);
1448
1450
  setTimeout(() => {
1449
- this.overlayViewChild.alignOverlay();
1451
+ this.overlayViewChild?.alignOverlay();
1450
1452
  });
1451
1453
  }
1452
1454
  onLastHiddenFocus(event) {
@@ -1490,7 +1492,7 @@ class MultiSelect extends BaseEditableHolder {
1490
1492
  }
1491
1493
  }
1492
1494
  if (this.partialSelected()) {
1493
- this.selectedOptions = null;
1495
+ this.selectedOptions = [];
1494
1496
  this.cd.markForCheck();
1495
1497
  }
1496
1498
  this.onChange.emit({ originalEvent: event, value: this.value });
@@ -1529,7 +1531,7 @@ class MultiSelect extends BaseEditableHolder {
1529
1531
  return this.selectAll !== null ? this.selectAll : isNotEmpty(this.visibleOptions()) && this.visibleOptions().every((option) => this.isOptionGroup(option) || this.isOptionDisabled(option) || this.isSelected(option));
1530
1532
  }
1531
1533
  partialSelected() {
1532
- return this.selectedOptions && this.selectedOptions.length > 0 && this.selectedOptions.length < this.options.length;
1534
+ return this.selectedOptions && this.selectedOptions.length > 0 && this.selectedOptions.length < (this.options?.length || 0);
1533
1535
  }
1534
1536
  /**
1535
1537
  * Displays the panel.
@@ -1599,15 +1601,23 @@ class MultiSelect extends BaseEditableHolder {
1599
1601
  this._filterValue.set(null);
1600
1602
  this._filteredOptions = null;
1601
1603
  }
1604
+ onOverlayHide(event) {
1605
+ // Called when overlay completes its hide animation
1606
+ // Don't call hide() again to avoid recursive calls
1607
+ this.focusedOptionIndex.set(-1);
1608
+ if (this.filter && this.resetFilterOnHide) {
1609
+ this.resetFilter();
1610
+ }
1611
+ }
1602
1612
  close(event) {
1603
1613
  this.hide();
1604
1614
  event.preventDefault();
1605
1615
  event.stopPropagation();
1606
1616
  }
1607
1617
  clear(event) {
1608
- this.value = null;
1618
+ this.value = [];
1609
1619
  this.updateModel(null, event);
1610
- this.selectedOptions = null;
1620
+ this.selectedOptions = [];
1611
1621
  this.onClear.emit();
1612
1622
  this._disableTooltip = true;
1613
1623
  event.stopPropagation();
@@ -1617,7 +1627,7 @@ class MultiSelect extends BaseEditableHolder {
1617
1627
  this._disableTooltip = false;
1618
1628
  }
1619
1629
  removeOption(optionValue, event) {
1620
- let value = this.modelValue().filter((val) => !equals(val, optionValue, this.equalityKey()));
1630
+ let value = this.modelValue().filter((val) => !equals(val, optionValue, this.equalityKey() || ''));
1621
1631
  this.updateModel(value, event);
1622
1632
  this.onChange.emit({
1623
1633
  originalEvent: event,
@@ -1689,7 +1699,7 @@ class MultiSelect extends BaseEditableHolder {
1689
1699
  return matched;
1690
1700
  }
1691
1701
  hasFocusableElements() {
1692
- return getFocusableElements(this.overlayViewChild.overlayViewChild.nativeElement, ':not([data-p-hidden-focusable="true"])').length > 0;
1702
+ return getFocusableElements(this.overlayViewChild?.overlayViewChild?.nativeElement, ':not([data-p-hidden-focusable="true"])').length > 0;
1693
1703
  }
1694
1704
  hasFilter() {
1695
1705
  return this._filterValue() && this._filterValue().trim().length > 0;
@@ -1705,8 +1715,8 @@ class MultiSelect extends BaseEditableHolder {
1705
1715
  setModelValue(value);
1706
1716
  this.cd.markForCheck();
1707
1717
  }
1708
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: MultiSelect, deps: [{ token: i0.NgZone }, { token: i3.FilterService }, { token: i3.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
1709
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.1", type: MultiSelect, isStandalone: true, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: false, isRequired: false, transformFunction: null }, panelStyle: { classPropertyName: "panelStyle", publicName: "panelStyle", isSignal: false, isRequired: false, transformFunction: null }, panelStyleClass: { classPropertyName: "panelStyleClass", publicName: "panelStyleClass", isSignal: false, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, group: { classPropertyName: "group", publicName: "group", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterPlaceHolder: { classPropertyName: "filterPlaceHolder", publicName: "filterPlaceHolder", isSignal: false, isRequired: false, transformFunction: null }, filterLocale: { classPropertyName: "filterLocale", publicName: "filterLocale", isSignal: false, isRequired: false, transformFunction: null }, overlayVisible: { classPropertyName: "overlayVisible", publicName: "overlayVisible", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, displaySelectedLabel: { classPropertyName: "displaySelectedLabel", publicName: "displaySelectedLabel", isSignal: false, isRequired: false, transformFunction: null }, maxSelectedLabels: { classPropertyName: "maxSelectedLabels", publicName: "maxSelectedLabels", isSignal: false, isRequired: false, transformFunction: null }, selectionLimit: { classPropertyName: "selectionLimit", publicName: "selectionLimit", isSignal: false, isRequired: false, transformFunction: numberAttribute }, selectedItemsLabel: { classPropertyName: "selectedItemsLabel", publicName: "selectedItemsLabel", isSignal: false, isRequired: false, transformFunction: null }, showToggleAll: { classPropertyName: "showToggleAll", publicName: "showToggleAll", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, emptyFilterMessage: { classPropertyName: "emptyFilterMessage", publicName: "emptyFilterMessage", isSignal: false, isRequired: false, transformFunction: null }, emptyMessage: { classPropertyName: "emptyMessage", publicName: "emptyMessage", isSignal: false, isRequired: false, transformFunction: null }, resetFilterOnHide: { classPropertyName: "resetFilterOnHide", publicName: "resetFilterOnHide", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, dropdownIcon: { classPropertyName: "dropdownIcon", publicName: "dropdownIcon", isSignal: false, isRequired: false, transformFunction: null }, chipIcon: { classPropertyName: "chipIcon", publicName: "chipIcon", isSignal: false, isRequired: false, transformFunction: null }, optionLabel: { classPropertyName: "optionLabel", publicName: "optionLabel", isSignal: false, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: false, isRequired: false, transformFunction: null }, optionDisabled: { classPropertyName: "optionDisabled", publicName: "optionDisabled", isSignal: false, isRequired: false, transformFunction: null }, optionGroupLabel: { classPropertyName: "optionGroupLabel", publicName: "optionGroupLabel", isSignal: false, isRequired: false, transformFunction: null }, optionGroupChildren: { classPropertyName: "optionGroupChildren", publicName: "optionGroupChildren", isSignal: false, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterBy: { classPropertyName: "filterBy", publicName: "filterBy", isSignal: false, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: false, isRequired: false, transformFunction: null }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: false, isRequired: false, transformFunction: numberAttribute }, loadingIcon: { classPropertyName: "loadingIcon", publicName: "loadingIcon", isSignal: false, isRequired: false, transformFunction: null }, virtualScrollOptions: { classPropertyName: "virtualScrollOptions", publicName: "virtualScrollOptions", isSignal: false, isRequired: false, transformFunction: null }, overlayOptions: { classPropertyName: "overlayOptions", publicName: "overlayOptions", isSignal: false, isRequired: false, transformFunction: null }, ariaFilterLabel: { classPropertyName: "ariaFilterLabel", publicName: "ariaFilterLabel", isSignal: false, isRequired: false, transformFunction: null }, filterMatchMode: { classPropertyName: "filterMatchMode", publicName: "filterMatchMode", isSignal: false, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: false, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: false, isRequired: false, transformFunction: null }, tooltipPositionStyle: { classPropertyName: "tooltipPositionStyle", publicName: "tooltipPositionStyle", isSignal: false, isRequired: false, transformFunction: null }, tooltipStyleClass: { classPropertyName: "tooltipStyleClass", publicName: "tooltipStyleClass", isSignal: false, isRequired: false, transformFunction: null }, autofocusFilter: { classPropertyName: "autofocusFilter", publicName: "autofocusFilter", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, display: { classPropertyName: "display", publicName: "display", isSignal: false, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: false, isRequired: false, transformFunction: null }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: false, isRequired: false, transformFunction: null }, filterValue: { classPropertyName: "filterValue", publicName: "filterValue", isSignal: false, isRequired: false, transformFunction: null }, selectAll: { classPropertyName: "selectAll", publicName: "selectAll", isSignal: false, isRequired: false, transformFunction: null }, focusOnHover: { classPropertyName: "focusOnHover", publicName: "focusOnHover", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterFields: { classPropertyName: "filterFields", publicName: "filterFields", isSignal: false, isRequired: false, transformFunction: null }, selectOnFocus: { classPropertyName: "selectOnFocus", publicName: "selectOnFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autoOptionFocus: { classPropertyName: "autoOptionFocus", publicName: "autoOptionFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, highlightOnSelect: { classPropertyName: "highlightOnSelect", publicName: "highlightOnSelect", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, fluid: { classPropertyName: "fluid", publicName: "fluid", isSignal: true, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onChange: "onChange", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onClick: "onClick", onClear: "onClear", onPanelShow: "onPanelShow", onPanelHide: "onPanelHide", onLazyLoad: "onLazyLoad", onRemove: "onRemove", onSelectAllChange: "onSelectAllChange" }, host: { listeners: { "click": "onContainerClick($event)" }, properties: { "attr.id": "id", "class": "cn(cx('root'), styleClass)", "style": "sx('root')" } }, providers: [MULTISELECT_VALUE_ACCESSOR, MultiSelectStyle], queries: [{ propertyName: "footerFacet", first: true, predicate: Footer, descendants: true }, { propertyName: "headerFacet", first: true, predicate: Header, descendants: true }, { propertyName: "itemTemplate", first: true, predicate: ["item"] }, { propertyName: "groupTemplate", first: true, predicate: ["group"] }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"] }, { propertyName: "headerTemplate", first: true, predicate: ["header"] }, { propertyName: "filterTemplate", first: true, predicate: ["filter"] }, { propertyName: "footerTemplate", first: true, predicate: ["footer"] }, { propertyName: "emptyFilterTemplate", first: true, predicate: ["emptyfilter"] }, { propertyName: "emptyTemplate", first: true, predicate: ["empty"] }, { propertyName: "selectedItemsTemplate", first: true, predicate: ["selecteditems"] }, { propertyName: "loadingIconTemplate", first: true, predicate: ["loadingicon"] }, { propertyName: "filterIconTemplate", first: true, predicate: ["filtericon"] }, { propertyName: "removeTokenIconTemplate", first: true, predicate: ["removetokenicon"] }, { propertyName: "chipIconTemplate", first: true, predicate: ["chipicon"] }, { propertyName: "clearIconTemplate", first: true, predicate: ["clearicon"] }, { propertyName: "dropdownIconTemplate", first: true, predicate: ["dropdownicon"] }, { propertyName: "itemCheckboxIconTemplate", first: true, predicate: ["itemcheckboxicon"] }, { propertyName: "headerCheckboxIconTemplate", first: true, predicate: ["headercheckboxicon"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "overlayViewChild", first: true, predicate: ["overlay"], descendants: true }, { propertyName: "filterInputChild", first: true, predicate: ["filterInput"], descendants: true }, { propertyName: "focusInputViewChild", first: true, predicate: ["focusInput"], descendants: true }, { propertyName: "itemsViewChild", first: true, predicate: ["items"], descendants: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }, { propertyName: "lastHiddenFocusableElementOnOverlay", first: true, predicate: ["lastHiddenFocusableEl"], descendants: true }, { propertyName: "firstHiddenFocusableElementOnOverlay", first: true, predicate: ["firstHiddenFocusableEl"], descendants: true }, { propertyName: "headerCheckboxViewChild", first: true, predicate: ["headerCheckbox"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
1718
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: MultiSelect, deps: [{ token: i0.NgZone }, { token: i3.FilterService }, { token: i3.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
1719
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: MultiSelect, isStandalone: true, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: false, isRequired: false, transformFunction: null }, panelStyle: { classPropertyName: "panelStyle", publicName: "panelStyle", isSignal: false, isRequired: false, transformFunction: null }, panelStyleClass: { classPropertyName: "panelStyleClass", publicName: "panelStyleClass", isSignal: false, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, group: { classPropertyName: "group", publicName: "group", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterPlaceHolder: { classPropertyName: "filterPlaceHolder", publicName: "filterPlaceHolder", isSignal: false, isRequired: false, transformFunction: null }, filterLocale: { classPropertyName: "filterLocale", publicName: "filterLocale", isSignal: false, isRequired: false, transformFunction: null }, overlayVisible: { classPropertyName: "overlayVisible", publicName: "overlayVisible", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, displaySelectedLabel: { classPropertyName: "displaySelectedLabel", publicName: "displaySelectedLabel", isSignal: false, isRequired: false, transformFunction: null }, maxSelectedLabels: { classPropertyName: "maxSelectedLabels", publicName: "maxSelectedLabels", isSignal: false, isRequired: false, transformFunction: null }, selectionLimit: { classPropertyName: "selectionLimit", publicName: "selectionLimit", isSignal: false, isRequired: false, transformFunction: numberAttribute }, selectedItemsLabel: { classPropertyName: "selectedItemsLabel", publicName: "selectedItemsLabel", isSignal: false, isRequired: false, transformFunction: null }, showToggleAll: { classPropertyName: "showToggleAll", publicName: "showToggleAll", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, emptyFilterMessage: { classPropertyName: "emptyFilterMessage", publicName: "emptyFilterMessage", isSignal: false, isRequired: false, transformFunction: null }, emptyMessage: { classPropertyName: "emptyMessage", publicName: "emptyMessage", isSignal: false, isRequired: false, transformFunction: null }, resetFilterOnHide: { classPropertyName: "resetFilterOnHide", publicName: "resetFilterOnHide", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, dropdownIcon: { classPropertyName: "dropdownIcon", publicName: "dropdownIcon", isSignal: false, isRequired: false, transformFunction: null }, chipIcon: { classPropertyName: "chipIcon", publicName: "chipIcon", isSignal: false, isRequired: false, transformFunction: null }, optionLabel: { classPropertyName: "optionLabel", publicName: "optionLabel", isSignal: false, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: false, isRequired: false, transformFunction: null }, optionDisabled: { classPropertyName: "optionDisabled", publicName: "optionDisabled", isSignal: false, isRequired: false, transformFunction: null }, optionGroupLabel: { classPropertyName: "optionGroupLabel", publicName: "optionGroupLabel", isSignal: false, isRequired: false, transformFunction: null }, optionGroupChildren: { classPropertyName: "optionGroupChildren", publicName: "optionGroupChildren", isSignal: false, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterBy: { classPropertyName: "filterBy", publicName: "filterBy", isSignal: false, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: false, isRequired: false, transformFunction: null }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: false, isRequired: false, transformFunction: numberAttribute }, loadingIcon: { classPropertyName: "loadingIcon", publicName: "loadingIcon", isSignal: false, isRequired: false, transformFunction: null }, virtualScrollOptions: { classPropertyName: "virtualScrollOptions", publicName: "virtualScrollOptions", isSignal: false, isRequired: false, transformFunction: null }, overlayOptions: { classPropertyName: "overlayOptions", publicName: "overlayOptions", isSignal: false, isRequired: false, transformFunction: null }, ariaFilterLabel: { classPropertyName: "ariaFilterLabel", publicName: "ariaFilterLabel", isSignal: false, isRequired: false, transformFunction: null }, filterMatchMode: { classPropertyName: "filterMatchMode", publicName: "filterMatchMode", isSignal: false, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: false, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: false, isRequired: false, transformFunction: null }, tooltipPositionStyle: { classPropertyName: "tooltipPositionStyle", publicName: "tooltipPositionStyle", isSignal: false, isRequired: false, transformFunction: null }, tooltipStyleClass: { classPropertyName: "tooltipStyleClass", publicName: "tooltipStyleClass", isSignal: false, isRequired: false, transformFunction: null }, autofocusFilter: { classPropertyName: "autofocusFilter", publicName: "autofocusFilter", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, display: { classPropertyName: "display", publicName: "display", isSignal: false, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: false, isRequired: false, transformFunction: null }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: false, isRequired: false, transformFunction: null }, filterValue: { classPropertyName: "filterValue", publicName: "filterValue", isSignal: false, isRequired: false, transformFunction: null }, selectAll: { classPropertyName: "selectAll", publicName: "selectAll", isSignal: false, isRequired: false, transformFunction: null }, focusOnHover: { classPropertyName: "focusOnHover", publicName: "focusOnHover", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterFields: { classPropertyName: "filterFields", publicName: "filterFields", isSignal: false, isRequired: false, transformFunction: null }, selectOnFocus: { classPropertyName: "selectOnFocus", publicName: "selectOnFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autoOptionFocus: { classPropertyName: "autoOptionFocus", publicName: "autoOptionFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, highlightOnSelect: { classPropertyName: "highlightOnSelect", publicName: "highlightOnSelect", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, fluid: { classPropertyName: "fluid", publicName: "fluid", isSignal: true, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onChange: "onChange", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onClick: "onClick", onClear: "onClear", onPanelShow: "onPanelShow", onPanelHide: "onPanelHide", onLazyLoad: "onLazyLoad", onRemove: "onRemove", onSelectAllChange: "onSelectAllChange" }, host: { listeners: { "click": "onContainerClick($event)" }, properties: { "attr.id": "id", "class": "cn(cx('root'), styleClass)", "style": "sx('root')" } }, providers: [MULTISELECT_VALUE_ACCESSOR, MultiSelectStyle], queries: [{ propertyName: "footerFacet", first: true, predicate: Footer, descendants: true }, { propertyName: "headerFacet", first: true, predicate: Header, descendants: true }, { propertyName: "itemTemplate", first: true, predicate: ["item"] }, { propertyName: "groupTemplate", first: true, predicate: ["group"] }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"] }, { propertyName: "headerTemplate", first: true, predicate: ["header"] }, { propertyName: "filterTemplate", first: true, predicate: ["filter"] }, { propertyName: "footerTemplate", first: true, predicate: ["footer"] }, { propertyName: "emptyFilterTemplate", first: true, predicate: ["emptyfilter"] }, { propertyName: "emptyTemplate", first: true, predicate: ["empty"] }, { propertyName: "selectedItemsTemplate", first: true, predicate: ["selecteditems"] }, { propertyName: "loadingIconTemplate", first: true, predicate: ["loadingicon"] }, { propertyName: "filterIconTemplate", first: true, predicate: ["filtericon"] }, { propertyName: "removeTokenIconTemplate", first: true, predicate: ["removetokenicon"] }, { propertyName: "chipIconTemplate", first: true, predicate: ["chipicon"] }, { propertyName: "clearIconTemplate", first: true, predicate: ["clearicon"] }, { propertyName: "dropdownIconTemplate", first: true, predicate: ["dropdownicon"] }, { propertyName: "itemCheckboxIconTemplate", first: true, predicate: ["itemcheckboxicon"] }, { propertyName: "headerCheckboxIconTemplate", first: true, predicate: ["headercheckboxicon"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "overlayViewChild", first: true, predicate: ["overlay"], descendants: true }, { propertyName: "filterInputChild", first: true, predicate: ["filterInput"], descendants: true }, { propertyName: "focusInputViewChild", first: true, predicate: ["focusInput"], descendants: true }, { propertyName: "itemsViewChild", first: true, predicate: ["items"], descendants: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }, { propertyName: "lastHiddenFocusableElementOnOverlay", first: true, predicate: ["lastHiddenFocusableEl"], descendants: true }, { propertyName: "firstHiddenFocusableElementOnOverlay", first: true, predicate: ["firstHiddenFocusableEl"], descendants: true }, { propertyName: "headerCheckboxViewChild", first: true, predicate: ["headerCheckbox"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
1710
1720
  <div class="p-hidden-accessible" [attr.data-p-hidden-accessible]="true">
1711
1721
  <input
1712
1722
  #focusInput
@@ -1805,7 +1815,7 @@ class MultiSelect extends BaseEditableHolder {
1805
1815
  </span>
1806
1816
  </ng-template>
1807
1817
  </div>
1808
- <p-overlay #overlay [hostAttrSelector]="attrSelector" [(visible)]="overlayVisible" [options]="overlayOptions" [target]="'@parent'" [appendTo]="$appendTo()" (onAnimationStart)="onOverlayAnimationStart($event)" (onHide)="hide()">
1818
+ <p-overlay #overlay [hostAttrSelector]="attrSelector" [(visible)]="overlayVisible" [options]="overlayOptions" [target]="'@parent'" [appendTo]="$appendTo()" (onAnimationStart)="onOverlayAnimationStart($event)" (onHide)="onOverlayHide($event)">
1809
1819
  <ng-template #content>
1810
1820
  <div [attr.id]="id + '_list'" [class]="cn(cx('overlay'), panelStyleClass)" [ngStyle]="panelStyle">
1811
1821
  <span
@@ -1910,8 +1920,8 @@ class MultiSelect extends BaseEditableHolder {
1910
1920
  <ng-template ngFor let-option [ngForOf]="items" let-i="index">
1911
1921
  <ng-container *ngIf="isOptionGroup(option)">
1912
1922
  <li [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)" [class]="cx('optionGroup')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
1913
- <span *ngIf="!groupTemplate">{{ getOptionGroupLabel(option.optionGroup) }}</span>
1914
- <ng-container *ngTemplateOutlet="groupTemplate; context: { $implicit: option.optionGroup }"></ng-container>
1923
+ <span *ngIf="!groupTemplate && option.optionGroup">{{ getOptionGroupLabel(option.optionGroup) }}</span>
1924
+ <ng-container *ngIf="option.optionGroup && groupTemplate" [ngTemplateOutlet]="groupTemplate" [ngTemplateOutletContext]="{ $implicit: option.optionGroup }"></ng-container>
1915
1925
  </li>
1916
1926
  </ng-container>
1917
1927
  <ng-container *ngIf="!isOptionGroup(option)">
@@ -1969,9 +1979,9 @@ class MultiSelect extends BaseEditableHolder {
1969
1979
  </div>
1970
1980
  </ng-template>
1971
1981
  </p-overlay>
1972
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: "component", type: MultiSelectItem, selector: "p-multiSelectItem, p-multiselect-item", inputs: ["id", "option", "selected", "label", "disabled", "itemSize", "focused", "ariaPosInset", "ariaSetSize", "variant", "template", "checkIconTemplate", "itemCheckboxIconTemplate", "highlightOnSelect"], outputs: ["onClick", "onMouseEnter"] }, { kind: "component", type: Overlay, selector: "p-overlay", inputs: ["visible", "mode", "style", "styleClass", "contentStyle", "contentStyleClass", "target", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "listener", "responsive", "options", "appendTo", "hostAttrSelector"], outputs: ["visibleChange", "onBeforeShow", "onShow", "onBeforeHide", "onHide", "onAnimationStart", "onAnimationDone"] }, { kind: "ngmodule", type: SharedModule }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "component", type: Scroller, selector: "p-scroller, p-virtualscroller, p-virtual-scroller, p-virtualScroller", inputs: ["id", "style", "styleClass", "tabindex", "items", "itemSize", "scrollHeight", "scrollWidth", "orientation", "step", "delay", "resizeDelay", "appendOnly", "inline", "lazy", "disabled", "loaderDisabled", "columns", "showSpacer", "showLoader", "numToleratedItems", "loading", "autoSize", "trackBy", "options"], outputs: ["onLazyLoad", "onScroll", "onScrollIndexChange"] }, { kind: "directive", type: AutoFocus, selector: "[pAutoFocus]", inputs: ["pAutoFocus"] }, { kind: "component", type: CheckIcon, selector: "[data-p-icon=\"check\"]" }, { kind: "component", type: SearchIcon, selector: "[data-p-icon=\"search\"]" }, { kind: "component", type: TimesIcon, selector: "[data-p-icon=\"times\"]" }, { kind: "component", type: ChevronDownIcon, selector: "[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: IconField, selector: "p-iconfield, p-iconField, p-icon-field", inputs: ["iconPosition", "styleClass"] }, { kind: "component", type: InputIcon, selector: "p-inputicon, p-inputIcon", inputs: ["styleClass"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["pSize", "variant", "fluid", "invalid"] }, { kind: "component", type: Chip, selector: "p-chip", inputs: ["label", "icon", "image", "alt", "styleClass", "removable", "removeIcon", "chipProps"], outputs: ["onRemove", "onImageError"] }, { kind: "component", type: Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["value", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "inputStyle", "styleClass", "inputClass", "indeterminate", "formControl", "checkboxIcon", "readonly", "autofocus", "trueValue", "falseValue", "variant", "size"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1982
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: "component", type: MultiSelectItem, selector: "p-multiSelectItem, p-multiselect-item", inputs: ["id", "option", "selected", "label", "disabled", "itemSize", "focused", "ariaPosInset", "ariaSetSize", "variant", "template", "checkIconTemplate", "itemCheckboxIconTemplate", "highlightOnSelect"], outputs: ["onClick", "onMouseEnter"] }, { kind: "component", type: Overlay, selector: "p-overlay", inputs: ["visible", "mode", "style", "styleClass", "contentStyle", "contentStyleClass", "target", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "listener", "responsive", "options", "appendTo", "hostAttrSelector"], outputs: ["visibleChange", "onBeforeShow", "onShow", "onBeforeHide", "onHide", "onAnimationStart", "onAnimationDone"] }, { kind: "ngmodule", type: SharedModule }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "component", type: Scroller, selector: "p-scroller, p-virtualscroller, p-virtual-scroller, p-virtualScroller", inputs: ["id", "style", "styleClass", "tabindex", "items", "itemSize", "scrollHeight", "scrollWidth", "orientation", "step", "delay", "resizeDelay", "appendOnly", "inline", "lazy", "disabled", "loaderDisabled", "columns", "showSpacer", "showLoader", "numToleratedItems", "loading", "autoSize", "trackBy", "options"], outputs: ["onLazyLoad", "onScroll", "onScrollIndexChange"] }, { kind: "directive", type: AutoFocus, selector: "[pAutoFocus]", inputs: ["pAutoFocus"] }, { kind: "component", type: CheckIcon, selector: "[data-p-icon=\"check\"]" }, { kind: "component", type: SearchIcon, selector: "[data-p-icon=\"search\"]" }, { kind: "component", type: TimesIcon, selector: "[data-p-icon=\"times\"]" }, { kind: "component", type: ChevronDownIcon, selector: "[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: IconField, selector: "p-iconfield, p-iconField, p-icon-field", inputs: ["iconPosition", "styleClass"] }, { kind: "component", type: InputIcon, selector: "p-inputicon, p-inputIcon", inputs: ["styleClass"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["pSize", "variant", "fluid", "invalid"] }, { kind: "component", type: Chip, selector: "p-chip", inputs: ["label", "icon", "image", "alt", "styleClass", "disabled", "removable", "removeIcon", "chipProps"], outputs: ["onRemove", "onImageError"] }, { kind: "component", type: Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["value", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "inputStyle", "styleClass", "inputClass", "indeterminate", "formControl", "checkboxIcon", "readonly", "autofocus", "trueValue", "falseValue", "variant", "size"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1973
1983
  }
1974
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: MultiSelect, decorators: [{
1984
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: MultiSelect, decorators: [{
1975
1985
  type: Component,
1976
1986
  args: [{
1977
1987
  selector: 'p-multiSelect, p-multiselect, p-multi-select',
@@ -2076,7 +2086,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImpor
2076
2086
  </span>
2077
2087
  </ng-template>
2078
2088
  </div>
2079
- <p-overlay #overlay [hostAttrSelector]="attrSelector" [(visible)]="overlayVisible" [options]="overlayOptions" [target]="'@parent'" [appendTo]="$appendTo()" (onAnimationStart)="onOverlayAnimationStart($event)" (onHide)="hide()">
2089
+ <p-overlay #overlay [hostAttrSelector]="attrSelector" [(visible)]="overlayVisible" [options]="overlayOptions" [target]="'@parent'" [appendTo]="$appendTo()" (onAnimationStart)="onOverlayAnimationStart($event)" (onHide)="onOverlayHide($event)">
2080
2090
  <ng-template #content>
2081
2091
  <div [attr.id]="id + '_list'" [class]="cn(cx('overlay'), panelStyleClass)" [ngStyle]="panelStyle">
2082
2092
  <span
@@ -2181,8 +2191,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImpor
2181
2191
  <ng-template ngFor let-option [ngForOf]="items" let-i="index">
2182
2192
  <ng-container *ngIf="isOptionGroup(option)">
2183
2193
  <li [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)" [class]="cx('optionGroup')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
2184
- <span *ngIf="!groupTemplate">{{ getOptionGroupLabel(option.optionGroup) }}</span>
2185
- <ng-container *ngTemplateOutlet="groupTemplate; context: { $implicit: option.optionGroup }"></ng-container>
2194
+ <span *ngIf="!groupTemplate && option.optionGroup">{{ getOptionGroupLabel(option.optionGroup) }}</span>
2195
+ <ng-container *ngIf="option.optionGroup && groupTemplate" [ngTemplateOutlet]="groupTemplate" [ngTemplateOutletContext]="{ $implicit: option.optionGroup }"></ng-container>
2186
2196
  </li>
2187
2197
  </ng-container>
2188
2198
  <ng-container *ngIf="!isOptionGroup(option)">
@@ -2499,11 +2509,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImpor
2499
2509
  args: [PrimeTemplate]
2500
2510
  }] } });
2501
2511
  class MultiSelectModule {
2502
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: MultiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2503
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.1", ngImport: i0, type: MultiSelectModule, imports: [MultiSelect, SharedModule], exports: [MultiSelect, SharedModule] });
2504
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: MultiSelectModule, imports: [MultiSelect, SharedModule, SharedModule] });
2512
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: MultiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2513
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.2", ngImport: i0, type: MultiSelectModule, imports: [MultiSelect, SharedModule], exports: [MultiSelect, SharedModule] });
2514
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: MultiSelectModule, imports: [MultiSelect, SharedModule, SharedModule] });
2505
2515
  }
2506
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: MultiSelectModule, decorators: [{
2516
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: MultiSelectModule, decorators: [{
2507
2517
  type: NgModule,
2508
2518
  args: [{
2509
2519
  imports: [MultiSelect, SharedModule],