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
@@ -2,10 +2,10 @@ import * as i1 from '@angular/common';
2
2
  import { isPlatformBrowser, CommonModule } from '@angular/common';
3
3
  import { HttpClient, HttpEventType } from '@angular/common/http';
4
4
  import * as i0 from '@angular/core';
5
- import { Injectable, EventEmitter, inject, NgZone, booleanAttribute, numberAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, ContentChild, ViewChild, NgModule } from '@angular/core';
5
+ import { Injectable, EventEmitter, inject, NgZone, booleanAttribute, numberAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, ContentChild, ViewChild, ContentChildren, NgModule } from '@angular/core';
6
6
  import { DomSanitizer } from '@angular/platform-browser';
7
7
  import { addClass, removeClass } from '@primeuix/utils';
8
- import { TranslationKeys, SharedModule } from 'primeng/api';
8
+ import { TranslationKeys, PrimeTemplate, SharedModule } from 'primeng/api';
9
9
  import { BaseComponent } from 'primeng/basecomponent';
10
10
  import { Button } from 'primeng/button';
11
11
  import { PlusIcon, UploadIcon, TimesIcon } from 'primeng/icons';
@@ -242,7 +242,7 @@ function FileUpload_div_0_ng_container_4_ng_container_5_span_2_Template(rf, ctx)
242
242
  const ctx_r1 = i0.ɵɵnextContext(4);
243
243
  i0.ɵɵattribute("aria-label", true)("data-pc-section", "chooseicon");
244
244
  i0.ɵɵadvance();
245
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.chooseiconTemplate);
245
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.chooseIconTemplate || ctx_r1._chooseIconTemplate);
246
246
  } }
247
247
  function FileUpload_div_0_ng_container_4_ng_container_5_Template(rf, ctx) { if (rf & 1) {
248
248
  i0.ɵɵelementContainerStart(0);
@@ -251,9 +251,9 @@ function FileUpload_div_0_ng_container_4_ng_container_5_Template(rf, ctx) { if (
251
251
  } if (rf & 2) {
252
252
  const ctx_r1 = i0.ɵɵnextContext(3);
253
253
  i0.ɵɵadvance();
254
- i0.ɵɵproperty("ngIf", !ctx_r1.chooseiconTemplate);
254
+ i0.ɵɵproperty("ngIf", !ctx_r1.chooseIconTemplate && !ctx_r1._chooseIconTemplate);
255
255
  i0.ɵɵadvance();
256
- i0.ɵɵproperty("ngIf", ctx_r1.chooseiconTemplate);
256
+ i0.ɵɵproperty("ngIf", ctx_r1.chooseIconTemplate || ctx_r1._chooseIconTemplate);
257
257
  } }
258
258
  function FileUpload_div_0_ng_container_4_p_button_6_span_1_Template(rf, ctx) { if (rf & 1) {
259
259
  i0.ɵɵelement(0, "span", 21);
@@ -277,7 +277,7 @@ function FileUpload_div_0_ng_container_4_p_button_6_ng_container_2_span_2_Templa
277
277
  const ctx_r1 = i0.ɵɵnextContext(5);
278
278
  i0.ɵɵattribute("aria-hidden", true);
279
279
  i0.ɵɵadvance();
280
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.uploadiconTemplate);
280
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.uploadIconTemplate || ctx_r1._uploadIconTemplate);
281
281
  } }
282
282
  function FileUpload_div_0_ng_container_4_p_button_6_ng_container_2_Template(rf, ctx) { if (rf & 1) {
283
283
  i0.ɵɵelementContainerStart(0);
@@ -286,9 +286,9 @@ function FileUpload_div_0_ng_container_4_p_button_6_ng_container_2_Template(rf,
286
286
  } if (rf & 2) {
287
287
  const ctx_r1 = i0.ɵɵnextContext(4);
288
288
  i0.ɵɵadvance();
289
- i0.ɵɵproperty("ngIf", !ctx_r1.uploadiconTemplate);
289
+ i0.ɵɵproperty("ngIf", !ctx_r1.uploadIconTemplate && !ctx_r1._uploadIconTemplate);
290
290
  i0.ɵɵadvance();
291
- i0.ɵɵproperty("ngIf", ctx_r1.uploadiconTemplate);
291
+ i0.ɵɵproperty("ngIf", ctx_r1.uploadIconTemplate || ctx_r1._uploadIconTemplate);
292
292
  } }
293
293
  function FileUpload_div_0_ng_container_4_p_button_6_Template(rf, ctx) { if (rf & 1) {
294
294
  const _r4 = i0.ɵɵgetCurrentView();
@@ -327,7 +327,7 @@ function FileUpload_div_0_ng_container_4_p_button_7_ng_container_2_span_2_Templa
327
327
  const ctx_r1 = i0.ɵɵnextContext(5);
328
328
  i0.ɵɵattribute("aria-hidden", true);
329
329
  i0.ɵɵadvance();
330
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.canceliconTemplate);
330
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.cancelIconTemplate || ctx_r1._cancelIconTemplate);
331
331
  } }
332
332
  function FileUpload_div_0_ng_container_4_p_button_7_ng_container_2_Template(rf, ctx) { if (rf & 1) {
333
333
  i0.ɵɵelementContainerStart(0);
@@ -336,9 +336,9 @@ function FileUpload_div_0_ng_container_4_p_button_7_ng_container_2_Template(rf,
336
336
  } if (rf & 2) {
337
337
  const ctx_r1 = i0.ɵɵnextContext(4);
338
338
  i0.ɵɵadvance();
339
- i0.ɵɵproperty("ngIf", !ctx_r1.canceliconTemplate);
339
+ i0.ɵɵproperty("ngIf", !ctx_r1.cancelIconTemplate && !ctx_r1._cancelIconTemplate);
340
340
  i0.ɵɵadvance();
341
- i0.ɵɵproperty("ngIf", ctx_r1.canceliconTemplate);
341
+ i0.ɵɵproperty("ngIf", ctx_r1.cancelIconTemplate || ctx_r1._cancelIconTemplate);
342
342
  } }
343
343
  function FileUpload_div_0_ng_container_4_p_button_7_Template(rf, ctx) { if (rf & 1) {
344
344
  const _r5 = i0.ɵɵgetCurrentView();
@@ -422,9 +422,9 @@ function FileUpload_div_0_div_12_Conditional_1_div_0_ng_template_9_Template(rf,
422
422
  i0.ɵɵtemplate(0, FileUpload_div_0_div_12_Conditional_1_div_0_ng_template_9_TimesIcon_0_Template, 1, 0, "TimesIcon", 9)(1, FileUpload_div_0_div_12_Conditional_1_div_0_ng_template_9_1_Template, 1, 0, null, 11);
423
423
  } if (rf & 2) {
424
424
  const ctx_r1 = i0.ɵɵnextContext(5);
425
- i0.ɵɵproperty("ngIf", !ctx_r1.canceliconTemplate);
425
+ i0.ɵɵproperty("ngIf", !ctx_r1.cancelIconTemplate && !ctx_r1._cancelIconTemplate);
426
426
  i0.ɵɵadvance();
427
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.canceliconTemplate);
427
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.cancelIconTemplate || ctx_r1._cancelIconTemplate);
428
428
  } }
429
429
  function FileUpload_div_0_div_12_Conditional_1_div_0_Template(rf, ctx) { if (rf & 1) {
430
430
  const _r7 = i0.ɵɵgetCurrentView();
@@ -463,7 +463,7 @@ function FileUpload_div_0_div_12_Conditional_2_Template(rf, ctx) { if (rf & 1) {
463
463
  i0.ɵɵtemplate(0, FileUpload_div_0_div_12_Conditional_2_ng_template_0_Template, 0, 0, "ng-template", 25);
464
464
  } if (rf & 2) {
465
465
  const ctx_r1 = i0.ɵɵnextContext(3);
466
- i0.ɵɵproperty("ngForOf", ctx_r1.files)("ngForTemplate", ctx_r1.fileTemplate);
466
+ i0.ɵɵproperty("ngForOf", ctx_r1.files)("ngForTemplate", ctx_r1.fileTemplate || ctx_r1._fileTemplate);
467
467
  } }
468
468
  function FileUpload_div_0_div_12_Template(rf, ctx) { if (rf & 1) {
469
469
  i0.ɵɵelementStart(0, "div", 23);
@@ -472,9 +472,9 @@ function FileUpload_div_0_div_12_Template(rf, ctx) { if (rf & 1) {
472
472
  } if (rf & 2) {
473
473
  const ctx_r1 = i0.ɵɵnextContext(2);
474
474
  i0.ɵɵadvance();
475
- i0.ɵɵconditional(!ctx_r1.fileTemplate ? 1 : -1);
475
+ i0.ɵɵconditional(!ctx_r1.fileTemplate && !ctx_r1._fileTemplate ? 1 : -1);
476
476
  i0.ɵɵadvance();
477
- i0.ɵɵconditional(ctx_r1.fileTemplate ? 2 : -1);
477
+ i0.ɵɵconditional(ctx_r1.fileTemplate || ctx_r1._fileTemplate ? 2 : -1);
478
478
  } }
479
479
  function FileUpload_div_0_ng_container_13_Template(rf, ctx) { if (rf & 1) {
480
480
  i0.ɵɵelementContainer(0);
@@ -486,7 +486,7 @@ function FileUpload_div_0_Conditional_14_Template(rf, ctx) { if (rf & 1) {
486
486
  i0.ɵɵtemplate(0, FileUpload_div_0_Conditional_14_ng_container_0_Template, 1, 0, "ng-container", 11);
487
487
  } if (rf & 2) {
488
488
  const ctx_r1 = i0.ɵɵnextContext(2);
489
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.emptyTemplate);
489
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.emptyTemplate || ctx_r1._emptyTemplate);
490
490
  } }
491
491
  function FileUpload_div_0_Template(rf, ctx) { if (rf & 1) {
492
492
  const _r1 = i0.ɵɵgetCurrentView();
@@ -512,11 +512,11 @@ function FileUpload_div_0_Template(rf, ctx) { if (rf & 1) {
512
512
  i0.ɵɵproperty("multiple", ctx_r1.multiple)("accept", ctx_r1.accept)("disabled", ctx_r1.disabled || ctx_r1.isChooseDisabled());
513
513
  i0.ɵɵattribute("aria-label", ctx_r1.browseFilesLabel)("title", "")("data-pc-section", "input");
514
514
  i0.ɵɵadvance(3);
515
- i0.ɵɵproperty("ngIf", !ctx_r1.headerTemplate);
515
+ i0.ɵɵproperty("ngIf", !ctx_r1.headerTemplate && !ctx_r1._headerTemplate);
516
516
  i0.ɵɵadvance();
517
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.headerTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction5(24, _c11, ctx_r1.files, ctx_r1.uploadedFiles, ctx_r1.choose.bind(ctx_r1), ctx_r1.clear.bind(ctx_r1), ctx_r1.upload.bind(ctx_r1)));
517
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.headerTemplate || ctx_r1._headerTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction5(24, _c11, ctx_r1.files, ctx_r1.uploadedFiles, ctx_r1.choose.bind(ctx_r1), ctx_r1.clear.bind(ctx_r1), ctx_r1.upload.bind(ctx_r1)));
518
518
  i0.ɵɵadvance();
519
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.toolbarTemplate);
519
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.toolbarTemplate || ctx_r1._toolbarTemplate);
520
520
  i0.ɵɵadvance();
521
521
  i0.ɵɵattribute("data-pc-section", "content");
522
522
  i0.ɵɵadvance(2);
@@ -526,9 +526,9 @@ function FileUpload_div_0_Template(rf, ctx) { if (rf & 1) {
526
526
  i0.ɵɵadvance(2);
527
527
  i0.ɵɵproperty("ngIf", ctx_r1.hasFiles());
528
528
  i0.ɵɵadvance();
529
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.contentTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction8(30, _c12, ctx_r1.files, ctx_r1.uploadedFiles, ctx_r1.choose.bind(ctx_r1), ctx_r1.clear.bind(ctx_r1), ctx_r1.removeUploadedFile.bind(ctx_r1), ctx_r1.remove.bind(ctx_r1), ctx_r1.progress, ctx_r1.msgs));
529
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.contentTemplate || ctx_r1._contentTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction8(30, _c12, ctx_r1.files, ctx_r1.uploadedFiles, ctx_r1.choose.bind(ctx_r1), ctx_r1.clear.bind(ctx_r1), ctx_r1.removeUploadedFile.bind(ctx_r1), ctx_r1.remove.bind(ctx_r1), ctx_r1.progress, ctx_r1.msgs));
530
530
  i0.ɵɵadvance();
531
- i0.ɵɵconditional(ctx_r1.emptyTemplate && !ctx_r1.hasFiles() && !ctx_r1.hasUploadedFiles() ? 14 : -1);
531
+ i0.ɵɵconditional(ctx_r1.emptyTemplate && ctx_r1._emptyTemplate && !ctx_r1.hasFiles() && !ctx_r1.hasUploadedFiles() ? 14 : -1);
532
532
  } }
533
533
  function FileUpload_div_1_For_2_Template(rf, ctx) { if (rf & 1) {
534
534
  i0.ɵɵelement(0, "p-message", 14);
@@ -558,7 +558,7 @@ function FileUpload_div_1_ng_template_4_Conditional_0_ng_container_1_span_2_Temp
558
558
  } if (rf & 2) {
559
559
  const ctx_r1 = i0.ɵɵnextContext(5);
560
560
  i0.ɵɵadvance();
561
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.uploadiconTemplate);
561
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1._uploadIconTemplate || ctx_r1.uploadIconTemplate);
562
562
  } }
563
563
  function FileUpload_div_1_ng_template_4_Conditional_0_ng_container_1_Template(rf, ctx) { if (rf & 1) {
564
564
  i0.ɵɵelementContainerStart(0);
@@ -567,9 +567,9 @@ function FileUpload_div_1_ng_template_4_Conditional_0_ng_container_1_Template(rf
567
567
  } if (rf & 2) {
568
568
  const ctx_r1 = i0.ɵɵnextContext(4);
569
569
  i0.ɵɵadvance();
570
- i0.ɵɵproperty("ngIf", !ctx_r1.uploadiconTemplate);
570
+ i0.ɵɵproperty("ngIf", !ctx_r1.uploadIconTemplate && !ctx_r1._uploadIconTemplate);
571
571
  i0.ɵɵadvance();
572
- i0.ɵɵproperty("ngIf", ctx_r1.uploadiconTemplate);
572
+ i0.ɵɵproperty("ngIf", ctx_r1._uploadIconTemplate || ctx_r1.uploadIconTemplate);
573
573
  } }
574
574
  function FileUpload_div_1_ng_template_4_Conditional_0_Template(rf, ctx) { if (rf & 1) {
575
575
  i0.ɵɵtemplate(0, FileUpload_div_1_ng_template_4_Conditional_0_span_0_Template, 1, 1, "span", 36)(1, FileUpload_div_1_ng_template_4_Conditional_0_ng_container_1_Template, 3, 2, "ng-container", 9);
@@ -601,9 +601,9 @@ function FileUpload_div_1_ng_template_4_Conditional_1_ng_container_1_Template(rf
601
601
  } if (rf & 2) {
602
602
  const ctx_r1 = i0.ɵɵnextContext(4);
603
603
  i0.ɵɵadvance();
604
- i0.ɵɵproperty("ngIf", !ctx_r1.chooseiconTemplate);
604
+ i0.ɵɵproperty("ngIf", !ctx_r1.chooseIconTemplate && !ctx_r1._chooseIconTemplate);
605
605
  i0.ɵɵadvance();
606
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.chooseiconTemplate);
606
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.chooseIconTemplate || ctx_r1._chooseIconTemplate);
607
607
  } }
608
608
  function FileUpload_div_1_ng_template_4_Conditional_1_Template(rf, ctx) { if (rf & 1) {
609
609
  i0.ɵɵtemplate(0, FileUpload_div_1_ng_template_4_Conditional_1_span_0_Template, 1, 1, "span", 42)(1, FileUpload_div_1_ng_template_4_Conditional_1_ng_container_1_Template, 3, 2, "ng-container", 9);
@@ -636,13 +636,13 @@ function FileUpload_div_1_Conditional_8_Conditional_1_Template(rf, ctx) { if (rf
636
636
  i0.ɵɵtemplate(0, FileUpload_div_1_Conditional_8_Conditional_1_ng_container_0_Template, 1, 0, "ng-container", 10);
637
637
  } if (rf & 2) {
638
638
  const ctx_r1 = i0.ɵɵnextContext(3);
639
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.fileLabelTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c13, ctx_r1.files));
639
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.fileLabelTemplate || ctx_r1._fileLabelTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c13, ctx_r1.files));
640
640
  } }
641
641
  function FileUpload_div_1_Conditional_8_Template(rf, ctx) { if (rf & 1) {
642
642
  i0.ɵɵtemplate(0, FileUpload_div_1_Conditional_8_Conditional_0_Template, 2, 3, "span", 44)(1, FileUpload_div_1_Conditional_8_Conditional_1_Template, 1, 4, "ng-container");
643
643
  } if (rf & 2) {
644
644
  const ctx_r1 = i0.ɵɵnextContext(2);
645
- i0.ɵɵconditional(!ctx_r1.fileLabelTemplate ? 0 : 1);
645
+ i0.ɵɵconditional(!ctx_r1.fileLabelTemplate && !ctx_r1._fileLabelTemplate ? 0 : 1);
646
646
  } }
647
647
  function FileUpload_div_1_Template(rf, ctx) { if (rf & 1) {
648
648
  const _r11 = i0.ɵɵgetCurrentView();
@@ -952,22 +952,22 @@ class FileUpload extends BaseComponent {
952
952
  * Template for choose icon.
953
953
  * @group Templates
954
954
  */
955
- chooseiconTemplate;
955
+ chooseIconTemplate;
956
956
  /**
957
957
  * Template for file label.
958
958
  * @group Templates
959
959
  */
960
- filelabelTemplate;
960
+ fileLabelTemplate;
961
961
  /**
962
962
  * Template for upload icon.
963
963
  * @group Templates
964
964
  */
965
- uploadiconTemplate;
965
+ uploadIconTemplate;
966
966
  /**
967
967
  * Template for cancel icon.
968
968
  * @group Templates
969
969
  */
970
- canceliconTemplate;
970
+ cancelIconTemplate;
971
971
  /**
972
972
  * Template for empty state.
973
973
  * @group Templates
@@ -1030,6 +1030,52 @@ class FileUpload extends BaseComponent {
1030
1030
  }
1031
1031
  }
1032
1032
  }
1033
+ _headerTemplate;
1034
+ _contentTemplate;
1035
+ _toolbarTemplate;
1036
+ _chooseIconTemplate;
1037
+ _uploadIconTemplate;
1038
+ _cancelIconTemplate;
1039
+ _emptyTemplate;
1040
+ _fileTemplate;
1041
+ _fileLabelTemplate;
1042
+ templates;
1043
+ ngAfterContentInit() {
1044
+ this.templates?.forEach((item) => {
1045
+ switch (item.getType()) {
1046
+ case 'header':
1047
+ this._headerTemplate = item.template;
1048
+ break;
1049
+ case 'file':
1050
+ this._fileTemplate = item.template;
1051
+ break;
1052
+ case 'content':
1053
+ this._contentTemplate = item.template;
1054
+ break;
1055
+ case 'toolbar':
1056
+ this._toolbarTemplate = item.template;
1057
+ break;
1058
+ case 'chooseicon':
1059
+ this._chooseIconTemplate = item.template;
1060
+ break;
1061
+ case 'uploadicon':
1062
+ this._uploadIconTemplate = item.template;
1063
+ break;
1064
+ case 'cancelicon':
1065
+ this._cancelIconTemplate = item.template;
1066
+ break;
1067
+ case 'empty':
1068
+ this._emptyTemplate = item.template;
1069
+ break;
1070
+ case 'filelabel':
1071
+ this._fileLabelTemplate = item.template;
1072
+ break;
1073
+ default:
1074
+ this._fileTemplate = item.template;
1075
+ break;
1076
+ }
1077
+ });
1078
+ }
1033
1079
  basicFileChosenLabel() {
1034
1080
  if (this.auto)
1035
1081
  return this.chooseButtonLabel;
@@ -1387,26 +1433,28 @@ class FileUpload extends BaseComponent {
1387
1433
  }
1388
1434
  static ɵfac = /*@__PURE__*/ (() => { let ɵFileUpload_BaseFactory; return function FileUpload_Factory(__ngFactoryType__) { return (ɵFileUpload_BaseFactory || (ɵFileUpload_BaseFactory = i0.ɵɵgetInheritedFactory(FileUpload)))(__ngFactoryType__ || FileUpload); }; })();
1389
1435
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FileUpload, selectors: [["p-fileupload"], ["p-fileUpload"]], contentQueries: function FileUpload_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
1390
- i0.ɵɵcontentQuery(dirIndex, _c0, 5);
1391
- i0.ɵɵcontentQuery(dirIndex, _c1, 5);
1392
- i0.ɵɵcontentQuery(dirIndex, _c2, 5);
1393
- i0.ɵɵcontentQuery(dirIndex, _c3, 5);
1394
- i0.ɵɵcontentQuery(dirIndex, _c4, 5);
1395
- i0.ɵɵcontentQuery(dirIndex, _c5, 5);
1396
- i0.ɵɵcontentQuery(dirIndex, _c6, 5);
1397
- i0.ɵɵcontentQuery(dirIndex, _c7, 5);
1398
- i0.ɵɵcontentQuery(dirIndex, _c8, 5);
1436
+ i0.ɵɵcontentQuery(dirIndex, _c0, 4);
1437
+ i0.ɵɵcontentQuery(dirIndex, _c1, 4);
1438
+ i0.ɵɵcontentQuery(dirIndex, _c2, 4);
1439
+ i0.ɵɵcontentQuery(dirIndex, _c3, 4);
1440
+ i0.ɵɵcontentQuery(dirIndex, _c4, 4);
1441
+ i0.ɵɵcontentQuery(dirIndex, _c5, 4);
1442
+ i0.ɵɵcontentQuery(dirIndex, _c6, 4);
1443
+ i0.ɵɵcontentQuery(dirIndex, _c7, 4);
1444
+ i0.ɵɵcontentQuery(dirIndex, _c8, 4);
1445
+ i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);
1399
1446
  } if (rf & 2) {
1400
1447
  let _t;
1401
1448
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.fileTemplate = _t.first);
1402
1449
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.headerTemplate = _t.first);
1403
1450
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.contentTemplate = _t.first);
1404
1451
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.toolbarTemplate = _t.first);
1405
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.chooseiconTemplate = _t.first);
1406
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.filelabelTemplate = _t.first);
1407
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.uploadiconTemplate = _t.first);
1408
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.canceliconTemplate = _t.first);
1452
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.chooseIconTemplate = _t.first);
1453
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.fileLabelTemplate = _t.first);
1454
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.uploadIconTemplate = _t.first);
1455
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.cancelIconTemplate = _t.first);
1409
1456
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.emptyTemplate = _t.first);
1457
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);
1410
1458
  } }, viewQuery: function FileUpload_Query(rf, ctx) { if (rf & 1) {
1411
1459
  i0.ɵɵviewQuery(_c9, 5);
1412
1460
  i0.ɵɵviewQuery(_c10, 5);
@@ -1445,7 +1493,7 @@ class FileUpload extends BaseComponent {
1445
1493
  [style.display]="'none'"
1446
1494
  />
1447
1495
  <div class="p-fileupload-header">
1448
- <ng-container *ngIf="!headerTemplate">
1496
+ <ng-container *ngIf="!headerTemplate && !_headerTemplate">
1449
1497
  <p-button
1450
1498
  [styleClass]="'p-fileupload-choose-button ' + chooseStyleClass"
1451
1499
  [disabled]="disabled || isChooseDisabled()"
@@ -1471,9 +1519,9 @@ class FileUpload extends BaseComponent {
1471
1519
  />
1472
1520
  <span *ngIf="chooseIcon" [class]="chooseIcon" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'"></span>
1473
1521
  <ng-container *ngIf="!chooseIcon">
1474
- <PlusIcon *ngIf="!chooseiconTemplate" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'" />
1475
- <span *ngIf="chooseiconTemplate" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'">
1476
- <ng-template *ngTemplateOutlet="chooseiconTemplate"></ng-template>
1522
+ <PlusIcon *ngIf="!chooseIconTemplate && !_chooseIconTemplate" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'" />
1523
+ <span *ngIf="chooseIconTemplate || _chooseIconTemplate" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'">
1524
+ <ng-template *ngTemplateOutlet="chooseIconTemplate || _chooseIconTemplate"></ng-template>
1477
1525
  </span>
1478
1526
  </ng-container>
1479
1527
  </p-button>
@@ -1488,25 +1536,25 @@ class FileUpload extends BaseComponent {
1488
1536
  >
1489
1537
  <span *ngIf="uploadIcon" [ngClass]="uploadIcon" [attr.aria-hidden]="true"></span>
1490
1538
  <ng-container *ngIf="!uploadIcon">
1491
- <UploadIcon *ngIf="!uploadiconTemplate" />
1492
- <span *ngIf="uploadiconTemplate" [attr.aria-hidden]="true">
1493
- <ng-template *ngTemplateOutlet="uploadiconTemplate"></ng-template>
1539
+ <UploadIcon *ngIf="!uploadIconTemplate && !_uploadIconTemplate" />
1540
+ <span *ngIf="uploadIconTemplate || _uploadIconTemplate" [attr.aria-hidden]="true">
1541
+ <ng-template *ngTemplateOutlet="uploadIconTemplate || _uploadIconTemplate"></ng-template>
1494
1542
  </span>
1495
1543
  </ng-container>
1496
1544
  </p-button>
1497
1545
  <p-button *ngIf="!auto && showCancelButton" [label]="cancelButtonLabel" (onClick)="clear()" [disabled]="!hasFiles() || uploading" [styleClass]="'p-fileupload-cancel-button ' + cancelStyleClass" [buttonProps]="cancelButtonProps">
1498
1546
  <span *ngIf="cancelIcon" [ngClass]="cancelIcon"></span>
1499
1547
  <ng-container *ngIf="!cancelIcon">
1500
- <TimesIcon *ngIf="!canceliconTemplate" [attr.aria-hidden]="true" />
1501
- <span *ngIf="canceliconTemplate" [attr.aria-hidden]="true">
1502
- <ng-template *ngTemplateOutlet="canceliconTemplate"></ng-template>
1548
+ <TimesIcon *ngIf="!cancelIconTemplate && !_cancelIconTemplate" [attr.aria-hidden]="true" />
1549
+ <span *ngIf="cancelIconTemplate || _cancelIconTemplate" [attr.aria-hidden]="true">
1550
+ <ng-template *ngTemplateOutlet="cancelIconTemplate || _cancelIconTemplate"></ng-template>
1503
1551
  </span>
1504
1552
  </ng-container>
1505
1553
  </p-button>
1506
1554
  </ng-container>
1507
1555
  <ng-container
1508
1556
  *ngTemplateOutlet="
1509
- headerTemplate;
1557
+ headerTemplate || _headerTemplate;
1510
1558
  context: {
1511
1559
  $implicit: files,
1512
1560
  uploadedFiles: uploadedFiles,
@@ -1516,7 +1564,7 @@ class FileUpload extends BaseComponent {
1516
1564
  }
1517
1565
  "
1518
1566
  ></ng-container>
1519
- <ng-container *ngTemplateOutlet="toolbarTemplate"></ng-container>
1567
+ <ng-container *ngTemplateOutlet="toolbarTemplate || _toolbarTemplate"></ng-container>
1520
1568
  </div>
1521
1569
  <div #content class="p-fileupload-content" (dragenter)="onDragEnter($event)" (dragleave)="onDragLeave($event)" (drop)="onDrop($event)" [attr.data-pc-section]="'content'">
1522
1570
  <p-progressbar [value]="progress" [showValue]="false" *ngIf="hasFiles()"></p-progressbar>
@@ -1525,7 +1573,7 @@ class FileUpload extends BaseComponent {
1525
1573
  }
1526
1574
 
1527
1575
  <div class="p-fileupload-file-list" *ngIf="hasFiles()">
1528
- @if (!fileTemplate) {
1576
+ @if (!fileTemplate && !_fileTemplate) {
1529
1577
  <div class="p-fileupload-file" *ngFor="let file of files; let i = index">
1530
1578
  <img [src]="file.objectURL" *ngIf="isImage(file)" [width]="previewWidth" (error)="imageError($event)" class="p-fileupload-file-thumbnail" />
1531
1579
  <div class="p-fileupload-file-info">
@@ -1535,20 +1583,20 @@ class FileUpload extends BaseComponent {
1535
1583
  <div class="p-fileupload-file-actions">
1536
1584
  <p-button (onClick)="remove($event, i)" [disabled]="uploading" text rounded severity="danger" [styleClass]="'p-fileupload-file-remove-button ' + removeStyleClass">
1537
1585
  <ng-template #icon>
1538
- <TimesIcon *ngIf="!canceliconTemplate" />
1539
- <ng-template *ngTemplateOutlet="canceliconTemplate"></ng-template>
1586
+ <TimesIcon *ngIf="!cancelIconTemplate && !_cancelIconTemplate" />
1587
+ <ng-template *ngTemplateOutlet="cancelIconTemplate || _cancelIconTemplate"></ng-template>
1540
1588
  </ng-template>
1541
1589
  </p-button>
1542
1590
  </div>
1543
1591
  </div>
1544
1592
  }
1545
- @if (fileTemplate) {
1546
- <ng-template ngFor [ngForOf]="files" [ngForTemplate]="fileTemplate"></ng-template>
1593
+ @if (fileTemplate || _fileTemplate) {
1594
+ <ng-template ngFor [ngForOf]="files" [ngForTemplate]="fileTemplate || _fileTemplate"></ng-template>
1547
1595
  }
1548
1596
  </div>
1549
1597
  <ng-container
1550
1598
  *ngTemplateOutlet="
1551
- contentTemplate;
1599
+ contentTemplate || _contentTemplate;
1552
1600
  context: {
1553
1601
  $implicit: files,
1554
1602
  uploadedFiles: uploadedFiles,
@@ -1561,8 +1609,8 @@ class FileUpload extends BaseComponent {
1561
1609
  }
1562
1610
  "
1563
1611
  ></ng-container>
1564
- @if (emptyTemplate && !hasFiles() && !hasUploadedFiles()) {
1565
- <ng-container *ngTemplateOutlet="emptyTemplate"></ng-container>
1612
+ @if (emptyTemplate && _emptyTemplate && !hasFiles() && !hasUploadedFiles()) {
1613
+ <ng-container *ngTemplateOutlet="emptyTemplate || _emptyTemplate"></ng-container>
1566
1614
  }
1567
1615
  </div>
1568
1616
  </div>
@@ -1585,16 +1633,16 @@ class FileUpload extends BaseComponent {
1585
1633
  @if (hasFiles() && !auto) {
1586
1634
  <span *ngIf="uploadIcon" class="p-button-icon p-button-icon-left" [ngClass]="uploadIcon"></span>
1587
1635
  <ng-container *ngIf="!uploadIcon">
1588
- <UploadIcon *ngIf="!uploadiconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" />
1589
- <span *ngIf="uploadiconTemplate" class="p-button-icon p-button-icon-left">
1590
- <ng-template *ngTemplateOutlet="uploadiconTemplate"></ng-template>
1636
+ <UploadIcon *ngIf="!uploadIconTemplate && !_uploadIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" />
1637
+ <span *ngIf="_uploadIconTemplate || uploadIconTemplate" class="p-button-icon p-button-icon-left">
1638
+ <ng-template *ngTemplateOutlet="_uploadIconTemplate || uploadIconTemplate"></ng-template>
1591
1639
  </span>
1592
1640
  </ng-container>
1593
1641
  } @else {
1594
1642
  <span *ngIf="chooseIcon" class="p-button-icon p-button-icon-left pi" [ngClass]="chooseIcon"></span>
1595
1643
  <ng-container *ngIf="!chooseIcon">
1596
- <PlusIcon *ngIf="!chooseiconTemplate" [attr.data-pc-section]="'uploadicon'" />
1597
- <ng-template *ngTemplateOutlet="chooseiconTemplate"></ng-template>
1644
+ <PlusIcon *ngIf="!chooseIconTemplate && !_chooseIconTemplate" [attr.data-pc-section]="'uploadicon'" />
1645
+ <ng-template *ngTemplateOutlet="chooseIconTemplate || _chooseIconTemplate"></ng-template>
1598
1646
  </ng-container>
1599
1647
  }
1600
1648
  </ng-template>
@@ -1612,12 +1660,12 @@ class FileUpload extends BaseComponent {
1612
1660
  />
1613
1661
  </p-button>
1614
1662
  @if (!auto) {
1615
- @if (!fileLabelTemplate) {
1663
+ @if (!fileLabelTemplate && !_fileLabelTemplate) {
1616
1664
  <span [class]="cx('filelabel')">
1617
1665
  {{ basicFileChosenLabel() }}
1618
1666
  </span>
1619
1667
  } @else {
1620
- <ng-container *ngTemplateOutlet="fileLabelTemplate; context: { $implicit: files }"></ng-container>
1668
+ <ng-container *ngTemplateOutlet="fileLabelTemplate || _fileLabelTemplate; context: { $implicit: files }"></ng-container>
1621
1669
  }
1622
1670
  }
1623
1671
  </div>
@@ -1734,31 +1782,31 @@ class FileUpload extends BaseComponent {
1734
1782
  type: Output
1735
1783
  }], fileTemplate: [{
1736
1784
  type: ContentChild,
1737
- args: ['file']
1785
+ args: ['file', { descendants: false }]
1738
1786
  }], headerTemplate: [{
1739
1787
  type: ContentChild,
1740
- args: ['header']
1788
+ args: ['header', { descendants: false }]
1741
1789
  }], contentTemplate: [{
1742
1790
  type: ContentChild,
1743
- args: ['content']
1791
+ args: ['content', { descendants: false }]
1744
1792
  }], toolbarTemplate: [{
1745
1793
  type: ContentChild,
1746
- args: ['toolbar']
1747
- }], chooseiconTemplate: [{
1794
+ args: ['toolbar', { descendants: false }]
1795
+ }], chooseIconTemplate: [{
1748
1796
  type: ContentChild,
1749
- args: ['chooseicon']
1750
- }], filelabelTemplate: [{
1797
+ args: ['chooseicon', { descendants: false }]
1798
+ }], fileLabelTemplate: [{
1751
1799
  type: ContentChild,
1752
- args: ['filelabel']
1753
- }], uploadiconTemplate: [{
1800
+ args: ['filelabel', { descendants: false }]
1801
+ }], uploadIconTemplate: [{
1754
1802
  type: ContentChild,
1755
- args: ['uploadicon']
1756
- }], canceliconTemplate: [{
1803
+ args: ['uploadicon', { descendants: false }]
1804
+ }], cancelIconTemplate: [{
1757
1805
  type: ContentChild,
1758
- args: ['cancelicon']
1806
+ args: ['cancelicon', { descendants: false }]
1759
1807
  }], emptyTemplate: [{
1760
1808
  type: ContentChild,
1761
- args: ['empty']
1809
+ args: ['empty', { descendants: false }]
1762
1810
  }], advancedFileInput: [{
1763
1811
  type: ViewChild,
1764
1812
  args: ['advancedfileinput']
@@ -1770,8 +1818,11 @@ class FileUpload extends BaseComponent {
1770
1818
  args: ['content']
1771
1819
  }], files: [{
1772
1820
  type: Input
1821
+ }], templates: [{
1822
+ type: ContentChildren,
1823
+ args: [PrimeTemplate]
1773
1824
  }] }); })();
1774
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FileUpload, { className: "FileUpload", filePath: "fileupload.ts", lineNumber: 241 }); })();
1825
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FileUpload, { className: "FileUpload", filePath: "fileupload.ts", lineNumber: 243 }); })();
1775
1826
  class FileUploadModule {
1776
1827
  static ɵfac = function FileUploadModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FileUploadModule)(); };
1777
1828
  static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: FileUploadModule });