primeng 19.0.0-rc.1 → 19.0.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 (240) hide show
  1. package/accordion/accordion.d.ts +7 -7
  2. package/autocomplete/autocomplete.d.ts +21 -8
  3. package/badge/badge.d.ts +1 -3
  4. package/basecomponent/basecomponent.d.ts +2 -5
  5. package/blockui/blockui.d.ts +10 -5
  6. package/breadcrumb/breadcrumb.d.ts +9 -6
  7. package/button/button.d.ts +10 -4
  8. package/calendar/calendar.d.ts +29 -15
  9. package/card/card.d.ts +12 -5
  10. package/carousel/carousel.d.ts +10 -4
  11. package/cascadeselect/cascadeselect.d.ts +18 -8
  12. package/checkbox/checkbox.d.ts +8 -4
  13. package/chip/chip.d.ts +9 -7
  14. package/config/themeprovider.d.ts +6 -0
  15. package/confirmdialog/confirmdialog.d.ts +15 -5
  16. package/confirmpopup/confirmpopup.d.ts +11 -5
  17. package/contextmenu/contextmenu.d.ts +10 -6
  18. package/datepicker/datepicker.d.ts +25 -11
  19. package/dialog/dialog.d.ts +15 -4
  20. package/divider/divider.d.ts +1 -1
  21. package/dock/dock.d.ts +7 -4
  22. package/drawer/drawer.d.ts +18 -10
  23. package/dropdown/dropdown.d.ts +4 -3
  24. package/dynamicdialog/dynamicdialog.d.ts +3 -2
  25. package/editor/editor.d.ts +7 -3
  26. package/fesm2022/primeng-accordion.mjs +56 -41
  27. package/fesm2022/primeng-accordion.mjs.map +1 -1
  28. package/fesm2022/primeng-autocomplete.mjs +153 -92
  29. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  30. package/fesm2022/primeng-badge.mjs +39 -32
  31. package/fesm2022/primeng-badge.mjs.map +1 -1
  32. package/fesm2022/primeng-basecomponent.mjs +2 -25
  33. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  34. package/fesm2022/primeng-blockui.mjs +38 -18
  35. package/fesm2022/primeng-blockui.mjs.map +1 -1
  36. package/fesm2022/primeng-breadcrumb.mjs +49 -31
  37. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  38. package/fesm2022/primeng-button.mjs +55 -28
  39. package/fesm2022/primeng-button.mjs.map +1 -1
  40. package/fesm2022/primeng-calendar.mjs +199 -136
  41. package/fesm2022/primeng-calendar.mjs.map +1 -1
  42. package/fesm2022/primeng-card.mjs +95 -45
  43. package/fesm2022/primeng-card.mjs.map +1 -1
  44. package/fesm2022/primeng-carousel.mjs +74 -42
  45. package/fesm2022/primeng-carousel.mjs.map +1 -1
  46. package/fesm2022/primeng-cascadeselect.mjs +99 -61
  47. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  48. package/fesm2022/primeng-checkbox.mjs +31 -12
  49. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  50. package/fesm2022/primeng-chip.mjs +117 -96
  51. package/fesm2022/primeng-chip.mjs.map +1 -1
  52. package/fesm2022/primeng-config.mjs +13 -11
  53. package/fesm2022/primeng-config.mjs.map +1 -1
  54. package/fesm2022/primeng-confirmdialog.mjs +104 -60
  55. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  56. package/fesm2022/primeng-confirmpopup.mjs +57 -29
  57. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  58. package/fesm2022/primeng-contextmenu.mjs +52 -21
  59. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  60. package/fesm2022/primeng-datepicker.mjs +199 -158
  61. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  62. package/fesm2022/primeng-dialog.mjs +97 -50
  63. package/fesm2022/primeng-dialog.mjs.map +1 -1
  64. package/fesm2022/primeng-divider.mjs +2 -4
  65. package/fesm2022/primeng-divider.mjs.map +1 -1
  66. package/fesm2022/primeng-dock.mjs +29 -10
  67. package/fesm2022/primeng-dock.mjs.map +1 -1
  68. package/fesm2022/primeng-drawer.mjs +112 -70
  69. package/fesm2022/primeng-drawer.mjs.map +1 -1
  70. package/fesm2022/primeng-dropdown.mjs +14 -6
  71. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  72. package/fesm2022/primeng-dynamicdialog.mjs +25 -21
  73. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  74. package/fesm2022/primeng-editor.mjs +26 -10
  75. package/fesm2022/primeng-editor.mjs.map +1 -1
  76. package/fesm2022/primeng-fieldset.mjs +61 -33
  77. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  78. package/fesm2022/primeng-fileupload.mjs +138 -87
  79. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  80. package/fesm2022/primeng-galleria.mjs +22 -13
  81. package/fesm2022/primeng-galleria.mjs.map +1 -1
  82. package/fesm2022/primeng-image.mjs +113 -66
  83. package/fesm2022/primeng-image.mjs.map +1 -1
  84. package/fesm2022/primeng-imagecompare.mjs +30 -10
  85. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  86. package/fesm2022/primeng-inplace.mjs +51 -26
  87. package/fesm2022/primeng-inplace.mjs.map +1 -1
  88. package/fesm2022/primeng-inputmask.mjs +31 -15
  89. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  90. package/fesm2022/primeng-inputnumber.mjs +54 -45
  91. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  92. package/fesm2022/primeng-inputotp.mjs +30 -11
  93. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  94. package/fesm2022/primeng-listbox.mjs +137 -78
  95. package/fesm2022/primeng-listbox.mjs.map +1 -1
  96. package/fesm2022/primeng-megamenu.mjs +105 -59
  97. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  98. package/fesm2022/primeng-menu.mjs +26 -26
  99. package/fesm2022/primeng-menu.mjs.map +1 -1
  100. package/fesm2022/primeng-menubar.mjs +69 -34
  101. package/fesm2022/primeng-menubar.mjs.map +1 -1
  102. package/fesm2022/primeng-message.mjs +49 -25
  103. package/fesm2022/primeng-message.mjs.map +1 -1
  104. package/fesm2022/primeng-messages.mjs +12 -3
  105. package/fesm2022/primeng-messages.mjs.map +1 -1
  106. package/fesm2022/primeng-metergroup.mjs +62 -30
  107. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  108. package/fesm2022/primeng-multiselect.mjs +246 -155
  109. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  110. package/fesm2022/primeng-orderlist.mjs +123 -68
  111. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  112. package/fesm2022/primeng-organizationchart.mjs +31 -15
  113. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  114. package/fesm2022/primeng-overlay.mjs +26 -6
  115. package/fesm2022/primeng-overlay.mjs.map +1 -1
  116. package/fesm2022/primeng-overlaypanel.mjs +29 -9
  117. package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
  118. package/fesm2022/primeng-paginator.mjs +92 -60
  119. package/fesm2022/primeng-paginator.mjs.map +1 -1
  120. package/fesm2022/primeng-panel.mjs +159 -98
  121. package/fesm2022/primeng-panel.mjs.map +1 -1
  122. package/fesm2022/primeng-panelmenu.mjs +55 -32
  123. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  124. package/fesm2022/primeng-password.mjs +88 -49
  125. package/fesm2022/primeng-password.mjs.map +1 -1
  126. package/fesm2022/primeng-picklist.mjs +360 -228
  127. package/fesm2022/primeng-picklist.mjs.map +1 -1
  128. package/fesm2022/primeng-popover.mjs +23 -7
  129. package/fesm2022/primeng-popover.mjs.map +1 -1
  130. package/fesm2022/primeng-progressbar.mjs +26 -8
  131. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  132. package/fesm2022/primeng-rating.mjs +44 -20
  133. package/fesm2022/primeng-rating.mjs.map +1 -1
  134. package/fesm2022/primeng-scroller.mjs +47 -37
  135. package/fesm2022/primeng-scroller.mjs.map +1 -1
  136. package/fesm2022/primeng-scrollpanel.mjs +28 -9
  137. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  138. package/fesm2022/primeng-scrolltop.mjs +16 -9
  139. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  140. package/fesm2022/primeng-select.mjs +198 -119
  141. package/fesm2022/primeng-select.mjs.map +1 -1
  142. package/fesm2022/primeng-selectbutton.mjs +25 -9
  143. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  144. package/fesm2022/primeng-sidebar.mjs +81 -58
  145. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  146. package/fesm2022/primeng-speeddial.mjs +54 -29
  147. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  148. package/fesm2022/primeng-splitbutton.mjs +41 -18
  149. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  150. package/fesm2022/primeng-splitter.mjs +4 -4
  151. package/fesm2022/primeng-splitter.mjs.map +1 -1
  152. package/fesm2022/primeng-stepper.mjs +33 -19
  153. package/fesm2022/primeng-stepper.mjs.map +1 -1
  154. package/fesm2022/primeng-table.mjs +115 -103
  155. package/fesm2022/primeng-table.mjs.map +1 -1
  156. package/fesm2022/primeng-tabmenu.mjs +54 -27
  157. package/fesm2022/primeng-tabmenu.mjs.map +1 -1
  158. package/fesm2022/primeng-tabs.mjs +27 -19
  159. package/fesm2022/primeng-tabs.mjs.map +1 -1
  160. package/fesm2022/primeng-tabview.mjs +106 -54
  161. package/fesm2022/primeng-tabview.mjs.map +1 -1
  162. package/fesm2022/primeng-tag.mjs +68 -44
  163. package/fesm2022/primeng-tag.mjs.map +1 -1
  164. package/fesm2022/primeng-tieredmenu.mjs +44 -21
  165. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  166. package/fesm2022/primeng-timeline.mjs +40 -16
  167. package/fesm2022/primeng-timeline.mjs.map +1 -1
  168. package/fesm2022/primeng-toast.mjs +30 -7
  169. package/fesm2022/primeng-toast.mjs.map +1 -1
  170. package/fesm2022/primeng-togglebutton.mjs +44 -28
  171. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  172. package/fesm2022/primeng-toggleswitch.mjs +28 -9
  173. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  174. package/fesm2022/primeng-toolbar.mjs +46 -20
  175. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  176. package/fesm2022/primeng-tooltip.mjs +32 -69
  177. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  178. package/fesm2022/primeng-tree.mjs +113 -96
  179. package/fesm2022/primeng-tree.mjs.map +1 -1
  180. package/fesm2022/primeng-treeselect.mjs +154 -85
  181. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  182. package/fesm2022/primeng-treetable.mjs +31 -14
  183. package/fesm2022/primeng-treetable.mjs.map +1 -1
  184. package/fesm2022/primeng-usestyle.mjs +1 -1
  185. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  186. package/fieldset/fieldset.d.ts +12 -6
  187. package/fileupload/fileupload.d.ts +19 -8
  188. package/galleria/galleria.d.ts +3 -2
  189. package/image/image.d.ts +18 -7
  190. package/imagecompare/imagecompare.d.ts +7 -2
  191. package/inplace/inplace.d.ts +12 -6
  192. package/inputmask/inputmask.d.ts +8 -4
  193. package/inputnumber/inputnumber.d.ts +11 -6
  194. package/inputotp/inputotp.d.ts +7 -2
  195. package/listbox/listbox.d.ts +17 -4
  196. package/megamenu/megamenu.d.ts +16 -7
  197. package/menu/menu.d.ts +6 -6
  198. package/menubar/menubar.d.ts +13 -6
  199. package/message/message.d.ts +10 -4
  200. package/messages/messages.d.ts +4 -3
  201. package/metergroup/metergroup.d.ts +11 -3
  202. package/multiselect/multiselect.d.ts +36 -17
  203. package/orderlist/orderlist.d.ts +23 -11
  204. package/organizationchart/organizationchart.d.ts +6 -4
  205. package/overlay/overlay.d.ts +6 -3
  206. package/overlaypanel/overlaypanel.d.ts +6 -3
  207. package/package.json +180 -180
  208. package/paginator/paginator.d.ts +15 -8
  209. package/panel/panel.d.ts +14 -5
  210. package/panelmenu/panelmenu.d.ts +8 -4
  211. package/password/password.d.ts +15 -7
  212. package/picklist/picklist.d.ts +23 -3
  213. package/popover/popover.d.ts +7 -4
  214. package/progressbar/progressbar.d.ts +7 -3
  215. package/rating/rating.d.ts +11 -5
  216. package/scroller/scroller.d.ts +9 -4
  217. package/scrollpanel/scrollpanel.d.ts +7 -3
  218. package/scrolltop/scrolltop.d.ts +7 -4
  219. package/select/select.d.ts +31 -13
  220. package/selectbutton/selectbutton.d.ts +7 -3
  221. package/sidebar/sidebar.d.ts +9 -2
  222. package/speeddial/speeddial.d.ts +9 -4
  223. package/splitbutton/splitbutton.d.ts +9 -5
  224. package/splitter/splitter.d.ts +4 -4
  225. package/stepper/stepper.d.ts +8 -3
  226. package/table/table.d.ts +2 -2
  227. package/tabmenu/tabmenu.d.ts +12 -7
  228. package/tabs/tablist.d.ts +6 -2
  229. package/tabview/tabview.d.ts +16 -7
  230. package/tag/tag.d.ts +8 -9
  231. package/tieredmenu/tieredmenu.d.ts +10 -6
  232. package/timeline/timeline.d.ts +7 -2
  233. package/toast/toast.d.ts +7 -3
  234. package/togglebutton/togglebutton.d.ts +8 -3
  235. package/toggleswitch/toggleswitch.d.ts +6 -2
  236. package/toolbar/toolbar.d.ts +9 -4
  237. package/tooltip/tooltip.d.ts +2 -1
  238. package/tree/tree.d.ts +23 -10
  239. package/treeselect/treeselect.d.ts +26 -12
  240. package/treetable/treetable.d.ts +6 -4
@@ -1,12 +1,12 @@
1
1
  import * as i2 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Injectable, forwardRef, EventEmitter, signal, inject, computed, booleanAttribute, numberAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, ViewChild, ContentChild, NgModule } from '@angular/core';
4
+ import { Injectable, forwardRef, EventEmitter, signal, inject, computed, booleanAttribute, numberAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, ViewChild, ContentChild, ContentChildren, NgModule } from '@angular/core';
5
5
  import * as i3 from '@angular/forms';
6
6
  import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
7
7
  import { isNotEmpty, uuid, equals, focus, getFirstFocusableElement, isEmpty, isPrintableCharacter, resolveFieldData, findSingle, findLastIndex } from '@primeuix/utils';
8
8
  import * as i1 from 'primeng/api';
9
- import { Header, Footer, SharedModule } from 'primeng/api';
9
+ import { Header, Footer, PrimeTemplate, SharedModule } from 'primeng/api';
10
10
  import { BaseComponent } from 'primeng/basecomponent';
11
11
  import { Checkbox } from 'primeng/checkbox';
12
12
  import { IconField } from 'primeng/iconfield';
@@ -259,7 +259,7 @@ function Listbox_div_3_Template(rf, ctx) { if (rf & 1) {
259
259
  } if (rf & 2) {
260
260
  const ctx_r1 = i0.ɵɵnextContext();
261
261
  i0.ɵɵadvance(2);
262
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.headerTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c19, ctx_r1.modelValue(), ctx_r1.visibleOptions()));
262
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.headerTemplate || ctx_r1._headerTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c19, ctx_r1.modelValue(), ctx_r1.visibleOptions()));
263
263
  } }
264
264
  function Listbox_div_4_div_1_p_checkbox_4_ng_container_1_ng_template_1_0_ng_template_0_Template(rf, ctx) { }
265
265
  function Listbox_div_4_div_1_p_checkbox_4_ng_container_1_ng_template_1_0_Template(rf, ctx) { if (rf & 1) {
@@ -269,7 +269,7 @@ function Listbox_div_4_div_1_p_checkbox_4_ng_container_1_ng_template_1_Template(
269
269
  i0.ɵɵtemplate(0, Listbox_div_4_div_1_p_checkbox_4_ng_container_1_ng_template_1_0_Template, 1, 0, null, 24);
270
270
  } if (rf & 2) {
271
271
  const ctx_r1 = i0.ɵɵnextContext(5);
272
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.checkIconTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c21, ctx_r1.allSelected()));
272
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.checkIconTemplate || ctx_r1._checkIconTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c21, ctx_r1.allSelected()));
273
273
  } }
274
274
  function Listbox_div_4_div_1_p_checkbox_4_ng_container_1_Template(rf, ctx) { if (rf & 1) {
275
275
  i0.ɵɵelementContainerStart(0);
@@ -284,7 +284,7 @@ function Listbox_div_4_div_1_p_checkbox_4_Template(rf, ctx) { if (rf & 1) {
284
284
  const ctx_r1 = i0.ɵɵnextContext(3);
285
285
  i0.ɵɵproperty("ngModel", ctx_r1.allSelected())("disabled", ctx_r1.disabled)("tabindex", -1)("variant", ctx_r1.config.inputStyle() === "filled" ? "filled" : "outlined" || ctx_r1.config.inputVariant() === "filled" ? "filled" : "outlined")("binary", true);
286
286
  i0.ɵɵadvance();
287
- i0.ɵɵproperty("ngIf", ctx_r1.checkIconTemplate);
287
+ i0.ɵɵproperty("ngIf", ctx_r1.checkIconTemplate || ctx_r1._checkIconTemplate);
288
288
  } }
289
289
  function Listbox_div_4_div_1_Template(rf, ctx) { if (rf & 1) {
290
290
  const _r3 = i0.ɵɵgetCurrentView();
@@ -316,7 +316,7 @@ function Listbox_div_4_ng_container_2_Template(rf, ctx) { if (rf & 1) {
316
316
  } if (rf & 2) {
317
317
  const ctx_r1 = i0.ɵɵnextContext(2);
318
318
  i0.ɵɵadvance();
319
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.filterTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c22, ctx_r1.filterOptions));
319
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.filterTemplate || ctx_r1._filterTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c22, ctx_r1.filterOptions));
320
320
  } }
321
321
  function Listbox_div_4_ng_template_3_div_0_SearchIcon_5_Template(rf, ctx) { if (rf & 1) {
322
322
  i0.ɵɵelement(0, "SearchIcon", 38);
@@ -336,7 +336,7 @@ function Listbox_div_4_ng_template_3_div_0_span_6_Template(rf, ctx) { if (rf & 1
336
336
  const ctx_r1 = i0.ɵɵnextContext(4);
337
337
  i0.ɵɵattribute("aria-hidden", true);
338
338
  i0.ɵɵadvance();
339
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.filterIconTemplate);
339
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.filterIconTemplate || ctx_r1._filterIconTemplate);
340
340
  } }
341
341
  function Listbox_div_4_ng_template_3_div_0_Template(rf, ctx) { if (rf & 1) {
342
342
  const _r4 = i0.ɵɵgetCurrentView();
@@ -352,9 +352,9 @@ function Listbox_div_4_ng_template_3_div_0_Template(rf, ctx) { if (rf & 1) {
352
352
  i0.ɵɵproperty("value", ctx_r1._filterValue() || "")("disabled", ctx_r1.disabled)("tabindex", !ctx_r1.disabled && !ctx_r1.focused ? ctx_r1.tabindex : -1);
353
353
  i0.ɵɵattribute("aria-owns", ctx_r1.id + "_list")("aria-activedescendant", ctx_r1.focusedOptionId)("placeholder", ctx_r1.filterPlaceHolder)("aria-label", ctx_r1.ariaFilterLabel);
354
354
  i0.ɵɵadvance(3);
355
- i0.ɵɵproperty("ngIf", !ctx_r1.filterIconTemplate);
355
+ i0.ɵɵproperty("ngIf", !ctx_r1.filterIconTemplate && !ctx_r1._filterIconTemplate);
356
356
  i0.ɵɵadvance();
357
- i0.ɵɵproperty("ngIf", ctx_r1.filterIconTemplate);
357
+ i0.ɵɵproperty("ngIf", ctx_r1.filterIconTemplate || ctx_r1._filterIconTemplate);
358
358
  } }
359
359
  function Listbox_div_4_ng_template_3_Template(rf, ctx) { if (rf & 1) {
360
360
  i0.ɵɵtemplate(0, Listbox_div_4_ng_template_3_div_0_Template, 7, 9, "div", 32);
@@ -379,7 +379,7 @@ function Listbox_div_4_Template(rf, ctx) { if (rf & 1) {
379
379
  i0.ɵɵadvance();
380
380
  i0.ɵɵproperty("ngIf", ctx_r1.checkbox && ctx_r1.multiple && ctx_r1.showToggleAll);
381
381
  i0.ɵɵadvance();
382
- i0.ɵɵproperty("ngIf", ctx_r1.filterTemplate)("ngIfElse", builtInFilterElement_r5);
382
+ i0.ɵɵproperty("ngIf", ctx_r1.filterTemplate || ctx_r1._filterTemplate)("ngIfElse", builtInFilterElement_r5);
383
383
  } }
384
384
  function Listbox_p_scroller_7_ng_template_2_ng_container_0_Template(rf, ctx) { if (rf & 1) {
385
385
  i0.ɵɵelementContainer(0);
@@ -401,7 +401,7 @@ function Listbox_p_scroller_7_Conditional_4_ng_template_0_Template(rf, ctx) { if
401
401
  } if (rf & 2) {
402
402
  const scrollerOptions_r10 = ctx.options;
403
403
  const ctx_r1 = i0.ɵɵnextContext(3);
404
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.loaderTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c22, scrollerOptions_r10));
404
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.loaderTemplate || ctx_r1._loaderTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c22, scrollerOptions_r10));
405
405
  } }
406
406
  function Listbox_p_scroller_7_Conditional_4_Template(rf, ctx) { if (rf & 1) {
407
407
  i0.ɵɵtemplate(0, Listbox_p_scroller_7_Conditional_4_ng_template_0_Template, 1, 4, "ng-template", null, 10, i0.ɵɵtemplateRefExtractor);
@@ -417,7 +417,7 @@ function Listbox_p_scroller_7_Template(rf, ctx) { if (rf & 1) {
417
417
  i0.ɵɵstyleMap(i0.ɵɵpureFunction1(9, _c23, ctx_r1.scrollHeight));
418
418
  i0.ɵɵproperty("items", ctx_r1.visibleOptions())("itemSize", ctx_r1.virtualScrollItemSize)("autoSize", true)("lazy", ctx_r1.lazy)("options", ctx_r1.virtualScrollOptions)("tabindex", ctx_r1.scrollerTabIndex);
419
419
  i0.ɵɵadvance(4);
420
- i0.ɵɵconditional(ctx_r1.loaderTemplate ? 4 : -1);
420
+ i0.ɵɵconditional(ctx_r1.loaderTemplate || ctx_r1._loaderTemplate ? 4 : -1);
421
421
  } }
422
422
  function Listbox_ng_container_8_ng_container_1_Template(rf, ctx) { if (rf & 1) {
423
423
  i0.ɵɵelementContainer(0);
@@ -461,9 +461,9 @@ function Listbox_ng_template_9_ng_template_2_ng_container_0_Template(rf, ctx) {
461
461
  i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(5, _c23, scrollerOptions_r15.itemSize + "px"));
462
462
  i0.ɵɵattribute("id", ctx_r1.id + "_" + ctx_r1.getOptionIndex(i_r14, scrollerOptions_r15));
463
463
  i0.ɵɵadvance();
464
- i0.ɵɵproperty("ngIf", !ctx_r1.groupTemplate);
464
+ i0.ɵɵproperty("ngIf", !ctx_r1.groupTemplate && !ctx_r1._groupTemplate);
465
465
  i0.ɵɵadvance();
466
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.groupTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(7, _c21, option_r12.optionGroup));
466
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.groupTemplate || ctx_r1._groupTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(7, _c21, option_r12.optionGroup));
467
467
  } }
468
468
  function Listbox_ng_template_9_ng_template_2_ng_container_1_p_checkbox_2_ng_container_1_ng_template_1_0_ng_template_0_Template(rf, ctx) { }
469
469
  function Listbox_ng_template_9_ng_template_2_ng_container_1_p_checkbox_2_ng_container_1_ng_template_1_0_Template(rf, ctx) { if (rf & 1) {
@@ -474,7 +474,7 @@ function Listbox_ng_template_9_ng_template_2_ng_container_1_p_checkbox_2_ng_cont
474
474
  } if (rf & 2) {
475
475
  const option_r12 = i0.ɵɵnextContext(4).$implicit;
476
476
  const ctx_r1 = i0.ɵɵnextContext(2);
477
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.checkIconTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c21, ctx_r1.isSelected(option_r12)));
477
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.checkIconTemplate || ctx_r1._checkIconTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c21, ctx_r1.isSelected(option_r12)));
478
478
  } }
479
479
  function Listbox_ng_template_9_ng_template_2_ng_container_1_p_checkbox_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
480
480
  i0.ɵɵelementContainerStart(0);
@@ -490,7 +490,7 @@ function Listbox_ng_template_9_ng_template_2_ng_container_1_p_checkbox_2_Templat
490
490
  const ctx_r1 = i0.ɵɵnextContext(2);
491
491
  i0.ɵɵproperty("ngModel", ctx_r1.isSelected(option_r12))("disabled", ctx_r1.disabled || ctx_r1.isOptionDisabled(option_r12))("tabindex", -1)("variant", ctx_r1.config.inputStyle() === "filled" ? "filled" : "outlined" || ctx_r1.config.inputVariant() === "filled" ? "filled" : "outlined")("binary", true);
492
492
  i0.ɵɵadvance();
493
- i0.ɵɵproperty("ngIf", ctx_r1.checkIconTemplate);
493
+ i0.ɵɵproperty("ngIf", ctx_r1.checkIconTemplate || ctx_r1._checkIconTemplate);
494
494
  } }
495
495
  function Listbox_ng_template_9_ng_template_2_ng_container_1_ng_container_3_ng_container_1_BlankIcon_1_Template(rf, ctx) { if (rf & 1) {
496
496
  i0.ɵɵelement(0, "BlankIcon", 48);
@@ -521,9 +521,9 @@ function Listbox_ng_template_9_ng_template_2_ng_container_1_ng_container_3_Templ
521
521
  const option_r12 = i0.ɵɵnextContext(2).$implicit;
522
522
  const ctx_r1 = i0.ɵɵnextContext(2);
523
523
  i0.ɵɵadvance();
524
- i0.ɵɵproperty("ngIf", !ctx_r1.checkmarkTemplate);
524
+ i0.ɵɵproperty("ngIf", !ctx_r1.checkmarkTemplate && !ctx_r1._checkmarkTemplate);
525
525
  i0.ɵɵadvance();
526
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.checkmarkTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(3, _c27, ctx_r1.isSelected(option_r12)));
526
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.checkmarkTemplate || ctx_r1._checkmarkTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(3, _c27, ctx_r1.isSelected(option_r12)));
527
527
  } }
528
528
  function Listbox_ng_template_9_ng_template_2_ng_container_1_span_4_Template(rf, ctx) { if (rf & 1) {
529
529
  i0.ɵɵelementStart(0, "span");
@@ -560,9 +560,9 @@ function Listbox_ng_template_9_ng_template_2_ng_container_1_Template(rf, ctx) {
560
560
  i0.ɵɵadvance();
561
561
  i0.ɵɵproperty("ngIf", ctx_r1.checkmark);
562
562
  i0.ɵɵadvance();
563
- i0.ɵɵproperty("ngIf", !ctx_r1.itemTemplate);
563
+ i0.ɵɵproperty("ngIf", !ctx_r1.itemTemplate && !ctx_r1._itemTemplate);
564
564
  i0.ɵɵadvance();
565
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.itemTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction3(19, _c26, option_r12, ctx_r1.getOptionIndex(i_r14, scrollerOptions_r15), ctx_r1.isSelected(option_r12)));
565
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.itemTemplate || ctx_r1._itemTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction3(19, _c26, option_r12, ctx_r1.getOptionIndex(i_r14, scrollerOptions_r15), ctx_r1.isSelected(option_r12)));
566
566
  } }
567
567
  function Listbox_ng_template_9_ng_template_2_Template(rf, ctx) { if (rf & 1) {
568
568
  i0.ɵɵtemplate(0, Listbox_ng_template_9_ng_template_2_ng_container_0_Template, 4, 9, "ng-container", 19)(1, Listbox_ng_template_9_ng_template_2_ng_container_1_Template, 6, 23, "ng-container", 19);
@@ -586,7 +586,7 @@ function Listbox_ng_template_9_li_3_Conditional_2_Template(rf, ctx) { if (rf & 1
586
586
  i0.ɵɵtemplate(0, Listbox_ng_template_9_li_3_Conditional_2_ng_container_0_Template, 2, 0, "ng-container", 40);
587
587
  } if (rf & 2) {
588
588
  const ctx_r1 = i0.ɵɵnextContext(3);
589
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.emptyfilter || ctx_r1.emptyTemplate);
589
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.emptyFilterTemplate || ctx_r1._emptyFilterTemplate || ctx_r1._emptyTemplate || ctx_r1.emptyTemplate);
590
590
  } }
591
591
  function Listbox_ng_template_9_li_3_Template(rf, ctx) { if (rf & 1) {
592
592
  i0.ɵɵelementStart(0, "li", 49);
@@ -595,7 +595,7 @@ function Listbox_ng_template_9_li_3_Template(rf, ctx) { if (rf & 1) {
595
595
  } if (rf & 2) {
596
596
  const ctx_r1 = i0.ɵɵnextContext(2);
597
597
  i0.ɵɵadvance();
598
- i0.ɵɵconditional(!ctx_r1.emptyfilter && !ctx_r1.emptyTemplate ? 1 : 2);
598
+ i0.ɵɵconditional(!ctx_r1.emptyFilterTemplate && !ctx_r1._emptyFilterTemplate && !ctx_r1._emptyTemplate && !ctx_r1.emptyTemplate ? 1 : 2);
599
599
  } }
600
600
  function Listbox_ng_template_9_li_4_Conditional_1_Template(rf, ctx) { if (rf & 1) {
601
601
  i0.ɵɵtext(0);
@@ -610,7 +610,7 @@ function Listbox_ng_template_9_li_4_Conditional_2_Template(rf, ctx) { if (rf & 1
610
610
  i0.ɵɵtemplate(0, Listbox_ng_template_9_li_4_Conditional_2_ng_container_0_Template, 2, 0, "ng-container", 40);
611
611
  } if (rf & 2) {
612
612
  const ctx_r1 = i0.ɵɵnextContext(3);
613
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.emptyTemplate);
613
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.emptyTemplate || ctx_r1._emptyTemplate);
614
614
  } }
615
615
  function Listbox_ng_template_9_li_4_Template(rf, ctx) { if (rf & 1) {
616
616
  i0.ɵɵelementStart(0, "li", 49);
@@ -619,7 +619,7 @@ function Listbox_ng_template_9_li_4_Template(rf, ctx) { if (rf & 1) {
619
619
  } if (rf & 2) {
620
620
  const ctx_r1 = i0.ɵɵnextContext(2);
621
621
  i0.ɵɵadvance();
622
- i0.ɵɵconditional(!ctx_r1.emptyTemplate ? 1 : 2);
622
+ i0.ɵɵconditional(!ctx_r1.emptyTemplate && !ctx_r1._emptyTemplate ? 1 : 2);
623
623
  } }
624
624
  function Listbox_ng_template_9_Template(rf, ctx) { if (rf & 1) {
625
625
  const _r11 = i0.ɵɵgetCurrentView();
@@ -652,7 +652,7 @@ function Listbox_div_11_Template(rf, ctx) { if (rf & 1) {
652
652
  } if (rf & 2) {
653
653
  const ctx_r1 = i0.ɵɵnextContext();
654
654
  i0.ɵɵadvance(2);
655
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.footerTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c19, ctx_r1.modelValue(), ctx_r1.visibleOptions()));
655
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.footerTemplate || ctx_r1._footerTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c19, ctx_r1.modelValue(), ctx_r1.visibleOptions()));
656
656
  } }
657
657
  function Listbox_span_12_Template(rf, ctx) { if (rf & 1) {
658
658
  i0.ɵɵelementStart(0, "span", 22);
@@ -1021,7 +1021,7 @@ class Listbox extends BaseComponent {
1021
1021
  * Custom empty filter message template.
1022
1022
  * @group Templates
1023
1023
  */
1024
- emptyfilter;
1024
+ emptyFilterTemplate;
1025
1025
  /**
1026
1026
  * Custom empty message template.
1027
1027
  * @group Templates
@@ -1047,6 +1047,18 @@ class Listbox extends BaseComponent {
1047
1047
  * @group Templates
1048
1048
  */
1049
1049
  loaderTemplate;
1050
+ templates;
1051
+ _itemTemplate;
1052
+ _groupTemplate;
1053
+ _headerTemplate;
1054
+ _filterTemplate;
1055
+ _footerTemplate;
1056
+ _emptyFilterTemplate;
1057
+ _emptyTemplate;
1058
+ _filterIconTemplate;
1059
+ _checkIconTemplate;
1060
+ _checkmarkTemplate;
1061
+ _loaderTemplate;
1050
1062
  _filterValue = signal(null);
1051
1063
  _filteredOptions;
1052
1064
  filterOptions;
@@ -1133,6 +1145,48 @@ class Listbox extends BaseComponent {
1133
1145
  };
1134
1146
  }
1135
1147
  }
1148
+ ngAfterContentInit() {
1149
+ this.templates.forEach((item) => {
1150
+ switch (item.getType()) {
1151
+ case 'item':
1152
+ this._itemTemplate = item.template;
1153
+ break;
1154
+ case 'group':
1155
+ this._groupTemplate = item.template;
1156
+ break;
1157
+ case 'header':
1158
+ this._headerTemplate = item.template;
1159
+ break;
1160
+ case 'filter':
1161
+ this._filterTemplate = item.template;
1162
+ break;
1163
+ case 'footer':
1164
+ this._footerTemplate = item.template;
1165
+ break;
1166
+ case 'empty':
1167
+ this._emptyTemplate = item.template;
1168
+ break;
1169
+ case 'emptyfilter':
1170
+ this._emptyFilterTemplate = item.template;
1171
+ break;
1172
+ case 'filtericon':
1173
+ this._filterIconTemplate = item.template;
1174
+ break;
1175
+ case 'checkicon':
1176
+ this._checkIconTemplate = item.template;
1177
+ break;
1178
+ case 'checkmark':
1179
+ this._checkmarkTemplate = item.template;
1180
+ break;
1181
+ case 'loader':
1182
+ this._loaderTemplate = item.template;
1183
+ break;
1184
+ default:
1185
+ this._itemTemplate = item.template;
1186
+ break;
1187
+ }
1188
+ });
1189
+ }
1136
1190
  writeValue(value) {
1137
1191
  this.value = value;
1138
1192
  this.modelValue.set(this.value);
@@ -1715,17 +1769,18 @@ class Listbox extends BaseComponent {
1715
1769
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Listbox, selectors: [["p-listbox"], ["p-listBox"], ["p-list-box"]], contentQueries: function Listbox_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
1716
1770
  i0.ɵɵcontentQuery(dirIndex, Header, 5);
1717
1771
  i0.ɵɵcontentQuery(dirIndex, Footer, 5);
1718
- i0.ɵɵcontentQuery(dirIndex, _c0, 5);
1719
- i0.ɵɵcontentQuery(dirIndex, _c1, 5);
1720
- i0.ɵɵcontentQuery(dirIndex, _c2, 5);
1721
- i0.ɵɵcontentQuery(dirIndex, _c3, 5);
1722
- i0.ɵɵcontentQuery(dirIndex, _c4, 5);
1723
- i0.ɵɵcontentQuery(dirIndex, _c5, 5);
1724
- i0.ɵɵcontentQuery(dirIndex, _c6, 5);
1725
- i0.ɵɵcontentQuery(dirIndex, _c7, 5);
1726
- i0.ɵɵcontentQuery(dirIndex, _c8, 5);
1727
- i0.ɵɵcontentQuery(dirIndex, _c9, 5);
1728
- i0.ɵɵcontentQuery(dirIndex, _c10, 5);
1772
+ i0.ɵɵcontentQuery(dirIndex, _c0, 4);
1773
+ i0.ɵɵcontentQuery(dirIndex, _c1, 4);
1774
+ i0.ɵɵcontentQuery(dirIndex, _c2, 4);
1775
+ i0.ɵɵcontentQuery(dirIndex, _c3, 4);
1776
+ i0.ɵɵcontentQuery(dirIndex, _c4, 4);
1777
+ i0.ɵɵcontentQuery(dirIndex, _c5, 4);
1778
+ i0.ɵɵcontentQuery(dirIndex, _c6, 4);
1779
+ i0.ɵɵcontentQuery(dirIndex, _c7, 4);
1780
+ i0.ɵɵcontentQuery(dirIndex, _c8, 4);
1781
+ i0.ɵɵcontentQuery(dirIndex, _c9, 4);
1782
+ i0.ɵɵcontentQuery(dirIndex, _c10, 4);
1783
+ i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);
1729
1784
  } if (rf & 2) {
1730
1785
  let _t;
1731
1786
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.headerFacet = _t.first);
@@ -1735,12 +1790,13 @@ class Listbox extends BaseComponent {
1735
1790
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.headerTemplate = _t.first);
1736
1791
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.filterTemplate = _t.first);
1737
1792
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.footerTemplate = _t.first);
1738
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.emptyfilter = _t.first);
1793
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.emptyFilterTemplate = _t.first);
1739
1794
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.emptyTemplate = _t.first);
1740
1795
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.filterIconTemplate = _t.first);
1741
1796
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.checkIconTemplate = _t.first);
1742
1797
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.checkmarkTemplate = _t.first);
1743
1798
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loaderTemplate = _t.first);
1799
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);
1744
1800
  } }, viewQuery: function Listbox_Query(rf, ctx) { if (rf & 1) {
1745
1801
  i0.ɵɵviewQuery(_c11, 5);
1746
1802
  i0.ɵɵviewQuery(_c3, 5);
@@ -1785,7 +1841,7 @@ class Listbox extends BaseComponent {
1785
1841
  i0.ɵɵproperty("tabindex", !ctx.disabled ? ctx.tabindex : -1);
1786
1842
  i0.ɵɵattribute("aria-hidden", true)("data-p-hidden-focusable", true);
1787
1843
  i0.ɵɵadvance(2);
1788
- i0.ɵɵproperty("ngIf", ctx.headerFacet || ctx.headerTemplate);
1844
+ i0.ɵɵproperty("ngIf", ctx.headerFacet || ctx.headerTemplate || ctx._headerTemplate);
1789
1845
  i0.ɵɵadvance();
1790
1846
  i0.ɵɵproperty("ngIf", ctx.checkbox && ctx.multiple && ctx.showToggleAll || ctx.filter);
1791
1847
  i0.ɵɵadvance();
@@ -1798,7 +1854,7 @@ class Listbox extends BaseComponent {
1798
1854
  i0.ɵɵadvance();
1799
1855
  i0.ɵɵproperty("ngIf", !ctx.virtualScroll);
1800
1856
  i0.ɵɵadvance(3);
1801
- i0.ɵɵproperty("ngIf", ctx.footerFacet || ctx.footerTemplate);
1857
+ i0.ɵɵproperty("ngIf", ctx.footerFacet || ctx.footerTemplate || ctx._footerTemplate);
1802
1858
  i0.ɵɵadvance();
1803
1859
  i0.ɵɵproperty("ngIf", ctx.isEmpty());
1804
1860
  i0.ɵɵadvance(2);
@@ -1826,9 +1882,9 @@ class Listbox extends BaseComponent {
1826
1882
  [attr.data-p-hidden-focusable]="true"
1827
1883
  >
1828
1884
  </span>
1829
- <div class="p-listbox-header" *ngIf="headerFacet || headerTemplate">
1885
+ <div class="p-listbox-header" *ngIf="headerFacet || headerTemplate || _headerTemplate">
1830
1886
  <ng-content select="p-header"></ng-content>
1831
- <ng-container *ngTemplateOutlet="headerTemplate; context: { $implicit: modelValue(), options: visibleOptions() }"></ng-container>
1887
+ <ng-container *ngTemplateOutlet="headerTemplate || _headerTemplate; context: { $implicit: modelValue(), options: visibleOptions() }"></ng-container>
1832
1888
  </div>
1833
1889
  <div class="p-listbox-header" *ngIf="(checkbox && multiple && showToggleAll) || filter">
1834
1890
  <div *ngIf="checkbox && multiple && showToggleAll" class="p-checkbox p-component" [ngClass]="{ 'p-checkbox-disabled': disabled }" (click)="onToggleAll($event)" (keydown)="onHeaderCheckboxKeyDown($event)">
@@ -1844,15 +1900,15 @@ class Listbox extends BaseComponent {
1844
1900
  [variant]="config.inputStyle() === 'filled' ? 'filled' : 'outlined' || config.inputVariant() === 'filled' ? 'filled' : 'outlined'"
1845
1901
  [binary]="true"
1846
1902
  >
1847
- <ng-container *ngIf="checkIconTemplate">
1903
+ <ng-container *ngIf="checkIconTemplate || _checkIconTemplate">
1848
1904
  <ng-template #icon>
1849
- <ng-template *ngTemplateOutlet="checkIconTemplate; context: { $implicit: allSelected() }"></ng-template>
1905
+ <ng-template *ngTemplateOutlet="checkIconTemplate || _checkIconTemplate; context: { $implicit: allSelected() }"></ng-template>
1850
1906
  </ng-template>
1851
1907
  </ng-container>
1852
1908
  </p-checkbox>
1853
1909
  </div>
1854
- <ng-container *ngIf="filterTemplate; else builtInFilterElement">
1855
- <ng-container *ngTemplateOutlet="filterTemplate; context: { options: filterOptions }"></ng-container>
1910
+ <ng-container *ngIf="filterTemplate || _filterTemplate; else builtInFilterElement">
1911
+ <ng-container *ngTemplateOutlet="filterTemplate || _filterTemplate; context: { options: filterOptions }"></ng-container>
1856
1912
  </ng-container>
1857
1913
  <ng-template #builtInFilterElement>
1858
1914
  <div class="p-listbox-filter-container" *ngIf="filter">
@@ -1876,9 +1932,9 @@ class Listbox extends BaseComponent {
1876
1932
  (blur)="onFilterBlur($event)"
1877
1933
  />
1878
1934
  <p-inputicon>
1879
- <SearchIcon *ngIf="!filterIconTemplate" [styleClass]="'p-listbox-filter-icon'" [attr.aria-hidden]="true" />
1880
- <span *ngIf="filterIconTemplate" class="p-listbox-filter-icon" [attr.aria-hidden]="true">
1881
- <ng-template *ngTemplateOutlet="filterIconTemplate"></ng-template>
1935
+ <SearchIcon *ngIf="!filterIconTemplate && !_filterIconTemplate" [styleClass]="'p-listbox-filter-icon'" [attr.aria-hidden]="true" />
1936
+ <span *ngIf="filterIconTemplate || _filterIconTemplate" class="p-listbox-filter-icon" [attr.aria-hidden]="true">
1937
+ <ng-template *ngTemplateOutlet="filterIconTemplate || _filterIconTemplate"></ng-template>
1882
1938
  </span>
1883
1939
  </p-inputicon>
1884
1940
  </p-iconfield>
@@ -1904,9 +1960,9 @@ class Listbox extends BaseComponent {
1904
1960
  <ng-template #content let-items let-scrollerOptions="options">
1905
1961
  <ng-container *ngTemplateOutlet="buildInItems; context: { $implicit: items, options: scrollerOptions }"></ng-container>
1906
1962
  </ng-template>
1907
- @if (loaderTemplate) {
1963
+ @if (loaderTemplate || _loaderTemplate) {
1908
1964
  <ng-template #loader let-scrollerOptions="options">
1909
- <ng-container *ngTemplateOutlet="loaderTemplate; context: { options: scrollerOptions }"></ng-container>
1965
+ <ng-container *ngTemplateOutlet="loaderTemplate || _loaderTemplate; context: { options: scrollerOptions }"></ng-container>
1910
1966
  </ng-template>
1911
1967
  }
1912
1968
  </p-scroller>
@@ -1933,8 +1989,8 @@ class Listbox extends BaseComponent {
1933
1989
  <ng-template ngFor let-option [ngForOf]="items" let-i="index">
1934
1990
  <ng-container *ngIf="isOptionGroup(option)">
1935
1991
  <li [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)" class="p-listbox-option-group" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
1936
- <span *ngIf="!groupTemplate">{{ getOptionGroupLabel(option.optionGroup) }}</span>
1937
- <ng-container *ngTemplateOutlet="groupTemplate; context: { $implicit: option.optionGroup }"></ng-container>
1992
+ <span *ngIf="!groupTemplate && !_groupTemplate">{{ getOptionGroupLabel(option.optionGroup) }}</span>
1993
+ <ng-container *ngTemplateOutlet="groupTemplate || _groupTemplate; context: { $implicit: option.optionGroup }"></ng-container>
1938
1994
  </li>
1939
1995
  </ng-container>
1940
1996
  <ng-container *ngIf="!isOptionGroup(option)">
@@ -1969,23 +2025,23 @@ class Listbox extends BaseComponent {
1969
2025
  [variant]="config.inputStyle() === 'filled' ? 'filled' : 'outlined' || config.inputVariant() === 'filled' ? 'filled' : 'outlined'"
1970
2026
  [binary]="true"
1971
2027
  >
1972
- <ng-container *ngIf="checkIconTemplate">
2028
+ <ng-container *ngIf="checkIconTemplate || _checkIconTemplate">
1973
2029
  <ng-template #icon>
1974
- <ng-template *ngTemplateOutlet="checkIconTemplate; context: { $implicit: isSelected(option) }"></ng-template>
2030
+ <ng-template *ngTemplateOutlet="checkIconTemplate || _checkIconTemplate; context: { $implicit: isSelected(option) }"></ng-template>
1975
2031
  </ng-template>
1976
2032
  </ng-container>
1977
2033
  </p-checkbox>
1978
2034
  <ng-container *ngIf="checkmark">
1979
- <ng-container *ngIf="!checkmarkTemplate">
2035
+ <ng-container *ngIf="!checkmarkTemplate && !_checkmarkTemplate">
1980
2036
  <BlankIcon *ngIf="!isSelected(option)" styleClass="p-listbox-option-check-icon" />
1981
2037
  <CheckIcon *ngIf="isSelected(option)" styleClass="p-listbox-option-check-icon" />
1982
2038
  </ng-container>
1983
- <ng-container *ngTemplateOutlet="checkmarkTemplate; context: { implicit: isSelected(option) }"></ng-container>
2039
+ <ng-container *ngTemplateOutlet="checkmarkTemplate || _checkmarkTemplate; context: { implicit: isSelected(option) }"></ng-container>
1984
2040
  </ng-container>
1985
- <span *ngIf="!itemTemplate">{{ getOptionLabel(option) }}</span>
2041
+ <span *ngIf="!itemTemplate && !_itemTemplate">{{ getOptionLabel(option) }}</span>
1986
2042
  <ng-container
1987
2043
  *ngTemplateOutlet="
1988
- itemTemplate;
2044
+ itemTemplate || _itemTemplate;
1989
2045
  context: {
1990
2046
  $implicit: option,
1991
2047
  index: getOptionIndex(i, scrollerOptions),
@@ -1997,25 +2053,25 @@ class Listbox extends BaseComponent {
1997
2053
  </ng-container>
1998
2054
  </ng-template>
1999
2055
  <li *ngIf="hasFilter() && isEmpty()" class="p-listbox-empty-message" role="option">
2000
- @if (!emptyfilter && !emptyTemplate) {
2056
+ @if (!emptyFilterTemplate && !_emptyFilterTemplate && !_emptyTemplate && !emptyTemplate) {
2001
2057
  {{ emptyFilterMessageText }}
2002
2058
  } @else {
2003
- <ng-container #emptyFilter *ngTemplateOutlet="emptyfilter || emptyTemplate"></ng-container>
2059
+ <ng-container #emptyFilter *ngTemplateOutlet="emptyFilterTemplate || _emptyFilterTemplate || _emptyTemplate || emptyTemplate"></ng-container>
2004
2060
  }
2005
2061
  </li>
2006
2062
  <li *ngIf="!hasFilter() && isEmpty()" class="p-listbox-empty-message" role="option">
2007
- @if (!emptyTemplate) {
2063
+ @if (!emptyTemplate && !_emptyTemplate) {
2008
2064
  {{ emptyMessage }}
2009
2065
  } @else {
2010
- <ng-container #empty *ngTemplateOutlet="emptyTemplate"></ng-container>
2066
+ <ng-container #empty *ngTemplateOutlet="emptyTemplate || _emptyTemplate"></ng-container>
2011
2067
  }
2012
2068
  </li>
2013
2069
  </ul>
2014
2070
  </ng-template>
2015
2071
  </div>
2016
- <div class="p-listbox-footer" *ngIf="footerFacet || footerTemplate">
2072
+ <div class="p-listbox-footer" *ngIf="footerFacet || footerTemplate || _footerTemplate">
2017
2073
  <ng-content select="p-footer"></ng-content>
2018
- <ng-container *ngTemplateOutlet="footerTemplate; context: { $implicit: modelValue(), options: visibleOptions() }"></ng-container>
2074
+ <ng-container *ngTemplateOutlet="footerTemplate || _footerTemplate; context: { $implicit: modelValue(), options: visibleOptions() }"></ng-container>
2019
2075
  </div>
2020
2076
  <span *ngIf="isEmpty()" role="status" aria-live="polite" class="p-hidden-accessible">
2021
2077
  {{ emptyMessage }}
@@ -2199,39 +2255,42 @@ class Listbox extends BaseComponent {
2199
2255
  args: [Footer]
2200
2256
  }], itemTemplate: [{
2201
2257
  type: ContentChild,
2202
- args: ['item']
2258
+ args: ['item', { descendants: false }]
2203
2259
  }], groupTemplate: [{
2204
2260
  type: ContentChild,
2205
- args: ['group']
2261
+ args: ['group', { descendants: false }]
2206
2262
  }], headerTemplate: [{
2207
2263
  type: ContentChild,
2208
- args: ['header']
2264
+ args: ['header', { descendants: false }]
2209
2265
  }], filterTemplate: [{
2210
2266
  type: ContentChild,
2211
- args: ['filter']
2267
+ args: ['filter', { descendants: false }]
2212
2268
  }], footerTemplate: [{
2213
2269
  type: ContentChild,
2214
- args: ['footer']
2215
- }], emptyfilter: [{
2270
+ args: ['footer', { descendants: false }]
2271
+ }], emptyFilterTemplate: [{
2216
2272
  type: ContentChild,
2217
- args: ['emptyfilter']
2273
+ args: ['emptyfilter', { descendants: false }]
2218
2274
  }], emptyTemplate: [{
2219
2275
  type: ContentChild,
2220
- args: ['empty']
2276
+ args: ['empty', { descendants: false }]
2221
2277
  }], filterIconTemplate: [{
2222
2278
  type: ContentChild,
2223
- args: ['filtericon']
2279
+ args: ['filtericon', { descendants: false }]
2224
2280
  }], checkIconTemplate: [{
2225
2281
  type: ContentChild,
2226
- args: ['checkicon']
2282
+ args: ['checkicon', { descendants: false }]
2227
2283
  }], checkmarkTemplate: [{
2228
2284
  type: ContentChild,
2229
- args: ['checkmark']
2285
+ args: ['checkmark', { descendants: false }]
2230
2286
  }], loaderTemplate: [{
2231
2287
  type: ContentChild,
2232
- args: ['loader']
2288
+ args: ['loader', { descendants: false }]
2289
+ }], templates: [{
2290
+ type: ContentChildren,
2291
+ args: [PrimeTemplate]
2233
2292
  }] }); })();
2234
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(Listbox, { className: "Listbox", filePath: "listbox.ts", lineNumber: 278 }); })();
2293
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(Listbox, { className: "Listbox", filePath: "listbox.ts", lineNumber: 280 }); })();
2235
2294
  class ListboxModule {
2236
2295
  static ɵfac = function ListboxModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ListboxModule)(); };
2237
2296
  static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: ListboxModule });