primeng 19.0.0-rc.1 → 19.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 (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 +202 -137
  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 +198 -156
  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 +117 -98
  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 +157 -157
  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 { trigger, state, style, transition, animate } from '@angular/animations'
2
2
  import * as i2 from '@angular/common';
3
3
  import { DOCUMENT, CommonModule } from '@angular/common';
4
4
  import * as i0 from '@angular/core';
5
- import { Injectable, inject, EventEmitter, booleanAttribute, numberAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Inject, Input, ContentChild, HostListener, NgModule } from '@angular/core';
5
+ import { Injectable, inject, EventEmitter, booleanAttribute, numberAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Inject, Input, ContentChild, ContentChildren, HostListener, NgModule } from '@angular/core';
6
6
  import { findSingle, absolutePosition, getOffset, addClass, isIOS, isTouchDevice } from '@primeuix/utils';
7
7
  import * as i1 from 'primeng/api';
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 * as i3 from 'primeng/button';
11
11
  import { ButtonModule } from 'primeng/button';
@@ -197,7 +197,7 @@ function ConfirmPopup_div_0_ng_container_1_Template(rf, ctx) { if (rf & 1) {
197
197
  } if (rf & 2) {
198
198
  const ctx_r1 = i0.ɵɵnextContext(2);
199
199
  i0.ɵɵadvance();
200
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.headlessTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c6, ctx_r1.confirmation));
200
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.headlessTemplate || ctx_r1._headlessTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c6, ctx_r1.confirmation));
201
201
  } }
202
202
  function ConfirmPopup_div_0_ng_template_2_ng_container_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
203
203
  i0.ɵɵelementContainer(0);
@@ -209,7 +209,7 @@ function ConfirmPopup_div_0_ng_template_2_ng_container_2_Template(rf, ctx) { if
209
209
  } if (rf & 2) {
210
210
  const ctx_r1 = i0.ɵɵnextContext(3);
211
211
  i0.ɵɵadvance();
212
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.contentTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c6, ctx_r1.confirmation));
212
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.contentTemplate || ctx_r1._contentTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c6, ctx_r1.confirmation));
213
213
  } }
214
214
  function ConfirmPopup_div_0_ng_template_2_ng_template_3_i_0_Template(rf, ctx) { if (rf & 1) {
215
215
  i0.ɵɵelement(0, "i", 15);
@@ -252,7 +252,7 @@ function ConfirmPopup_div_0_ng_template_2_p_button_6_Template(rf, ctx) { if (rf
252
252
  i0.ɵɵadvance();
253
253
  i0.ɵɵproperty("ngIf", ctx_r1.confirmation == null ? null : ctx_r1.confirmation.rejectIcon)("ngIfElse", ctx_r1.rejecticon);
254
254
  i0.ɵɵadvance();
255
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.rejecticon);
255
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.rejectIconTemplate || ctx_r1._rejectIconTemplate);
256
256
  } }
257
257
  function ConfirmPopup_div_0_ng_template_2_p_button_7_i_1_Template(rf, ctx) { if (rf & 1) {
258
258
  i0.ɵɵelement(0, "i");
@@ -277,7 +277,7 @@ function ConfirmPopup_div_0_ng_template_2_p_button_7_Template(rf, ctx) { if (rf
277
277
  i0.ɵɵadvance();
278
278
  i0.ɵɵproperty("ngIf", ctx_r1.confirmation == null ? null : ctx_r1.confirmation.acceptIcon)("ngIfElse", ctx_r1.accepticontemplate);
279
279
  i0.ɵɵadvance();
280
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.accepticon);
280
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.acceptIconTemplate || ctx_r1._acceptIconTemplate);
281
281
  } }
282
282
  function ConfirmPopup_div_0_ng_template_2_Template(rf, ctx) { if (rf & 1) {
283
283
  i0.ɵɵelementStart(0, "div", 9, 1);
@@ -290,7 +290,7 @@ function ConfirmPopup_div_0_ng_template_2_Template(rf, ctx) { if (rf & 1) {
290
290
  const withoutContentTemplate_r5 = i0.ɵɵreference(4);
291
291
  const ctx_r1 = i0.ɵɵnextContext(2);
292
292
  i0.ɵɵadvance(2);
293
- i0.ɵɵproperty("ngIf", ctx_r1.contentTemplate)("ngIfElse", withoutContentTemplate_r5);
293
+ i0.ɵɵproperty("ngIf", ctx_r1.contentTemplate || ctx_r1._contentTemplate)("ngIfElse", withoutContentTemplate_r5);
294
294
  i0.ɵɵadvance(4);
295
295
  i0.ɵɵproperty("ngIf", (ctx_r1.confirmation == null ? null : ctx_r1.confirmation.rejectVisible) !== false);
296
296
  i0.ɵɵadvance();
@@ -308,7 +308,7 @@ function ConfirmPopup_div_0_Template(rf, ctx) { if (rf & 1) {
308
308
  i0.ɵɵclassMap(ctx_r1.styleClass);
309
309
  i0.ɵɵproperty("ngClass", "p-confirmpopup p-component")("ngStyle", ctx_r1.style)("@animation", i0.ɵɵpureFunction1(10, _c5, i0.ɵɵpureFunction2(7, _c4, ctx_r1.showTransitionOptions, ctx_r1.hideTransitionOptions)));
310
310
  i0.ɵɵadvance();
311
- i0.ɵɵproperty("ngIf", ctx_r1.headlessTemplate)("ngIfElse", notHeadless_r6);
311
+ i0.ɵɵproperty("ngIf", ctx_r1.headlessTemplate || ctx_r1._headlessTemplate)("ngIfElse", notHeadless_r6);
312
312
  } }
313
313
  /**
314
314
  * ConfirmPopup displays a confirmation overlay displayed relatively to its target.
@@ -376,9 +376,13 @@ class ConfirmPopup extends BaseComponent {
376
376
  subscription;
377
377
  confirmation;
378
378
  contentTemplate;
379
- accepticon;
380
- rejecticon;
379
+ acceptIconTemplate;
380
+ rejectIconTemplate;
381
381
  headlessTemplate;
382
+ _contentTemplate;
383
+ _acceptIconTemplate;
384
+ _rejectIconTemplate;
385
+ _headlessTemplate;
382
386
  _visible;
383
387
  documentClickListener;
384
388
  documentResizeListener;
@@ -417,6 +421,25 @@ class ConfirmPopup extends BaseComponent {
417
421
  }
418
422
  });
419
423
  }
424
+ templates;
425
+ ngAfterContentInit() {
426
+ this.templates?.forEach((item) => {
427
+ switch (item.getType()) {
428
+ case 'content':
429
+ this._contentTemplate = item.template;
430
+ break;
431
+ case 'rejecticon':
432
+ this._rejectIconTemplate = item.template;
433
+ break;
434
+ case 'accepticon':
435
+ this._acceptIconTemplate = item.template;
436
+ break;
437
+ case 'headless':
438
+ this._headlessTemplate = item.template;
439
+ break;
440
+ }
441
+ });
442
+ }
420
443
  option(name, k) {
421
444
  const source = this || this;
422
445
  if (source.hasOwnProperty(name)) {
@@ -614,16 +637,18 @@ class ConfirmPopup extends BaseComponent {
614
637
  }
615
638
  static ɵfac = function ConfirmPopup_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ConfirmPopup)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.ConfirmationService), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.OverlayService), i0.ɵɵdirectiveInject(DOCUMENT)); };
616
639
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ConfirmPopup, selectors: [["p-confirmPopup"], ["p-confirmpopup"], ["p-confirm-popup"]], contentQueries: function ConfirmPopup_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
617
- i0.ɵɵcontentQuery(dirIndex, _c0, 5);
618
- i0.ɵɵcontentQuery(dirIndex, _c1, 5);
619
- i0.ɵɵcontentQuery(dirIndex, _c2, 5);
620
- i0.ɵɵcontentQuery(dirIndex, _c3, 5);
640
+ i0.ɵɵcontentQuery(dirIndex, _c0, 4);
641
+ i0.ɵɵcontentQuery(dirIndex, _c1, 4);
642
+ i0.ɵɵcontentQuery(dirIndex, _c2, 4);
643
+ i0.ɵɵcontentQuery(dirIndex, _c3, 4);
644
+ i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);
621
645
  } if (rf & 2) {
622
646
  let _t;
623
647
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.contentTemplate = _t.first);
624
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.accepticon = _t.first);
625
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.rejecticon = _t.first);
648
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.acceptIconTemplate = _t.first);
649
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.rejectIconTemplate = _t.first);
626
650
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.headlessTemplate = _t.first);
651
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);
627
652
  } }, hostBindings: function ConfirmPopup_HostBindings(rf, ctx) { if (rf & 1) {
628
653
  i0.ɵɵlistener("keydown.escape", function ConfirmPopup_keydown_escape_HostBindingHandler($event) { return ctx.onEscapeKeydown($event); }, false, i0.ɵɵresolveDocument);
629
654
  } }, inputs: { key: "key", defaultFocus: "defaultFocus", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", autoZIndex: [2, "autoZIndex", "autoZIndex", booleanAttribute], baseZIndex: [2, "baseZIndex", "baseZIndex", numberAttribute], style: "style", styleClass: "styleClass", visible: "visible" }, features: [i0.ɵɵProvidersFeature([ConfirmPopupStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [["notHeadless", ""], ["content", ""], ["withoutContentTemplate", ""], ["rejecticon", ""], ["accepticontemplate", ""], ["role", "alertdialog", 3, "ngClass", "ngStyle", "class", "click", 4, "ngIf"], ["role", "alertdialog", 3, "click", "ngClass", "ngStyle"], [4, "ngIf", "ngIfElse"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "p-confirmpopup-content"], [1, "p-confirmpopup-footer"], ["type", "button", 3, "label", "ngClass", "styleClass", "size", "text", "buttonProps", "onClick", 4, "ngIf"], ["type", "button", 3, "label", "ngClass", "styleClass", "size", "buttonProps", "onClick", 4, "ngIf"], [3, "ngClass", "class", 4, "ngIf"], [1, "p-confirmpopup-message"], [3, "ngClass"], ["type", "button", 3, "onClick", "label", "ngClass", "styleClass", "size", "text", "buttonProps"], [3, "class", 4, "ngIf", "ngIfElse"], [4, "ngTemplateOutlet"], ["type", "button", 3, "onClick", "label", "ngClass", "styleClass", "size", "buttonProps"]], template: function ConfirmPopup_Template(rf, ctx) { if (rf & 1) {
@@ -666,13 +691,13 @@ class ConfirmPopup extends BaseComponent {
666
691
  (@animation.start)="onAnimationStart($event)"
667
692
  (@animation.done)="onAnimationEnd($event)"
668
693
  >
669
- <ng-container *ngIf="headlessTemplate; else notHeadless">
670
- <ng-container *ngTemplateOutlet="headlessTemplate; context: { $implicit: confirmation }"></ng-container>
694
+ <ng-container *ngIf="headlessTemplate || _headlessTemplate; else notHeadless">
695
+ <ng-container *ngTemplateOutlet="headlessTemplate || _headlessTemplate; context: { $implicit: confirmation }"></ng-container>
671
696
  </ng-container>
672
697
  <ng-template #notHeadless>
673
698
  <div #content class="p-confirmpopup-content">
674
- <ng-container *ngIf="contentTemplate; else withoutContentTemplate">
675
- <ng-container *ngTemplateOutlet="contentTemplate; context: { $implicit: confirmation }"></ng-container>
699
+ <ng-container *ngIf="contentTemplate || _contentTemplate; else withoutContentTemplate">
700
+ <ng-container *ngTemplateOutlet="contentTemplate || _contentTemplate; context: { $implicit: confirmation }"></ng-container>
676
701
  </ng-container>
677
702
  <ng-template #withoutContentTemplate>
678
703
  <i [ngClass]="'p-confirmpopup-icon'" [class]="confirmation?.icon" *ngIf="confirmation?.icon"></i>
@@ -693,7 +718,7 @@ class ConfirmPopup extends BaseComponent {
693
718
  [buttonProps]="getRejectButtonProps()"
694
719
  >
695
720
  <i [class]="confirmation?.rejectIcon" *ngIf="confirmation?.rejectIcon; else rejecticon"></i>
696
- <ng-template #rejecticon *ngTemplateOutlet="rejecticon"></ng-template>
721
+ <ng-template #rejecticon *ngTemplateOutlet="rejectIconTemplate || _rejectIconTemplate"></ng-template>
697
722
  </p-button>
698
723
  <p-button
699
724
  type="button"
@@ -707,7 +732,7 @@ class ConfirmPopup extends BaseComponent {
707
732
  [buttonProps]="getAcceptButtonProps()"
708
733
  >
709
734
  <i [class]="confirmation?.acceptIcon" *ngIf="confirmation?.acceptIcon; else accepticontemplate"></i>
710
- <ng-template #accepticontemplate *ngTemplateOutlet="accepticon"></ng-template>
735
+ <ng-template #accepticontemplate *ngTemplateOutlet="acceptIconTemplate || _acceptIconTemplate"></ng-template>
711
736
  </p-button>
712
737
  </div>
713
738
  </ng-template>
@@ -756,21 +781,24 @@ class ConfirmPopup extends BaseComponent {
756
781
  type: Input
757
782
  }], contentTemplate: [{
758
783
  type: ContentChild,
759
- args: ['content']
760
- }], accepticon: [{
784
+ args: ['content', { descendants: false }]
785
+ }], acceptIconTemplate: [{
761
786
  type: ContentChild,
762
- args: ['accepticon']
763
- }], rejecticon: [{
787
+ args: ['accepticon', { descendants: false }]
788
+ }], rejectIconTemplate: [{
764
789
  type: ContentChild,
765
- args: ['rejecticon']
790
+ args: ['rejecticon', { descendants: false }]
766
791
  }], headlessTemplate: [{
767
792
  type: ContentChild,
768
- args: ['headless']
793
+ args: ['headless', { descendants: false }]
794
+ }], templates: [{
795
+ type: ContentChildren,
796
+ args: [PrimeTemplate]
769
797
  }], onEscapeKeydown: [{
770
798
  type: HostListener,
771
799
  args: ['document:keydown.escape', ['$event']]
772
800
  }] }); })();
773
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ConfirmPopup, { className: "ConfirmPopup", filePath: "confirmpopup.ts", lineNumber: 127 }); })();
801
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ConfirmPopup, { className: "ConfirmPopup", filePath: "confirmpopup.ts", lineNumber: 129 }); })();
774
802
  class ConfirmPopupModule {
775
803
  static ɵfac = function ConfirmPopupModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ConfirmPopupModule)(); };
776
804
  static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: ConfirmPopupModule });
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-confirmpopup.mjs","sources":["../../src/confirmpopup/style/confirmpopupstyle.ts","../../src/confirmpopup/confirmpopup.ts","../../src/confirmpopup/primeng-confirmpopup.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-confirmpopup {\n position: absolute;\n margin-top: ${dt('confirmpopup.gutter')};\n top: 0;\n left: 0;\n background: ${dt('confirmpopup.background')};\n color: ${dt('confirmpopup.color')};\n border: 1px solid ${dt('confirmpopup.border.color')};\n border-radius: ${dt('confirmpopup.border.radius')};\n box-shadow: ${dt('confirmpopup.shadow')};\n}\n\n.p-confirmpopup-content {\n display: flex;\n align-items: center;\n padding: ${dt('confirmpopup.content.padding')};\n gap: ${dt('confirmpopup.content.gap')};\n}\n\n.p-confirmpopup-icon {\n font-size: ${dt('confirmpopup.icon.size')};\n width: ${dt('confirmpopup.icon.size')};\n height: ${dt('confirmpopup.icon.size')};\n color: ${dt('confirmpopup.icon.color')};\n}\n\n.p-confirmpopup-footer {\n display: flex;\n justify-content: flex-end;\n gap: ${dt('confirmpopup.footer.gap')};\n padding: ${dt('confirmpopup.footer.padding')};\n}\n\n.p-confirmpopup-footer button {\n width: auto;\n}\n\n.p-confirmpopup-footer button:last-child {\n margin: 0;\n}\n\n.p-confirmpopup-flipped {\n margin-top: calc(${dt('confirmpopup.gutter')} * -1);\n margin-bottom: ${dt('confirmpopup.gutter')};\n}\n\n.p-confirmpopup-enter-from {\n opacity: 0;\n transform: scaleY(0.8);\n}\n\n.p-confirmpopup-leave-to {\n opacity: 0;\n}\n\n.p-confirmpopup-enter-active {\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n}\n\n.p-confirmpopup-leave-active {\n transition: opacity 0.1s linear;\n}\n\n.p-confirmpopup:after,\n.p-confirmpopup:before {\n bottom: 100%;\n left: ${dt('confirmpopup.arrow.offset')};\n content: \" \";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n\n.p-confirmpopup:after {\n border-width: calc(${dt('confirmpopup.gutter')} - 2px);\n margin-left: calc(-1 * (${dt('confirmpopup.gutter')} - 2px));\n border-style: solid;\n border-color: transparent;\n border-bottom-color: ${dt('confirmpopup.background')};\n}\n\n.p-confirmpopup:before {\n border-width: ${dt('confirmpopup.gutter')};\n margin-left: calc(-1 * ${dt('confirmpopup.gutter')});\n border-style: solid;\n border-color: transparent;\n border-bottom-color: ${dt('confirmpopup.border.color')};\n}\n\n.p-confirmpopup-flipped:after,\n.p-confirmpopup-flipped:before {\n bottom: auto;\n top: 100%;\n}\n\n.p-confirmpopup-flipped:after {\n border-bottom-color: transparent;\n border-top-color: ${dt('confirmpopup.background')};\n}\n\n.p-confirmpopup-flipped:before {\n border-bottom-color: transparent;\n border-top-color: ${dt('confirmpopup.border.color')};\n}\n`;\n\nconst classes = {\n root: 'p-confirmpopup p-component',\n content: 'p-confirmpopup-content',\n icon: 'p-confirmpopup-icon',\n message: 'p-confirmpopup-message',\n footer: 'p-confirmpopup-footer',\n pcRejectButton: 'p-confirmpopup-reject-button',\n pcAcceptButton: 'p-confirmpopup-accept-button'\n};\n\n@Injectable()\nexport class ConfirmPopupStyle extends BaseStyle {\n name = 'confirmpopup';\n\n theme = theme;\n\n classes = classes;\n}\n\n/**\n *\n * ConfirmPopup displays a confirmation overlay displayed relatively to its target.\n *\n * [Live Demo](https://www.primeng.org/confirmpopup)\n *\n * @module confirmpopupstyle\n *\n */\nexport enum ConfirmPopupClasses {\n /**\n * Class name of the root element\n */\n root = 'p-confirmpopup',\n /**\n * Class name of the content element\n */\n content = 'p-confirmpopup-content',\n /**\n * Class name of the icon element\n */\n icon = 'p-confirmpopup-icon',\n /**\n * Class name of the message element\n */\n message = 'p-confirmpopup-message',\n /**\n * Class name of the footer element\n */\n footer = 'p-confirmpopup-footer',\n /**\n * Class name of the reject button element\n */\n pcRejectButton = 'p-confirmpopup-reject-button',\n /**\n * Class name of the accept button element\n */\n pcAcceptButton = 'p-confirmpopup-accept-button'\n}\n\nexport interface ConfirmPopupStyle extends BaseStyle {}\n","import { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations';\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n inject,\n Input,\n NgModule,\n numberAttribute,\n OnDestroy,\n Renderer2,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { absolutePosition, addClass, findSingle, getOffset, isIOS, isTouchDevice } from '@primeuix/utils';\nimport { Confirmation, ConfirmationService, OverlayService, SharedModule, TranslationKeys } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { ButtonModule } from 'primeng/button';\nimport { ConnectedOverlayScrollHandler } from 'primeng/dom';\nimport { Nullable, VoidListener } from 'primeng/ts-helpers';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { Subscription } from 'rxjs';\nimport { ConfirmPopupStyle } from './style/confirmpopupstyle';\n\n/**\n * ConfirmPopup displays a confirmation overlay displayed relatively to its target.\n * @group Components\n */\n@Component({\n selector: 'p-confirmPopup, p-confirmpopup, p-confirm-popup',\n standalone: true,\n imports: [CommonModule, SharedModule, ButtonModule],\n template: `\n <div\n *ngIf=\"visible\"\n [ngClass]=\"'p-confirmpopup p-component'\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n role=\"alertdialog\"\n (click)=\"onOverlayClick($event)\"\n [@animation]=\"{\n value: 'open',\n params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions }\n }\"\n (@animation.start)=\"onAnimationStart($event)\"\n (@animation.done)=\"onAnimationEnd($event)\"\n >\n <ng-container *ngIf=\"headlessTemplate; else notHeadless\">\n <ng-container *ngTemplateOutlet=\"headlessTemplate; context: { $implicit: confirmation }\"></ng-container>\n </ng-container>\n <ng-template #notHeadless>\n <div #content class=\"p-confirmpopup-content\">\n <ng-container *ngIf=\"contentTemplate; else withoutContentTemplate\">\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: confirmation }\"></ng-container>\n </ng-container>\n <ng-template #withoutContentTemplate>\n <i [ngClass]=\"'p-confirmpopup-icon'\" [class]=\"confirmation?.icon\" *ngIf=\"confirmation?.icon\"></i>\n <span class=\"p-confirmpopup-message\">{{ confirmation?.message }}</span>\n </ng-template>\n </div>\n <div class=\"p-confirmpopup-footer\">\n <p-button\n type=\"button\"\n [label]=\"rejectButtonLabel\"\n (onClick)=\"onReject()\"\n [ngClass]=\"'p-confirmpopup-reject-button'\"\n [styleClass]=\"confirmation?.rejectButtonStyleClass\"\n [size]=\"confirmation.rejectButtonProps?.size || 'small'\"\n [text]=\"confirmation.rejectButtonProps?.text || false\"\n *ngIf=\"confirmation?.rejectVisible !== false\"\n [attr.aria-label]=\"rejectButtonLabel\"\n [buttonProps]=\"getRejectButtonProps()\"\n >\n <i [class]=\"confirmation?.rejectIcon\" *ngIf=\"confirmation?.rejectIcon; else rejecticon\"></i>\n <ng-template #rejecticon *ngTemplateOutlet=\"rejecticon\"></ng-template>\n </p-button>\n <p-button\n type=\"button\"\n [label]=\"acceptButtonLabel\"\n (onClick)=\"onAccept()\"\n [ngClass]=\"'p-confirmpopup-accept-button'\"\n [styleClass]=\"confirmation?.acceptButtonStyleClass\"\n [size]=\"confirmation.acceptButtonProps?.size || 'small'\"\n *ngIf=\"confirmation?.acceptVisible !== false\"\n [attr.aria-label]=\"acceptButtonLabel\"\n [buttonProps]=\"getAcceptButtonProps()\"\n >\n <i [class]=\"confirmation?.acceptIcon\" *ngIf=\"confirmation?.acceptIcon; else accepticontemplate\"></i>\n <ng-template #accepticontemplate *ngTemplateOutlet=\"accepticon\"></ng-template>\n </p-button>\n </div>\n </ng-template>\n </div>\n `,\n animations: [\n trigger('animation', [\n state(\n 'void',\n style({\n transform: 'scaleY(0.8)',\n opacity: 0\n })\n ),\n state(\n 'open',\n style({\n transform: 'translateY(0)',\n opacity: 1\n })\n ),\n transition('void => open', animate('{{showTransitionParams}}')),\n transition('open => void', animate('{{hideTransitionParams}}'))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [ConfirmPopupStyle]\n})\nexport class ConfirmPopup extends BaseComponent implements AfterContentInit, OnDestroy {\n /**\n * Optional key to match the key of confirm object, necessary to use when component tree has multiple confirm dialogs.\n * @group Props\n */\n @Input() key: string | undefined;\n /**\n * Element to receive the focus when the popup gets visible, valid values are \"accept\", \"reject\", and \"none\".\n * @group Props\n */\n @Input() defaultFocus: string = 'accept';\n /**\n * Transition options of the show animation.\n * @group Props\n */\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Transition options of the hide animation.\n * @group Props\n */\n @Input() hideTransitionOptions: string = '.1s linear';\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoZIndex: boolean = true;\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n @Input({ transform: numberAttribute }) baseZIndex: number = 0;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Defines if the component is visible.\n * @group Props\n */\n @Input() get visible(): any {\n return this._visible;\n }\n set visible(value: any) {\n this._visible = value;\n this.cd.markForCheck();\n }\n\n container: Nullable<HTMLDivElement>;\n\n subscription: Subscription;\n\n confirmation: Nullable<Confirmation>;\n\n @ContentChild('content') contentTemplate: Nullable<TemplateRef<any>>;\n\n @ContentChild('accepticon') accepticon: Nullable<TemplateRef<any>>;\n\n @ContentChild('rejecticon') rejecticon: Nullable<TemplateRef<any>>;\n\n @ContentChild('headless') headlessTemplate: Nullable<TemplateRef<any>>;\n\n _visible: boolean | undefined;\n\n documentClickListener: VoidListener;\n\n documentResizeListener: VoidListener;\n\n scrollHandler: Nullable<ConnectedOverlayScrollHandler>;\n\n private window: Window;\n\n _componentStyle = inject(ConfirmPopupStyle);\n\n constructor(\n public el: ElementRef,\n private confirmationService: ConfirmationService,\n public renderer: Renderer2,\n public cd: ChangeDetectorRef,\n public overlayService: OverlayService,\n @Inject(DOCUMENT) public document: Document\n ) {\n super();\n this.window = this.document.defaultView as Window;\n this.subscription = this.confirmationService.requireConfirmation$.subscribe((confirmation) => {\n if (!confirmation) {\n this.hide();\n return;\n }\n\n if (confirmation.key === this.key) {\n this.confirmation = confirmation;\n const keys = Object.keys(confirmation);\n\n keys.forEach((key) => {\n this[key] = confirmation[key];\n });\n\n if (this.confirmation.accept) {\n this.confirmation.acceptEvent = new EventEmitter();\n this.confirmation.acceptEvent.subscribe(this.confirmation.accept);\n }\n\n if (this.confirmation.reject) {\n this.confirmation.rejectEvent = new EventEmitter();\n this.confirmation.rejectEvent.subscribe(this.confirmation.reject);\n }\n\n this.visible = true;\n }\n });\n }\n\n option(name: string, k?: string) {\n const source: { [key: string]: any } = this || this;\n if (source.hasOwnProperty(name)) {\n if (k) {\n return source[k];\n }\n return source[name];\n }\n\n return undefined;\n }\n\n @HostListener('document:keydown.escape', ['$event'])\n onEscapeKeydown(event: KeyboardEvent) {\n if (this.confirmation && this.confirmation.closeOnEscape) {\n this.onReject();\n }\n }\n\n onAnimationStart(event: AnimationEvent) {\n if (event.toState === 'open') {\n this.container = event.element;\n this.renderer.appendChild(this.document.body, this.container);\n this.align();\n this.bindListeners();\n\n const element = this.getElementToFocus();\n if (element) {\n element.focus();\n }\n }\n }\n\n onAnimationEnd(event: AnimationEvent) {\n switch (event.toState) {\n case 'void':\n this.onContainerDestroy();\n break;\n }\n }\n\n getAcceptButtonProps() {\n return this.option('acceptButtonProps');\n }\n\n getRejectButtonProps() {\n return this.option('rejectButtonProps');\n }\n\n getElementToFocus() {\n switch (this.defaultFocus) {\n case 'accept':\n return <any>findSingle(this.container, '.p-confirm-popup-accept');\n\n case 'reject':\n return <any>findSingle(this.container, '.p-confirm-popup-reject');\n\n case 'none':\n return null;\n }\n }\n\n align() {\n if (this.autoZIndex) {\n ZIndexUtils.set('overlay', this.container, this.config.zIndex.overlay);\n }\n\n if (!this.confirmation) {\n return;\n }\n absolutePosition(this.container, this.confirmation?.target as any, false);\n\n const containerOffset = <any>getOffset(this.container);\n const targetOffset = <any>getOffset(this.confirmation?.target as any);\n let arrowLeft = 0;\n\n if (containerOffset.left < targetOffset.left) {\n arrowLeft = targetOffset.left - containerOffset.left;\n }\n (this.container as HTMLDivElement).style.setProperty('--overlayArrowLeft', `${arrowLeft}px`);\n\n if (containerOffset.top < targetOffset.top) {\n addClass(this.container, 'p-confirm-popup-flipped');\n }\n }\n\n hide() {\n this.visible = false;\n }\n\n onAccept() {\n if (this.confirmation?.acceptEvent) {\n this.confirmation.acceptEvent.emit();\n }\n\n this.hide();\n }\n\n onReject() {\n if (this.confirmation?.rejectEvent) {\n this.confirmation.rejectEvent.emit();\n }\n\n this.hide();\n }\n\n onOverlayClick(event: MouseEvent) {\n this.overlayService.add({\n originalEvent: event,\n target: this.el.nativeElement\n });\n }\n\n bindListeners(): void {\n /*\n * Called inside `setTimeout` to avoid listening to the click event that appears when `confirm` is first called(bubbling).\n * Need wait when bubbling event up and hang the handler on the next tick.\n * This is the case when eventTarget and confirmation.target do not match when the `confirm` method is called.\n */\n setTimeout(() => {\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n });\n }\n\n unbindListeners() {\n this.unbindDocumentClickListener();\n this.unbindDocumentResizeListener();\n this.unbindScrollListener();\n }\n\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n let documentEvent = isIOS() ? 'touchstart' : 'click';\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : this.document;\n\n this.documentClickListener = this.renderer.listen(documentTarget, documentEvent, (event) => {\n if (this.confirmation && this.confirmation.dismissableMask !== false) {\n let targetElement = <HTMLElement>this.confirmation.target;\n if (this.container !== event.target && !this.container?.contains(event.target) && targetElement !== event.target && !targetElement.contains(event.target)) {\n this.hide();\n }\n }\n });\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n }\n\n onWindowResize() {\n if (this.visible && !isTouchDevice()) {\n this.hide();\n }\n }\n\n bindDocumentResizeListener() {\n if (!this.documentResizeListener) {\n this.documentResizeListener = this.renderer.listen(this.window, 'resize', this.onWindowResize.bind(this));\n }\n }\n\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n this.documentResizeListener();\n this.documentResizeListener = null;\n }\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.confirmation?.target, () => {\n if (this.visible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n unsubscribeConfirmationSubscriptions() {\n if (this.confirmation) {\n if (this.confirmation.acceptEvent) {\n this.confirmation.acceptEvent.unsubscribe();\n }\n\n if (this.confirmation.rejectEvent) {\n this.confirmation.rejectEvent.unsubscribe();\n }\n }\n }\n\n onContainerDestroy() {\n this.unbindListeners();\n this.unsubscribeConfirmationSubscriptions();\n\n if (this.autoZIndex) {\n ZIndexUtils.clear(this.container);\n }\n\n this.confirmation = null;\n this.container = null;\n }\n\n restoreAppend() {\n if (this.container) {\n this.renderer.removeChild(this.document.body, this.container);\n }\n\n this.onContainerDestroy();\n }\n\n get acceptButtonLabel(): string {\n return this.confirmation?.acceptLabel || this.config.getTranslation(TranslationKeys.ACCEPT);\n }\n\n get rejectButtonLabel(): string {\n return this.confirmation?.rejectLabel || this.config.getTranslation(TranslationKeys.REJECT);\n }\n\n ngOnDestroy() {\n this.restoreAppend();\n\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n}\n\n@NgModule({\n imports: [ConfirmPopup, SharedModule],\n exports: [ConfirmPopup, SharedModule]\n})\nexport class ConfirmPopupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primeng-confirmpopup.mjs","sources":["../../src/confirmpopup/style/confirmpopupstyle.ts","../../src/confirmpopup/confirmpopup.ts","../../src/confirmpopup/primeng-confirmpopup.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-confirmpopup {\n position: absolute;\n margin-top: ${dt('confirmpopup.gutter')};\n top: 0;\n left: 0;\n background: ${dt('confirmpopup.background')};\n color: ${dt('confirmpopup.color')};\n border: 1px solid ${dt('confirmpopup.border.color')};\n border-radius: ${dt('confirmpopup.border.radius')};\n box-shadow: ${dt('confirmpopup.shadow')};\n}\n\n.p-confirmpopup-content {\n display: flex;\n align-items: center;\n padding: ${dt('confirmpopup.content.padding')};\n gap: ${dt('confirmpopup.content.gap')};\n}\n\n.p-confirmpopup-icon {\n font-size: ${dt('confirmpopup.icon.size')};\n width: ${dt('confirmpopup.icon.size')};\n height: ${dt('confirmpopup.icon.size')};\n color: ${dt('confirmpopup.icon.color')};\n}\n\n.p-confirmpopup-footer {\n display: flex;\n justify-content: flex-end;\n gap: ${dt('confirmpopup.footer.gap')};\n padding: ${dt('confirmpopup.footer.padding')};\n}\n\n.p-confirmpopup-footer button {\n width: auto;\n}\n\n.p-confirmpopup-footer button:last-child {\n margin: 0;\n}\n\n.p-confirmpopup-flipped {\n margin-top: calc(${dt('confirmpopup.gutter')} * -1);\n margin-bottom: ${dt('confirmpopup.gutter')};\n}\n\n.p-confirmpopup-enter-from {\n opacity: 0;\n transform: scaleY(0.8);\n}\n\n.p-confirmpopup-leave-to {\n opacity: 0;\n}\n\n.p-confirmpopup-enter-active {\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n}\n\n.p-confirmpopup-leave-active {\n transition: opacity 0.1s linear;\n}\n\n.p-confirmpopup:after,\n.p-confirmpopup:before {\n bottom: 100%;\n left: ${dt('confirmpopup.arrow.offset')};\n content: \" \";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n\n.p-confirmpopup:after {\n border-width: calc(${dt('confirmpopup.gutter')} - 2px);\n margin-left: calc(-1 * (${dt('confirmpopup.gutter')} - 2px));\n border-style: solid;\n border-color: transparent;\n border-bottom-color: ${dt('confirmpopup.background')};\n}\n\n.p-confirmpopup:before {\n border-width: ${dt('confirmpopup.gutter')};\n margin-left: calc(-1 * ${dt('confirmpopup.gutter')});\n border-style: solid;\n border-color: transparent;\n border-bottom-color: ${dt('confirmpopup.border.color')};\n}\n\n.p-confirmpopup-flipped:after,\n.p-confirmpopup-flipped:before {\n bottom: auto;\n top: 100%;\n}\n\n.p-confirmpopup-flipped:after {\n border-bottom-color: transparent;\n border-top-color: ${dt('confirmpopup.background')};\n}\n\n.p-confirmpopup-flipped:before {\n border-bottom-color: transparent;\n border-top-color: ${dt('confirmpopup.border.color')};\n}\n`;\n\nconst classes = {\n root: 'p-confirmpopup p-component',\n content: 'p-confirmpopup-content',\n icon: 'p-confirmpopup-icon',\n message: 'p-confirmpopup-message',\n footer: 'p-confirmpopup-footer',\n pcRejectButton: 'p-confirmpopup-reject-button',\n pcAcceptButton: 'p-confirmpopup-accept-button'\n};\n\n@Injectable()\nexport class ConfirmPopupStyle extends BaseStyle {\n name = 'confirmpopup';\n\n theme = theme;\n\n classes = classes;\n}\n\n/**\n *\n * ConfirmPopup displays a confirmation overlay displayed relatively to its target.\n *\n * [Live Demo](https://www.primeng.org/confirmpopup)\n *\n * @module confirmpopupstyle\n *\n */\nexport enum ConfirmPopupClasses {\n /**\n * Class name of the root element\n */\n root = 'p-confirmpopup',\n /**\n * Class name of the content element\n */\n content = 'p-confirmpopup-content',\n /**\n * Class name of the icon element\n */\n icon = 'p-confirmpopup-icon',\n /**\n * Class name of the message element\n */\n message = 'p-confirmpopup-message',\n /**\n * Class name of the footer element\n */\n footer = 'p-confirmpopup-footer',\n /**\n * Class name of the reject button element\n */\n pcRejectButton = 'p-confirmpopup-reject-button',\n /**\n * Class name of the accept button element\n */\n pcAcceptButton = 'p-confirmpopup-accept-button'\n}\n\nexport interface ConfirmPopupStyle extends BaseStyle {}\n","import { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations';\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n inject,\n Input,\n NgModule,\n numberAttribute,\n OnDestroy,\n QueryList,\n Renderer2,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { absolutePosition, addClass, findSingle, getOffset, isIOS, isTouchDevice } from '@primeuix/utils';\nimport { Confirmation, ConfirmationService, OverlayService, PrimeTemplate, SharedModule, TranslationKeys } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { ButtonModule } from 'primeng/button';\nimport { ConnectedOverlayScrollHandler } from 'primeng/dom';\nimport { Nullable, VoidListener } from 'primeng/ts-helpers';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { Subscription } from 'rxjs';\nimport { ConfirmPopupStyle } from './style/confirmpopupstyle';\n\n/**\n * ConfirmPopup displays a confirmation overlay displayed relatively to its target.\n * @group Components\n */\n@Component({\n selector: 'p-confirmPopup, p-confirmpopup, p-confirm-popup',\n standalone: true,\n imports: [CommonModule, SharedModule, ButtonModule],\n template: `\n <div\n *ngIf=\"visible\"\n [ngClass]=\"'p-confirmpopup p-component'\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n role=\"alertdialog\"\n (click)=\"onOverlayClick($event)\"\n [@animation]=\"{\n value: 'open',\n params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions }\n }\"\n (@animation.start)=\"onAnimationStart($event)\"\n (@animation.done)=\"onAnimationEnd($event)\"\n >\n <ng-container *ngIf=\"headlessTemplate || _headlessTemplate; else notHeadless\">\n <ng-container *ngTemplateOutlet=\"headlessTemplate || _headlessTemplate; context: { $implicit: confirmation }\"></ng-container>\n </ng-container>\n <ng-template #notHeadless>\n <div #content class=\"p-confirmpopup-content\">\n <ng-container *ngIf=\"contentTemplate || _contentTemplate; else withoutContentTemplate\">\n <ng-container *ngTemplateOutlet=\"contentTemplate || _contentTemplate; context: { $implicit: confirmation }\"></ng-container>\n </ng-container>\n <ng-template #withoutContentTemplate>\n <i [ngClass]=\"'p-confirmpopup-icon'\" [class]=\"confirmation?.icon\" *ngIf=\"confirmation?.icon\"></i>\n <span class=\"p-confirmpopup-message\">{{ confirmation?.message }}</span>\n </ng-template>\n </div>\n <div class=\"p-confirmpopup-footer\">\n <p-button\n type=\"button\"\n [label]=\"rejectButtonLabel\"\n (onClick)=\"onReject()\"\n [ngClass]=\"'p-confirmpopup-reject-button'\"\n [styleClass]=\"confirmation?.rejectButtonStyleClass\"\n [size]=\"confirmation.rejectButtonProps?.size || 'small'\"\n [text]=\"confirmation.rejectButtonProps?.text || false\"\n *ngIf=\"confirmation?.rejectVisible !== false\"\n [attr.aria-label]=\"rejectButtonLabel\"\n [buttonProps]=\"getRejectButtonProps()\"\n >\n <i [class]=\"confirmation?.rejectIcon\" *ngIf=\"confirmation?.rejectIcon; else rejecticon\"></i>\n <ng-template #rejecticon *ngTemplateOutlet=\"rejectIconTemplate || _rejectIconTemplate\"></ng-template>\n </p-button>\n <p-button\n type=\"button\"\n [label]=\"acceptButtonLabel\"\n (onClick)=\"onAccept()\"\n [ngClass]=\"'p-confirmpopup-accept-button'\"\n [styleClass]=\"confirmation?.acceptButtonStyleClass\"\n [size]=\"confirmation.acceptButtonProps?.size || 'small'\"\n *ngIf=\"confirmation?.acceptVisible !== false\"\n [attr.aria-label]=\"acceptButtonLabel\"\n [buttonProps]=\"getAcceptButtonProps()\"\n >\n <i [class]=\"confirmation?.acceptIcon\" *ngIf=\"confirmation?.acceptIcon; else accepticontemplate\"></i>\n <ng-template #accepticontemplate *ngTemplateOutlet=\"acceptIconTemplate || _acceptIconTemplate\"></ng-template>\n </p-button>\n </div>\n </ng-template>\n </div>\n `,\n animations: [\n trigger('animation', [\n state(\n 'void',\n style({\n transform: 'scaleY(0.8)',\n opacity: 0\n })\n ),\n state(\n 'open',\n style({\n transform: 'translateY(0)',\n opacity: 1\n })\n ),\n transition('void => open', animate('{{showTransitionParams}}')),\n transition('open => void', animate('{{hideTransitionParams}}'))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [ConfirmPopupStyle]\n})\nexport class ConfirmPopup extends BaseComponent implements AfterContentInit, OnDestroy {\n /**\n * Optional key to match the key of confirm object, necessary to use when component tree has multiple confirm dialogs.\n * @group Props\n */\n @Input() key: string | undefined;\n /**\n * Element to receive the focus when the popup gets visible, valid values are \"accept\", \"reject\", and \"none\".\n * @group Props\n */\n @Input() defaultFocus: string = 'accept';\n /**\n * Transition options of the show animation.\n * @group Props\n */\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Transition options of the hide animation.\n * @group Props\n */\n @Input() hideTransitionOptions: string = '.1s linear';\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoZIndex: boolean = true;\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n @Input({ transform: numberAttribute }) baseZIndex: number = 0;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Defines if the component is visible.\n * @group Props\n */\n @Input() get visible(): any {\n return this._visible;\n }\n set visible(value: any) {\n this._visible = value;\n this.cd.markForCheck();\n }\n\n container: Nullable<HTMLDivElement>;\n\n subscription: Subscription;\n\n confirmation: Nullable<Confirmation>;\n\n @ContentChild('content', { descendants: false }) contentTemplate: Nullable<TemplateRef<any>>;\n\n @ContentChild('accepticon', { descendants: false }) acceptIconTemplate: Nullable<TemplateRef<any>>;\n\n @ContentChild('rejecticon', { descendants: false }) rejectIconTemplate: Nullable<TemplateRef<any>>;\n\n @ContentChild('headless', { descendants: false }) headlessTemplate: Nullable<TemplateRef<any>>;\n\n _contentTemplate: TemplateRef<any> | undefined;\n\n _acceptIconTemplate: TemplateRef<any> | undefined;\n\n _rejectIconTemplate: TemplateRef<any> | undefined;\n\n _headlessTemplate: TemplateRef<any> | undefined;\n\n _visible: boolean | undefined;\n\n documentClickListener: VoidListener;\n\n documentResizeListener: VoidListener;\n\n scrollHandler: Nullable<ConnectedOverlayScrollHandler>;\n\n private window: Window;\n\n _componentStyle = inject(ConfirmPopupStyle);\n\n constructor(\n public el: ElementRef,\n private confirmationService: ConfirmationService,\n public renderer: Renderer2,\n public cd: ChangeDetectorRef,\n public overlayService: OverlayService,\n @Inject(DOCUMENT) public document: Document\n ) {\n super();\n this.window = this.document.defaultView as Window;\n this.subscription = this.confirmationService.requireConfirmation$.subscribe((confirmation) => {\n if (!confirmation) {\n this.hide();\n return;\n }\n\n if (confirmation.key === this.key) {\n this.confirmation = confirmation;\n const keys = Object.keys(confirmation);\n\n keys.forEach((key) => {\n this[key] = confirmation[key];\n });\n\n if (this.confirmation.accept) {\n this.confirmation.acceptEvent = new EventEmitter();\n this.confirmation.acceptEvent.subscribe(this.confirmation.accept);\n }\n\n if (this.confirmation.reject) {\n this.confirmation.rejectEvent = new EventEmitter();\n this.confirmation.rejectEvent.subscribe(this.confirmation.reject);\n }\n\n this.visible = true;\n }\n });\n }\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this._contentTemplate = item.template;\n break;\n\n case 'rejecticon':\n this._rejectIconTemplate = item.template;\n break;\n\n case 'accepticon':\n this._acceptIconTemplate = item.template;\n break;\n\n case 'headless':\n this._headlessTemplate = item.template;\n break;\n }\n });\n }\n\n option(name: string, k?: string) {\n const source: { [key: string]: any } = this || this;\n if (source.hasOwnProperty(name)) {\n if (k) {\n return source[k];\n }\n return source[name];\n }\n\n return undefined;\n }\n\n @HostListener('document:keydown.escape', ['$event'])\n onEscapeKeydown(event: KeyboardEvent) {\n if (this.confirmation && this.confirmation.closeOnEscape) {\n this.onReject();\n }\n }\n\n onAnimationStart(event: AnimationEvent) {\n if (event.toState === 'open') {\n this.container = event.element;\n this.renderer.appendChild(this.document.body, this.container);\n this.align();\n this.bindListeners();\n\n const element = this.getElementToFocus();\n if (element) {\n element.focus();\n }\n }\n }\n\n onAnimationEnd(event: AnimationEvent) {\n switch (event.toState) {\n case 'void':\n this.onContainerDestroy();\n break;\n }\n }\n\n getAcceptButtonProps() {\n return this.option('acceptButtonProps');\n }\n\n getRejectButtonProps() {\n return this.option('rejectButtonProps');\n }\n\n getElementToFocus() {\n switch (this.defaultFocus) {\n case 'accept':\n return <any>findSingle(this.container, '.p-confirm-popup-accept');\n\n case 'reject':\n return <any>findSingle(this.container, '.p-confirm-popup-reject');\n\n case 'none':\n return null;\n }\n }\n\n align() {\n if (this.autoZIndex) {\n ZIndexUtils.set('overlay', this.container, this.config.zIndex.overlay);\n }\n\n if (!this.confirmation) {\n return;\n }\n absolutePosition(this.container, this.confirmation?.target as any, false);\n\n const containerOffset = <any>getOffset(this.container);\n const targetOffset = <any>getOffset(this.confirmation?.target as any);\n let arrowLeft = 0;\n\n if (containerOffset.left < targetOffset.left) {\n arrowLeft = targetOffset.left - containerOffset.left;\n }\n (this.container as HTMLDivElement).style.setProperty('--overlayArrowLeft', `${arrowLeft}px`);\n\n if (containerOffset.top < targetOffset.top) {\n addClass(this.container, 'p-confirm-popup-flipped');\n }\n }\n\n hide() {\n this.visible = false;\n }\n\n onAccept() {\n if (this.confirmation?.acceptEvent) {\n this.confirmation.acceptEvent.emit();\n }\n\n this.hide();\n }\n\n onReject() {\n if (this.confirmation?.rejectEvent) {\n this.confirmation.rejectEvent.emit();\n }\n\n this.hide();\n }\n\n onOverlayClick(event: MouseEvent) {\n this.overlayService.add({\n originalEvent: event,\n target: this.el.nativeElement\n });\n }\n\n bindListeners(): void {\n /*\n * Called inside `setTimeout` to avoid listening to the click event that appears when `confirm` is first called(bubbling).\n * Need wait when bubbling event up and hang the handler on the next tick.\n * This is the case when eventTarget and confirmation.target do not match when the `confirm` method is called.\n */\n setTimeout(() => {\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n });\n }\n\n unbindListeners() {\n this.unbindDocumentClickListener();\n this.unbindDocumentResizeListener();\n this.unbindScrollListener();\n }\n\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n let documentEvent = isIOS() ? 'touchstart' : 'click';\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : this.document;\n\n this.documentClickListener = this.renderer.listen(documentTarget, documentEvent, (event) => {\n if (this.confirmation && this.confirmation.dismissableMask !== false) {\n let targetElement = <HTMLElement>this.confirmation.target;\n if (this.container !== event.target && !this.container?.contains(event.target) && targetElement !== event.target && !targetElement.contains(event.target)) {\n this.hide();\n }\n }\n });\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n }\n\n onWindowResize() {\n if (this.visible && !isTouchDevice()) {\n this.hide();\n }\n }\n\n bindDocumentResizeListener() {\n if (!this.documentResizeListener) {\n this.documentResizeListener = this.renderer.listen(this.window, 'resize', this.onWindowResize.bind(this));\n }\n }\n\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n this.documentResizeListener();\n this.documentResizeListener = null;\n }\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.confirmation?.target, () => {\n if (this.visible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n unsubscribeConfirmationSubscriptions() {\n if (this.confirmation) {\n if (this.confirmation.acceptEvent) {\n this.confirmation.acceptEvent.unsubscribe();\n }\n\n if (this.confirmation.rejectEvent) {\n this.confirmation.rejectEvent.unsubscribe();\n }\n }\n }\n\n onContainerDestroy() {\n this.unbindListeners();\n this.unsubscribeConfirmationSubscriptions();\n\n if (this.autoZIndex) {\n ZIndexUtils.clear(this.container);\n }\n\n this.confirmation = null;\n this.container = null;\n }\n\n restoreAppend() {\n if (this.container) {\n this.renderer.removeChild(this.document.body, this.container);\n }\n\n this.onContainerDestroy();\n }\n\n get acceptButtonLabel(): string {\n return this.confirmation?.acceptLabel || this.config.getTranslation(TranslationKeys.ACCEPT);\n }\n\n get rejectButtonLabel(): string {\n return this.confirmation?.rejectLabel || this.config.getTranslation(TranslationKeys.REJECT);\n }\n\n ngOnDestroy() {\n this.restoreAppend();\n\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n}\n\n@NgModule({\n imports: [ConfirmPopup, SharedModule],\n exports: [ConfirmPopup, SharedModule]\n})\nexport class ConfirmPopupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -2,12 +2,12 @@ import { trigger, transition, style, animate } from '@angular/animations';
2
2
  import * as i1 from '@angular/common';
3
3
  import { CommonModule, isPlatformBrowser } from '@angular/common';
4
4
  import * as i0 from '@angular/core';
5
- import { Injectable, EventEmitter, forwardRef, booleanAttribute, numberAttribute, Component, ViewEncapsulation, Inject, Input, Output, ViewChild, signal, inject, effect, ChangeDetectionStrategy, ContentChild, NgModule } from '@angular/core';
5
+ import { Injectable, EventEmitter, forwardRef, booleanAttribute, numberAttribute, Component, ViewEncapsulation, Inject, Input, Output, ViewChild, signal, inject, effect, ChangeDetectionStrategy, ContentChild, ContentChildren, NgModule } from '@angular/core';
6
6
  import * as i2 from '@angular/router';
7
7
  import { RouterModule } from '@angular/router';
8
8
  import { resolve, isNotEmpty, getOffset, getViewport, getHiddenElementOuterWidth, getOuterWidth, calculateScrollbarWidth, uuid, isIOS, isAndroid, focus, isPrintableCharacter, isEmpty, findSingle, appendChild, getHiddenElementOuterHeight, findLastIndex, removeChild } from '@primeuix/utils';
9
9
  import * as i5 from 'primeng/api';
10
- import { SharedModule } from 'primeng/api';
10
+ import { SharedModule, PrimeTemplate } from 'primeng/api';
11
11
  import * as i4 from 'primeng/badge';
12
12
  import { BadgeModule } from 'primeng/badge';
13
13
  import { BaseComponent } from 'primeng/basecomponent';
@@ -328,9 +328,9 @@ function ContextMenuSub_ul_0_ng_template_2_li_1_ng_container_3_a_1_ng_container_
328
328
  } if (rf & 2) {
329
329
  const ctx_r2 = i0.ɵɵnextContext(6);
330
330
  i0.ɵɵadvance();
331
- i0.ɵɵproperty("ngIf", !ctx_r2.contextMenu.submenuicon);
331
+ i0.ɵɵproperty("ngIf", !ctx_r2.contextMenu.submenuIconTemplate && !ctx_r2.contextMenu._submenuIconTemplate);
332
332
  i0.ɵɵadvance();
333
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.contextMenu.submenuicon)("ngTemplateOutletContext", i0.ɵɵpureFunction0(3, _c3));
333
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.contextMenu.submenuIconTemplate || ctx_r2.contextMenu._submenuIconTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction0(3, _c3));
334
334
  } }
335
335
  function ContextMenuSub_ul_0_ng_template_2_li_1_ng_container_3_a_1_Template(rf, ctx) { if (rf & 1) {
336
336
  i0.ɵɵelementStart(0, "a", 15);
@@ -404,9 +404,9 @@ function ContextMenuSub_ul_0_ng_template_2_li_1_ng_container_3_a_2_ng_container_
404
404
  } if (rf & 2) {
405
405
  const ctx_r2 = i0.ɵɵnextContext(6);
406
406
  i0.ɵɵadvance();
407
- i0.ɵɵproperty("ngIf", !ctx_r2.contextMenu.submenuicon);
407
+ i0.ɵɵproperty("ngIf", !ctx_r2.contextMenu.submenuIconTemplate && !ctx_r2.contextMenu._submenuIconTemplate);
408
408
  i0.ɵɵadvance();
409
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.contextMenu.submenuicon)("ngTemplateOutletContext", i0.ɵɵpureFunction0(3, _c3));
409
+ i0.ɵɵproperty("ngTemplateOutlet", !ctx_r2.contextMenu.submenuIconTemplate || !ctx_r2.contextMenu._submenuIconTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction0(3, _c3));
410
410
  } }
411
411
  function ContextMenuSub_ul_0_ng_template_2_li_1_ng_container_3_a_2_Template(rf, ctx) { if (rf & 1) {
412
412
  i0.ɵɵelementStart(0, "a", 26);
@@ -529,7 +529,7 @@ function ContextMenu_div_0_Template(rf, ctx) { if (rf & 1) {
529
529
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(20, _c11, ctx_r1.queryMatches))("ngStyle", ctx_r1.style)("@overlayAnimation", i0.ɵɵpureFunction0(22, _c12));
530
530
  i0.ɵɵattribute("data-pc-section", "root")("data-pc-name", "contextmenu")("id", ctx_r1.id);
531
531
  i0.ɵɵadvance(2);
532
- i0.ɵɵproperty("root", true)("items", ctx_r1.processedItems)("itemTemplate", ctx_r1.itemTemplate)("menuId", ctx_r1.id)("tabindex", !ctx_r1.disabled ? ctx_r1.tabindex : -1)("ariaLabel", ctx_r1.ariaLabel)("ariaLabelledBy", ctx_r1.ariaLabelledBy)("baseZIndex", ctx_r1.baseZIndex)("autoZIndex", ctx_r1.autoZIndex)("visible", ctx_r1.submenuVisible())("focusedItemId", ctx_r1.focused ? ctx_r1.focusedItemId : undefined)("activeItemPath", ctx_r1.activeItemPath());
532
+ i0.ɵɵproperty("root", true)("items", ctx_r1.processedItems)("itemTemplate", ctx_r1.itemTemplate || ctx_r1._itemTemplate)("menuId", ctx_r1.id)("tabindex", !ctx_r1.disabled ? ctx_r1.tabindex : -1)("ariaLabel", ctx_r1.ariaLabel)("ariaLabelledBy", ctx_r1.ariaLabelledBy)("baseZIndex", ctx_r1.baseZIndex)("autoZIndex", ctx_r1.autoZIndex)("visible", ctx_r1.submenuVisible())("focusedItemId", ctx_r1.focused ? ctx_r1.focusedItemId : undefined)("activeItemPath", ctx_r1.activeItemPath());
533
533
  } }
534
534
  class ContextMenuSub extends BaseComponent {
535
535
  contextMenu;
@@ -734,8 +734,12 @@ class ContextMenuSub extends BaseComponent {
734
734
  </ng-template>
735
735
  <p-badge *ngIf="getItemProp(processedItem, 'badge')" [styleClass]="getItemProp(processedItem, 'badgeStyleClass')" [value]="getItemProp(processedItem, 'badge')" />
736
736
  <ng-container *ngIf="isItemGroup(processedItem)">
737
- <AngleRightIcon *ngIf="!contextMenu.submenuicon" [class]="'p-contextmenu-submenu-icon'" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true" />
738
- <ng-template *ngTemplateOutlet="contextMenu.submenuicon; context: { class: 'p-contextmenu-submenu-icon' }" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true"></ng-template>
737
+ <AngleRightIcon *ngIf="!contextMenu.submenuIconTemplate && !contextMenu._submenuIconTemplate" [class]="'p-contextmenu-submenu-icon'" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true" />
738
+ <ng-template
739
+ *ngTemplateOutlet="contextMenu.submenuIconTemplate || contextMenu._submenuIconTemplate; context: { class: 'p-contextmenu-submenu-icon' }"
740
+ [attr.data-pc-section]="'submenuicon'"
741
+ [attr.aria-hidden]="true"
742
+ ></ng-template>
739
743
  </ng-container>
740
744
  </a>
741
745
  <a
@@ -775,8 +779,12 @@ class ContextMenuSub extends BaseComponent {
775
779
  </ng-template>
776
780
  <p-badge *ngIf="getItemProp(processedItem, 'badge')" [styleClass]="getItemProp(processedItem, 'badgeStyleClass')" [value]="getItemProp(processedItem, 'badge')" />
777
781
  <ng-container *ngIf="isItemGroup(processedItem)">
778
- <AngleRightIcon *ngIf="!contextMenu.submenuicon" [class]="'p-contextmenu-submenu-icon'" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true" />
779
- <ng-template *ngTemplateOutlet="contextMenu.submenuicon; context: { class: 'p-contextmenu-submenu-icon' }" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true"></ng-template>
782
+ <AngleRightIcon *ngIf="!contextMenu.submenuIconTemplate && !contextMenu._submenuIconTemplate" [class]="'p-contextmenu-submenu-icon'" [attr.data-pc-section]="'submenuicon'" [attr.aria-hidden]="true" />
783
+ <ng-template
784
+ *ngTemplateOutlet="!contextMenu.submenuIconTemplate || !contextMenu._submenuIconTemplate; context: { class: 'p-contextmenu-submenu-icon' }"
785
+ [attr.data-pc-section]="'submenuicon'"
786
+ [attr.aria-hidden]="true"
787
+ ></ng-template>
780
788
  </ng-container>
781
789
  </a>
782
790
  </ng-container>
@@ -856,7 +864,7 @@ class ContextMenuSub extends BaseComponent {
856
864
  type: ViewChild,
857
865
  args: ['sublist']
858
866
  }] }); })();
859
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ContextMenuSub, { className: "ContextMenuSub", filePath: "contextmenu.ts", lineNumber: 212 }); })();
867
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ContextMenuSub, { className: "ContextMenuSub", filePath: "contextmenu.ts", lineNumber: 223 }); })();
860
868
  /**
861
869
  * ContextMenu displays an overlay menu on right click of its target. Note that components like Table has special integration with ContextMenu.
862
870
  * @group Components
@@ -1071,7 +1079,25 @@ class ContextMenu extends BaseComponent {
1071
1079
  * Defines template option for submenuIcon.
1072
1080
  * @group Templates
1073
1081
  */
1074
- submenuicon;
1082
+ submenuIconTemplate;
1083
+ templates;
1084
+ _submenuIconTemplate;
1085
+ _itemTemplate;
1086
+ ngAfterContentInit() {
1087
+ this.templates?.forEach((item) => {
1088
+ switch (item.getType()) {
1089
+ case 'submenuicon':
1090
+ this._submenuIconTemplate = item.template;
1091
+ break;
1092
+ case 'item':
1093
+ this._itemTemplate = item.template;
1094
+ break;
1095
+ default:
1096
+ this._itemTemplate = item.template;
1097
+ break;
1098
+ }
1099
+ });
1100
+ }
1075
1101
  createProcessedItems(items, level = 0, parent = {}, parentKey = '') {
1076
1102
  const processedItems = [];
1077
1103
  items &&
@@ -1546,12 +1572,14 @@ class ContextMenu extends BaseComponent {
1546
1572
  }
1547
1573
  static ɵfac = function ContextMenu_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ContextMenu)(i0.ɵɵdirectiveInject(i5.OverlayService)); };
1548
1574
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ContextMenu, selectors: [["p-contextMenu"], ["p-contextmenu"], ["p-context-menu"]], contentQueries: function ContextMenu_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
1549
- i0.ɵɵcontentQuery(dirIndex, _c7, 5);
1550
- i0.ɵɵcontentQuery(dirIndex, _c8, 5);
1575
+ i0.ɵɵcontentQuery(dirIndex, _c7, 4);
1576
+ i0.ɵɵcontentQuery(dirIndex, _c8, 4);
1577
+ i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);
1551
1578
  } if (rf & 2) {
1552
1579
  let _t;
1553
1580
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.itemTemplate = _t.first);
1554
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.submenuicon = _t.first);
1581
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.submenuIconTemplate = _t.first);
1582
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);
1555
1583
  } }, viewQuery: function ContextMenu_Query(rf, ctx) { if (rf & 1) {
1556
1584
  i0.ɵɵviewQuery(_c9, 5);
1557
1585
  i0.ɵɵviewQuery(_c10, 5);
@@ -1589,7 +1617,7 @@ class ContextMenu extends BaseComponent {
1589
1617
  #rootmenu
1590
1618
  [root]="true"
1591
1619
  [items]="processedItems"
1592
- [itemTemplate]="itemTemplate"
1620
+ [itemTemplate]="itemTemplate || _itemTemplate"
1593
1621
  [menuId]="id"
1594
1622
  [tabindex]="!disabled ? tabindex : -1"
1595
1623
  [ariaLabel]="ariaLabel"
@@ -1656,12 +1684,15 @@ class ContextMenu extends BaseComponent {
1656
1684
  args: ['container']
1657
1685
  }], itemTemplate: [{
1658
1686
  type: ContentChild,
1659
- args: ['item']
1660
- }], submenuicon: [{
1687
+ args: ['item', { descendants: false }]
1688
+ }], submenuIconTemplate: [{
1661
1689
  type: ContentChild,
1662
- args: ['submenuicon']
1690
+ args: ['submenuicon', { descendants: false }]
1691
+ }], templates: [{
1692
+ type: ContentChildren,
1693
+ args: [PrimeTemplate]
1663
1694
  }] }); })();
1664
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ContextMenu, { className: "ContextMenu", filePath: "contextmenu.ts", lineNumber: 402 }); })();
1695
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ContextMenu, { className: "ContextMenu", filePath: "contextmenu.ts", lineNumber: 413 }); })();
1665
1696
  class ContextMenuModule {
1666
1697
  static ɵfac = function ContextMenuModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ContextMenuModule)(); };
1667
1698
  static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: ContextMenuModule });