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
@@ -1,11 +1,11 @@
1
1
  import * as i2 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Injectable, forwardRef, EventEmitter, inject, booleanAttribute, numberAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, ContentChild, NgModule } from '@angular/core';
4
+ import { Injectable, forwardRef, EventEmitter, inject, booleanAttribute, numberAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, ContentChild, ContentChildren, NgModule } from '@angular/core';
5
5
  import * as i1 from '@angular/forms';
6
6
  import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
7
7
  import { resolveFieldData, equals } from '@primeuix/utils';
8
- import { SharedModule } from 'primeng/api';
8
+ import { PrimeTemplate, SharedModule } from 'primeng/api';
9
9
  import { BaseComponent } from 'primeng/basecomponent';
10
10
  import { ToggleButton } from 'primeng/togglebutton';
11
11
  import { BaseStyle } from 'primeng/base';
@@ -92,7 +92,7 @@ function SelectButton_For_1_Conditional_1_ng_template_0_Template(rf, ctx) { if (
92
92
  const option_r3 = ctx_r5.$implicit;
93
93
  const ɵ$index_1_r4 = ctx_r5.$index;
94
94
  const ctx_r4 = i0.ɵɵnextContext();
95
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r4.itemTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1, option_r3, ɵ$index_1_r4));
95
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r4.itemTemplate || ctx_r4._itemTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1, option_r3, ɵ$index_1_r4));
96
96
  } }
97
97
  function SelectButton_For_1_Conditional_1_Template(rf, ctx) { if (rf & 1) {
98
98
  i0.ɵɵtemplate(0, SelectButton_For_1_Conditional_1_ng_template_0_Template, 1, 5, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
@@ -108,7 +108,7 @@ function SelectButton_For_1_Template(rf, ctx) { if (rf & 1) {
108
108
  const ctx_r4 = i0.ɵɵnextContext();
109
109
  i0.ɵɵproperty("autofocus", ctx_r4.autofocus)("styleClass", ctx_r4.styleClass)("ngModel", ctx_r4.isSelected(option_r3))("onLabel", ctx_r4.getOptionLabel(option_r3))("offLabel", ctx_r4.getOptionLabel(option_r3))("disabled", ctx_r4.disabled || ctx_r4.isOptionDisabled(option_r3))("allowEmpty", ctx_r4.allowEmpty)("size", ctx_r4.size);
110
110
  i0.ɵɵadvance();
111
- i0.ɵɵconditional(ctx_r4.itemTemplate ? 1 : -1);
111
+ i0.ɵɵconditional(ctx_r4.itemTemplate || ctx_r4._itemTemplate ? 1 : -1);
112
112
  } }
113
113
  const SELECTBUTTON_VALUE_ACCESSOR = {
114
114
  provide: NG_VALUE_ACCESSOR,
@@ -212,6 +212,7 @@ class SelectButton extends BaseComponent {
212
212
  * @group Templates
213
213
  */
214
214
  itemTemplate;
215
+ _itemTemplate;
215
216
  get equalityKey() {
216
217
  return this.optionValue ? null : this.dataKey;
217
218
  }
@@ -326,12 +327,24 @@ class SelectButton extends BaseComponent {
326
327
  }
327
328
  return selected;
328
329
  }
330
+ templates;
331
+ ngAfterContentInit() {
332
+ this.templates.forEach((item) => {
333
+ switch (item.getType()) {
334
+ case 'item':
335
+ this._itemTemplate = item.template;
336
+ break;
337
+ }
338
+ });
339
+ }
329
340
  static ɵfac = /*@__PURE__*/ (() => { let ɵSelectButton_BaseFactory; return function SelectButton_Factory(__ngFactoryType__) { return (ɵSelectButton_BaseFactory || (ɵSelectButton_BaseFactory = i0.ɵɵgetInheritedFactory(SelectButton)))(__ngFactoryType__ || SelectButton); }; })();
330
341
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SelectButton, selectors: [["p-selectButton"], ["p-selectbutton"], ["p-select-button"]], contentQueries: function SelectButton_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
331
- i0.ɵɵcontentQuery(dirIndex, _c0, 5);
342
+ i0.ɵɵcontentQuery(dirIndex, _c0, 4);
343
+ i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);
332
344
  } if (rf & 2) {
333
345
  let _t;
334
346
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.itemTemplate = _t.first);
347
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);
335
348
  } }, hostVars: 10, hostBindings: function SelectButton_HostBindings(rf, ctx) { if (rf & 2) {
336
349
  i0.ɵɵattribute("role", ctx.group)("aria-labelledby", ctx.ariaLabelledBy)("data-pc-section", "root")("data-pc-name", "selectbutton");
337
350
  i0.ɵɵstyleMap(ctx.style);
@@ -361,9 +374,9 @@ class SelectButton extends BaseComponent {
361
374
  [allowEmpty]="allowEmpty"
362
375
  [size]="size"
363
376
  >
364
- @if (itemTemplate) {
377
+ @if (itemTemplate || _itemTemplate) {
365
378
  <ng-template #content>
366
- <ng-container *ngTemplateOutlet="itemTemplate; context: { $implicit: option, index: i }"></ng-container>
379
+ <ng-container *ngTemplateOutlet="itemTemplate || _itemTemplate; context: { $implicit: option, index: i }"></ng-container>
367
380
  </ng-template>
368
381
  }
369
382
  </p-toggleButton>
@@ -424,9 +437,12 @@ class SelectButton extends BaseComponent {
424
437
  type: Output
425
438
  }], itemTemplate: [{
426
439
  type: ContentChild,
427
- args: ['item']
440
+ args: ['item', { descendants: false }]
441
+ }], templates: [{
442
+ type: ContentChildren,
443
+ args: [PrimeTemplate]
428
444
  }] }); })();
429
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SelectButton, { className: "SelectButton", filePath: "selectbutton.ts", lineNumber: 59 }); })();
445
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SelectButton, { className: "SelectButton", filePath: "selectbutton.ts", lineNumber: 75 }); })();
430
446
  class SelectButtonModule {
431
447
  static ɵfac = function SelectButtonModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SelectButtonModule)(); };
432
448
  static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: SelectButtonModule });
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-selectbutton.mjs","sources":["../../src/selectbutton/style/selectbuttonstyle.ts","../../src/selectbutton/selectbutton.ts","../../src/selectbutton/primeng-selectbutton.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-selectbutton {\n display: inline-flex;\n user-select: none;\n vertical-align: bottom;\n outline-color: transparent;\n border-radius: ${dt('selectbutton.border.radius')};\n}\n\n.p-selectbutton .p-togglebutton {\n border-radius: 0;\n border-width: 1px 1px 1px 0;\n}\n\n.p-selectbutton .p-togglebutton:focus-visible {\n position: relative;\n z-index: 1;\n}\n\n.p-selectbutton p-togglebutton:first-child .p-togglebutton {\n border-left-width: 1px;\n border-start-start-radius: ${dt('selectbutton.border.radius')};\n border-end-start-radius: ${dt('selectbutton.border.radius')};\n}\n\n.p-selectbutton p-togglebutton:last-child .p-togglebutton{\n border-start-end-radius: ${dt('selectbutton.border.radius')};\n border-end-end-radius: ${dt('selectbutton.border.radius')};\n}\n\n.p-selectbutton.ng-invalid.ng-dirty {\n outline: 1px solid ${dt('selectbutton.invalid.border.color')};\n outline-offset: 0;\n}\n`;\n\nconst classes = {\n root: ({ props }) => [\n 'p-selectbutton p-component',\n {\n 'p-invalid': props.invalid\n }\n ]\n};\n\n@Injectable()\nexport class SelectButtonStyle extends BaseStyle {\n name = 'selectbutton';\n\n theme = theme;\n\n classes = classes;\n}\n\n/**\n *\n * SelectButton is used to choose single or multiple items from a list using buttons.\n *\n * [Live Demo](https://www.primeng.org/selectbutton/)\n *\n * @module selectbuttonstyle\n *\n */\nexport enum SelectButtonClasses {\n /**\n * Class name of the root element\n */\n root = 'p-selectbutton'\n}\n\nexport interface SelectButtonStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, EventEmitter, forwardRef, inject, Input, NgModule, numberAttribute, Output, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { equals, resolveFieldData } from '@primeuix/utils';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { Ripple } from 'primeng/ripple';\nimport { ToggleButton } from 'primeng/togglebutton';\nimport { SelectButtonChangeEvent, SelectButtonOptionClickEvent } from './selectbutton.interface';\nimport { SelectButtonStyle } from './style/selectbuttonstyle';\n\nexport const SELECTBUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectButton),\n multi: true\n};\n/**\n * SelectButton is used to choose single or multiple items from a list using buttons.\n * @group Components\n */\n@Component({\n selector: 'p-selectButton, p-selectbutton, p-select-button',\n standalone: true,\n imports: [ToggleButton, FormsModule, CommonModule, SharedModule],\n template: `\n @for (option of options; track option; let i = $index) {\n <p-toggleButton\n [autofocus]=\"autofocus\"\n [styleClass]=\"styleClass\"\n [ngModel]=\"isSelected(option)\"\n [onLabel]=\"this.getOptionLabel(option)\"\n [offLabel]=\"this.getOptionLabel(option)\"\n [disabled]=\"disabled || isOptionDisabled(option)\"\n (onChange)=\"onOptionSelect($event, option, i)\"\n [allowEmpty]=\"allowEmpty\"\n [size]=\"size\"\n >\n @if (itemTemplate) {\n <ng-template #content>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: option, index: i }\"></ng-container>\n </ng-template>\n }\n </p-toggleButton>\n }\n `,\n providers: [SELECTBUTTON_VALUE_ACCESSOR, SelectButtonStyle],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class.p-selectbutton]': 'true',\n '[class.p-component]': 'true',\n '[style]': 'style',\n '[attr.role]': 'group',\n '[attr.aria-labelledby]': 'ariaLabelledBy',\n '[attr.data-pc-section]': \"'root'\",\n '[attr.data-pc-name]': \"'selectbutton'\"\n }\n})\nexport class SelectButton extends BaseComponent implements ControlValueAccessor {\n /**\n * An array of selectitems to display as the available options.\n * @group Props\n */\n @Input() options: any[] | undefined;\n /**\n * Name of the label field of an option.\n * @group Props\n */\n @Input() optionLabel: string | undefined;\n /**\n * Name of the value field of an option.\n * @group Props\n */\n @Input() optionValue: string | undefined;\n /**\n * Name of the disabled field of an option.\n * @group Props\n */\n @Input() optionDisabled: string | undefined;\n /**\n * Whether selection can be cleared.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) unselectable: boolean = false;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number = 0;\n /**\n * When specified, allows selecting multiple values.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) multiple: boolean | undefined;\n /**\n * Whether selection can not be cleared.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) allowEmpty: boolean = true;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: any;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Defines the size of the component.\n * @group Props\n */\n @Input() size: 'large' | 'small';\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n @Input() dataKey: string | undefined;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * Callback to invoke on input click.\n * @param {SelectButtonOptionClickEvent} event - Custom click event.\n * @group Emits\n */\n @Output() onOptionClick: EventEmitter<SelectButtonOptionClickEvent> = new EventEmitter<SelectButtonOptionClickEvent>();\n /**\n * Callback to invoke on selection change.\n * @param {SelectButtonChangeEvent} event - Custom change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<SelectButtonChangeEvent> = new EventEmitter<SelectButtonChangeEvent>();\n /**\n * Template of an item in the list.\n * @group Templates\n */\n @ContentChild('item') itemTemplate: TemplateRef<any>;\n\n get equalityKey() {\n return this.optionValue ? null : this.dataKey;\n }\n\n value: any;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n focusedIndex: number = 0;\n\n _componentStyle = inject(SelectButtonStyle);\n\n getOptionLabel(option: any) {\n return this.optionLabel ? resolveFieldData(option, this.optionLabel) : option.label != undefined ? option.label : option;\n }\n\n getOptionValue(option: any) {\n return this.optionValue ? resolveFieldData(option, this.optionValue) : this.optionLabel || option.value === undefined ? option : option.value;\n }\n\n isOptionDisabled(option: any) {\n return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : option.disabled !== undefined ? option.disabled : false;\n }\n\n writeValue(value: any): void {\n this.value = value;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n onOptionSelect(event, option, index) {\n if (this.disabled || this.isOptionDisabled(option)) {\n return;\n }\n\n let selected = this.isSelected(option);\n\n if (selected && this.unselectable) {\n return;\n }\n\n let optionValue = this.getOptionValue(option);\n let newValue;\n\n if (this.multiple) {\n if (selected) newValue = this.value.filter((val) => !equals(val, optionValue, this.equalityKey));\n else newValue = this.value ? [...this.value, optionValue] : [optionValue];\n } else {\n if (selected && !this.allowEmpty) {\n return;\n }\n newValue = selected ? null : optionValue;\n }\n\n this.focusedIndex = index;\n this.value = newValue;\n this.onModelChange(this.value);\n\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n\n this.onOptionClick.emit({\n originalEvent: event,\n option: option,\n index: index\n });\n }\n\n changeTabIndexes(event, direction) {\n let firstTabableChild, index;\n\n for (let i = 0; i <= this.el.nativeElement.children.length - 1; i++) {\n if (this.el.nativeElement.children[i].getAttribute('tabindex') === '0') firstTabableChild = { elem: this.el.nativeElement.children[i], index: i };\n }\n\n if (direction === 'prev') {\n if (firstTabableChild.index === 0) index = this.el.nativeElement.children.length - 1;\n else index = firstTabableChild.index - 1;\n } else {\n if (firstTabableChild.index === this.el.nativeElement.children.length - 1) index = 0;\n else index = firstTabableChild.index + 1;\n }\n\n this.focusedIndex = index;\n this.el.nativeElement.children[index].focus();\n }\n\n onFocus(event: Event, index: number) {\n this.focusedIndex = index;\n }\n\n onBlur() {\n this.onModelTouched();\n }\n\n removeOption(option: any): void {\n this.value = this.value.filter((val: any) => !equals(val, this.getOptionValue(option), this.dataKey));\n }\n\n isSelected(option: any) {\n let selected = false;\n const optionValue = this.getOptionValue(option);\n\n if (this.multiple) {\n if (this.value && Array.isArray(this.value)) {\n for (let val of this.value) {\n if (equals(val, optionValue, this.dataKey)) {\n selected = true;\n break;\n }\n }\n }\n } else {\n selected = equals(this.getOptionValue(option), this.value, this.equalityKey);\n }\n\n return selected;\n }\n}\n\n@NgModule({\n imports: [SelectButton, SharedModule],\n exports: [SelectButton, SharedModule]\n})\nexport class SelectButtonModule {}\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-selectbutton.mjs","sources":["../../src/selectbutton/style/selectbuttonstyle.ts","../../src/selectbutton/selectbutton.ts","../../src/selectbutton/primeng-selectbutton.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-selectbutton {\n display: inline-flex;\n user-select: none;\n vertical-align: bottom;\n outline-color: transparent;\n border-radius: ${dt('selectbutton.border.radius')};\n}\n\n.p-selectbutton .p-togglebutton {\n border-radius: 0;\n border-width: 1px 1px 1px 0;\n}\n\n.p-selectbutton .p-togglebutton:focus-visible {\n position: relative;\n z-index: 1;\n}\n\n.p-selectbutton p-togglebutton:first-child .p-togglebutton {\n border-left-width: 1px;\n border-start-start-radius: ${dt('selectbutton.border.radius')};\n border-end-start-radius: ${dt('selectbutton.border.radius')};\n}\n\n.p-selectbutton p-togglebutton:last-child .p-togglebutton{\n border-start-end-radius: ${dt('selectbutton.border.radius')};\n border-end-end-radius: ${dt('selectbutton.border.radius')};\n}\n\n.p-selectbutton.ng-invalid.ng-dirty {\n outline: 1px solid ${dt('selectbutton.invalid.border.color')};\n outline-offset: 0;\n}\n`;\n\nconst classes = {\n root: ({ props }) => [\n 'p-selectbutton p-component',\n {\n 'p-invalid': props.invalid\n }\n ]\n};\n\n@Injectable()\nexport class SelectButtonStyle extends BaseStyle {\n name = 'selectbutton';\n\n theme = theme;\n\n classes = classes;\n}\n\n/**\n *\n * SelectButton is used to choose single or multiple items from a list using buttons.\n *\n * [Live Demo](https://www.primeng.org/selectbutton/)\n *\n * @module selectbuttonstyle\n *\n */\nexport enum SelectButtonClasses {\n /**\n * Class name of the root element\n */\n root = 'p-selectbutton'\n}\n\nexport interface SelectButtonStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n EventEmitter,\n forwardRef,\n inject,\n Input,\n NgModule,\n numberAttribute,\n Output,\n QueryList,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { equals, resolveFieldData } from '@primeuix/utils';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { ToggleButton } from 'primeng/togglebutton';\nimport { SelectButtonChangeEvent, SelectButtonOptionClickEvent } from './selectbutton.interface';\nimport { SelectButtonStyle } from './style/selectbuttonstyle';\n\nexport const SELECTBUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectButton),\n multi: true\n};\n/**\n * SelectButton is used to choose single or multiple items from a list using buttons.\n * @group Components\n */\n@Component({\n selector: 'p-selectButton, p-selectbutton, p-select-button',\n standalone: true,\n imports: [ToggleButton, FormsModule, CommonModule, SharedModule],\n template: `\n @for (option of options; track option; let i = $index) {\n <p-toggleButton\n [autofocus]=\"autofocus\"\n [styleClass]=\"styleClass\"\n [ngModel]=\"isSelected(option)\"\n [onLabel]=\"this.getOptionLabel(option)\"\n [offLabel]=\"this.getOptionLabel(option)\"\n [disabled]=\"disabled || isOptionDisabled(option)\"\n (onChange)=\"onOptionSelect($event, option, i)\"\n [allowEmpty]=\"allowEmpty\"\n [size]=\"size\"\n >\n @if (itemTemplate || _itemTemplate) {\n <ng-template #content>\n <ng-container *ngTemplateOutlet=\"itemTemplate || _itemTemplate; context: { $implicit: option, index: i }\"></ng-container>\n </ng-template>\n }\n </p-toggleButton>\n }\n `,\n providers: [SELECTBUTTON_VALUE_ACCESSOR, SelectButtonStyle],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class.p-selectbutton]': 'true',\n '[class.p-component]': 'true',\n '[style]': 'style',\n '[attr.role]': 'group',\n '[attr.aria-labelledby]': 'ariaLabelledBy',\n '[attr.data-pc-section]': \"'root'\",\n '[attr.data-pc-name]': \"'selectbutton'\"\n }\n})\nexport class SelectButton extends BaseComponent implements AfterContentInit, ControlValueAccessor {\n /**\n * An array of selectitems to display as the available options.\n * @group Props\n */\n @Input() options: any[] | undefined;\n /**\n * Name of the label field of an option.\n * @group Props\n */\n @Input() optionLabel: string | undefined;\n /**\n * Name of the value field of an option.\n * @group Props\n */\n @Input() optionValue: string | undefined;\n /**\n * Name of the disabled field of an option.\n * @group Props\n */\n @Input() optionDisabled: string | undefined;\n /**\n * Whether selection can be cleared.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) unselectable: boolean = false;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number = 0;\n /**\n * When specified, allows selecting multiple values.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) multiple: boolean | undefined;\n /**\n * Whether selection can not be cleared.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) allowEmpty: boolean = true;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: any;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Defines the size of the component.\n * @group Props\n */\n @Input() size: 'large' | 'small';\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n @Input() dataKey: string | undefined;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * Callback to invoke on input click.\n * @param {SelectButtonOptionClickEvent} event - Custom click event.\n * @group Emits\n */\n @Output() onOptionClick: EventEmitter<SelectButtonOptionClickEvent> = new EventEmitter<SelectButtonOptionClickEvent>();\n /**\n * Callback to invoke on selection change.\n * @param {SelectButtonChangeEvent} event - Custom change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<SelectButtonChangeEvent> = new EventEmitter<SelectButtonChangeEvent>();\n /**\n * Template of an item in the list.\n * @group Templates\n */\n @ContentChild('item', { descendants: false }) itemTemplate: TemplateRef<any>;\n\n _itemTemplate: TemplateRef<any> | undefined;\n\n get equalityKey() {\n return this.optionValue ? null : this.dataKey;\n }\n\n value: any;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n focusedIndex: number = 0;\n\n _componentStyle = inject(SelectButtonStyle);\n\n getOptionLabel(option: any) {\n return this.optionLabel ? resolveFieldData(option, this.optionLabel) : option.label != undefined ? option.label : option;\n }\n\n getOptionValue(option: any) {\n return this.optionValue ? resolveFieldData(option, this.optionValue) : this.optionLabel || option.value === undefined ? option : option.value;\n }\n\n isOptionDisabled(option: any) {\n return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : option.disabled !== undefined ? option.disabled : false;\n }\n\n writeValue(value: any): void {\n this.value = value;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n onOptionSelect(event, option, index) {\n if (this.disabled || this.isOptionDisabled(option)) {\n return;\n }\n\n let selected = this.isSelected(option);\n\n if (selected && this.unselectable) {\n return;\n }\n\n let optionValue = this.getOptionValue(option);\n let newValue;\n\n if (this.multiple) {\n if (selected) newValue = this.value.filter((val) => !equals(val, optionValue, this.equalityKey));\n else newValue = this.value ? [...this.value, optionValue] : [optionValue];\n } else {\n if (selected && !this.allowEmpty) {\n return;\n }\n newValue = selected ? null : optionValue;\n }\n\n this.focusedIndex = index;\n this.value = newValue;\n this.onModelChange(this.value);\n\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n\n this.onOptionClick.emit({\n originalEvent: event,\n option: option,\n index: index\n });\n }\n\n changeTabIndexes(event, direction) {\n let firstTabableChild, index;\n\n for (let i = 0; i <= this.el.nativeElement.children.length - 1; i++) {\n if (this.el.nativeElement.children[i].getAttribute('tabindex') === '0') firstTabableChild = { elem: this.el.nativeElement.children[i], index: i };\n }\n\n if (direction === 'prev') {\n if (firstTabableChild.index === 0) index = this.el.nativeElement.children.length - 1;\n else index = firstTabableChild.index - 1;\n } else {\n if (firstTabableChild.index === this.el.nativeElement.children.length - 1) index = 0;\n else index = firstTabableChild.index + 1;\n }\n\n this.focusedIndex = index;\n this.el.nativeElement.children[index].focus();\n }\n\n onFocus(event: Event, index: number) {\n this.focusedIndex = index;\n }\n\n onBlur() {\n this.onModelTouched();\n }\n\n removeOption(option: any): void {\n this.value = this.value.filter((val: any) => !equals(val, this.getOptionValue(option), this.dataKey));\n }\n\n isSelected(option: any) {\n let selected = false;\n const optionValue = this.getOptionValue(option);\n\n if (this.multiple) {\n if (this.value && Array.isArray(this.value)) {\n for (let val of this.value) {\n if (equals(val, optionValue, this.dataKey)) {\n selected = true;\n break;\n }\n }\n }\n } else {\n selected = equals(this.getOptionValue(option), this.value, this.equalityKey);\n }\n\n return selected;\n }\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n ngAfterContentInit() {\n (this.templates as QueryList<PrimeTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this._itemTemplate = item.template;\n break;\n }\n });\n }\n}\n\n@NgModule({\n imports: [SelectButton, SharedModule],\n exports: [SelectButton, SharedModule]\n})\nexport class SelectButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -2,9 +2,9 @@ import { animation, style, animate, trigger, transition, useAnimation } from '@a
2
2
  import * as i1 from '@angular/common';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import * as i0 from '@angular/core';
5
- import { Injectable, EventEmitter, inject, booleanAttribute, numberAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, ViewChild, NgModule } from '@angular/core';
5
+ import { Injectable, EventEmitter, inject, booleanAttribute, numberAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, ViewChild, ContentChildren, NgModule } from '@angular/core';
6
6
  import { blockBodyScroll, appendChild } from '@primeuix/utils';
7
- import { SharedModule } from 'primeng/api';
7
+ import { PrimeTemplate, SharedModule } from 'primeng/api';
8
8
  import { BaseComponent } from 'primeng/basecomponent';
9
9
  import * as i2 from 'primeng/button';
10
10
  import { ButtonModule } from 'primeng/button';
@@ -189,56 +189,62 @@ const _c2 = ["closeButton"];
189
189
  const _c3 = ["*"];
190
190
  const _c4 = (a0, a1) => ({ transform: a0, transition: a1 });
191
191
  const _c5 = a0 => ({ value: "visible", params: a0 });
192
- function Sidebar_div_0_ng_container_3_Template(rf, ctx) { if (rf & 1) {
192
+ function Sidebar_div_0_Conditional_3_ng_container_0_Template(rf, ctx) { if (rf & 1) {
193
193
  i0.ɵɵelementContainer(0);
194
194
  } }
195
- function Sidebar_div_0_ng_template_4_ng_container_1_Template(rf, ctx) { if (rf & 1) {
195
+ function Sidebar_div_0_Conditional_3_Template(rf, ctx) { if (rf & 1) {
196
+ i0.ɵɵtemplate(0, Sidebar_div_0_Conditional_3_ng_container_0_Template, 1, 0, "ng-container", 4);
197
+ } if (rf & 2) {
198
+ const ctx_r1 = i0.ɵɵnextContext(2);
199
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.headlessTemplate || ctx_r1._headlessTemplate);
200
+ } }
201
+ function Sidebar_div_0_Conditional_4_ng_container_1_Template(rf, ctx) { if (rf & 1) {
196
202
  i0.ɵɵelementContainer(0);
197
203
  } }
198
- function Sidebar_div_0_ng_template_4_p_button_2_TimesIcon_1_Template(rf, ctx) { if (rf & 1) {
204
+ function Sidebar_div_0_Conditional_4_p_button_2_TimesIcon_1_Template(rf, ctx) { if (rf & 1) {
199
205
  i0.ɵɵelement(0, "TimesIcon");
200
206
  } if (rf & 2) {
201
207
  i0.ɵɵattribute("data-pc-section", "closeicon");
202
208
  } }
203
- function Sidebar_div_0_ng_template_4_p_button_2_span_2_1_ng_template_0_Template(rf, ctx) { }
204
- function Sidebar_div_0_ng_template_4_p_button_2_span_2_1_Template(rf, ctx) { if (rf & 1) {
205
- i0.ɵɵtemplate(0, Sidebar_div_0_ng_template_4_p_button_2_span_2_1_ng_template_0_Template, 0, 0, "ng-template");
209
+ function Sidebar_div_0_Conditional_4_p_button_2_span_2_1_ng_template_0_Template(rf, ctx) { }
210
+ function Sidebar_div_0_Conditional_4_p_button_2_span_2_1_Template(rf, ctx) { if (rf & 1) {
211
+ i0.ɵɵtemplate(0, Sidebar_div_0_Conditional_4_p_button_2_span_2_1_ng_template_0_Template, 0, 0, "ng-template");
206
212
  } }
207
- function Sidebar_div_0_ng_template_4_p_button_2_span_2_Template(rf, ctx) { if (rf & 1) {
208
- i0.ɵɵelementStart(0, "span", 11);
209
- i0.ɵɵtemplate(1, Sidebar_div_0_ng_template_4_p_button_2_span_2_1_Template, 1, 0, null, 5);
213
+ function Sidebar_div_0_Conditional_4_p_button_2_span_2_Template(rf, ctx) { if (rf & 1) {
214
+ i0.ɵɵelementStart(0, "span", 10);
215
+ i0.ɵɵtemplate(1, Sidebar_div_0_Conditional_4_p_button_2_span_2_1_Template, 1, 0, null, 4);
210
216
  i0.ɵɵelementEnd();
211
217
  } if (rf & 2) {
212
218
  const ctx_r1 = i0.ɵɵnextContext(4);
213
219
  i0.ɵɵattribute("data-pc-section", "closeicon");
214
220
  i0.ɵɵadvance();
215
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.closeIconTemplate);
221
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.closeIconTemplate || ctx_r1._closeIconTemplate);
216
222
  } }
217
- function Sidebar_div_0_ng_template_4_p_button_2_Template(rf, ctx) { if (rf & 1) {
223
+ function Sidebar_div_0_Conditional_4_p_button_2_Template(rf, ctx) { if (rf & 1) {
218
224
  const _r3 = i0.ɵɵgetCurrentView();
219
- i0.ɵɵelementStart(0, "p-button", 9);
220
- i0.ɵɵlistener("onClick", function Sidebar_div_0_ng_template_4_p_button_2_Template_p_button_onClick_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.close($event)); })("keydown.enter", function Sidebar_div_0_ng_template_4_p_button_2_Template_p_button_keydown_enter_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.close($event)); });
221
- i0.ɵɵtemplate(1, Sidebar_div_0_ng_template_4_p_button_2_TimesIcon_1_Template, 1, 1, "TimesIcon", 8)(2, Sidebar_div_0_ng_template_4_p_button_2_span_2_Template, 2, 2, "span", 10);
225
+ i0.ɵɵelementStart(0, "p-button", 8);
226
+ i0.ɵɵlistener("onClick", function Sidebar_div_0_Conditional_4_p_button_2_Template_p_button_onClick_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.close($event)); })("keydown.enter", function Sidebar_div_0_Conditional_4_p_button_2_Template_p_button_keydown_enter_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.close($event)); });
227
+ i0.ɵɵtemplate(1, Sidebar_div_0_Conditional_4_p_button_2_TimesIcon_1_Template, 1, 1, "TimesIcon", 7)(2, Sidebar_div_0_Conditional_4_p_button_2_span_2_Template, 2, 2, "span", 9);
222
228
  i0.ɵɵelementEnd();
223
229
  } if (rf & 2) {
224
230
  const ctx_r1 = i0.ɵɵnextContext(3);
225
231
  i0.ɵɵproperty("ngClass", ctx_r1.cx("closeButton"))("buttonProps", ctx_r1.closeButtonProps)("ariaLabel", ctx_r1.ariaCloseLabel);
226
232
  i0.ɵɵattribute("data-pc-section", "closebutton")("data-pc-group-section", "iconcontainer");
227
233
  i0.ɵɵadvance();
228
- i0.ɵɵproperty("ngIf", !ctx_r1.closeIconTemplate);
234
+ i0.ɵɵproperty("ngIf", !ctx_r1.closeIconTemplate && !ctx_r1._closeIconTemplate);
229
235
  i0.ɵɵadvance();
230
- i0.ɵɵproperty("ngIf", ctx_r1.closeIconTemplate);
236
+ i0.ɵɵproperty("ngIf", ctx_r1.closeIconTemplate || ctx_r1._closeIconTemplate);
231
237
  } }
232
- function Sidebar_div_0_ng_template_4_ng_container_5_Template(rf, ctx) { if (rf & 1) {
238
+ function Sidebar_div_0_Conditional_4_ng_container_5_Template(rf, ctx) { if (rf & 1) {
233
239
  i0.ɵɵelementContainer(0);
234
240
  } }
235
- function Sidebar_div_0_ng_template_4_ng_container_6_ng_container_2_Template(rf, ctx) { if (rf & 1) {
241
+ function Sidebar_div_0_Conditional_4_ng_container_6_ng_container_2_Template(rf, ctx) { if (rf & 1) {
236
242
  i0.ɵɵelementContainer(0);
237
243
  } }
238
- function Sidebar_div_0_ng_template_4_ng_container_6_Template(rf, ctx) { if (rf & 1) {
244
+ function Sidebar_div_0_Conditional_4_ng_container_6_Template(rf, ctx) { if (rf & 1) {
239
245
  i0.ɵɵelementContainerStart(0);
240
- i0.ɵɵelementStart(1, "div", 6);
241
- i0.ɵɵtemplate(2, Sidebar_div_0_ng_template_4_ng_container_6_ng_container_2_Template, 1, 0, "ng-container", 5);
246
+ i0.ɵɵelementStart(1, "div", 5);
247
+ i0.ɵɵtemplate(2, Sidebar_div_0_Conditional_4_ng_container_6_ng_container_2_Template, 1, 0, "ng-container", 4);
242
248
  i0.ɵɵelementEnd();
243
249
  i0.ɵɵelementContainerEnd();
244
250
  } if (rf & 2) {
@@ -247,43 +253,42 @@ function Sidebar_div_0_ng_template_4_ng_container_6_Template(rf, ctx) { if (rf &
247
253
  i0.ɵɵproperty("ngClass", ctx_r1.cx("footer"));
248
254
  i0.ɵɵattribute("data-pc-section", "footer");
249
255
  i0.ɵɵadvance();
250
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.footerTemplate);
256
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.footerTemplate || ctx_r1._footerTemplate);
251
257
  } }
252
- function Sidebar_div_0_ng_template_4_Template(rf, ctx) { if (rf & 1) {
253
- i0.ɵɵelementStart(0, "div", 6);
254
- i0.ɵɵtemplate(1, Sidebar_div_0_ng_template_4_ng_container_1_Template, 1, 0, "ng-container", 5)(2, Sidebar_div_0_ng_template_4_p_button_2_Template, 3, 7, "p-button", 7);
258
+ function Sidebar_div_0_Conditional_4_Template(rf, ctx) { if (rf & 1) {
259
+ i0.ɵɵelementStart(0, "div", 5);
260
+ i0.ɵɵtemplate(1, Sidebar_div_0_Conditional_4_ng_container_1_Template, 1, 0, "ng-container", 4)(2, Sidebar_div_0_Conditional_4_p_button_2_Template, 3, 7, "p-button", 6);
255
261
  i0.ɵɵelementEnd();
256
- i0.ɵɵelementStart(3, "div", 6);
262
+ i0.ɵɵelementStart(3, "div", 5);
257
263
  i0.ɵɵprojection(4);
258
- i0.ɵɵtemplate(5, Sidebar_div_0_ng_template_4_ng_container_5_Template, 1, 0, "ng-container", 5);
264
+ i0.ɵɵtemplate(5, Sidebar_div_0_Conditional_4_ng_container_5_Template, 1, 0, "ng-container", 4);
259
265
  i0.ɵɵelementEnd();
260
- i0.ɵɵtemplate(6, Sidebar_div_0_ng_template_4_ng_container_6_Template, 3, 3, "ng-container", 8);
266
+ i0.ɵɵtemplate(6, Sidebar_div_0_Conditional_4_ng_container_6_Template, 3, 3, "ng-container", 7);
261
267
  } if (rf & 2) {
262
268
  const ctx_r1 = i0.ɵɵnextContext(2);
263
269
  i0.ɵɵproperty("ngClass", ctx_r1.cx("header"));
264
270
  i0.ɵɵattribute("data-pc-section", "header");
265
271
  i0.ɵɵadvance();
266
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.headerTemplate);
272
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.headerTemplate || ctx_r1._headerTemplate);
267
273
  i0.ɵɵadvance();
268
274
  i0.ɵɵproperty("ngIf", ctx_r1.showCloseIcon);
269
275
  i0.ɵɵadvance();
270
276
  i0.ɵɵproperty("ngClass", ctx_r1.cx("content"));
271
277
  i0.ɵɵattribute("data-pc-section", "content");
272
278
  i0.ɵɵadvance(2);
273
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.contentTemplate);
279
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.contentTemplate || ctx_r1._contentTemplate);
274
280
  i0.ɵɵadvance();
275
- i0.ɵɵproperty("ngIf", ctx_r1.footerTemplate);
281
+ i0.ɵɵproperty("ngIf", ctx_r1.footerTemplate || ctx_r1._footerTemplate);
276
282
  } }
277
283
  function Sidebar_div_0_Template(rf, ctx) { if (rf & 1) {
278
284
  const _r1 = i0.ɵɵgetCurrentView();
279
- i0.ɵɵelementStart(0, "div", 3, 0);
285
+ i0.ɵɵelementStart(0, "div", 2, 0);
280
286
  i0.ɵɵlistener("@panelState.start", function Sidebar_div_0_Template_div_animation_panelState_start_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onAnimationStart($event)); })("@panelState.done", function Sidebar_div_0_Template_div_animation_panelState_done_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onAnimationEnd($event)); })("click", function Sidebar_div_0_Template_div_click_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.maskClickListener($event)); });
281
- i0.ɵɵelementStart(2, "div", 4);
287
+ i0.ɵɵelementStart(2, "div", 3);
282
288
  i0.ɵɵlistener("keydown", function Sidebar_div_0_Template_div_keydown_2_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onKeyDown($event)); });
283
- i0.ɵɵtemplate(3, Sidebar_div_0_ng_container_3_Template, 1, 0, "ng-container", 5)(4, Sidebar_div_0_ng_template_4_Template, 7, 8, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
289
+ i0.ɵɵtemplate(3, Sidebar_div_0_Conditional_3_Template, 1, 1, "ng-container")(4, Sidebar_div_0_Conditional_4_Template, 7, 8);
284
290
  i0.ɵɵelementEnd()();
285
291
  } if (rf & 2) {
286
- const notHeadless_r4 = i0.ɵɵreference(5);
287
292
  const ctx_r1 = i0.ɵɵnextContext();
288
293
  i0.ɵɵstyleMap(ctx_r1.maskStyle);
289
294
  i0.ɵɵproperty("ngClass", ctx_r1.cx("mask"))("ngStyle", ctx_r1.sx("mask"))("@panelState", i0.ɵɵpureFunction1(15, _c5, i0.ɵɵpureFunction2(12, _c4, ctx_r1.transformOptions, ctx_r1.transitionOptions)));
@@ -293,7 +298,7 @@ function Sidebar_div_0_Template(rf, ctx) { if (rf & 1) {
293
298
  i0.ɵɵproperty("ngClass", ctx_r1.cx("root"));
294
299
  i0.ɵɵattribute("data-pc-section", "root");
295
300
  i0.ɵɵadvance();
296
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.headlessTemplate || notHeadless_r4);
301
+ i0.ɵɵconditional(ctx_r1.headlessTemplate || ctx_r1._headlessTemplate ? 3 : 4);
297
302
  } }
298
303
  const showAnimation = animation([style({ transform: '{{transform}}', opacity: 0 }), animate('{{transition}}')]);
299
304
  const hideAnimation = animation([animate('{{transition}}', style({ transform: '{{transform}}', opacity: 0 }))]);
@@ -468,6 +473,12 @@ class Sidebar extends BaseComponent {
468
473
  * @group Props
469
474
  */
470
475
  contentTemplate;
476
+ templates;
477
+ _headerTemplate;
478
+ _footerTemplate;
479
+ _contentTemplate;
480
+ _closeIconTemplate;
481
+ _headlessTemplate;
471
482
  ngAfterViewInit() {
472
483
  super.ngAfterViewInit();
473
484
  this.initialized = true;
@@ -482,20 +493,23 @@ class Sidebar extends BaseComponent {
482
493
  ngAfterContentInit() {
483
494
  this.templates?.forEach((item) => {
484
495
  switch (item.getType()) {
496
+ case 'content':
497
+ this._contentTemplate = item.template;
498
+ break;
485
499
  case 'header':
486
- this.headerTemplate = item.template || this.headerTemplate;
500
+ this._headerTemplate = item.template;
487
501
  break;
488
502
  case 'footer':
489
- this.footerTemplate = item.template || this.footerTemplate;
503
+ this._footerTemplate = item.template;
490
504
  break;
491
505
  case 'closeicon':
492
- this.closeIconTemplate = item.template || this.closeIconTemplate;
506
+ this._closeIconTemplate = item.template;
493
507
  break;
494
508
  case 'headless':
495
- this.headlessTemplate = item.template || this.headlessTemplate;
509
+ this._headlessTemplate = item.template;
496
510
  break;
497
- case 'content':
498
- this.contentTemplate = item.template || this.headlessTemplate;
511
+ default:
512
+ this._contentTemplate = item.template;
499
513
  break;
500
514
  }
501
515
  });
@@ -588,7 +602,12 @@ class Sidebar extends BaseComponent {
588
602
  super.ngOnDestroy();
589
603
  }
590
604
  static ɵfac = /*@__PURE__*/ (() => { let ɵSidebar_BaseFactory; return function Sidebar_Factory(__ngFactoryType__) { return (ɵSidebar_BaseFactory || (ɵSidebar_BaseFactory = i0.ɵɵgetInheritedFactory(Sidebar)))(__ngFactoryType__ || Sidebar); }; })();
591
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sidebar, selectors: [["p-sidebar"]], viewQuery: function Sidebar_Query(rf, ctx) { if (rf & 1) {
605
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sidebar, selectors: [["p-sidebar"]], contentQueries: function Sidebar_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
606
+ i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);
607
+ } if (rf & 2) {
608
+ let _t;
609
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);
610
+ } }, viewQuery: function Sidebar_Query(rf, ctx) { if (rf & 1) {
592
611
  i0.ɵɵviewQuery(_c0, 5);
593
612
  i0.ɵɵviewQuery(_c1, 5);
594
613
  i0.ɵɵviewQuery(_c2, 5);
@@ -597,9 +616,9 @@ class Sidebar extends BaseComponent {
597
616
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.maskRef = _t.first);
598
617
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.containerViewChild = _t.first);
599
618
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.closeButtonViewChild = _t.first);
600
- } }, inputs: { appendTo: "appendTo", blockScroll: [2, "blockScroll", "blockScroll", booleanAttribute], style: "style", styleClass: "styleClass", ariaCloseLabel: "ariaCloseLabel", autoZIndex: [2, "autoZIndex", "autoZIndex", booleanAttribute], baseZIndex: [2, "baseZIndex", "baseZIndex", numberAttribute], modal: [2, "modal", "modal", booleanAttribute], closeButtonProps: "closeButtonProps", dismissible: [2, "dismissible", "dismissible", booleanAttribute], showCloseIcon: [2, "showCloseIcon", "showCloseIcon", booleanAttribute], closeOnEscape: [2, "closeOnEscape", "closeOnEscape", booleanAttribute], transitionOptions: "transitionOptions", visible: "visible", position: "position", fullScreen: "fullScreen", maskStyle: "maskStyle", headerTemplate: "headerTemplate", footerTemplate: "footerTemplate", closeIconTemplate: "closeIconTemplate", headlessTemplate: "headlessTemplate", contentTemplate: "contentTemplate" }, outputs: { onShow: "onShow", onHide: "onHide", visibleChange: "visibleChange" }, features: [i0.ɵɵProvidersFeature([DrawerStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c3, decls: 1, vars: 1, consts: [["maskRef", ""], ["notHeadless", ""], [3, "ngClass", "ngStyle", "style", "click", 4, "ngIf"], [3, "click", "ngClass", "ngStyle"], [3, "keydown", "ngClass"], [4, "ngTemplateOutlet"], [3, "ngClass"], [3, "ngClass", "buttonProps", "ariaLabel", "onClick", "keydown.enter", 4, "ngIf"], [4, "ngIf"], [3, "onClick", "keydown.enter", "ngClass", "buttonProps", "ariaLabel"], ["class", "p-sidebar-close-icon", 4, "ngIf"], [1, "p-sidebar-close-icon"]], template: function Sidebar_Template(rf, ctx) { if (rf & 1) {
619
+ } }, inputs: { appendTo: "appendTo", blockScroll: [2, "blockScroll", "blockScroll", booleanAttribute], style: "style", styleClass: "styleClass", ariaCloseLabel: "ariaCloseLabel", autoZIndex: [2, "autoZIndex", "autoZIndex", booleanAttribute], baseZIndex: [2, "baseZIndex", "baseZIndex", numberAttribute], modal: [2, "modal", "modal", booleanAttribute], closeButtonProps: "closeButtonProps", dismissible: [2, "dismissible", "dismissible", booleanAttribute], showCloseIcon: [2, "showCloseIcon", "showCloseIcon", booleanAttribute], closeOnEscape: [2, "closeOnEscape", "closeOnEscape", booleanAttribute], transitionOptions: "transitionOptions", visible: "visible", position: "position", fullScreen: "fullScreen", maskStyle: "maskStyle", headerTemplate: "headerTemplate", footerTemplate: "footerTemplate", closeIconTemplate: "closeIconTemplate", headlessTemplate: "headlessTemplate", contentTemplate: "contentTemplate" }, outputs: { onShow: "onShow", onHide: "onHide", visibleChange: "visibleChange" }, features: [i0.ɵɵProvidersFeature([DrawerStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c3, decls: 1, vars: 1, consts: [["maskRef", ""], [3, "ngClass", "ngStyle", "style", "click", 4, "ngIf"], [3, "click", "ngClass", "ngStyle"], [3, "keydown", "ngClass"], [4, "ngTemplateOutlet"], [3, "ngClass"], [3, "ngClass", "buttonProps", "ariaLabel", "onClick", "keydown.enter", 4, "ngIf"], [4, "ngIf"], [3, "onClick", "keydown.enter", "ngClass", "buttonProps", "ariaLabel"], ["class", "p-sidebar-close-icon", 4, "ngIf"], [1, "p-sidebar-close-icon"]], template: function Sidebar_Template(rf, ctx) { if (rf & 1) {
601
620
  i0.ɵɵprojectionDef();
602
- i0.ɵɵtemplate(0, Sidebar_div_0_Template, 6, 17, "div", 2);
621
+ i0.ɵɵtemplate(0, Sidebar_div_0_Template, 5, 17, "div", 1);
603
622
  } if (rf & 2) {
604
623
  i0.ɵɵproperty("ngIf", ctx.visible);
605
624
  } }, dependencies: [CommonModule, i1.NgClass, i1.NgIf, i1.NgTemplateOutlet, i1.NgStyle, SharedModule, TimesIcon, ButtonModule, i2.Button], encapsulation: 2, data: { animation: [trigger('panelState', [transition('void => visible', [useAnimation(showAnimation)]), transition('visible => void', [useAnimation(hideAnimation)])])] }, changeDetection: 0 });
@@ -625,10 +644,11 @@ class Sidebar extends BaseComponent {
625
644
  (click)="maskClickListener($event)"
626
645
  >
627
646
  <div [ngClass]="cx('root')" [class]="styleClass" [attr.data-pc-section]="'root'" (keydown)="onKeyDown($event)">
628
- <ng-container *ngTemplateOutlet="headlessTemplate || notHeadless"></ng-container>
629
- <ng-template #notHeadless>
647
+ @if (headlessTemplate || _headlessTemplate) {
648
+ <ng-container *ngTemplateOutlet="headlessTemplate || _headlessTemplate"></ng-container>
649
+ } @else {
630
650
  <div [ngClass]="cx('header')" [attr.data-pc-section]="'header'">
631
- <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
651
+ <ng-container *ngTemplateOutlet="headerTemplate || _headerTemplate"></ng-container>
632
652
  <p-button
633
653
  *ngIf="showCloseIcon"
634
654
  [ngClass]="cx('closeButton')"
@@ -639,24 +659,24 @@ class Sidebar extends BaseComponent {
639
659
  [attr.data-pc-section]="'closebutton'"
640
660
  [attr.data-pc-group-section]="'iconcontainer'"
641
661
  >
642
- <TimesIcon *ngIf="!closeIconTemplate" [attr.data-pc-section]="'closeicon'" />
643
- <span *ngIf="closeIconTemplate" class="p-sidebar-close-icon" [attr.data-pc-section]="'closeicon'">
644
- <ng-template *ngTemplateOutlet="closeIconTemplate"></ng-template>
662
+ <TimesIcon *ngIf="!closeIconTemplate && !_closeIconTemplate" [attr.data-pc-section]="'closeicon'" />
663
+ <span *ngIf="closeIconTemplate || _closeIconTemplate" class="p-sidebar-close-icon" [attr.data-pc-section]="'closeicon'">
664
+ <ng-template *ngTemplateOutlet="closeIconTemplate || _closeIconTemplate"></ng-template>
645
665
  </span>
646
666
  </p-button>
647
667
  </div>
648
668
 
649
669
  <div [ngClass]="cx('content')" [attr.data-pc-section]="'content'">
650
670
  <ng-content></ng-content>
651
- <ng-container *ngTemplateOutlet="contentTemplate"></ng-container>
671
+ <ng-container *ngTemplateOutlet="contentTemplate || _contentTemplate"></ng-container>
652
672
  </div>
653
673
 
654
- <ng-container *ngIf="footerTemplate">
674
+ <ng-container *ngIf="footerTemplate || _footerTemplate">
655
675
  <div [ngClass]="cx('footer')" [attr.data-pc-section]="'footer'">
656
- <ng-container *ngTemplateOutlet="footerTemplate"></ng-container>
676
+ <ng-container *ngTemplateOutlet="footerTemplate || _footerTemplate"></ng-container>
657
677
  </div>
658
678
  </ng-container>
659
- </ng-template>
679
+ }
660
680
  </div>
661
681
  </div>
662
682
  `,
@@ -731,8 +751,11 @@ class Sidebar extends BaseComponent {
731
751
  type: Input
732
752
  }], contentTemplate: [{
733
753
  type: Input
754
+ }], templates: [{
755
+ type: ContentChildren,
756
+ args: [PrimeTemplate]
734
757
  }] }); })();
735
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(Sidebar, { className: "Sidebar", filePath: "sidebar.ts", lineNumber: 98 }); })();
758
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(Sidebar, { className: "Sidebar", filePath: "sidebar.ts", lineNumber: 101 }); })();
736
759
  class SidebarModule {
737
760
  static ɵfac = function SidebarModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SidebarModule)(); };
738
761
  static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: SidebarModule });