primeng 18.0.0-rc.2 → 18.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (351) hide show
  1. package/LICENSE.md +1 -1
  2. package/accordion/accordion.d.ts +7 -7
  3. package/autocomplete/autocomplete.d.ts +26 -13
  4. package/badge/badge.d.ts +1 -3
  5. package/basecomponent/basecomponent.d.ts +2 -5
  6. package/blockui/blockui.d.ts +10 -5
  7. package/breadcrumb/breadcrumb.d.ts +9 -6
  8. package/button/button.d.ts +10 -4
  9. package/calendar/calendar.d.ts +29 -15
  10. package/card/card.d.ts +12 -5
  11. package/carousel/carousel.d.ts +10 -4
  12. package/cascadeselect/cascadeselect.d.ts +18 -8
  13. package/checkbox/checkbox.d.ts +8 -4
  14. package/chip/chip.d.ts +9 -7
  15. package/config/primeng.d.ts +12 -6
  16. package/config/provideprimeng.d.ts +1 -12
  17. package/config/themeprovider.d.ts +10 -4
  18. package/confirmdialog/confirmdialog.d.ts +15 -5
  19. package/confirmpopup/confirmpopup.d.ts +11 -5
  20. package/contextmenu/contextmenu.d.ts +10 -6
  21. package/datepicker/datepicker.d.ts +25 -11
  22. package/dialog/dialog.d.ts +15 -4
  23. package/divider/divider.d.ts +1 -1
  24. package/dock/dock.d.ts +7 -4
  25. package/drawer/drawer.d.ts +18 -10
  26. package/dropdown/dropdown.d.ts +4 -3
  27. package/dynamicdialog/dynamicdialog.d.ts +1 -0
  28. package/editor/editor.d.ts +7 -3
  29. package/esm2022/accordion/accordion.mjs +58 -43
  30. package/esm2022/autocomplete/autocomplete.mjs +227 -168
  31. package/esm2022/autocomplete/style/autocompletestyle.mjs +5 -4
  32. package/esm2022/badge/badge.mjs +39 -32
  33. package/esm2022/basecomponent/basecomponent.mjs +3 -26
  34. package/esm2022/blockui/blockui.mjs +38 -18
  35. package/esm2022/breadcrumb/breadcrumb.mjs +50 -32
  36. package/esm2022/button/button.mjs +55 -28
  37. package/esm2022/calendar/calendar.mjs +200 -137
  38. package/esm2022/card/card.mjs +96 -46
  39. package/esm2022/carousel/carousel.mjs +74 -42
  40. package/esm2022/cascadeselect/cascadeselect.mjs +100 -62
  41. package/esm2022/checkbox/checkbox.mjs +32 -14
  42. package/esm2022/chip/chip.mjs +117 -96
  43. package/esm2022/colorpicker/colorpicker.mjs +2 -2
  44. package/esm2022/config/primeng.mjs +14 -18
  45. package/esm2022/config/provideprimeng.mjs +11 -3
  46. package/esm2022/config/themeprovider.mjs +10 -16
  47. package/esm2022/confirmdialog/confirmdialog.mjs +105 -61
  48. package/esm2022/confirmpopup/confirmpopup.mjs +57 -29
  49. package/esm2022/contextmenu/contextmenu.mjs +52 -21
  50. package/esm2022/datepicker/datepicker.mjs +200 -159
  51. package/esm2022/dialog/dialog.mjs +113 -67
  52. package/esm2022/divider/divider.mjs +2 -4
  53. package/esm2022/dock/dock.mjs +31 -13
  54. package/esm2022/drawer/drawer.mjs +115 -73
  55. package/esm2022/dropdown/dropdown.mjs +13 -5
  56. package/esm2022/dynamicdialog/dialogservice.mjs +2 -2
  57. package/esm2022/dynamicdialog/dynamicdialog-config.mjs +13 -13
  58. package/esm2022/dynamicdialog/dynamicdialog.mjs +9 -5
  59. package/esm2022/editor/editor.mjs +27 -11
  60. package/esm2022/fieldset/fieldset.mjs +61 -33
  61. package/esm2022/fileupload/fileupload.mjs +139 -89
  62. package/esm2022/galleria/galleria.mjs +18 -9
  63. package/esm2022/image/image.mjs +114 -67
  64. package/esm2022/imagecompare/imagecompare.mjs +31 -11
  65. package/esm2022/inplace/inplace.mjs +49 -24
  66. package/esm2022/inputmask/inputmask.mjs +33 -17
  67. package/esm2022/inputmask/style/inputmaskstyle.mjs +2 -2
  68. package/esm2022/inputnumber/inputnumber.mjs +58 -50
  69. package/esm2022/inputotp/inputotp.mjs +33 -14
  70. package/esm2022/inputtext/inputtext.mjs +11 -10
  71. package/esm2022/listbox/listbox.mjs +137 -78
  72. package/esm2022/megamenu/megamenu.mjs +105 -59
  73. package/esm2022/menu/menu.mjs +27 -27
  74. package/esm2022/menubar/menubar.mjs +70 -35
  75. package/esm2022/message/message.mjs +50 -26
  76. package/esm2022/messages/messages.mjs +13 -4
  77. package/esm2022/metergroup/metergroup.mjs +63 -31
  78. package/esm2022/multiselect/multiselect.mjs +247 -156
  79. package/esm2022/multiselect/style/multiselectstyle.mjs +1 -4
  80. package/esm2022/orderlist/orderlist.mjs +125 -70
  81. package/esm2022/organizationchart/organizationchart.mjs +30 -14
  82. package/esm2022/overlay/overlay.mjs +27 -7
  83. package/esm2022/overlay/style/overlaystyle.mjs +2 -2
  84. package/esm2022/overlaypanel/overlaypanel.mjs +34 -11
  85. package/esm2022/paginator/paginator.mjs +92 -60
  86. package/esm2022/panel/panel.mjs +160 -100
  87. package/esm2022/panelmenu/panelmenu.mjs +55 -32
  88. package/esm2022/password/password.mjs +114 -52
  89. package/esm2022/picklist/picklist.mjs +397 -269
  90. package/esm2022/popover/popover.mjs +30 -13
  91. package/esm2022/progressbar/progressbar.mjs +27 -9
  92. package/esm2022/rating/rating.mjs +46 -22
  93. package/esm2022/ripple/ripple.mjs +5 -2
  94. package/esm2022/scroller/scroller.mjs +47 -37
  95. package/esm2022/scrollpanel/scrollpanel.mjs +28 -9
  96. package/esm2022/scrolltop/scrolltop.mjs +17 -10
  97. package/esm2022/select/select.mjs +202 -122
  98. package/esm2022/select/style/selectstyle.mjs +2 -5
  99. package/esm2022/selectbutton/selectbutton.mjs +26 -11
  100. package/esm2022/sidebar/sidebar.mjs +83 -61
  101. package/esm2022/speeddial/speeddial.mjs +54 -29
  102. package/esm2022/splitbutton/splitbutton.mjs +41 -18
  103. package/esm2022/splitter/splitter.mjs +29 -19
  104. package/esm2022/splitter/style/splitterstyle.mjs +5 -4
  105. package/esm2022/stepper/stepper.mjs +27 -13
  106. package/esm2022/table/table.mjs +6368 -6510
  107. package/esm2022/tabmenu/tabmenu.mjs +54 -27
  108. package/esm2022/tabs/tablist.mjs +28 -20
  109. package/esm2022/tabview/tabview.mjs +106 -54
  110. package/esm2022/tag/tag.mjs +68 -44
  111. package/esm2022/textarea/textarea.mjs +9 -9
  112. package/esm2022/tieredmenu/tieredmenu.mjs +45 -22
  113. package/esm2022/timeline/timeline.mjs +41 -17
  114. package/esm2022/toast/toast.mjs +31 -9
  115. package/esm2022/togglebutton/togglebutton.mjs +45 -30
  116. package/esm2022/toggleswitch/toggleswitch.mjs +28 -9
  117. package/esm2022/toolbar/toolbar.mjs +47 -21
  118. package/esm2022/tooltip/tooltip.mjs +36 -71
  119. package/esm2022/tree/style/treestyle.mjs +13 -3
  120. package/esm2022/tree/tree.mjs +193 -137
  121. package/esm2022/treeselect/style/treeselectstyle.mjs +1 -4
  122. package/esm2022/treeselect/treeselect.mjs +157 -90
  123. package/esm2022/treetable/treetable.mjs +31 -12
  124. package/esm2022/usestyle/usestyle.mjs +2 -2
  125. package/fesm2022/primeng-accordion.mjs +57 -42
  126. package/fesm2022/primeng-accordion.mjs.map +1 -1
  127. package/fesm2022/primeng-autocomplete.mjs +230 -170
  128. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  129. package/fesm2022/primeng-badge.mjs +38 -31
  130. package/fesm2022/primeng-badge.mjs.map +1 -1
  131. package/fesm2022/primeng-basecomponent.mjs +2 -25
  132. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  133. package/fesm2022/primeng-blockui.mjs +37 -17
  134. package/fesm2022/primeng-blockui.mjs.map +1 -1
  135. package/fesm2022/primeng-breadcrumb.mjs +49 -31
  136. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  137. package/fesm2022/primeng-button.mjs +54 -27
  138. package/fesm2022/primeng-button.mjs.map +1 -1
  139. package/fesm2022/primeng-calendar.mjs +199 -136
  140. package/fesm2022/primeng-calendar.mjs.map +1 -1
  141. package/fesm2022/primeng-card.mjs +95 -45
  142. package/fesm2022/primeng-card.mjs.map +1 -1
  143. package/fesm2022/primeng-carousel.mjs +73 -41
  144. package/fesm2022/primeng-carousel.mjs.map +1 -1
  145. package/fesm2022/primeng-cascadeselect.mjs +99 -61
  146. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  147. package/fesm2022/primeng-checkbox.mjs +31 -13
  148. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  149. package/fesm2022/primeng-chip.mjs +116 -95
  150. package/fesm2022/primeng-chip.mjs.map +1 -1
  151. package/fesm2022/primeng-colorpicker.mjs +1 -1
  152. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  153. package/fesm2022/primeng-config.mjs +38 -39
  154. package/fesm2022/primeng-config.mjs.map +1 -1
  155. package/fesm2022/primeng-confirmdialog.mjs +104 -60
  156. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  157. package/fesm2022/primeng-confirmpopup.mjs +56 -28
  158. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  159. package/fesm2022/primeng-contextmenu.mjs +51 -20
  160. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  161. package/fesm2022/primeng-datepicker.mjs +199 -158
  162. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  163. package/fesm2022/primeng-dialog.mjs +112 -66
  164. package/fesm2022/primeng-dialog.mjs.map +1 -1
  165. package/fesm2022/primeng-divider.mjs +1 -3
  166. package/fesm2022/primeng-divider.mjs.map +1 -1
  167. package/fesm2022/primeng-dock.mjs +30 -12
  168. package/fesm2022/primeng-dock.mjs.map +1 -1
  169. package/fesm2022/primeng-drawer.mjs +114 -72
  170. package/fesm2022/primeng-drawer.mjs.map +1 -1
  171. package/fesm2022/primeng-dropdown.mjs +12 -4
  172. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  173. package/fesm2022/primeng-dynamicdialog.mjs +21 -17
  174. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  175. package/fesm2022/primeng-editor.mjs +26 -10
  176. package/fesm2022/primeng-editor.mjs.map +1 -1
  177. package/fesm2022/primeng-fieldset.mjs +60 -32
  178. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  179. package/fesm2022/primeng-fileupload.mjs +138 -88
  180. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  181. package/fesm2022/primeng-galleria.mjs +17 -8
  182. package/fesm2022/primeng-galleria.mjs.map +1 -1
  183. package/fesm2022/primeng-image.mjs +113 -66
  184. package/fesm2022/primeng-image.mjs.map +1 -1
  185. package/fesm2022/primeng-imagecompare.mjs +30 -10
  186. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  187. package/fesm2022/primeng-inplace.mjs +48 -23
  188. package/fesm2022/primeng-inplace.mjs.map +1 -1
  189. package/fesm2022/primeng-inputmask.mjs +33 -17
  190. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  191. package/fesm2022/primeng-inputnumber.mjs +57 -49
  192. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  193. package/fesm2022/primeng-inputotp.mjs +32 -13
  194. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  195. package/fesm2022/primeng-inputtext.mjs +10 -9
  196. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  197. package/fesm2022/primeng-listbox.mjs +136 -77
  198. package/fesm2022/primeng-listbox.mjs.map +1 -1
  199. package/fesm2022/primeng-megamenu.mjs +104 -58
  200. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  201. package/fesm2022/primeng-menu.mjs +26 -26
  202. package/fesm2022/primeng-menu.mjs.map +1 -1
  203. package/fesm2022/primeng-menubar.mjs +69 -34
  204. package/fesm2022/primeng-menubar.mjs.map +1 -1
  205. package/fesm2022/primeng-message.mjs +49 -25
  206. package/fesm2022/primeng-message.mjs.map +1 -1
  207. package/fesm2022/primeng-messages.mjs +12 -3
  208. package/fesm2022/primeng-messages.mjs.map +1 -1
  209. package/fesm2022/primeng-metergroup.mjs +62 -30
  210. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  211. package/fesm2022/primeng-multiselect.mjs +246 -158
  212. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  213. package/fesm2022/primeng-orderlist.mjs +124 -69
  214. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  215. package/fesm2022/primeng-organizationchart.mjs +29 -13
  216. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  217. package/fesm2022/primeng-overlay.mjs +27 -7
  218. package/fesm2022/primeng-overlay.mjs.map +1 -1
  219. package/fesm2022/primeng-overlaypanel.mjs +33 -10
  220. package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
  221. package/fesm2022/primeng-paginator.mjs +91 -59
  222. package/fesm2022/primeng-paginator.mjs.map +1 -1
  223. package/fesm2022/primeng-panel.mjs +159 -99
  224. package/fesm2022/primeng-panel.mjs.map +1 -1
  225. package/fesm2022/primeng-panelmenu.mjs +54 -31
  226. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  227. package/fesm2022/primeng-password.mjs +113 -51
  228. package/fesm2022/primeng-password.mjs.map +1 -1
  229. package/fesm2022/primeng-picklist.mjs +396 -268
  230. package/fesm2022/primeng-picklist.mjs.map +1 -1
  231. package/fesm2022/primeng-popover.mjs +29 -12
  232. package/fesm2022/primeng-popover.mjs.map +1 -1
  233. package/fesm2022/primeng-progressbar.mjs +26 -8
  234. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  235. package/fesm2022/primeng-rating.mjs +45 -21
  236. package/fesm2022/primeng-rating.mjs.map +1 -1
  237. package/fesm2022/primeng-ripple.mjs +4 -1
  238. package/fesm2022/primeng-ripple.mjs.map +1 -1
  239. package/fesm2022/primeng-scroller.mjs +46 -36
  240. package/fesm2022/primeng-scroller.mjs.map +1 -1
  241. package/fesm2022/primeng-scrollpanel.mjs +27 -8
  242. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  243. package/fesm2022/primeng-scrolltop.mjs +16 -9
  244. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  245. package/fesm2022/primeng-select.mjs +202 -125
  246. package/fesm2022/primeng-select.mjs.map +1 -1
  247. package/fesm2022/primeng-selectbutton.mjs +25 -10
  248. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  249. package/fesm2022/primeng-sidebar.mjs +82 -60
  250. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  251. package/fesm2022/primeng-speeddial.mjs +53 -28
  252. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  253. package/fesm2022/primeng-splitbutton.mjs +40 -17
  254. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  255. package/fesm2022/primeng-splitter.mjs +32 -21
  256. package/fesm2022/primeng-splitter.mjs.map +1 -1
  257. package/fesm2022/primeng-stepper.mjs +26 -12
  258. package/fesm2022/primeng-stepper.mjs.map +1 -1
  259. package/fesm2022/primeng-table.mjs +6370 -6512
  260. package/fesm2022/primeng-table.mjs.map +1 -1
  261. package/fesm2022/primeng-tabmenu.mjs +53 -26
  262. package/fesm2022/primeng-tabmenu.mjs.map +1 -1
  263. package/fesm2022/primeng-tabs.mjs +27 -19
  264. package/fesm2022/primeng-tabs.mjs.map +1 -1
  265. package/fesm2022/primeng-tabview.mjs +106 -54
  266. package/fesm2022/primeng-tabview.mjs.map +1 -1
  267. package/fesm2022/primeng-tag.mjs +67 -43
  268. package/fesm2022/primeng-tag.mjs.map +1 -1
  269. package/fesm2022/primeng-textarea.mjs +8 -8
  270. package/fesm2022/primeng-textarea.mjs.map +1 -1
  271. package/fesm2022/primeng-tieredmenu.mjs +44 -21
  272. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  273. package/fesm2022/primeng-timeline.mjs +40 -16
  274. package/fesm2022/primeng-timeline.mjs.map +1 -1
  275. package/fesm2022/primeng-toast.mjs +30 -8
  276. package/fesm2022/primeng-toast.mjs.map +1 -1
  277. package/fesm2022/primeng-togglebutton.mjs +44 -29
  278. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  279. package/fesm2022/primeng-toggleswitch.mjs +27 -8
  280. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  281. package/fesm2022/primeng-toolbar.mjs +46 -20
  282. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  283. package/fesm2022/primeng-tooltip.mjs +36 -71
  284. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  285. package/fesm2022/primeng-tree.mjs +204 -138
  286. package/fesm2022/primeng-tree.mjs.map +1 -1
  287. package/fesm2022/primeng-treeselect.mjs +156 -92
  288. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  289. package/fesm2022/primeng-treetable.mjs +30 -11
  290. package/fesm2022/primeng-treetable.mjs.map +1 -1
  291. package/fesm2022/primeng-usestyle.mjs +1 -1
  292. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  293. package/fieldset/fieldset.d.ts +12 -6
  294. package/fileupload/fileupload.d.ts +19 -8
  295. package/galleria/galleria.d.ts +3 -2
  296. package/image/image.d.ts +18 -7
  297. package/imagecompare/imagecompare.d.ts +7 -2
  298. package/inplace/inplace.d.ts +12 -6
  299. package/inputmask/inputmask.d.ts +8 -4
  300. package/inputnumber/inputnumber.d.ts +11 -6
  301. package/inputotp/inputotp.d.ts +7 -2
  302. package/inputtext/inputtext.d.ts +2 -2
  303. package/listbox/listbox.d.ts +17 -4
  304. package/megamenu/megamenu.d.ts +16 -7
  305. package/menu/menu.d.ts +6 -6
  306. package/menubar/menubar.d.ts +13 -6
  307. package/message/message.d.ts +10 -4
  308. package/messages/messages.d.ts +4 -3
  309. package/metergroup/metergroup.d.ts +11 -3
  310. package/multiselect/multiselect.d.ts +36 -17
  311. package/orderlist/orderlist.d.ts +23 -11
  312. package/organizationchart/organizationchart.d.ts +6 -4
  313. package/overlay/overlay.d.ts +6 -3
  314. package/overlaypanel/overlaypanel.d.ts +6 -3
  315. package/package.json +233 -233
  316. package/paginator/paginator.d.ts +15 -8
  317. package/panel/panel.d.ts +14 -5
  318. package/panelmenu/panelmenu.d.ts +8 -4
  319. package/password/password.d.ts +20 -8
  320. package/picklist/picklist.d.ts +23 -3
  321. package/popover/popover.d.ts +8 -5
  322. package/progressbar/progressbar.d.ts +7 -3
  323. package/rating/rating.d.ts +11 -5
  324. package/scroller/scroller.d.ts +9 -4
  325. package/scrollpanel/scrollpanel.d.ts +7 -3
  326. package/scrolltop/scrolltop.d.ts +7 -4
  327. package/select/select.d.ts +31 -13
  328. package/selectbutton/selectbutton.d.ts +7 -3
  329. package/sidebar/sidebar.d.ts +9 -2
  330. package/speeddial/speeddial.d.ts +9 -4
  331. package/splitbutton/splitbutton.d.ts +9 -5
  332. package/splitter/splitter.d.ts +6 -7
  333. package/splitter/style/splitterstyle.d.ts +0 -13
  334. package/stepper/stepper.d.ts +8 -3
  335. package/table/table.d.ts +928 -1030
  336. package/tabmenu/tabmenu.d.ts +12 -7
  337. package/tabs/tablist.d.ts +6 -2
  338. package/tabview/tabview.d.ts +16 -7
  339. package/tag/tag.d.ts +8 -9
  340. package/textarea/textarea.d.ts +2 -2
  341. package/tieredmenu/tieredmenu.d.ts +10 -6
  342. package/timeline/timeline.d.ts +7 -2
  343. package/toast/toast.d.ts +7 -3
  344. package/togglebutton/togglebutton.d.ts +8 -3
  345. package/toggleswitch/toggleswitch.d.ts +6 -2
  346. package/toolbar/toolbar.d.ts +9 -4
  347. package/tooltip/tooltip.d.ts +2 -1
  348. package/tree/style/treestyle.d.ts +1 -1
  349. package/tree/tree.d.ts +25 -10
  350. package/treeselect/treeselect.d.ts +26 -12
  351. package/treetable/treetable.d.ts +7 -5
@@ -1,19 +1,19 @@
1
1
  import * as i1 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Injectable, forwardRef, EventEmitter, booleanAttribute, numberAttribute, Component, ViewEncapsulation, Input, Output, inject, signal, computed, effect, ChangeDetectionStrategy, ViewChild, ContentChild, HostBinding, NgModule } from '@angular/core';
4
+ import { Injectable, forwardRef, EventEmitter, booleanAttribute, numberAttribute, Component, ViewEncapsulation, Input, Output, inject, signal, computed, effect, ChangeDetectionStrategy, ViewChild, ContentChild, ContentChildren, HostBinding, NgModule } from '@angular/core';
5
5
  import * as i2 from '@angular/forms';
6
6
  import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
7
7
  import { deepEquals, isNotEmpty, isArray, isObject, uuid, equals, focus, findLastIndex, resolveFieldData, isPrintableCharacter, getFirstFocusableElement, getLastFocusableElement, findSingle, unblockBodyScroll, hasClass, isHidden, getFocusableElements } from '@primeuix/utils';
8
8
  import * as i3 from 'primeng/api';
9
- import { SharedModule, TranslationKeys, Footer, Header } from 'primeng/api';
9
+ import { SharedModule, TranslationKeys, Footer, Header, PrimeTemplate } from 'primeng/api';
10
10
  import { AutoFocus } from 'primeng/autofocus';
11
11
  import { BaseComponent } from 'primeng/basecomponent';
12
12
  import { Checkbox } from 'primeng/checkbox';
13
13
  import { Chip } from 'primeng/chip';
14
14
  import { DomHandler } from 'primeng/dom';
15
15
  import { IconField } from 'primeng/iconfield';
16
- import { CheckIcon, SearchIcon, TimesIcon, ChevronDownIcon, TimesCircleIcon, MinusIcon } from 'primeng/icons';
16
+ import { CheckIcon, SearchIcon, TimesIcon, ChevronDownIcon } from 'primeng/icons';
17
17
  import { InputIcon } from 'primeng/inputicon';
18
18
  import { InputText } from 'primeng/inputtext';
19
19
  import { Overlay } from 'primeng/overlay';
@@ -120,9 +120,6 @@ p-multiselect.ng-invalid.ng-dirty .p-multiselect-label.p-placeholder {
120
120
  }
121
121
 
122
122
  .p-multiselect-overlay {
123
- position: absolute;
124
- top: 0;
125
- left: 0;
126
123
  background: ${dt('multiselect.overlay.background')};
127
124
  color: ${dt('multiselect.overlay.color')};
128
125
  border: 1px solid ${dt('multiselect.overlay.border.color')};
@@ -406,9 +403,9 @@ function MultiSelectItem_ng_container_2_ng_template_1_0_Template(rf, ctx) { if (
406
403
  function MultiSelectItem_ng_container_2_ng_template_1_Template(rf, ctx) { if (rf & 1) {
407
404
  i0.ɵɵtemplate(0, MultiSelectItem_ng_container_2_ng_template_1_0_Template, 1, 0, null, 4);
408
405
  } if (rf & 2) {
409
- const class_r1 = ctx.class;
406
+ const klass_r1 = ctx.class;
410
407
  const ctx_r1 = i0.ɵɵnextContext(2);
411
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.itemcheckboxiconTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c3, ctx_r1.selected, class_r1));
408
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.itemCheckboxIconTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c3, ctx_r1.selected, klass_r1));
412
409
  } }
413
410
  function MultiSelectItem_ng_container_2_Template(rf, ctx) { if (rf & 1) {
414
411
  i0.ɵɵelementContainerStart(0);
@@ -484,7 +481,7 @@ function MultiSelect_ng_container_5_ng_container_2_div_1_ng_container_3_ng_templ
484
481
  const ctx_r1 = i0.ɵɵnextContext(7);
485
482
  i0.ɵɵattribute("data-pc-section", "clearicon")("aria-hidden", true);
486
483
  i0.ɵɵadvance();
487
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.chipiconTemplate || ctx_r1.removetokeniconTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction0(4, _c33));
484
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.chipIconTemplate || ctx_r1._chipIconTemplate || ctx_r1.removeTokenIconTemplate || ctx_r1._removeTokenIconTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction0(4, _c33));
488
485
  } }
489
486
  function MultiSelect_ng_container_5_ng_container_2_div_1_ng_container_3_ng_template_1_ng_container_0_Template(rf, ctx) { if (rf & 1) {
490
487
  i0.ɵɵelementContainerStart(0);
@@ -493,7 +490,7 @@ function MultiSelect_ng_container_5_ng_container_2_div_1_ng_container_3_ng_templ
493
490
  } if (rf & 2) {
494
491
  const ctx_r1 = i0.ɵɵnextContext(6);
495
492
  i0.ɵɵadvance();
496
- i0.ɵɵproperty("ngIf", ctx_r1.chipiconTemplate || ctx_r1.removetokeniconTemplate);
493
+ i0.ɵɵproperty("ngIf", ctx_r1.chipIconTemplate || ctx_r1._chipIconTemplate || ctx_r1.removeTokenIconTemplate || ctx_r1._removeTokenIconTemplate);
497
494
  } }
498
495
  function MultiSelect_ng_container_5_ng_container_2_div_1_ng_container_3_ng_template_1_Template(rf, ctx) { if (rf & 1) {
499
496
  i0.ɵɵtemplate(0, MultiSelect_ng_container_5_ng_container_2_div_1_ng_container_3_ng_template_1_ng_container_0_Template, 2, 1, "ng-container", 20);
@@ -518,7 +515,7 @@ function MultiSelect_ng_container_5_ng_container_2_div_1_Template(rf, ctx) { if
518
515
  i0.ɵɵadvance(2);
519
516
  i0.ɵɵproperty("label", ctx_r1.getLabelByValue(item_r4))("removable", true)("removeIcon", ctx_r1.chipIcon);
520
517
  i0.ɵɵadvance();
521
- i0.ɵɵproperty("ngIf", ctx_r1.chipiconTemplate || ctx_r1.removetokeniconTemplate);
518
+ i0.ɵɵproperty("ngIf", ctx_r1.chipIconTemplate || ctx_r1._chipIconTemplate || ctx_r1.removeTokenIconTemplate || ctx_r1._removeTokenIconTemplate);
522
519
  } }
523
520
  function MultiSelect_ng_container_5_ng_container_2_ng_container_2_Template(rf, ctx) { if (rf & 1) {
524
521
  i0.ɵɵelementContainerStart(0);
@@ -576,7 +573,7 @@ function MultiSelect_ng_container_7_span_2_Template(rf, ctx) { if (rf & 1) {
576
573
  const ctx_r1 = i0.ɵɵnextContext(2);
577
574
  i0.ɵɵattribute("data-pc-section", "clearicon")("aria-hidden", true);
578
575
  i0.ɵɵadvance();
579
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.cleariconTemplate);
576
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.clearIconTemplate || ctx_r1._clearIconTemplate);
580
577
  } }
581
578
  function MultiSelect_ng_container_7_Template(rf, ctx) { if (rf & 1) {
582
579
  i0.ɵɵelementContainerStart(0);
@@ -585,9 +582,9 @@ function MultiSelect_ng_container_7_Template(rf, ctx) { if (rf & 1) {
585
582
  } if (rf & 2) {
586
583
  const ctx_r1 = i0.ɵɵnextContext();
587
584
  i0.ɵɵadvance();
588
- i0.ɵɵproperty("ngIf", !ctx_r1.cleariconTemplate);
585
+ i0.ɵɵproperty("ngIf", !ctx_r1.clearIconTemplate && !ctx_r1._clearIconTemplate);
589
586
  i0.ɵɵadvance();
590
- i0.ɵɵproperty("ngIf", ctx_r1.cleariconTemplate);
587
+ i0.ɵɵproperty("ngIf", ctx_r1.clearIconTemplate || ctx_r1._clearIconTemplate);
591
588
  } }
592
589
  function MultiSelect_ng_container_9_ng_container_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
593
590
  i0.ɵɵelementContainer(0);
@@ -599,7 +596,7 @@ function MultiSelect_ng_container_9_ng_container_1_Template(rf, ctx) { if (rf &
599
596
  } if (rf & 2) {
600
597
  const ctx_r1 = i0.ɵɵnextContext(2);
601
598
  i0.ɵɵadvance();
602
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.loadingiconTemplate);
599
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.loadingIconTemplate || ctx_r1._loadingIconTemplate);
603
600
  } }
604
601
  function MultiSelect_ng_container_9_ng_container_2_span_1_Template(rf, ctx) { if (rf & 1) {
605
602
  i0.ɵɵelement(0, "span", 35);
@@ -630,9 +627,9 @@ function MultiSelect_ng_container_9_Template(rf, ctx) { if (rf & 1) {
630
627
  } if (rf & 2) {
631
628
  const ctx_r1 = i0.ɵɵnextContext();
632
629
  i0.ɵɵadvance();
633
- i0.ɵɵproperty("ngIf", ctx_r1.loadingiconTemplate);
630
+ i0.ɵɵproperty("ngIf", ctx_r1.loadingIconTemplate || ctx_r1._loadingIconTemplate);
634
631
  i0.ɵɵadvance();
635
- i0.ɵɵproperty("ngIf", !ctx_r1.loadingiconTemplate);
632
+ i0.ɵɵproperty("ngIf", !ctx_r1.loadingIconTemplate && !ctx_r1._loadingIconTemplate);
636
633
  } }
637
634
  function MultiSelect_ng_template_10_ng_container_0_span_1_Template(rf, ctx) { if (rf & 1) {
638
635
  i0.ɵɵelement(0, "span", 40);
@@ -670,15 +667,15 @@ function MultiSelect_ng_template_10_span_1_Template(rf, ctx) { if (rf & 1) {
670
667
  const ctx_r1 = i0.ɵɵnextContext(2);
671
668
  i0.ɵɵattribute("data-pc-section", "triggericon")("aria-hidden", true);
672
669
  i0.ɵɵadvance();
673
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.dropdowniconTemplate);
670
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.dropdownIconTemplate || ctx_r1._dropdownIconTemplate);
674
671
  } }
675
672
  function MultiSelect_ng_template_10_Template(rf, ctx) { if (rf & 1) {
676
673
  i0.ɵɵtemplate(0, MultiSelect_ng_template_10_ng_container_0_Template, 3, 2, "ng-container", 20)(1, MultiSelect_ng_template_10_span_1_Template, 2, 3, "span", 37);
677
674
  } if (rf & 2) {
678
675
  const ctx_r1 = i0.ɵɵnextContext();
679
- i0.ɵɵproperty("ngIf", !ctx_r1.dropdowniconTemplate);
676
+ i0.ɵɵproperty("ngIf", !ctx_r1.dropdownIconTemplate && !ctx_r1._dropdownIconTemplate);
680
677
  i0.ɵɵadvance();
681
- i0.ɵɵproperty("ngIf", ctx_r1.dropdowniconTemplate);
678
+ i0.ɵɵproperty("ngIf", ctx_r1.dropdownIconTemplate || ctx_r1._dropdownIconTemplate);
682
679
  } }
683
680
  function MultiSelect_ng_template_14_ng_container_3_Template(rf, ctx) { if (rf & 1) {
684
681
  i0.ɵɵelementContainer(0);
@@ -693,13 +690,13 @@ function MultiSelect_ng_template_14_div_4_ng_container_2_Template(rf, ctx) { if
693
690
  } if (rf & 2) {
694
691
  const ctx_r1 = i0.ɵɵnextContext(3);
695
692
  i0.ɵɵadvance();
696
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.filterTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c34, ctx_r1.filterOptions));
693
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.filterTemplate || ctx_r1._filterTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c34, ctx_r1.filterOptions));
697
694
  } }
698
695
  function MultiSelect_ng_template_14_div_4_ng_template_3_p_checkbox_0_ng_template_2_CheckIcon_0_Template(rf, ctx) { if (rf & 1) {
699
696
  i0.ɵɵelement(0, "CheckIcon", 41);
700
697
  } if (rf & 2) {
701
- const class_r10 = i0.ɵɵnextContext().class;
702
- i0.ɵɵproperty("styleClass", class_r10);
698
+ const klass_r10 = i0.ɵɵnextContext().class;
699
+ i0.ɵɵproperty("styleClass", klass_r10);
703
700
  i0.ɵɵattribute("data-pc-section", "icon");
704
701
  } }
705
702
  function MultiSelect_ng_template_14_div_4_ng_template_3_p_checkbox_0_ng_template_2_1_ng_template_0_Template(rf, ctx) { }
@@ -709,11 +706,11 @@ function MultiSelect_ng_template_14_div_4_ng_template_3_p_checkbox_0_ng_template
709
706
  function MultiSelect_ng_template_14_div_4_ng_template_3_p_checkbox_0_ng_template_2_Template(rf, ctx) { if (rf & 1) {
710
707
  i0.ɵɵtemplate(0, MultiSelect_ng_template_14_div_4_ng_template_3_p_checkbox_0_ng_template_2_CheckIcon_0_Template, 1, 2, "CheckIcon", 39)(1, MultiSelect_ng_template_14_div_4_ng_template_3_p_checkbox_0_ng_template_2_1_Template, 1, 0, null, 21);
711
708
  } if (rf & 2) {
712
- const class_r10 = ctx.class;
709
+ const klass_r10 = ctx.class;
713
710
  const ctx_r1 = i0.ɵɵnextContext(5);
714
- i0.ɵɵproperty("ngIf", !ctx_r1.headercheckboxiconTemplate && ctx_r1.allSelected());
711
+ i0.ɵɵproperty("ngIf", !ctx_r1.headerCheckboxIconTemplate && !ctx_r1._headerCheckboxIconTemplate && ctx_r1.allSelected());
715
712
  i0.ɵɵadvance();
716
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.headercheckboxiconTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction3(3, _c35, ctx_r1.allSelected(), ctx_r1.partialSelected(), class_r10));
713
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.headerCheckboxIconTemplate || ctx_r1._headerCheckboxIconTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction3(3, _c35, ctx_r1.allSelected(), ctx_r1.partialSelected(), klass_r10));
717
714
  } }
718
715
  function MultiSelect_ng_template_14_div_4_ng_template_3_p_checkbox_0_Template(rf, ctx) { if (rf & 1) {
719
716
  const _r9 = i0.ɵɵgetCurrentView();
@@ -741,7 +738,7 @@ function MultiSelect_ng_template_14_div_4_ng_template_3_div_1_span_6_Template(rf
741
738
  } if (rf & 2) {
742
739
  const ctx_r1 = i0.ɵɵnextContext(5);
743
740
  i0.ɵɵadvance();
744
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.filtericonTemplate);
741
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.filterIconTemplate || ctx_r1._filterIconTemplate);
745
742
  } }
746
743
  function MultiSelect_ng_template_14_div_4_ng_template_3_div_1_Template(rf, ctx) { if (rf & 1) {
747
744
  const _r11 = i0.ɵɵgetCurrentView();
@@ -757,9 +754,9 @@ function MultiSelect_ng_template_14_div_4_ng_template_3_div_1_Template(rf, ctx)
757
754
  i0.ɵɵproperty("variant", ctx_r1.variant)("value", ctx_r1._filterValue() || "")("disabled", ctx_r1.disabled);
758
755
  i0.ɵɵattribute("autocomplete", ctx_r1.autocomplete)("aria-owns", ctx_r1.id + "_list")("aria-activedescendant", ctx_r1.focusedOptionId)("placeholder", ctx_r1.filterPlaceHolder)("aria-label", ctx_r1.ariaFilterLabel);
759
756
  i0.ɵɵadvance(3);
760
- i0.ɵɵproperty("ngIf", !ctx_r1.filtericonTemplate);
757
+ i0.ɵɵproperty("ngIf", !ctx_r1.filterIconTemplate && !ctx_r1._filterIconTemplate);
761
758
  i0.ɵɵadvance();
762
- i0.ɵɵproperty("ngIf", ctx_r1.filtericonTemplate);
759
+ i0.ɵɵproperty("ngIf", ctx_r1.filterIconTemplate || ctx_r1._filterIconTemplate);
763
760
  } }
764
761
  function MultiSelect_ng_template_14_div_4_ng_template_3_Template(rf, ctx) { if (rf & 1) {
765
762
  i0.ɵɵtemplate(0, MultiSelect_ng_template_14_div_4_ng_template_3_p_checkbox_0_Template, 4, 4, "p-checkbox", 49)(1, MultiSelect_ng_template_14_div_4_ng_template_3_div_1_Template, 7, 10, "div", 50);
@@ -778,7 +775,7 @@ function MultiSelect_ng_template_14_div_4_Template(rf, ctx) { if (rf & 1) {
778
775
  const builtInFilterElement_r12 = i0.ɵɵreference(4);
779
776
  const ctx_r1 = i0.ɵɵnextContext(2);
780
777
  i0.ɵɵadvance(2);
781
- i0.ɵɵproperty("ngIf", ctx_r1.filterTemplate)("ngIfElse", builtInFilterElement_r12);
778
+ i0.ɵɵproperty("ngIf", ctx_r1.filterTemplate || ctx_r1._filterTemplate)("ngIfElse", builtInFilterElement_r12);
782
779
  } }
783
780
  function MultiSelect_ng_template_14_p_scroller_6_ng_template_2_ng_container_0_Template(rf, ctx) { if (rf & 1) {
784
781
  i0.ɵɵelementContainer(0);
@@ -800,7 +797,7 @@ function MultiSelect_ng_template_14_p_scroller_6_ng_container_4_ng_template_1_Te
800
797
  } if (rf & 2) {
801
798
  const scrollerOptions_r17 = ctx.options;
802
799
  const ctx_r1 = i0.ɵɵnextContext(4);
803
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.loaderTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c34, scrollerOptions_r17));
800
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.loaderTemplate || ctx_r1._loaderTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c34, scrollerOptions_r17));
804
801
  } }
805
802
  function MultiSelect_ng_template_14_p_scroller_6_ng_container_4_Template(rf, ctx) { if (rf & 1) {
806
803
  i0.ɵɵelementContainerStart(0);
@@ -818,7 +815,7 @@ function MultiSelect_ng_template_14_p_scroller_6_Template(rf, ctx) { if (rf & 1)
818
815
  i0.ɵɵstyleMap(i0.ɵɵpureFunction1(9, _c0, ctx_r1.scrollHeight));
819
816
  i0.ɵɵproperty("items", ctx_r1.visibleOptions())("itemSize", ctx_r1.virtualScrollItemSize || ctx_r1._itemSize)("autoSize", true)("tabindex", -1)("lazy", ctx_r1.lazy)("options", ctx_r1.virtualScrollOptions);
820
817
  i0.ɵɵadvance(4);
821
- i0.ɵɵproperty("ngIf", ctx_r1.loaderTemplate);
818
+ i0.ɵɵproperty("ngIf", ctx_r1.loaderTemplate || ctx_r1._loaderTemplate);
822
819
  } }
823
820
  function MultiSelect_ng_template_14_ng_container_7_ng_container_1_Template(rf, ctx) { if (rf & 1) {
824
821
  i0.ɵɵelementContainer(0);
@@ -881,7 +878,7 @@ function MultiSelect_ng_template_14_ng_template_8_ng_template_2_ng_container_1_T
881
878
  const scrollerOptions_r21 = i0.ɵɵnextContext().options;
882
879
  const ctx_r1 = i0.ɵɵnextContext(2);
883
880
  i0.ɵɵadvance();
884
- i0.ɵɵproperty("id", ctx_r1.id + "_" + ctx_r1.getOptionIndex(i_r20, scrollerOptions_r21))("option", option_r18)("selected", ctx_r1.isSelected(option_r18))("label", ctx_r1.getOptionLabel(option_r18))("disabled", ctx_r1.isOptionDisabled(option_r18))("template", ctx_r1.itemTemplate)("checkiconTemplate", ctx_r1.checkiconTemplate)("itemcheckboxiconTemplate", ctx_r1.itemcheckboxiconTemplate)("itemSize", scrollerOptions_r21.itemSize)("focused", ctx_r1.focusedOptionIndex() === ctx_r1.getOptionIndex(i_r20, scrollerOptions_r21))("ariaPosInset", ctx_r1.getAriaPosInset(ctx_r1.getOptionIndex(i_r20, scrollerOptions_r21)))("ariaSetSize", ctx_r1.ariaSetSize)("variant", ctx_r1.variant);
881
+ i0.ɵɵproperty("id", ctx_r1.id + "_" + ctx_r1.getOptionIndex(i_r20, scrollerOptions_r21))("option", option_r18)("selected", ctx_r1.isSelected(option_r18))("label", ctx_r1.getOptionLabel(option_r18))("disabled", ctx_r1.isOptionDisabled(option_r18))("template", ctx_r1.itemTemplate || ctx_r1._itemTemplate)("checkIconTemplate", ctx_r1.checkIconTemplate || ctx_r1._checkIconTemplate)("itemCheckboxIconTemplate", ctx_r1.itemCheckboxIconTemplate || ctx_r1._itemCheckboxIconTemplate)("itemSize", scrollerOptions_r21.itemSize)("focused", ctx_r1.focusedOptionIndex() === ctx_r1.getOptionIndex(i_r20, scrollerOptions_r21))("ariaPosInset", ctx_r1.getAriaPosInset(ctx_r1.getOptionIndex(i_r20, scrollerOptions_r21)))("ariaSetSize", ctx_r1.ariaSetSize)("variant", ctx_r1.variant);
885
882
  } }
886
883
  function MultiSelect_ng_template_14_ng_template_8_ng_template_2_Template(rf, ctx) { if (rf & 1) {
887
884
  i0.ɵɵtemplate(0, MultiSelect_ng_template_14_ng_template_8_ng_template_2_ng_container_0_Template, 4, 9, "ng-container", 20)(1, MultiSelect_ng_template_14_ng_template_8_ng_template_2_ng_container_1_Template, 2, 13, "ng-container", 20);
@@ -905,7 +902,7 @@ function MultiSelect_ng_template_14_ng_template_8_li_3_Conditional_2_Template(rf
905
902
  i0.ɵɵtemplate(0, MultiSelect_ng_template_14_ng_template_8_li_3_Conditional_2_ng_container_0_Template, 1, 0, "ng-container", 32);
906
903
  } if (rf & 2) {
907
904
  const ctx_r1 = i0.ɵɵnextContext(4);
908
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.emptyfilterTemplate || ctx_r1.emptyTemplate);
905
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.emptyFilterTemplate || ctx_r1._emptyFilterTemplate || ctx_r1.emptyTemplate || ctx_r1._emptyFilterTemplate);
909
906
  } }
910
907
  function MultiSelect_ng_template_14_ng_template_8_li_3_Template(rf, ctx) { if (rf & 1) {
911
908
  i0.ɵɵelementStart(0, "li", 62);
@@ -916,7 +913,7 @@ function MultiSelect_ng_template_14_ng_template_8_li_3_Template(rf, ctx) { if (r
916
913
  const ctx_r1 = i0.ɵɵnextContext(2);
917
914
  i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(2, _c0, scrollerOptions_r21.itemSize + "px"));
918
915
  i0.ɵɵadvance();
919
- i0.ɵɵconditional(!ctx_r1.emptyfilterTemplate && !ctx_r1.emptyTemplate ? 1 : 2);
916
+ i0.ɵɵconditional(!ctx_r1.emptyFilterTemplate && !ctx_r1._emptyFilterTemplate && !ctx_r1.emptyTemplate && !ctx_r1._emptyTemplate ? 1 : 2);
920
917
  } }
921
918
  function MultiSelect_ng_template_14_ng_template_8_li_4_Conditional_1_Template(rf, ctx) { if (rf & 1) {
922
919
  i0.ɵɵtext(0);
@@ -931,7 +928,7 @@ function MultiSelect_ng_template_14_ng_template_8_li_4_Conditional_2_Template(rf
931
928
  i0.ɵɵtemplate(0, MultiSelect_ng_template_14_ng_template_8_li_4_Conditional_2_ng_container_0_Template, 1, 0, "ng-container", 32);
932
929
  } if (rf & 2) {
933
930
  const ctx_r1 = i0.ɵɵnextContext(4);
934
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.emptyTemplate);
931
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.emptyTemplate || ctx_r1._emptyTemplate);
935
932
  } }
936
933
  function MultiSelect_ng_template_14_ng_template_8_li_4_Template(rf, ctx) { if (rf & 1) {
937
934
  i0.ɵɵelementStart(0, "li", 62);
@@ -942,7 +939,7 @@ function MultiSelect_ng_template_14_ng_template_8_li_4_Template(rf, ctx) { if (r
942
939
  const ctx_r1 = i0.ɵɵnextContext(2);
943
940
  i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(2, _c0, scrollerOptions_r21.itemSize + "px"));
944
941
  i0.ɵɵadvance();
945
- i0.ɵɵconditional(!ctx_r1.emptyTemplate ? 1 : 2);
942
+ i0.ɵɵconditional(!ctx_r1.emptyTemplate && !ctx_r1._emptyTemplate ? 1 : 2);
946
943
  } }
947
944
  function MultiSelect_ng_template_14_ng_template_8_Template(rf, ctx) { if (rf & 1) {
948
945
  i0.ɵɵelementStart(0, "ul", 57, 15);
@@ -973,7 +970,7 @@ function MultiSelect_ng_template_14_div_10_Template(rf, ctx) { if (rf & 1) {
973
970
  } if (rf & 2) {
974
971
  const ctx_r1 = i0.ɵɵnextContext(2);
975
972
  i0.ɵɵadvance(2);
976
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.footerTemplate);
973
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.footerTemplate || ctx_r1._footerTemplate);
977
974
  } }
978
975
  function MultiSelect_ng_template_14_Template(rf, ctx) { if (rf & 1) {
979
976
  const _r8 = i0.ɵɵgetCurrentView();
@@ -996,7 +993,7 @@ function MultiSelect_ng_template_14_Template(rf, ctx) { if (rf & 1) {
996
993
  i0.ɵɵadvance();
997
994
  i0.ɵɵattribute("tabindex", 0)("data-p-hidden-accessible", true)("data-p-hidden-focusable", true);
998
995
  i0.ɵɵadvance(2);
999
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.headerTemplate);
996
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.headerTemplate || ctx_r1._headerTemplate);
1000
997
  i0.ɵɵadvance();
1001
998
  i0.ɵɵproperty("ngIf", ctx_r1.showHeader);
1002
999
  i0.ɵɵadvance();
@@ -1006,7 +1003,7 @@ function MultiSelect_ng_template_14_Template(rf, ctx) { if (rf & 1) {
1006
1003
  i0.ɵɵadvance();
1007
1004
  i0.ɵɵproperty("ngIf", !ctx_r1.virtualScroll);
1008
1005
  i0.ɵɵadvance(3);
1009
- i0.ɵɵproperty("ngIf", ctx_r1.footerFacet || ctx_r1.footerTemplate);
1006
+ i0.ɵɵproperty("ngIf", ctx_r1.footerFacet || ctx_r1.footerTemplate || ctx_r1._footerTemplate);
1010
1007
  i0.ɵɵadvance();
1011
1008
  i0.ɵɵattribute("tabindex", 0)("data-p-hidden-accessible", true)("data-p-hidden-focusable", true);
1012
1009
  } }
@@ -1027,8 +1024,8 @@ class MultiSelectItem extends BaseComponent {
1027
1024
  ariaSetSize;
1028
1025
  variant;
1029
1026
  template;
1030
- checkiconTemplate;
1031
- itemcheckboxiconTemplate;
1027
+ checkIconTemplate;
1028
+ itemCheckboxIconTemplate;
1032
1029
  onClick = new EventEmitter();
1033
1030
  onMouseEnter = new EventEmitter();
1034
1031
  onOptionClick(event) {
@@ -1048,7 +1045,7 @@ class MultiSelectItem extends BaseComponent {
1048
1045
  });
1049
1046
  }
1050
1047
  static ɵfac = /*@__PURE__*/ (() => { let ɵMultiSelectItem_BaseFactory; return function MultiSelectItem_Factory(__ngFactoryType__) { return (ɵMultiSelectItem_BaseFactory || (ɵMultiSelectItem_BaseFactory = i0.ɵɵgetInheritedFactory(MultiSelectItem)))(__ngFactoryType__ || MultiSelectItem); }; })();
1051
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MultiSelectItem, selectors: [["p-multiSelectItem"], ["p-multiselect-item"]], inputs: { id: "id", option: "option", selected: [2, "selected", "selected", booleanAttribute], label: "label", disabled: [2, "disabled", "disabled", booleanAttribute], itemSize: [2, "itemSize", "itemSize", numberAttribute], focused: [2, "focused", "focused", booleanAttribute], ariaPosInset: "ariaPosInset", ariaSetSize: "ariaSetSize", variant: "variant", template: "template", checkiconTemplate: "checkiconTemplate", itemcheckboxiconTemplate: "itemcheckboxiconTemplate" }, outputs: { onClick: "onClick", onMouseEnter: "onMouseEnter" }, standalone: true, features: [i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 5, vars: 26, consts: [["icon", ""], ["pRipple", "", "role", "option", 3, "click", "mouseenter", "ngStyle", "ngClass", "id"], [3, "ngModel", "binary", "tabindex", "variant"], [4, "ngIf"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function MultiSelectItem_Template(rf, ctx) { if (rf & 1) {
1048
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MultiSelectItem, selectors: [["p-multiSelectItem"], ["p-multiselect-item"]], inputs: { id: "id", option: "option", selected: [2, "selected", "selected", booleanAttribute], label: "label", disabled: [2, "disabled", "disabled", booleanAttribute], itemSize: [2, "itemSize", "itemSize", numberAttribute], focused: [2, "focused", "focused", booleanAttribute], ariaPosInset: "ariaPosInset", ariaSetSize: "ariaSetSize", variant: "variant", template: "template", checkIconTemplate: "checkIconTemplate", itemCheckboxIconTemplate: "itemCheckboxIconTemplate" }, outputs: { onClick: "onClick", onMouseEnter: "onMouseEnter" }, standalone: true, features: [i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 5, vars: 26, consts: [["icon", ""], ["pRipple", "", "role", "option", 3, "click", "mouseenter", "ngStyle", "ngClass", "id"], [3, "ngModel", "binary", "tabindex", "variant"], [4, "ngIf"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function MultiSelectItem_Template(rf, ctx) { if (rf & 1) {
1052
1049
  i0.ɵɵelementStart(0, "li", 1);
1053
1050
  i0.ɵɵlistener("click", function MultiSelectItem_Template_li_click_0_listener($event) { return ctx.onOptionClick($event); })("mouseenter", function MultiSelectItem_Template_li_mouseenter_0_listener($event) { return ctx.onOptionMouseEnter($event); });
1054
1051
  i0.ɵɵelementStart(1, "p-checkbox", 2);
@@ -1062,7 +1059,7 @@ class MultiSelectItem extends BaseComponent {
1062
1059
  i0.ɵɵadvance();
1063
1060
  i0.ɵɵproperty("ngModel", ctx.selected)("binary", true)("tabindex", -1)("variant", ctx.variant);
1064
1061
  i0.ɵɵadvance();
1065
- i0.ɵɵproperty("ngIf", ctx.itemcheckboxiconTemplate);
1062
+ i0.ɵɵproperty("ngIf", ctx.itemCheckboxIconTemplate);
1066
1063
  i0.ɵɵadvance();
1067
1064
  i0.ɵɵproperty("ngIf", !ctx.template);
1068
1065
  i0.ɵɵadvance();
@@ -1098,9 +1095,9 @@ class MultiSelectItem extends BaseComponent {
1098
1095
  (mouseenter)="onOptionMouseEnter($event)"
1099
1096
  >
1100
1097
  <p-checkbox [ngModel]="selected" [binary]="true" [tabindex]="-1" [variant]="variant">
1101
- <ng-container *ngIf="itemcheckboxiconTemplate">
1102
- <ng-template #icon let-class="class">
1103
- <ng-template *ngTemplateOutlet="itemcheckboxiconTemplate; context: { checked: selected, class: class }"></ng-template>
1098
+ <ng-container *ngIf="itemCheckboxIconTemplate">
1099
+ <ng-template #icon let-klass="class">
1100
+ <ng-template *ngTemplateOutlet="itemCheckboxIconTemplate; context: { checked: selected, class: klass }"></ng-template>
1104
1101
  </ng-template>
1105
1102
  </ng-container>
1106
1103
  </p-checkbox>
@@ -1136,9 +1133,9 @@ class MultiSelectItem extends BaseComponent {
1136
1133
  type: Input
1137
1134
  }], template: [{
1138
1135
  type: Input
1139
- }], checkiconTemplate: [{
1136
+ }], checkIconTemplate: [{
1140
1137
  type: Input
1141
- }], itemcheckboxiconTemplate: [{
1138
+ }], itemCheckboxIconTemplate: [{
1142
1139
  type: Input
1143
1140
  }], onClick: [{
1144
1141
  type: Output
@@ -1691,20 +1688,100 @@ class MultiSelect extends BaseComponent {
1691
1688
  headerTemplate;
1692
1689
  filterTemplate;
1693
1690
  footerTemplate;
1694
- emptyfilterTemplate;
1691
+ emptyFilterTemplate;
1695
1692
  emptyTemplate;
1696
- selecteditemsTemplate;
1697
- checkiconTemplate;
1698
- loadingiconTemplate;
1699
- filtericonTemplate;
1700
- removetokeniconTemplate;
1701
- chipiconTemplate;
1702
- cleariconTemplate;
1703
- dropdowniconTemplate;
1704
- itemcheckboxiconTemplate;
1705
- headercheckboxiconTemplate;
1693
+ selectedItemsTemplate;
1694
+ checkIconTemplate;
1695
+ loadingIconTemplate;
1696
+ filterIconTemplate;
1697
+ removeTokenIconTemplate;
1698
+ chipIconTemplate;
1699
+ clearIconTemplate;
1700
+ dropdownIconTemplate;
1701
+ itemCheckboxIconTemplate;
1702
+ headerCheckboxIconTemplate;
1703
+ templates;
1704
+ _itemTemplate;
1705
+ _groupTemplate;
1706
+ _loaderTemplate;
1707
+ _headerTemplate;
1708
+ _filterTemplate;
1709
+ _footerTemplate;
1710
+ _emptyFilterTemplate;
1711
+ _emptyTemplate;
1712
+ _selectedItemsTemplate;
1713
+ _checkIconTemplate;
1714
+ _loadingIconTemplate;
1715
+ _filterIconTemplate;
1716
+ _removeTokenIconTemplate;
1717
+ _chipIconTemplate;
1718
+ _clearIconTemplate;
1719
+ _dropdownIconTemplate;
1720
+ _itemCheckboxIconTemplate;
1721
+ _headerCheckboxIconTemplate;
1706
1722
  ngAfterContentInit() {
1707
- super.ngAfterContentInit();
1723
+ this.templates.forEach((item) => {
1724
+ switch (item.getType()) {
1725
+ case 'item':
1726
+ this._itemTemplate = item.template;
1727
+ break;
1728
+ case 'group':
1729
+ this._groupTemplate = item.template;
1730
+ break;
1731
+ case 'selectedItems':
1732
+ this._selectedItemsTemplate = item.template;
1733
+ break;
1734
+ case 'header':
1735
+ this._headerTemplate = item.template;
1736
+ break;
1737
+ case 'filter':
1738
+ this._filterTemplate = item.template;
1739
+ break;
1740
+ case 'emptyfilter':
1741
+ this._emptyFilterTemplate = item.template;
1742
+ break;
1743
+ case 'empty':
1744
+ this._emptyTemplate = item.template;
1745
+ break;
1746
+ case 'footer':
1747
+ this._footerTemplate = item.template;
1748
+ break;
1749
+ case 'loader':
1750
+ this._loaderTemplate = item.template;
1751
+ break;
1752
+ case 'checkicon':
1753
+ this._checkIconTemplate = item.template;
1754
+ console.warn('checkicon is deprecated and will removed in future. Use itemcheckboxicon or headercheckboxicon templates instead.');
1755
+ break;
1756
+ case 'headercheckboxicon':
1757
+ this._headerCheckboxIconTemplate = item.template;
1758
+ break;
1759
+ case 'loadingicon':
1760
+ this._loadingIconTemplate = item.template;
1761
+ break;
1762
+ case 'filtericon':
1763
+ this._filterIconTemplate = item.template;
1764
+ break;
1765
+ case 'removetokenicon':
1766
+ this._removeTokenIconTemplate = item.template;
1767
+ break;
1768
+ case 'clearicon':
1769
+ this._clearIconTemplate = item.template;
1770
+ break;
1771
+ case 'dropdownicon':
1772
+ this._dropdownIconTemplate = item.template;
1773
+ break;
1774
+ case 'itemcheckboxicon':
1775
+ this._itemCheckboxIconTemplate = item.template;
1776
+ break;
1777
+ case 'chipicon':
1778
+ this._chipIconTemplate = item.template;
1779
+ break;
1780
+ default:
1781
+ this._itemTemplate = item.template;
1782
+ break;
1783
+ }
1784
+ });
1708
1785
  }
1709
1786
  headerCheckboxFocus;
1710
1787
  filterOptions;
@@ -2629,24 +2706,25 @@ class MultiSelect extends BaseComponent {
2629
2706
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MultiSelect, selectors: [["p-multiSelect"], ["p-multiselect"], ["p-multi-select"]], contentQueries: function MultiSelect_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
2630
2707
  i0.ɵɵcontentQuery(dirIndex, Footer, 5);
2631
2708
  i0.ɵɵcontentQuery(dirIndex, Header, 5);
2632
- i0.ɵɵcontentQuery(dirIndex, _c4, 5);
2633
- i0.ɵɵcontentQuery(dirIndex, _c5, 5);
2634
- i0.ɵɵcontentQuery(dirIndex, _c6, 5);
2635
- i0.ɵɵcontentQuery(dirIndex, _c7, 5);
2636
- i0.ɵɵcontentQuery(dirIndex, _c8, 5);
2637
- i0.ɵɵcontentQuery(dirIndex, _c9, 5);
2638
- i0.ɵɵcontentQuery(dirIndex, _c10, 5);
2639
- i0.ɵɵcontentQuery(dirIndex, _c11, 5);
2640
- i0.ɵɵcontentQuery(dirIndex, _c12, 5);
2641
- i0.ɵɵcontentQuery(dirIndex, _c13, 5);
2642
- i0.ɵɵcontentQuery(dirIndex, _c14, 5);
2643
- i0.ɵɵcontentQuery(dirIndex, _c15, 5);
2644
- i0.ɵɵcontentQuery(dirIndex, _c16, 5);
2645
- i0.ɵɵcontentQuery(dirIndex, _c17, 5);
2646
- i0.ɵɵcontentQuery(dirIndex, _c18, 5);
2647
- i0.ɵɵcontentQuery(dirIndex, _c19, 5);
2648
- i0.ɵɵcontentQuery(dirIndex, _c20, 5);
2649
- i0.ɵɵcontentQuery(dirIndex, _c21, 5);
2709
+ i0.ɵɵcontentQuery(dirIndex, _c4, 4);
2710
+ i0.ɵɵcontentQuery(dirIndex, _c5, 4);
2711
+ i0.ɵɵcontentQuery(dirIndex, _c6, 4);
2712
+ i0.ɵɵcontentQuery(dirIndex, _c7, 4);
2713
+ i0.ɵɵcontentQuery(dirIndex, _c8, 4);
2714
+ i0.ɵɵcontentQuery(dirIndex, _c9, 4);
2715
+ i0.ɵɵcontentQuery(dirIndex, _c10, 4);
2716
+ i0.ɵɵcontentQuery(dirIndex, _c11, 4);
2717
+ i0.ɵɵcontentQuery(dirIndex, _c12, 4);
2718
+ i0.ɵɵcontentQuery(dirIndex, _c13, 4);
2719
+ i0.ɵɵcontentQuery(dirIndex, _c14, 4);
2720
+ i0.ɵɵcontentQuery(dirIndex, _c15, 4);
2721
+ i0.ɵɵcontentQuery(dirIndex, _c16, 4);
2722
+ i0.ɵɵcontentQuery(dirIndex, _c17, 4);
2723
+ i0.ɵɵcontentQuery(dirIndex, _c18, 4);
2724
+ i0.ɵɵcontentQuery(dirIndex, _c19, 4);
2725
+ i0.ɵɵcontentQuery(dirIndex, _c20, 4);
2726
+ i0.ɵɵcontentQuery(dirIndex, _c21, 4);
2727
+ i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);
2650
2728
  } if (rf & 2) {
2651
2729
  let _t;
2652
2730
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.footerFacet = _t.first);
@@ -2657,18 +2735,19 @@ class MultiSelect extends BaseComponent {
2657
2735
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.headerTemplate = _t.first);
2658
2736
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.filterTemplate = _t.first);
2659
2737
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.footerTemplate = _t.first);
2660
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.emptyfilterTemplate = _t.first);
2738
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.emptyFilterTemplate = _t.first);
2661
2739
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.emptyTemplate = _t.first);
2662
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.selecteditemsTemplate = _t.first);
2663
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.checkiconTemplate = _t.first);
2664
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loadingiconTemplate = _t.first);
2665
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.filtericonTemplate = _t.first);
2666
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.removetokeniconTemplate = _t.first);
2667
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.chipiconTemplate = _t.first);
2668
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.cleariconTemplate = _t.first);
2669
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.dropdowniconTemplate = _t.first);
2670
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.itemcheckboxiconTemplate = _t.first);
2671
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.headercheckboxiconTemplate = _t.first);
2740
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.selectedItemsTemplate = _t.first);
2741
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.checkIconTemplate = _t.first);
2742
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loadingIconTemplate = _t.first);
2743
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.filterIconTemplate = _t.first);
2744
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.removeTokenIconTemplate = _t.first);
2745
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.chipIconTemplate = _t.first);
2746
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.clearIconTemplate = _t.first);
2747
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.dropdownIconTemplate = _t.first);
2748
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.itemCheckboxIconTemplate = _t.first);
2749
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.headerCheckboxIconTemplate = _t.first);
2750
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);
2672
2751
  } }, viewQuery: function MultiSelect_Query(rf, ctx) { if (rf & 1) {
2673
2752
  i0.ɵɵviewQuery(_c22, 5);
2674
2753
  i0.ɵɵviewQuery(_c23, 5);
@@ -2694,7 +2773,7 @@ class MultiSelect extends BaseComponent {
2694
2773
  i0.ɵɵattribute("id", ctx.id);
2695
2774
  i0.ɵɵstyleMap(ctx.style);
2696
2775
  i0.ɵɵclassMap(ctx.hostClasses);
2697
- } }, inputs: { id: "id", ariaLabel: "ariaLabel", style: "style", styleClass: "styleClass", panelStyle: "panelStyle", panelStyleClass: "panelStyleClass", inputId: "inputId", disabled: [2, "disabled", "disabled", booleanAttribute], fluid: [2, "fluid", "fluid", booleanAttribute], readonly: [2, "readonly", "readonly", booleanAttribute], group: [2, "group", "group", booleanAttribute], filter: [2, "filter", "filter", booleanAttribute], filterPlaceHolder: "filterPlaceHolder", filterLocale: "filterLocale", overlayVisible: [2, "overlayVisible", "overlayVisible", booleanAttribute], tabindex: [2, "tabindex", "tabindex", numberAttribute], variant: "variant", appendTo: "appendTo", dataKey: "dataKey", name: "name", ariaLabelledBy: "ariaLabelledBy", displaySelectedLabel: "displaySelectedLabel", maxSelectedLabels: "maxSelectedLabels", selectionLimit: [2, "selectionLimit", "selectionLimit", numberAttribute], selectedItemsLabel: "selectedItemsLabel", showToggleAll: [2, "showToggleAll", "showToggleAll", booleanAttribute], emptyFilterMessage: "emptyFilterMessage", emptyMessage: "emptyMessage", resetFilterOnHide: [2, "resetFilterOnHide", "resetFilterOnHide", booleanAttribute], dropdownIcon: "dropdownIcon", chipIcon: "chipIcon", optionLabel: "optionLabel", optionValue: "optionValue", optionDisabled: "optionDisabled", optionGroupLabel: "optionGroupLabel", optionGroupChildren: "optionGroupChildren", showHeader: [2, "showHeader", "showHeader", booleanAttribute], filterBy: "filterBy", scrollHeight: "scrollHeight", lazy: [2, "lazy", "lazy", booleanAttribute], virtualScroll: [2, "virtualScroll", "virtualScroll", booleanAttribute], loading: [2, "loading", "loading", booleanAttribute], virtualScrollItemSize: [2, "virtualScrollItemSize", "virtualScrollItemSize", numberAttribute], loadingIcon: "loadingIcon", virtualScrollOptions: "virtualScrollOptions", overlayOptions: "overlayOptions", ariaFilterLabel: "ariaFilterLabel", filterMatchMode: "filterMatchMode", tooltip: "tooltip", tooltipPosition: "tooltipPosition", tooltipPositionStyle: "tooltipPositionStyle", tooltipStyleClass: "tooltipStyleClass", autofocusFilter: [2, "autofocusFilter", "autofocusFilter", booleanAttribute], display: "display", autocomplete: "autocomplete", size: "size", showClear: [2, "showClear", "showClear", booleanAttribute], autofocus: [2, "autofocus", "autofocus", booleanAttribute], autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", defaultLabel: "defaultLabel", placeholder: "placeholder", options: "options", filterValue: "filterValue", itemSize: "itemSize", selectAll: "selectAll", focusOnHover: [2, "focusOnHover", "focusOnHover", booleanAttribute], filterFields: "filterFields", selectOnFocus: [2, "selectOnFocus", "selectOnFocus", booleanAttribute], autoOptionFocus: [2, "autoOptionFocus", "autoOptionFocus", booleanAttribute] }, outputs: { onChange: "onChange", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onClick: "onClick", onClear: "onClear", onPanelShow: "onPanelShow", onPanelHide: "onPanelHide", onLazyLoad: "onLazyLoad", onRemove: "onRemove", onSelectAllChange: "onSelectAllChange" }, standalone: true, features: [i0.ɵɵProvidersFeature([MULTISELECT_VALUE_ACCESSOR, MultiSelectStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], ngContentSelectors: _c31, decls: 16, vars: 39, consts: [["focusInput", ""], ["elseBlock", ""], ["overlay", ""], ["content", ""], ["token", ""], ["removeicon", ""], ["firstHiddenFocusableEl", ""], ["buildInItems", ""], ["lastHiddenFocusableEl", ""], ["builtInFilterElement", ""], ["headerCheckbox", ""], ["checkboxicon", ""], ["filterInput", ""], ["scroller", ""], ["loader", ""], ["items", ""], [1, "p-hidden-accessible"], ["role", "combobox", 3, "focus", "blur", "keydown", "pTooltip", "tooltipPosition", "positionStyle", "tooltipStyleClass", "pAutoFocus"], [1, "p-multiselect-label-container", 3, "mouseleave", "pTooltip", "tooltipDisabled", "tooltipPosition", "positionStyle", "tooltipStyleClass"], [3, "ngClass"], [4, "ngIf"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "p-multiselect-dropdown"], [4, "ngIf", "ngIfElse"], [3, "visibleChange", "onAnimationStart", "onHide", "visible", "options", "target", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions"], ["class", "p-multiselect-chip-item", 4, "ngFor", "ngForOf"], [1, "p-multiselect-chip-item"], ["styleClass", "p-multiselect-chip", 3, "onRemove", "label", "removable", "removeIcon"], ["class", "p-multiselect-chip-icon", 3, "click", 4, "ngIf"], [1, "p-multiselect-chip-icon", 3, "click"], ["class", "p-multiselect-clear-icon", 3, "click", 4, "ngIf"], [1, "p-multiselect-clear-icon", 3, "click"], [4, "ngTemplateOutlet"], ["aria-hidden", "true", 3, "ngClass", 4, "ngIf"], ["aria-hidden", "true", 3, "class", 4, "ngIf"], ["aria-hidden", "true", 3, "ngClass"], ["aria-hidden", "true"], ["class", "p-multiselect-dropdown-icon", 4, "ngIf"], ["class", "p-multiselect-dropdown-icon", 3, "ngClass", 4, "ngIf"], [3, "styleClass", 4, "ngIf"], [1, "p-multiselect-dropdown-icon", 3, "ngClass"], [3, "styleClass"], [1, "p-multiselect-dropdown-icon"], [3, "ngClass", "ngStyle"], ["role", "presentation", 1, "p-hidden-accessible", "p-hidden-focusable", 3, "focus"], ["class", "p-multiselect-header", 4, "ngIf"], [1, "p-multiselect-list-container"], [3, "items", "style", "itemSize", "autoSize", "tabindex", "lazy", "options", "onLazyLoad", 4, "ngIf"], [1, "p-multiselect-header"], [3, "ngModel", "binary", "variant", "disabled", "onChange", 4, "ngIf"], ["class", "p-multiselect-filter-container", 4, "ngIf"], [3, "onChange", "ngModel", "binary", "variant", "disabled"], [1, "p-multiselect-filter-container"], ["pInputText", "", "type", "text", "role", "searchbox", 1, "p-multiselect-filter", 3, "input", "keydown", "click", "blur", "variant", "value", "disabled"], ["class", "p-multiselect-filter-icon", 4, "ngIf"], [1, "p-multiselect-filter-icon"], [3, "onLazyLoad", "items", "itemSize", "autoSize", "tabindex", "lazy", "options"], ["role", "listbox", "aria-multiselectable", "true", 1, "p-multiselect-list", 3, "ngClass"], ["ngFor", "", 3, "ngForOf"], ["class", "p-multiselect-empty-message", "role", "option", 3, "ngStyle", 4, "ngIf"], ["role", "option", 1, "p-multiselect-option-group", 3, "ngStyle"], [3, "onClick", "onMouseEnter", "id", "option", "selected", "label", "disabled", "template", "checkiconTemplate", "itemcheckboxiconTemplate", "itemSize", "focused", "ariaPosInset", "ariaSetSize", "variant"], ["role", "option", 1, "p-multiselect-empty-message", 3, "ngStyle"]], template: function MultiSelect_Template(rf, ctx) { if (rf & 1) {
2776
+ } }, inputs: { id: "id", ariaLabel: "ariaLabel", style: "style", styleClass: "styleClass", panelStyle: "panelStyle", panelStyleClass: "panelStyleClass", inputId: "inputId", disabled: [2, "disabled", "disabled", booleanAttribute], fluid: [2, "fluid", "fluid", booleanAttribute], readonly: [2, "readonly", "readonly", booleanAttribute], group: [2, "group", "group", booleanAttribute], filter: [2, "filter", "filter", booleanAttribute], filterPlaceHolder: "filterPlaceHolder", filterLocale: "filterLocale", overlayVisible: [2, "overlayVisible", "overlayVisible", booleanAttribute], tabindex: [2, "tabindex", "tabindex", numberAttribute], variant: "variant", appendTo: "appendTo", dataKey: "dataKey", name: "name", ariaLabelledBy: "ariaLabelledBy", displaySelectedLabel: "displaySelectedLabel", maxSelectedLabels: "maxSelectedLabels", selectionLimit: [2, "selectionLimit", "selectionLimit", numberAttribute], selectedItemsLabel: "selectedItemsLabel", showToggleAll: [2, "showToggleAll", "showToggleAll", booleanAttribute], emptyFilterMessage: "emptyFilterMessage", emptyMessage: "emptyMessage", resetFilterOnHide: [2, "resetFilterOnHide", "resetFilterOnHide", booleanAttribute], dropdownIcon: "dropdownIcon", chipIcon: "chipIcon", optionLabel: "optionLabel", optionValue: "optionValue", optionDisabled: "optionDisabled", optionGroupLabel: "optionGroupLabel", optionGroupChildren: "optionGroupChildren", showHeader: [2, "showHeader", "showHeader", booleanAttribute], filterBy: "filterBy", scrollHeight: "scrollHeight", lazy: [2, "lazy", "lazy", booleanAttribute], virtualScroll: [2, "virtualScroll", "virtualScroll", booleanAttribute], loading: [2, "loading", "loading", booleanAttribute], virtualScrollItemSize: [2, "virtualScrollItemSize", "virtualScrollItemSize", numberAttribute], loadingIcon: "loadingIcon", virtualScrollOptions: "virtualScrollOptions", overlayOptions: "overlayOptions", ariaFilterLabel: "ariaFilterLabel", filterMatchMode: "filterMatchMode", tooltip: "tooltip", tooltipPosition: "tooltipPosition", tooltipPositionStyle: "tooltipPositionStyle", tooltipStyleClass: "tooltipStyleClass", autofocusFilter: [2, "autofocusFilter", "autofocusFilter", booleanAttribute], display: "display", autocomplete: "autocomplete", size: "size", showClear: [2, "showClear", "showClear", booleanAttribute], autofocus: [2, "autofocus", "autofocus", booleanAttribute], autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", defaultLabel: "defaultLabel", placeholder: "placeholder", options: "options", filterValue: "filterValue", itemSize: "itemSize", selectAll: "selectAll", focusOnHover: [2, "focusOnHover", "focusOnHover", booleanAttribute], filterFields: "filterFields", selectOnFocus: [2, "selectOnFocus", "selectOnFocus", booleanAttribute], autoOptionFocus: [2, "autoOptionFocus", "autoOptionFocus", booleanAttribute] }, outputs: { onChange: "onChange", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onClick: "onClick", onClear: "onClear", onPanelShow: "onPanelShow", onPanelHide: "onPanelHide", onLazyLoad: "onLazyLoad", onRemove: "onRemove", onSelectAllChange: "onSelectAllChange" }, standalone: true, features: [i0.ɵɵProvidersFeature([MULTISELECT_VALUE_ACCESSOR, MultiSelectStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], ngContentSelectors: _c31, decls: 16, vars: 39, consts: [["focusInput", ""], ["elseBlock", ""], ["overlay", ""], ["content", ""], ["token", ""], ["removeicon", ""], ["firstHiddenFocusableEl", ""], ["buildInItems", ""], ["lastHiddenFocusableEl", ""], ["builtInFilterElement", ""], ["headerCheckbox", ""], ["checkboxicon", ""], ["filterInput", ""], ["scroller", ""], ["loader", ""], ["items", ""], [1, "p-hidden-accessible"], ["role", "combobox", 3, "focus", "blur", "keydown", "pTooltip", "tooltipPosition", "positionStyle", "tooltipStyleClass", "pAutoFocus"], [1, "p-multiselect-label-container", 3, "mouseleave", "pTooltip", "tooltipDisabled", "tooltipPosition", "positionStyle", "tooltipStyleClass"], [3, "ngClass"], [4, "ngIf"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "p-multiselect-dropdown"], [4, "ngIf", "ngIfElse"], [3, "visibleChange", "onAnimationStart", "onHide", "visible", "options", "target", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions"], ["class", "p-multiselect-chip-item", 4, "ngFor", "ngForOf"], [1, "p-multiselect-chip-item"], ["styleClass", "p-multiselect-chip", 3, "onRemove", "label", "removable", "removeIcon"], ["class", "p-multiselect-chip-icon", 3, "click", 4, "ngIf"], [1, "p-multiselect-chip-icon", 3, "click"], ["class", "p-multiselect-clear-icon", 3, "click", 4, "ngIf"], [1, "p-multiselect-clear-icon", 3, "click"], [4, "ngTemplateOutlet"], ["aria-hidden", "true", 3, "ngClass", 4, "ngIf"], ["aria-hidden", "true", 3, "class", 4, "ngIf"], ["aria-hidden", "true", 3, "ngClass"], ["aria-hidden", "true"], ["class", "p-multiselect-dropdown-icon", 4, "ngIf"], ["class", "p-multiselect-dropdown-icon", 3, "ngClass", 4, "ngIf"], [3, "styleClass", 4, "ngIf"], [1, "p-multiselect-dropdown-icon", 3, "ngClass"], [3, "styleClass"], [1, "p-multiselect-dropdown-icon"], [3, "ngClass", "ngStyle"], ["role", "presentation", 1, "p-hidden-accessible", "p-hidden-focusable", 3, "focus"], ["class", "p-multiselect-header", 4, "ngIf"], [1, "p-multiselect-list-container"], [3, "items", "style", "itemSize", "autoSize", "tabindex", "lazy", "options", "onLazyLoad", 4, "ngIf"], [1, "p-multiselect-header"], [3, "ngModel", "binary", "variant", "disabled", "onChange", 4, "ngIf"], ["class", "p-multiselect-filter-container", 4, "ngIf"], [3, "onChange", "ngModel", "binary", "variant", "disabled"], [1, "p-multiselect-filter-container"], ["pInputText", "", "type", "text", "role", "searchbox", 1, "p-multiselect-filter", 3, "input", "keydown", "click", "blur", "variant", "value", "disabled"], ["class", "p-multiselect-filter-icon", 4, "ngIf"], [1, "p-multiselect-filter-icon"], [3, "onLazyLoad", "items", "itemSize", "autoSize", "tabindex", "lazy", "options"], ["role", "listbox", "aria-multiselectable", "true", 1, "p-multiselect-list", 3, "ngClass"], ["ngFor", "", 3, "ngForOf"], ["class", "p-multiselect-empty-message", "role", "option", 3, "ngStyle", 4, "ngIf"], ["role", "option", 1, "p-multiselect-option-group", 3, "ngStyle"], [3, "onClick", "onMouseEnter", "id", "option", "selected", "label", "disabled", "template", "checkIconTemplate", "itemCheckboxIconTemplate", "itemSize", "focused", "ariaPosInset", "ariaSetSize", "variant"], ["role", "option", 1, "p-multiselect-empty-message", 3, "ngStyle"]], template: function MultiSelect_Template(rf, ctx) { if (rf & 1) {
2698
2777
  const _r1 = i0.ɵɵgetCurrentView();
2699
2778
  i0.ɵɵprojectionDef(_c30);
2700
2779
  i0.ɵɵelementStart(0, "div", 16)(1, "input", 17, 0);
@@ -2726,9 +2805,9 @@ class MultiSelect extends BaseComponent {
2726
2805
  i0.ɵɵadvance();
2727
2806
  i0.ɵɵproperty("ngClass", ctx.labelClass);
2728
2807
  i0.ɵɵadvance();
2729
- i0.ɵɵproperty("ngIf", !ctx.selecteditemsTemplate);
2808
+ i0.ɵɵproperty("ngIf", !ctx.selectedItemsTemplate && !ctx._selectedItemsTemplate);
2730
2809
  i0.ɵɵadvance();
2731
- i0.ɵɵproperty("ngTemplateOutlet", ctx.selecteditemsTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction2(36, _c32, ctx.selectedOptions, ctx.removeOption.bind(ctx)));
2810
+ i0.ɵɵproperty("ngTemplateOutlet", ctx.selectedItemsTemplate || ctx._selectedItemsTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction2(36, _c32, ctx.selectedOptions, ctx.removeOption.bind(ctx)));
2732
2811
  i0.ɵɵadvance();
2733
2812
  i0.ɵɵproperty("ngIf", ctx.isVisibleClearIcon);
2734
2813
  i0.ɵɵadvance(2);
@@ -2743,7 +2822,7 @@ class MultiSelect extends BaseComponent {
2743
2822
  args: [{
2744
2823
  selector: 'p-multiSelect, p-multiselect, p-multi-select',
2745
2824
  standalone: true,
2746
- imports: [CommonModule, MultiSelectItem, Overlay, SharedModule, Tooltip, Ripple, Scroller, AutoFocus, CheckIcon, SearchIcon, TimesCircleIcon, TimesIcon, ChevronDownIcon, MinusIcon, IconField, InputIcon, InputText, Chip, Checkbox, FormsModule],
2825
+ imports: [CommonModule, MultiSelectItem, Overlay, SharedModule, Tooltip, Scroller, AutoFocus, CheckIcon, SearchIcon, TimesIcon, ChevronDownIcon, IconField, InputIcon, InputText, Chip, Checkbox, FormsModule],
2747
2826
  template: `
2748
2827
  <div class="p-hidden-accessible" [attr.data-p-hidden-accessible]="true">
2749
2828
  <input
@@ -2779,16 +2858,22 @@ class MultiSelect extends BaseComponent {
2779
2858
  [tooltipStyleClass]="tooltipStyleClass"
2780
2859
  >
2781
2860
  <div [ngClass]="labelClass">
2782
- <ng-container *ngIf="!selecteditemsTemplate">
2861
+ <ng-container *ngIf="!selectedItemsTemplate && !_selectedItemsTemplate">
2783
2862
  <ng-container *ngIf="display === 'comma'">{{ label() || 'empty' }}</ng-container>
2784
2863
  <ng-container *ngIf="display === 'chip'">
2785
2864
  <div #token *ngFor="let item of chipSelectedItems(); let i = index" class="p-multiselect-chip-item">
2786
2865
  <p-chip styleClass="p-multiselect-chip" [label]="getLabelByValue(item)" [removable]="true" (onRemove)="removeOption(item, $event)" [removeIcon]="chipIcon">
2787
- <ng-container *ngIf="chipiconTemplate || removetokeniconTemplate">
2866
+ <ng-container *ngIf="chipIconTemplate || _chipIconTemplate || removeTokenIconTemplate || _removeTokenIconTemplate">
2788
2867
  <ng-template #removeicon>
2789
2868
  <ng-container *ngIf="!disabled">
2790
- <span class="p-multiselect-chip-icon" *ngIf="chipiconTemplate || removetokeniconTemplate" (click)="removeOption(item, $event)" [attr.data-pc-section]="'clearicon'" [attr.aria-hidden]="true">
2791
- <ng-container *ngTemplateOutlet="chipiconTemplate || removetokeniconTemplate; context: { class: 'p-multiselect-chip-icon' }"></ng-container>
2869
+ <span
2870
+ class="p-multiselect-chip-icon"
2871
+ *ngIf="chipIconTemplate || _chipIconTemplate || removeTokenIconTemplate || _removeTokenIconTemplate"
2872
+ (click)="removeOption(item, $event)"
2873
+ [attr.data-pc-section]="'clearicon'"
2874
+ [attr.aria-hidden]="true"
2875
+ >
2876
+ <ng-container *ngTemplateOutlet="chipIconTemplate || _chipIconTemplate || removeTokenIconTemplate || _removeTokenIconTemplate; context: { class: 'p-multiselect-chip-icon' }"></ng-container>
2792
2877
  </span>
2793
2878
  </ng-container>
2794
2879
  </ng-template>
@@ -2798,32 +2883,32 @@ class MultiSelect extends BaseComponent {
2798
2883
  <ng-container *ngIf="!modelValue() || modelValue().length === 0">{{ placeholder() || defaultLabel || 'empty' }}</ng-container>
2799
2884
  </ng-container>
2800
2885
  </ng-container>
2801
- <ng-container *ngTemplateOutlet="selecteditemsTemplate; context: { $implicit: selectedOptions, removeChip: removeOption.bind(this) }"></ng-container>
2886
+ <ng-container *ngTemplateOutlet="selectedItemsTemplate || _selectedItemsTemplate; context: { $implicit: selectedOptions, removeChip: removeOption.bind(this) }"></ng-container>
2802
2887
  </div>
2803
2888
  </div>
2804
2889
  <ng-container *ngIf="isVisibleClearIcon">
2805
- <TimesIcon *ngIf="!cleariconTemplate" class="p-multiselect-clear-icon" (click)="clear($event)" [attr.data-pc-section]="'clearicon'" [attr.aria-hidden]="true" />
2806
- <span *ngIf="cleariconTemplate" class="p-multiselect-clear-icon" (click)="clear($event)" [attr.data-pc-section]="'clearicon'" [attr.aria-hidden]="true">
2807
- <ng-template *ngTemplateOutlet="cleariconTemplate"></ng-template>
2890
+ <TimesIcon *ngIf="!clearIconTemplate && !_clearIconTemplate" class="p-multiselect-clear-icon" (click)="clear($event)" [attr.data-pc-section]="'clearicon'" [attr.aria-hidden]="true" />
2891
+ <span *ngIf="clearIconTemplate || _clearIconTemplate" class="p-multiselect-clear-icon" (click)="clear($event)" [attr.data-pc-section]="'clearicon'" [attr.aria-hidden]="true">
2892
+ <ng-template *ngTemplateOutlet="clearIconTemplate || _clearIconTemplate"></ng-template>
2808
2893
  </span>
2809
2894
  </ng-container>
2810
2895
  <div class="p-multiselect-dropdown">
2811
2896
  <ng-container *ngIf="loading; else elseBlock">
2812
- <ng-container *ngIf="loadingiconTemplate">
2813
- <ng-container *ngTemplateOutlet="loadingiconTemplate"></ng-container>
2897
+ <ng-container *ngIf="loadingIconTemplate || _loadingIconTemplate">
2898
+ <ng-container *ngTemplateOutlet="loadingIconTemplate || _loadingIconTemplate"></ng-container>
2814
2899
  </ng-container>
2815
- <ng-container *ngIf="!loadingiconTemplate">
2900
+ <ng-container *ngIf="!loadingIconTemplate && !_loadingIconTemplate">
2816
2901
  <span *ngIf="loadingIcon" [ngClass]="'p-multiselect-loading-icon pi-spin ' + loadingIcon" aria-hidden="true"></span>
2817
2902
  <span *ngIf="!loadingIcon" [class]="'p-multiselect-loading-icon pi pi-spinner pi-spin'" aria-hidden="true"></span>
2818
2903
  </ng-container>
2819
2904
  </ng-container>
2820
2905
  <ng-template #elseBlock>
2821
- <ng-container *ngIf="!dropdowniconTemplate">
2906
+ <ng-container *ngIf="!dropdownIconTemplate && !_dropdownIconTemplate">
2822
2907
  <span *ngIf="dropdownIcon" class="p-multiselect-dropdown-icon" [ngClass]="dropdownIcon" [attr.data-pc-section]="'triggericon'" [attr.aria-hidden]="true"></span>
2823
2908
  <ChevronDownIcon *ngIf="!dropdownIcon" [styleClass]="'p-multiselect-dropdown-icon'" [attr.data-pc-section]="'triggericon'" [attr.aria-hidden]="true" />
2824
2909
  </ng-container>
2825
- <span *ngIf="dropdowniconTemplate" class="p-multiselect-dropdown-icon" [attr.data-pc-section]="'triggericon'" [attr.aria-hidden]="true">
2826
- <ng-template *ngTemplateOutlet="dropdowniconTemplate"></ng-template>
2910
+ <span *ngIf="dropdownIconTemplate || _dropdownIconTemplate" class="p-multiselect-dropdown-icon" [attr.data-pc-section]="'triggericon'" [attr.aria-hidden]="true">
2911
+ <ng-template *ngTemplateOutlet="dropdownIconTemplate || _dropdownIconTemplate"></ng-template>
2827
2912
  </span>
2828
2913
  </ng-template>
2829
2914
  </div>
@@ -2852,23 +2937,23 @@ class MultiSelect extends BaseComponent {
2852
2937
  [attr.data-p-hidden-focusable]="true"
2853
2938
  >
2854
2939
  </span>
2855
- <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
2940
+ <ng-container *ngTemplateOutlet="headerTemplate || _headerTemplate"></ng-container>
2856
2941
  <div class="p-multiselect-header" *ngIf="showHeader">
2857
2942
  <ng-content select="p-header"></ng-content>
2858
- <ng-container *ngIf="filterTemplate; else builtInFilterElement">
2859
- <ng-container *ngTemplateOutlet="filterTemplate; context: { options: filterOptions }"></ng-container>
2943
+ <ng-container *ngIf="filterTemplate || _filterTemplate; else builtInFilterElement">
2944
+ <ng-container *ngTemplateOutlet="filterTemplate || _filterTemplate; context: { options: filterOptions }"></ng-container>
2860
2945
  </ng-container>
2861
2946
  <ng-template #builtInFilterElement>
2862
2947
  <p-checkbox [ngModel]="allSelected()" [binary]="true" (onChange)="onToggleAll($event)" *ngIf="showToggleAll && !selectionLimit" [variant]="variant" [disabled]="disabled" #headerCheckbox>
2863
- <ng-template #checkboxicon let-class="class">
2864
- <CheckIcon *ngIf="!headercheckboxiconTemplate && allSelected()" [styleClass]="class" [attr.data-pc-section]="'icon'" />
2948
+ <ng-template #checkboxicon let-klass="class">
2949
+ <CheckIcon *ngIf="!headerCheckboxIconTemplate && !_headerCheckboxIconTemplate && allSelected()" [styleClass]="klass" [attr.data-pc-section]="'icon'" />
2865
2950
  <ng-template
2866
2951
  *ngTemplateOutlet="
2867
- headercheckboxiconTemplate;
2952
+ headerCheckboxIconTemplate || _headerCheckboxIconTemplate;
2868
2953
  context: {
2869
2954
  checked: allSelected(),
2870
2955
  partialSelected: partialSelected(),
2871
- class: class
2956
+ class: klass
2872
2957
  }
2873
2958
  "
2874
2959
  ></ng-template>
@@ -2897,9 +2982,9 @@ class MultiSelect extends BaseComponent {
2897
2982
  [attr.aria-label]="ariaFilterLabel"
2898
2983
  />
2899
2984
  <p-inputicon>
2900
- <SearchIcon [styleClass]="'p-multiselect-filter-icon'" *ngIf="!filtericonTemplate" />
2901
- <span *ngIf="filtericonTemplate" class="p-multiselect-filter-icon">
2902
- <ng-template *ngTemplateOutlet="filtericonTemplate"></ng-template>
2985
+ <SearchIcon [styleClass]="'p-multiselect-filter-icon'" *ngIf="!filterIconTemplate && !_filterIconTemplate" />
2986
+ <span *ngIf="filterIconTemplate || _filterIconTemplate" class="p-multiselect-filter-icon">
2987
+ <ng-template *ngTemplateOutlet="filterIconTemplate || _filterIconTemplate"></ng-template>
2903
2988
  </span>
2904
2989
  </p-inputicon>
2905
2990
  </p-iconfield>
@@ -2922,9 +3007,9 @@ class MultiSelect extends BaseComponent {
2922
3007
  <ng-template #content let-items let-scrollerOptions="options">
2923
3008
  <ng-container *ngTemplateOutlet="buildInItems; context: { $implicit: items, options: scrollerOptions }"></ng-container>
2924
3009
  </ng-template>
2925
- <ng-container *ngIf="loaderTemplate">
3010
+ <ng-container *ngIf="loaderTemplate || _loaderTemplate">
2926
3011
  <ng-template #loader let-scrollerOptions="options">
2927
- <ng-container *ngTemplateOutlet="loaderTemplate; context: { options: scrollerOptions }"></ng-container>
3012
+ <ng-container *ngTemplateOutlet="loaderTemplate || _loaderTemplate; context: { options: scrollerOptions }"></ng-container>
2928
3013
  </ng-template>
2929
3014
  </ng-container>
2930
3015
  </p-scroller>
@@ -2948,9 +3033,9 @@ class MultiSelect extends BaseComponent {
2948
3033
  [selected]="isSelected(option)"
2949
3034
  [label]="getOptionLabel(option)"
2950
3035
  [disabled]="isOptionDisabled(option)"
2951
- [template]="itemTemplate"
2952
- [checkiconTemplate]="checkiconTemplate"
2953
- [itemcheckboxiconTemplate]="itemcheckboxiconTemplate"
3036
+ [template]="itemTemplate || _itemTemplate"
3037
+ [checkIconTemplate]="checkIconTemplate || _checkIconTemplate"
3038
+ [itemCheckboxIconTemplate]="itemCheckboxIconTemplate || _itemCheckboxIconTemplate"
2954
3039
  [itemSize]="scrollerOptions.itemSize"
2955
3040
  [focused]="focusedOptionIndex() === getOptionIndex(i, scrollerOptions)"
2956
3041
  [ariaPosInset]="getAriaPosInset(getOptionIndex(i, scrollerOptions))"
@@ -2963,25 +3048,25 @@ class MultiSelect extends BaseComponent {
2963
3048
  </ng-template>
2964
3049
 
2965
3050
  <li *ngIf="hasFilter() && isEmpty()" class="p-multiselect-empty-message" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
2966
- @if (!emptyfilterTemplate && !emptyTemplate) {
3051
+ @if (!emptyFilterTemplate && !_emptyFilterTemplate && !emptyTemplate && !_emptyTemplate) {
2967
3052
  {{ emptyFilterMessageLabel }}
2968
3053
  } @else {
2969
- <ng-container *ngTemplateOutlet="emptyfilterTemplate || emptyTemplate"></ng-container>
3054
+ <ng-container *ngTemplateOutlet="emptyFilterTemplate || _emptyFilterTemplate || emptyTemplate || _emptyFilterTemplate"></ng-container>
2970
3055
  }
2971
3056
  </li>
2972
3057
  <li *ngIf="!hasFilter() && isEmpty()" class="p-multiselect-empty-message" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
2973
- @if (!emptyTemplate) {
3058
+ @if (!emptyTemplate && !_emptyTemplate) {
2974
3059
  {{ emptyMessageLabel }}
2975
3060
  } @else {
2976
- <ng-container *ngTemplateOutlet="emptyTemplate"></ng-container>
3061
+ <ng-container *ngTemplateOutlet="emptyTemplate || _emptyTemplate"></ng-container>
2977
3062
  }
2978
3063
  </li>
2979
3064
  </ul>
2980
3065
  </ng-template>
2981
3066
  </div>
2982
- <div *ngIf="footerFacet || footerTemplate">
3067
+ <div *ngIf="footerFacet || footerTemplate || _footerTemplate">
2983
3068
  <ng-content select="p-footer"></ng-content>
2984
- <ng-container *ngTemplateOutlet="footerTemplate"></ng-container>
3069
+ <ng-container *ngTemplateOutlet="footerTemplate || _footerTemplate"></ng-container>
2985
3070
  </div>
2986
3071
 
2987
3072
  <span
@@ -3225,58 +3310,61 @@ class MultiSelect extends BaseComponent {
3225
3310
  args: [Header]
3226
3311
  }], itemTemplate: [{
3227
3312
  type: ContentChild,
3228
- args: ['item']
3313
+ args: ['item', { descendants: false }]
3229
3314
  }], groupTemplate: [{
3230
3315
  type: ContentChild,
3231
- args: ['group']
3316
+ args: ['group', { descendants: false }]
3232
3317
  }], loaderTemplate: [{
3233
3318
  type: ContentChild,
3234
- args: ['loader']
3319
+ args: ['loader', { descendants: false }]
3235
3320
  }], headerTemplate: [{
3236
3321
  type: ContentChild,
3237
- args: ['header']
3322
+ args: ['header', { descendants: false }]
3238
3323
  }], filterTemplate: [{
3239
3324
  type: ContentChild,
3240
- args: ['filter']
3325
+ args: ['filter', { descendants: false }]
3241
3326
  }], footerTemplate: [{
3242
3327
  type: ContentChild,
3243
- args: ['footer']
3244
- }], emptyfilterTemplate: [{
3328
+ args: ['footer', { descendants: false }]
3329
+ }], emptyFilterTemplate: [{
3245
3330
  type: ContentChild,
3246
- args: ['emptyfilter']
3331
+ args: ['emptyfilter', { descendants: false }]
3247
3332
  }], emptyTemplate: [{
3248
3333
  type: ContentChild,
3249
- args: ['empty']
3250
- }], selecteditemsTemplate: [{
3334
+ args: ['empty', { descendants: false }]
3335
+ }], selectedItemsTemplate: [{
3251
3336
  type: ContentChild,
3252
- args: ['selecteditems']
3253
- }], checkiconTemplate: [{
3337
+ args: ['selecteditems', { descendants: false }]
3338
+ }], checkIconTemplate: [{
3254
3339
  type: ContentChild,
3255
- args: ['checkicon']
3256
- }], loadingiconTemplate: [{
3340
+ args: ['checkicon', { descendants: false }]
3341
+ }], loadingIconTemplate: [{
3257
3342
  type: ContentChild,
3258
- args: ['loadingicon']
3259
- }], filtericonTemplate: [{
3343
+ args: ['loadingicon', { descendants: false }]
3344
+ }], filterIconTemplate: [{
3260
3345
  type: ContentChild,
3261
- args: ['filtericon']
3262
- }], removetokeniconTemplate: [{
3346
+ args: ['filtericon', { descendants: false }]
3347
+ }], removeTokenIconTemplate: [{
3263
3348
  type: ContentChild,
3264
- args: ['removetokenicon']
3265
- }], chipiconTemplate: [{
3349
+ args: ['removetokenicon', { descendants: false }]
3350
+ }], chipIconTemplate: [{
3266
3351
  type: ContentChild,
3267
- args: ['chipicon']
3268
- }], cleariconTemplate: [{
3352
+ args: ['chipicon', { descendants: false }]
3353
+ }], clearIconTemplate: [{
3269
3354
  type: ContentChild,
3270
- args: ['clearicon']
3271
- }], dropdowniconTemplate: [{
3355
+ args: ['clearicon', { descendants: false }]
3356
+ }], dropdownIconTemplate: [{
3272
3357
  type: ContentChild,
3273
- args: ['dropdownicon']
3274
- }], itemcheckboxiconTemplate: [{
3358
+ args: ['dropdownicon', { descendants: false }]
3359
+ }], itemCheckboxIconTemplate: [{
3275
3360
  type: ContentChild,
3276
- args: ['itemcheckboxicon']
3277
- }], headercheckboxiconTemplate: [{
3361
+ args: ['itemcheckboxicon', { descendants: false }]
3362
+ }], headerCheckboxIconTemplate: [{
3278
3363
  type: ContentChild,
3279
- args: ['headercheckboxicon']
3364
+ args: ['headercheckboxicon', { descendants: false }]
3365
+ }], templates: [{
3366
+ type: ContentChildren,
3367
+ args: [PrimeTemplate]
3280
3368
  }], hostClasses: [{
3281
3369
  type: HostBinding,
3282
3370
  args: ['class']