primeng 19.0.0-rc.1 → 19.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/accordion/accordion.d.ts +7 -7
  2. package/autocomplete/autocomplete.d.ts +21 -8
  3. package/badge/badge.d.ts +1 -3
  4. package/basecomponent/basecomponent.d.ts +2 -5
  5. package/blockui/blockui.d.ts +10 -5
  6. package/breadcrumb/breadcrumb.d.ts +9 -6
  7. package/button/button.d.ts +10 -4
  8. package/calendar/calendar.d.ts +29 -15
  9. package/card/card.d.ts +12 -5
  10. package/carousel/carousel.d.ts +10 -4
  11. package/cascadeselect/cascadeselect.d.ts +18 -8
  12. package/checkbox/checkbox.d.ts +8 -4
  13. package/chip/chip.d.ts +9 -7
  14. package/config/themeprovider.d.ts +6 -0
  15. package/confirmdialog/confirmdialog.d.ts +15 -5
  16. package/confirmpopup/confirmpopup.d.ts +11 -5
  17. package/contextmenu/contextmenu.d.ts +10 -6
  18. package/datepicker/datepicker.d.ts +25 -11
  19. package/dialog/dialog.d.ts +15 -4
  20. package/divider/divider.d.ts +1 -1
  21. package/dock/dock.d.ts +7 -4
  22. package/drawer/drawer.d.ts +18 -10
  23. package/dropdown/dropdown.d.ts +4 -3
  24. package/dynamicdialog/dynamicdialog.d.ts +3 -2
  25. package/editor/editor.d.ts +7 -3
  26. package/fesm2022/primeng-accordion.mjs +56 -41
  27. package/fesm2022/primeng-accordion.mjs.map +1 -1
  28. package/fesm2022/primeng-autocomplete.mjs +153 -92
  29. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  30. package/fesm2022/primeng-badge.mjs +39 -32
  31. package/fesm2022/primeng-badge.mjs.map +1 -1
  32. package/fesm2022/primeng-basecomponent.mjs +2 -25
  33. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  34. package/fesm2022/primeng-blockui.mjs +38 -18
  35. package/fesm2022/primeng-blockui.mjs.map +1 -1
  36. package/fesm2022/primeng-breadcrumb.mjs +49 -31
  37. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  38. package/fesm2022/primeng-button.mjs +55 -28
  39. package/fesm2022/primeng-button.mjs.map +1 -1
  40. package/fesm2022/primeng-calendar.mjs +199 -136
  41. package/fesm2022/primeng-calendar.mjs.map +1 -1
  42. package/fesm2022/primeng-card.mjs +95 -45
  43. package/fesm2022/primeng-card.mjs.map +1 -1
  44. package/fesm2022/primeng-carousel.mjs +74 -42
  45. package/fesm2022/primeng-carousel.mjs.map +1 -1
  46. package/fesm2022/primeng-cascadeselect.mjs +99 -61
  47. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  48. package/fesm2022/primeng-checkbox.mjs +31 -12
  49. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  50. package/fesm2022/primeng-chip.mjs +117 -96
  51. package/fesm2022/primeng-chip.mjs.map +1 -1
  52. package/fesm2022/primeng-config.mjs +13 -11
  53. package/fesm2022/primeng-config.mjs.map +1 -1
  54. package/fesm2022/primeng-confirmdialog.mjs +104 -60
  55. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  56. package/fesm2022/primeng-confirmpopup.mjs +57 -29
  57. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  58. package/fesm2022/primeng-contextmenu.mjs +52 -21
  59. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  60. package/fesm2022/primeng-datepicker.mjs +199 -158
  61. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  62. package/fesm2022/primeng-dialog.mjs +97 -50
  63. package/fesm2022/primeng-dialog.mjs.map +1 -1
  64. package/fesm2022/primeng-divider.mjs +2 -4
  65. package/fesm2022/primeng-divider.mjs.map +1 -1
  66. package/fesm2022/primeng-dock.mjs +29 -10
  67. package/fesm2022/primeng-dock.mjs.map +1 -1
  68. package/fesm2022/primeng-drawer.mjs +112 -70
  69. package/fesm2022/primeng-drawer.mjs.map +1 -1
  70. package/fesm2022/primeng-dropdown.mjs +14 -6
  71. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  72. package/fesm2022/primeng-dynamicdialog.mjs +25 -21
  73. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  74. package/fesm2022/primeng-editor.mjs +26 -10
  75. package/fesm2022/primeng-editor.mjs.map +1 -1
  76. package/fesm2022/primeng-fieldset.mjs +61 -33
  77. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  78. package/fesm2022/primeng-fileupload.mjs +138 -87
  79. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  80. package/fesm2022/primeng-galleria.mjs +22 -13
  81. package/fesm2022/primeng-galleria.mjs.map +1 -1
  82. package/fesm2022/primeng-image.mjs +113 -66
  83. package/fesm2022/primeng-image.mjs.map +1 -1
  84. package/fesm2022/primeng-imagecompare.mjs +30 -10
  85. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  86. package/fesm2022/primeng-inplace.mjs +51 -26
  87. package/fesm2022/primeng-inplace.mjs.map +1 -1
  88. package/fesm2022/primeng-inputmask.mjs +31 -15
  89. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  90. package/fesm2022/primeng-inputnumber.mjs +54 -45
  91. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  92. package/fesm2022/primeng-inputotp.mjs +30 -11
  93. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  94. package/fesm2022/primeng-listbox.mjs +137 -78
  95. package/fesm2022/primeng-listbox.mjs.map +1 -1
  96. package/fesm2022/primeng-megamenu.mjs +105 -59
  97. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  98. package/fesm2022/primeng-menu.mjs +26 -26
  99. package/fesm2022/primeng-menu.mjs.map +1 -1
  100. package/fesm2022/primeng-menubar.mjs +69 -34
  101. package/fesm2022/primeng-menubar.mjs.map +1 -1
  102. package/fesm2022/primeng-message.mjs +49 -25
  103. package/fesm2022/primeng-message.mjs.map +1 -1
  104. package/fesm2022/primeng-messages.mjs +12 -3
  105. package/fesm2022/primeng-messages.mjs.map +1 -1
  106. package/fesm2022/primeng-metergroup.mjs +62 -30
  107. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  108. package/fesm2022/primeng-multiselect.mjs +246 -155
  109. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  110. package/fesm2022/primeng-orderlist.mjs +123 -68
  111. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  112. package/fesm2022/primeng-organizationchart.mjs +31 -15
  113. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  114. package/fesm2022/primeng-overlay.mjs +26 -6
  115. package/fesm2022/primeng-overlay.mjs.map +1 -1
  116. package/fesm2022/primeng-overlaypanel.mjs +29 -9
  117. package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
  118. package/fesm2022/primeng-paginator.mjs +92 -60
  119. package/fesm2022/primeng-paginator.mjs.map +1 -1
  120. package/fesm2022/primeng-panel.mjs +159 -98
  121. package/fesm2022/primeng-panel.mjs.map +1 -1
  122. package/fesm2022/primeng-panelmenu.mjs +55 -32
  123. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  124. package/fesm2022/primeng-password.mjs +88 -49
  125. package/fesm2022/primeng-password.mjs.map +1 -1
  126. package/fesm2022/primeng-picklist.mjs +360 -228
  127. package/fesm2022/primeng-picklist.mjs.map +1 -1
  128. package/fesm2022/primeng-popover.mjs +23 -7
  129. package/fesm2022/primeng-popover.mjs.map +1 -1
  130. package/fesm2022/primeng-progressbar.mjs +26 -8
  131. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  132. package/fesm2022/primeng-rating.mjs +44 -20
  133. package/fesm2022/primeng-rating.mjs.map +1 -1
  134. package/fesm2022/primeng-scroller.mjs +47 -37
  135. package/fesm2022/primeng-scroller.mjs.map +1 -1
  136. package/fesm2022/primeng-scrollpanel.mjs +28 -9
  137. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  138. package/fesm2022/primeng-scrolltop.mjs +16 -9
  139. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  140. package/fesm2022/primeng-select.mjs +198 -119
  141. package/fesm2022/primeng-select.mjs.map +1 -1
  142. package/fesm2022/primeng-selectbutton.mjs +25 -9
  143. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  144. package/fesm2022/primeng-sidebar.mjs +81 -58
  145. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  146. package/fesm2022/primeng-speeddial.mjs +54 -29
  147. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  148. package/fesm2022/primeng-splitbutton.mjs +41 -18
  149. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  150. package/fesm2022/primeng-splitter.mjs +4 -4
  151. package/fesm2022/primeng-splitter.mjs.map +1 -1
  152. package/fesm2022/primeng-stepper.mjs +33 -19
  153. package/fesm2022/primeng-stepper.mjs.map +1 -1
  154. package/fesm2022/primeng-table.mjs +115 -103
  155. package/fesm2022/primeng-table.mjs.map +1 -1
  156. package/fesm2022/primeng-tabmenu.mjs +54 -27
  157. package/fesm2022/primeng-tabmenu.mjs.map +1 -1
  158. package/fesm2022/primeng-tabs.mjs +27 -19
  159. package/fesm2022/primeng-tabs.mjs.map +1 -1
  160. package/fesm2022/primeng-tabview.mjs +106 -54
  161. package/fesm2022/primeng-tabview.mjs.map +1 -1
  162. package/fesm2022/primeng-tag.mjs +68 -44
  163. package/fesm2022/primeng-tag.mjs.map +1 -1
  164. package/fesm2022/primeng-tieredmenu.mjs +44 -21
  165. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  166. package/fesm2022/primeng-timeline.mjs +40 -16
  167. package/fesm2022/primeng-timeline.mjs.map +1 -1
  168. package/fesm2022/primeng-toast.mjs +30 -7
  169. package/fesm2022/primeng-toast.mjs.map +1 -1
  170. package/fesm2022/primeng-togglebutton.mjs +44 -28
  171. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  172. package/fesm2022/primeng-toggleswitch.mjs +28 -9
  173. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  174. package/fesm2022/primeng-toolbar.mjs +46 -20
  175. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  176. package/fesm2022/primeng-tooltip.mjs +32 -69
  177. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  178. package/fesm2022/primeng-tree.mjs +113 -96
  179. package/fesm2022/primeng-tree.mjs.map +1 -1
  180. package/fesm2022/primeng-treeselect.mjs +154 -85
  181. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  182. package/fesm2022/primeng-treetable.mjs +31 -14
  183. package/fesm2022/primeng-treetable.mjs.map +1 -1
  184. package/fesm2022/primeng-usestyle.mjs +1 -1
  185. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  186. package/fieldset/fieldset.d.ts +12 -6
  187. package/fileupload/fileupload.d.ts +19 -8
  188. package/galleria/galleria.d.ts +3 -2
  189. package/image/image.d.ts +18 -7
  190. package/imagecompare/imagecompare.d.ts +7 -2
  191. package/inplace/inplace.d.ts +12 -6
  192. package/inputmask/inputmask.d.ts +8 -4
  193. package/inputnumber/inputnumber.d.ts +11 -6
  194. package/inputotp/inputotp.d.ts +7 -2
  195. package/listbox/listbox.d.ts +17 -4
  196. package/megamenu/megamenu.d.ts +16 -7
  197. package/menu/menu.d.ts +6 -6
  198. package/menubar/menubar.d.ts +13 -6
  199. package/message/message.d.ts +10 -4
  200. package/messages/messages.d.ts +4 -3
  201. package/metergroup/metergroup.d.ts +11 -3
  202. package/multiselect/multiselect.d.ts +36 -17
  203. package/orderlist/orderlist.d.ts +23 -11
  204. package/organizationchart/organizationchart.d.ts +6 -4
  205. package/overlay/overlay.d.ts +6 -3
  206. package/overlaypanel/overlaypanel.d.ts +6 -3
  207. package/package.json +180 -180
  208. package/paginator/paginator.d.ts +15 -8
  209. package/panel/panel.d.ts +14 -5
  210. package/panelmenu/panelmenu.d.ts +8 -4
  211. package/password/password.d.ts +15 -7
  212. package/picklist/picklist.d.ts +23 -3
  213. package/popover/popover.d.ts +7 -4
  214. package/progressbar/progressbar.d.ts +7 -3
  215. package/rating/rating.d.ts +11 -5
  216. package/scroller/scroller.d.ts +9 -4
  217. package/scrollpanel/scrollpanel.d.ts +7 -3
  218. package/scrolltop/scrolltop.d.ts +7 -4
  219. package/select/select.d.ts +31 -13
  220. package/selectbutton/selectbutton.d.ts +7 -3
  221. package/sidebar/sidebar.d.ts +9 -2
  222. package/speeddial/speeddial.d.ts +9 -4
  223. package/splitbutton/splitbutton.d.ts +9 -5
  224. package/splitter/splitter.d.ts +4 -4
  225. package/stepper/stepper.d.ts +8 -3
  226. package/table/table.d.ts +2 -2
  227. package/tabmenu/tabmenu.d.ts +12 -7
  228. package/tabs/tablist.d.ts +6 -2
  229. package/tabview/tabview.d.ts +16 -7
  230. package/tag/tag.d.ts +8 -9
  231. package/tieredmenu/tieredmenu.d.ts +10 -6
  232. package/timeline/timeline.d.ts +7 -2
  233. package/toast/toast.d.ts +7 -3
  234. package/togglebutton/togglebutton.d.ts +8 -3
  235. package/toggleswitch/toggleswitch.d.ts +6 -2
  236. package/toolbar/toolbar.d.ts +9 -4
  237. package/tooltip/tooltip.d.ts +2 -1
  238. package/tree/tree.d.ts +23 -10
  239. package/treeselect/treeselect.d.ts +26 -12
  240. package/treetable/treetable.d.ts +6 -4
@@ -1,9 +1,9 @@
1
1
  import * as i1 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Injectable, forwardRef, EventEmitter, inject, booleanAttribute, numberAttribute, Component, ChangeDetectionStrategy, Input, HostBinding, Output, ContentChild, NgModule } from '@angular/core';
4
+ import { Injectable, forwardRef, EventEmitter, inject, booleanAttribute, numberAttribute, Component, ChangeDetectionStrategy, Input, HostBinding, Output, ContentChild, ContentChildren, NgModule } from '@angular/core';
5
5
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
6
- import { SharedModule } from 'primeng/api';
6
+ import { PrimeTemplate, SharedModule } from 'primeng/api';
7
7
  import { BaseComponent } from 'primeng/basecomponent';
8
8
  import { Ripple } from 'primeng/ripple';
9
9
  import { BaseStyle } from 'primeng/base';
@@ -203,26 +203,21 @@ function ToggleButton_Conditional_3_Conditional_1_Template(rf, ctx) { if (rf & 1
203
203
  i0.ɵɵtemplate(0, ToggleButton_Conditional_3_Conditional_1_ng_container_0_Template, 1, 0, "ng-container", 2);
204
204
  } if (rf & 2) {
205
205
  const ctx_r0 = i0.ɵɵnextContext(2);
206
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.iconTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c2, ctx_r0.checked));
207
- } }
208
- function ToggleButton_Conditional_3_Conditional_2_Template(rf, ctx) { if (rf & 1) {
209
- i0.ɵɵelementStart(0, "span", 1);
210
- i0.ɵɵtext(1);
211
- i0.ɵɵelementEnd();
212
- } if (rf & 2) {
213
- const ctx_r0 = i0.ɵɵnextContext(2);
214
- i0.ɵɵproperty("ngClass", ctx_r0.cx("label"));
215
- i0.ɵɵattribute("data-pc-section", "label");
216
- i0.ɵɵadvance();
217
- i0.ɵɵtextInterpolate(ctx_r0.checked ? ctx_r0.hasOnLabel ? ctx_r0.onLabel : "" : ctx_r0.hasOffLabel ? ctx_r0.offLabel : "");
206
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.iconTemplate || ctx_r0._iconTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c2, ctx_r0.checked));
218
207
  } }
219
208
  function ToggleButton_Conditional_3_Template(rf, ctx) { if (rf & 1) {
220
- i0.ɵɵtemplate(0, ToggleButton_Conditional_3_Conditional_0_Template, 1, 1)(1, ToggleButton_Conditional_3_Conditional_1_Template, 1, 4, "ng-container")(2, ToggleButton_Conditional_3_Conditional_2_Template, 2, 3, "span", 1);
209
+ i0.ɵɵtemplate(0, ToggleButton_Conditional_3_Conditional_0_Template, 1, 1)(1, ToggleButton_Conditional_3_Conditional_1_Template, 1, 4, "ng-container");
210
+ i0.ɵɵelementStart(2, "span", 1);
211
+ i0.ɵɵtext(3);
212
+ i0.ɵɵelementEnd();
221
213
  } if (rf & 2) {
222
214
  const ctx_r0 = i0.ɵɵnextContext();
223
215
  i0.ɵɵconditional(!ctx_r0.iconTemplate ? 0 : 1);
224
216
  i0.ɵɵadvance(2);
225
- i0.ɵɵconditional(ctx_r0.onLabel || ctx_r0.offLabel ? 2 : -1);
217
+ i0.ɵɵproperty("ngClass", ctx_r0.cx("label"));
218
+ i0.ɵɵattribute("data-pc-section", "label");
219
+ i0.ɵɵadvance();
220
+ i0.ɵɵtextInterpolate(ctx_r0.checked ? ctx_r0.hasOnLabel ? ctx_r0.onLabel : "\u00A0" : ctx_r0.hasOffLabel ? ctx_r0.offLabel : "\u00A0");
226
221
  } }
227
222
  const TOGGLEBUTTON_VALUE_ACCESSOR = {
228
223
  provide: NG_VALUE_ACCESSOR,
@@ -328,6 +323,7 @@ class ToggleButton extends BaseComponent {
328
323
  * @group Templates
329
324
  */
330
325
  contentTemplate;
326
+ templates;
331
327
  checked = false;
332
328
  onModelChange = () => { };
333
329
  onModelTouched = () => { };
@@ -382,21 +378,40 @@ class ToggleButton extends BaseComponent {
382
378
  get active() {
383
379
  return this.checked === true;
384
380
  }
381
+ _iconTemplate;
382
+ _contentTemplate;
383
+ ngAfterContentInit() {
384
+ this.templates.forEach((item) => {
385
+ switch (item.getType()) {
386
+ case 'icon':
387
+ this._iconTemplate = item.template;
388
+ break;
389
+ case 'content':
390
+ this._contentTemplate = item.template;
391
+ break;
392
+ default:
393
+ this._contentTemplate = item.template;
394
+ break;
395
+ }
396
+ });
397
+ }
385
398
  static ɵfac = /*@__PURE__*/ (() => { let ɵToggleButton_BaseFactory; return function ToggleButton_Factory(__ngFactoryType__) { return (ɵToggleButton_BaseFactory || (ɵToggleButton_BaseFactory = i0.ɵɵgetInheritedFactory(ToggleButton)))(__ngFactoryType__ || ToggleButton); }; })();
386
399
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ToggleButton, selectors: [["p-toggleButton"], ["p-togglebutton"], ["p-toggle-button"]], contentQueries: function ToggleButton_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
387
- i0.ɵɵcontentQuery(dirIndex, _c0, 5);
388
- i0.ɵɵcontentQuery(dirIndex, _c1, 5);
400
+ i0.ɵɵcontentQuery(dirIndex, _c0, 4);
401
+ i0.ɵɵcontentQuery(dirIndex, _c1, 4);
402
+ i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);
389
403
  } if (rf & 2) {
390
404
  let _t;
391
405
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.iconTemplate = _t.first);
392
406
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.contentTemplate = _t.first);
407
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);
393
408
  } }, hostVars: 2, hostBindings: function ToggleButton_HostBindings(rf, ctx) { if (rf & 2) {
394
409
  i0.ɵɵclassMap(ctx.hostClass);
395
410
  } }, inputs: { onLabel: "onLabel", offLabel: "offLabel", onIcon: "onIcon", offIcon: "offIcon", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", disabled: [2, "disabled", "disabled", booleanAttribute], style: "style", styleClass: "styleClass", inputId: "inputId", tabindex: [2, "tabindex", "tabindex", numberAttribute], size: "size", iconPos: "iconPos", autofocus: [2, "autofocus", "autofocus", booleanAttribute], allowEmpty: "allowEmpty" }, outputs: { onChange: "onChange" }, features: [i0.ɵɵProvidersFeature([TOGGLEBUTTON_VALUE_ACCESSOR, ToggleButtonStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature], decls: 4, vars: 15, consts: [["pRipple", "", "type", "button", 3, "click", "ngClass", "tabindex", "disabled"], [3, "ngClass"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [3, "class", "ngClass"]], template: function ToggleButton_Template(rf, ctx) { if (rf & 1) {
396
411
  i0.ɵɵelementStart(0, "button", 0);
397
412
  i0.ɵɵlistener("click", function ToggleButton_Template_button_click_0_listener($event) { return ctx.toggle($event); });
398
413
  i0.ɵɵelementStart(1, "span", 1);
399
- i0.ɵɵtemplate(2, ToggleButton_ng_container_2_Template, 1, 0, "ng-container", 2)(3, ToggleButton_Conditional_3_Template, 3, 2);
414
+ i0.ɵɵtemplate(2, ToggleButton_ng_container_2_Template, 1, 0, "ng-container", 2)(3, ToggleButton_Conditional_3_Template, 4, 4);
400
415
  i0.ɵɵelementEnd()();
401
416
  } if (rf & 2) {
402
417
  i0.ɵɵclassMap(ctx.styleClass);
@@ -405,7 +420,7 @@ class ToggleButton extends BaseComponent {
405
420
  i0.ɵɵadvance();
406
421
  i0.ɵɵproperty("ngClass", ctx.cx("content"));
407
422
  i0.ɵɵadvance();
408
- i0.ɵɵproperty("ngTemplateOutlet", ctx.contentTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(13, _c2, ctx.checked));
423
+ i0.ɵɵproperty("ngTemplateOutlet", ctx.contentTemplate || ctx._contentTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(13, _c2, ctx.checked));
409
424
  i0.ɵɵadvance();
410
425
  i0.ɵɵconditional(!ctx.contentTemplate ? 3 : -1);
411
426
  } }, dependencies: [Ripple, CommonModule, i1.NgClass, i1.NgTemplateOutlet, SharedModule], encapsulation: 2, changeDetection: 0 });
@@ -431,7 +446,7 @@ class ToggleButton extends BaseComponent {
431
446
  [attr.data-p-disabled]="disabled"
432
447
  >
433
448
  <span [ngClass]="cx('content')">
434
- <ng-container *ngTemplateOutlet="contentTemplate; context: { $implicit: checked }"></ng-container>
449
+ <ng-container *ngTemplateOutlet="contentTemplate || _contentTemplate; context: { $implicit: checked }"></ng-container>
435
450
  @if (!contentTemplate) {
436
451
  @if (!iconTemplate) {
437
452
  @if (onIcon || offIcon) {
@@ -446,11 +461,9 @@ class ToggleButton extends BaseComponent {
446
461
  ></span>
447
462
  }
448
463
  } @else {
449
- <ng-container *ngTemplateOutlet="iconTemplate; context: { $implicit: checked }"></ng-container>
450
- }
451
- @if (onLabel || offLabel) {
452
- <span [ngClass]="cx('label')" [attr.data-pc-section]="'label'">{{ checked ? (hasOnLabel ? onLabel : '') : hasOffLabel ? offLabel : '' }}</span>
464
+ <ng-container *ngTemplateOutlet="iconTemplate || _iconTemplate; context: { $implicit: checked }"></ng-container>
453
465
  }
466
+ <span [ngClass]="cx('label')" [attr.data-pc-section]="'label'">{{ checked ? (hasOnLabel ? onLabel : ' ') : hasOffLabel ? offLabel : ' ' }}</span>
454
467
  }
455
468
  </span>
456
469
  </button>
@@ -498,12 +511,15 @@ class ToggleButton extends BaseComponent {
498
511
  type: Output
499
512
  }], iconTemplate: [{
500
513
  type: ContentChild,
501
- args: ['icon']
514
+ args: ['icon', { descendants: false }]
502
515
  }], contentTemplate: [{
503
516
  type: ContentChild,
504
- args: ['content']
517
+ args: ['content', { descendants: false }]
518
+ }], templates: [{
519
+ type: ContentChildren,
520
+ args: [PrimeTemplate]
505
521
  }] }); })();
506
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ToggleButton, { className: "ToggleButton", filePath: "togglebutton.ts", lineNumber: 67 }); })();
522
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ToggleButton, { className: "ToggleButton", filePath: "togglebutton.ts", lineNumber: 64 }); })();
507
523
  class ToggleButtonModule {
508
524
  static ɵfac = function ToggleButtonModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ToggleButtonModule)(); };
509
525
  static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: ToggleButtonModule });
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-togglebutton.mjs","sources":["../../src/togglebutton/style/togglebuttonstyle.ts","../../src/togglebutton/togglebutton.ts","../../src/togglebutton/primeng-togglebutton.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-togglebutton {\n display: inline-flex;\n cursor: pointer;\n user-select: none;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n color: ${dt('togglebutton.color')};\n background: ${dt('togglebutton.background')};\n border: 1px solid ${dt('togglebutton.border.color')};\n padding: ${dt('togglebutton.padding')};\n font-size: 1rem;\n font-family: inherit;\n font-feature-settings: inherit;\n transition: background ${dt('togglebutton.transition.duration')}, color ${dt('togglebutton.transition.duration')}, border-color ${dt('togglebutton.transition.duration')},\n outline-color ${dt('togglebutton.transition.duration')}, box-shadow ${dt('togglebutton.transition.duration')};\n border-radius: ${dt('togglebutton.border.radius')};\n outline-color: transparent;\n font-weight: ${dt('togglebutton.font.weight')};\n}\n\n.p-togglebutton-content {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: ${dt('togglebutton.gap')};\n}\n\n.p-togglebutton-label,\n.p-togglebutton-icon {\n position: relative;\n transition: none;\n}\n\n.p-togglebutton::before {\n content: \"\";\n background: transparent;\n transition: background ${dt('togglebutton.transition.duration')}, color ${dt('togglebutton.transition.duration')}, border-color ${dt('togglebutton.transition.duration')},\n outline-color ${dt('togglebutton.transition.duration')}, box-shadow ${dt('togglebutton.transition.duration')};\n position: absolute;\n inset-inline-start: ${dt('togglebutton.content.left')};\n top: ${dt('togglebutton.content.top')};\n width: calc(100% - calc(2 * ${dt('togglebutton.content.left')}));\n height: calc(100% - calc(2 * ${dt('togglebutton.content.top')}));\n border-radius: ${dt('togglebutton.border.radius')};\n}\n\n.p-togglebutton.p-togglebutton-checked::before {\n background: ${dt('togglebutton.content.checked.background')};\n box-shadow: ${dt('togglebutton.content.checked.shadow')};\n}\n\n.p-togglebutton:not(:disabled):not(.p-togglebutton-checked):hover {\n background: ${dt('togglebutton.hover.background')};\n color: ${dt('togglebutton.hover.color')};\n}\n\n.p-togglebutton.p-togglebutton-checked {\n background: ${dt('togglebutton.checked.background')};\n border-color: ${dt('togglebutton.checked.border.color')};\n color: ${dt('togglebutton.checked.color')};\n}\n\n.p-togglebutton:focus-visible {\n box-shadow: ${dt('togglebutton.focus.ring.shadow')};\n outline: ${dt('togglebutton.focus.ring.width')} ${dt('togglebutton.focus.ring.style')} ${dt('togglebutton.focus.ring.color')};\n outline-offset: ${dt('togglebutton.focus.ring.offset')};\n}\n\n.p-togglebutton.p-invalid {\n border-color: ${dt('togglebutton.invalid.border.color')};\n}\n\n.p-togglebutton:disabled {\n opacity: 1;\n cursor: default;\n background: ${dt('togglebutton.disabled.background')};\n border-color: ${dt('togglebutton.disabled.border.color')};\n color: ${dt('togglebutton.disabled.color')};\n}\n\n.p-togglebutton-icon {\n color: ${dt('togglebutton.icon.color')};\n}\n\n.p-togglebutton:not(:disabled):not(.p-togglebutton-checked):hover .p-togglebutton-icon {\n color: ${dt('togglebutton.icon.hover.color')};\n}\n\n.p-togglebutton.p-togglebutton-checked .p-togglebutton-icon {\n color: ${dt('togglebutton.icon.checked.color')};\n}\n\n.p-togglebutton:disabled .p-togglebutton-icon {\n color: ${dt('togglebutton.icon.disabled.color')};\n}\n\n.p-togglebutton-sm {\n padding: ${dt('togglebutton.sm.padding')};\n font-size: ${dt('togglebutton.sm.font.size')};\n}\n\n.p-togglebutton-lg {\n padding: ${dt('togglebutton.lg.padding')};\n font-size: ${dt('togglebutton.lg.font.size')};\n}\n\n/* For PrimeNG (iconPos) */\n\n.p-togglebutton-icon-right {\n order: 1;\n}\n\np-togglebutton.ng-invalid.ng-dirty > .p-togglebutton {\n border-color: ${dt('togglebutton.invalid.border.color')};\n}\n`;\n\nconst classes = {\n root: ({ instance }) => ({\n 'p-togglebutton p-component': true,\n 'p-togglebutton-checked': instance.checked,\n 'p-disabled': instance.disabled,\n 'p-togglebutton-sm p-inputfield-sm': instance.size === 'small',\n 'p-togglebutton-lg p-inputfield-lg': instance.size === 'large'\n }),\n content: 'p-togglebutton-content',\n icon: 'p-togglebutton-icon',\n label: 'p-togglebutton-label'\n};\n\n@Injectable()\nexport class ToggleButtonStyle extends BaseStyle {\n name = 'togglebutton';\n\n theme = theme;\n\n classes = classes;\n}\n\n/**\n *\n * ToggleButton is used to select a boolean value using a button.\n *\n * [Live Demo](https://www.primeng.org/togglebutton/)\n *\n * @module togglebuttonstyle\n *\n */\nexport enum ToggleButtonClasses {\n /**\n * Class name of the root element\n */\n root = 'p-togglebutton',\n /**\n * Class name of the icon element\n */\n icon = 'p-togglebutton-icon',\n /**\n * Class name of the label element\n */\n label = 'p-togglebutton-label'\n}\n\nexport interface ToggleButtonStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, EventEmitter, forwardRef, HostBinding, inject, Input, NgModule, numberAttribute, Output, TemplateRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SharedModule } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { Ripple } from 'primeng/ripple';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { ToggleButtonStyle } from './style/togglebuttonstyle';\nimport { ToggleButtonChangeEvent } from './togglebutton.interface';\n\nexport const TOGGLEBUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ToggleButton),\n multi: true\n};\n/**\n * ToggleButton is used to select a boolean value using a button.\n * @group Components\n */\n@Component({\n selector: 'p-toggleButton, p-togglebutton, p-toggle-button',\n standalone: true,\n imports: [Ripple, CommonModule, SharedModule],\n template: `\n <button\n pRipple\n type=\"button\"\n [ngClass]=\"cx('root')\"\n [class]=\"styleClass\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled\"\n (click)=\"toggle($event)\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-pressed]=\"checked\"\n [attr.data-p-checked]=\"active\"\n [attr.data-p-disabled]=\"disabled\"\n >\n <span [ngClass]=\"cx('content')\">\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: checked }\"></ng-container>\n @if (!contentTemplate) {\n @if (!iconTemplate) {\n @if (onIcon || offIcon) {\n <span\n [class]=\"checked ? this.onIcon : this.offIcon\"\n [ngClass]=\"{\n 'p-togglebutton-icon': true,\n 'p-togglebutton-icon-left': iconPos === 'left',\n 'p-togglebutton-icon-right': iconPos === 'right'\n }\"\n [attr.data-pc-section]=\"'icon'\"\n ></span>\n }\n } @else {\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: { $implicit: checked }\"></ng-container>\n }\n @if (onLabel || offLabel) {\n <span [ngClass]=\"cx('label')\" [attr.data-pc-section]=\"'label'\">{{ checked ? (hasOnLabel ? onLabel : '') : hasOffLabel ? offLabel : '' }}</span>\n }\n }\n </span>\n </button>\n `,\n providers: [TOGGLEBUTTON_VALUE_ACCESSOR, ToggleButtonStyle],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ToggleButton extends BaseComponent implements ControlValueAccessor {\n /**\n * Label for the on state.\n * @group Props\n */\n @Input() onLabel: string = 'Yes';\n /**\n * Label for the off state.\n * @group Props\n */\n @Input() offLabel: string = 'No';\n /**\n * Icon for the on state.\n * @group Props\n */\n @Input() onIcon: string | undefined;\n /**\n * Icon for the off state.\n * @group Props\n */\n @Input() offIcon: string | undefined;\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n @Input() ariaLabel: 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 * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: any;\n /**\n * Style class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n @HostBinding('class') get hostClass() {\n return this.styleClass || '';\n }\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined = 0;\n /**\n * Defines the size of the component.\n * @group Props\n */\n @Input() size: 'large' | 'small';\n /**\n * Position of the icon.\n * @group Props\n */\n @Input() iconPos: 'left' | 'right' = 'left';\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 * Whether selection can not be cleared.\n * @group Props\n */\n @Input() allowEmpty: boolean | undefined;\n /**\n * Callback to invoke on value change.\n * @param {ToggleButtonChangeEvent} event - Custom change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<ToggleButtonChangeEvent> = new EventEmitter<ToggleButtonChangeEvent>();\n /**\n * Custom icon template.\n * @group Templates\n */\n @ContentChild('icon') iconTemplate: Nullable<TemplateRef<any>>;\n /**\n * Custom content template.\n * @group Templates\n */\n @ContentChild('content') contentTemplate: Nullable<TemplateRef<any>>;\n\n checked: boolean = false;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n _componentStyle = inject(ToggleButtonStyle);\n\n toggle(event: Event) {\n if (!this.disabled && !(this.allowEmpty === false && this.checked)) {\n this.checked = !this.checked;\n this.onModelChange(this.checked);\n this.onModelTouched();\n this.onChange.emit({\n originalEvent: event,\n checked: this.checked\n });\n\n this.cd.markForCheck();\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n switch (event.code) {\n case 'Enter':\n this.toggle(event);\n event.preventDefault();\n break;\n case 'Space':\n this.toggle(event);\n event.preventDefault();\n break;\n }\n }\n\n onBlur() {\n this.onModelTouched();\n }\n\n writeValue(value: any): void {\n this.checked = 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 get hasOnLabel(): boolean {\n return (this.onLabel && this.onLabel.length > 0) as boolean;\n }\n\n get hasOffLabel(): boolean {\n return (this.onLabel && this.onLabel.length > 0) as boolean;\n }\n\n get active() {\n return this.checked === true;\n }\n}\n\n@NgModule({\n imports: [ToggleButton, SharedModule],\n exports: [ToggleButton, SharedModule]\n})\nexport class ToggleButtonModule {}\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-togglebutton.mjs","sources":["../../src/togglebutton/style/togglebuttonstyle.ts","../../src/togglebutton/togglebutton.ts","../../src/togglebutton/primeng-togglebutton.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-togglebutton {\n display: inline-flex;\n cursor: pointer;\n user-select: none;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n color: ${dt('togglebutton.color')};\n background: ${dt('togglebutton.background')};\n border: 1px solid ${dt('togglebutton.border.color')};\n padding: ${dt('togglebutton.padding')};\n font-size: 1rem;\n font-family: inherit;\n font-feature-settings: inherit;\n transition: background ${dt('togglebutton.transition.duration')}, color ${dt('togglebutton.transition.duration')}, border-color ${dt('togglebutton.transition.duration')},\n outline-color ${dt('togglebutton.transition.duration')}, box-shadow ${dt('togglebutton.transition.duration')};\n border-radius: ${dt('togglebutton.border.radius')};\n outline-color: transparent;\n font-weight: ${dt('togglebutton.font.weight')};\n}\n\n.p-togglebutton-content {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: ${dt('togglebutton.gap')};\n}\n\n.p-togglebutton-label,\n.p-togglebutton-icon {\n position: relative;\n transition: none;\n}\n\n.p-togglebutton::before {\n content: \"\";\n background: transparent;\n transition: background ${dt('togglebutton.transition.duration')}, color ${dt('togglebutton.transition.duration')}, border-color ${dt('togglebutton.transition.duration')},\n outline-color ${dt('togglebutton.transition.duration')}, box-shadow ${dt('togglebutton.transition.duration')};\n position: absolute;\n inset-inline-start: ${dt('togglebutton.content.left')};\n top: ${dt('togglebutton.content.top')};\n width: calc(100% - calc(2 * ${dt('togglebutton.content.left')}));\n height: calc(100% - calc(2 * ${dt('togglebutton.content.top')}));\n border-radius: ${dt('togglebutton.border.radius')};\n}\n\n.p-togglebutton.p-togglebutton-checked::before {\n background: ${dt('togglebutton.content.checked.background')};\n box-shadow: ${dt('togglebutton.content.checked.shadow')};\n}\n\n.p-togglebutton:not(:disabled):not(.p-togglebutton-checked):hover {\n background: ${dt('togglebutton.hover.background')};\n color: ${dt('togglebutton.hover.color')};\n}\n\n.p-togglebutton.p-togglebutton-checked {\n background: ${dt('togglebutton.checked.background')};\n border-color: ${dt('togglebutton.checked.border.color')};\n color: ${dt('togglebutton.checked.color')};\n}\n\n.p-togglebutton:focus-visible {\n box-shadow: ${dt('togglebutton.focus.ring.shadow')};\n outline: ${dt('togglebutton.focus.ring.width')} ${dt('togglebutton.focus.ring.style')} ${dt('togglebutton.focus.ring.color')};\n outline-offset: ${dt('togglebutton.focus.ring.offset')};\n}\n\n.p-togglebutton.p-invalid {\n border-color: ${dt('togglebutton.invalid.border.color')};\n}\n\n.p-togglebutton:disabled {\n opacity: 1;\n cursor: default;\n background: ${dt('togglebutton.disabled.background')};\n border-color: ${dt('togglebutton.disabled.border.color')};\n color: ${dt('togglebutton.disabled.color')};\n}\n\n.p-togglebutton-icon {\n color: ${dt('togglebutton.icon.color')};\n}\n\n.p-togglebutton:not(:disabled):not(.p-togglebutton-checked):hover .p-togglebutton-icon {\n color: ${dt('togglebutton.icon.hover.color')};\n}\n\n.p-togglebutton.p-togglebutton-checked .p-togglebutton-icon {\n color: ${dt('togglebutton.icon.checked.color')};\n}\n\n.p-togglebutton:disabled .p-togglebutton-icon {\n color: ${dt('togglebutton.icon.disabled.color')};\n}\n\n.p-togglebutton-sm {\n padding: ${dt('togglebutton.sm.padding')};\n font-size: ${dt('togglebutton.sm.font.size')};\n}\n\n.p-togglebutton-lg {\n padding: ${dt('togglebutton.lg.padding')};\n font-size: ${dt('togglebutton.lg.font.size')};\n}\n\n/* For PrimeNG (iconPos) */\n\n.p-togglebutton-icon-right {\n order: 1;\n}\n\np-togglebutton.ng-invalid.ng-dirty > .p-togglebutton {\n border-color: ${dt('togglebutton.invalid.border.color')};\n}\n`;\n\nconst classes = {\n root: ({ instance }) => ({\n 'p-togglebutton p-component': true,\n 'p-togglebutton-checked': instance.checked,\n 'p-disabled': instance.disabled,\n 'p-togglebutton-sm p-inputfield-sm': instance.size === 'small',\n 'p-togglebutton-lg p-inputfield-lg': instance.size === 'large'\n }),\n content: 'p-togglebutton-content',\n icon: 'p-togglebutton-icon',\n label: 'p-togglebutton-label'\n};\n\n@Injectable()\nexport class ToggleButtonStyle extends BaseStyle {\n name = 'togglebutton';\n\n theme = theme;\n\n classes = classes;\n}\n\n/**\n *\n * ToggleButton is used to select a boolean value using a button.\n *\n * [Live Demo](https://www.primeng.org/togglebutton/)\n *\n * @module togglebuttonstyle\n *\n */\nexport enum ToggleButtonClasses {\n /**\n * Class name of the root element\n */\n root = 'p-togglebutton',\n /**\n * Class name of the icon element\n */\n icon = 'p-togglebutton-icon',\n /**\n * Class name of the label element\n */\n label = 'p-togglebutton-label'\n}\n\nexport interface ToggleButtonStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport { AfterContentInit, booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, ContentChildren, EventEmitter, forwardRef, HostBinding, inject, Input, NgModule, numberAttribute, Output, QueryList, TemplateRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { Ripple } from 'primeng/ripple';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { ToggleButtonStyle } from './style/togglebuttonstyle';\nimport { ToggleButtonChangeEvent } from './togglebutton.interface';\n\nexport const TOGGLEBUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ToggleButton),\n multi: true\n};\n/**\n * ToggleButton is used to select a boolean value using a button.\n * @group Components\n */\n@Component({\n selector: 'p-toggleButton, p-togglebutton, p-toggle-button',\n standalone: true,\n imports: [Ripple, CommonModule, SharedModule],\n template: `\n <button\n pRipple\n type=\"button\"\n [ngClass]=\"cx('root')\"\n [class]=\"styleClass\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled\"\n (click)=\"toggle($event)\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-pressed]=\"checked\"\n [attr.data-p-checked]=\"active\"\n [attr.data-p-disabled]=\"disabled\"\n >\n <span [ngClass]=\"cx('content')\">\n <ng-container *ngTemplateOutlet=\"contentTemplate || _contentTemplate; context: { $implicit: checked }\"></ng-container>\n @if (!contentTemplate) {\n @if (!iconTemplate) {\n @if (onIcon || offIcon) {\n <span\n [class]=\"checked ? this.onIcon : this.offIcon\"\n [ngClass]=\"{\n 'p-togglebutton-icon': true,\n 'p-togglebutton-icon-left': iconPos === 'left',\n 'p-togglebutton-icon-right': iconPos === 'right'\n }\"\n [attr.data-pc-section]=\"'icon'\"\n ></span>\n }\n } @else {\n <ng-container *ngTemplateOutlet=\"iconTemplate || _iconTemplate; context: { $implicit: checked }\"></ng-container>\n }\n <span [ngClass]=\"cx('label')\" [attr.data-pc-section]=\"'label'\">{{ checked ? (hasOnLabel ? onLabel : ' ') : hasOffLabel ? offLabel : ' ' }}</span>\n }\n </span>\n </button>\n `,\n providers: [TOGGLEBUTTON_VALUE_ACCESSOR, ToggleButtonStyle],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ToggleButton extends BaseComponent implements AfterContentInit, ControlValueAccessor {\n /**\n * Label for the on state.\n * @group Props\n */\n @Input() onLabel: string = 'Yes';\n /**\n * Label for the off state.\n * @group Props\n */\n @Input() offLabel: string = 'No';\n /**\n * Icon for the on state.\n * @group Props\n */\n @Input() onIcon: string | undefined;\n /**\n * Icon for the off state.\n * @group Props\n */\n @Input() offIcon: string | undefined;\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n @Input() ariaLabel: 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 * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: any;\n /**\n * Style class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n\n @HostBinding('class') get hostClass() {\n return this.styleClass || '';\n }\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined = 0;\n /**\n * Defines the size of the component.\n * @group Props\n */\n @Input() size: 'large' | 'small';\n /**\n * Position of the icon.\n * @group Props\n */\n @Input() iconPos: 'left' | 'right' = 'left';\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 * Whether selection can not be cleared.\n * @group Props\n */\n @Input() allowEmpty: boolean | undefined;\n /**\n * Callback to invoke on value change.\n * @param {ToggleButtonChangeEvent} event - Custom change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<ToggleButtonChangeEvent> = new EventEmitter<ToggleButtonChangeEvent>();\n /**\n * Custom icon template.\n * @group Templates\n */\n @ContentChild('icon', { descendants: false }) iconTemplate: Nullable<TemplateRef<any>>;\n /**\n * Custom content template.\n * @group Templates\n */\n @ContentChild('content', { descendants: false }) contentTemplate: Nullable<TemplateRef<any>>;\n\n @ContentChildren(PrimeTemplate) templates!: QueryList<PrimeTemplate>;\n\n checked: boolean = false;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n _componentStyle = inject(ToggleButtonStyle);\n\n toggle(event: Event) {\n if (!this.disabled && !(this.allowEmpty === false && this.checked)) {\n this.checked = !this.checked;\n this.onModelChange(this.checked);\n this.onModelTouched();\n this.onChange.emit({\n originalEvent: event,\n checked: this.checked\n });\n\n this.cd.markForCheck();\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n switch (event.code) {\n case 'Enter':\n this.toggle(event);\n event.preventDefault();\n break;\n case 'Space':\n this.toggle(event);\n event.preventDefault();\n break;\n }\n }\n\n onBlur() {\n this.onModelTouched();\n }\n\n writeValue(value: any): void {\n this.checked = 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 get hasOnLabel(): boolean {\n return (this.onLabel && this.onLabel.length > 0) as boolean;\n }\n\n get hasOffLabel(): boolean {\n return (this.onLabel && this.onLabel.length > 0) as boolean;\n }\n\n get active() {\n return this.checked === true;\n }\n\n _iconTemplate: TemplateRef<any> | undefined;\n\n _contentTemplate: TemplateRef<any> | undefined;\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'icon':\n this._iconTemplate = item.template;\n break;\n case 'content':\n this._contentTemplate = item.template;\n break;\n default:\n this._contentTemplate = item.template;\n break;\n }\n });\n }\n}\n\n@NgModule({\n imports: [ToggleButton, SharedModule],\n exports: [ToggleButton, SharedModule]\n})\nexport class ToggleButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;AAGA,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK;;;;;;;;;aASb,EAAE,CAAC,oBAAoB,CAAC,CAAA;kBACnB,EAAE,CAAC,yBAAyB,CAAC,CAAA;wBACvB,EAAE,CAAC,2BAA2B,CAAC,CAAA;eACxC,EAAE,CAAC,sBAAsB,CAAC,CAAA;;;;AAIZ,2BAAA,EAAA,EAAE,CAAC,kCAAkC,CAAC,CAAA,QAAA,EAAW,EAAE,CAAC,kCAAkC,CAAC,CAAkB,eAAA,EAAA,EAAE,CAAC,kCAAkC,CAAC,CAAA;AACpJ,sBAAA,EAAA,EAAE,CAAC,kCAAkC,CAAC,gBAAgB,EAAE,CAAC,kCAAkC,CAAC,CAAA;qBAC/F,EAAE,CAAC,4BAA4B,CAAC,CAAA;;mBAElC,EAAE,CAAC,0BAA0B,CAAC,CAAA;;;;;;;;WAQtC,EAAE,CAAC,kBAAkB,CAAC,CAAA;;;;;;;;;;;;AAYJ,2BAAA,EAAA,EAAE,CAAC,kCAAkC,CAAC,CAAA,QAAA,EAAW,EAAE,CAAC,kCAAkC,CAAC,CAAkB,eAAA,EAAA,EAAE,CAAC,kCAAkC,CAAC,CAAA;AAChJ,0BAAA,EAAA,EAAE,CAAC,kCAAkC,CAAC,gBAAgB,EAAE,CAAC,kCAAkC,CAAC,CAAA;;0BAE9F,EAAE,CAAC,2BAA2B,CAAC,CAAA;WAC9C,EAAE,CAAC,0BAA0B,CAAC,CAAA;mCACN,EAAE,CAAC,2BAA2B,CAAC,CAAA;oCAC9B,EAAE,CAAC,0BAA0B,CAAC,CAAA;qBAC7C,EAAE,CAAC,4BAA4B,CAAC,CAAA;;;;kBAInC,EAAE,CAAC,yCAAyC,CAAC,CAAA;kBAC7C,EAAE,CAAC,qCAAqC,CAAC,CAAA;;;;kBAIzC,EAAE,CAAC,+BAA+B,CAAC,CAAA;aACxC,EAAE,CAAC,0BAA0B,CAAC,CAAA;;;;kBAIzB,EAAE,CAAC,iCAAiC,CAAC,CAAA;oBACnC,EAAE,CAAC,mCAAmC,CAAC,CAAA;aAC9C,EAAE,CAAC,4BAA4B,CAAC,CAAA;;;;kBAI3B,EAAE,CAAC,gCAAgC,CAAC,CAAA;AACvC,aAAA,EAAA,EAAE,CAAC,+BAA+B,CAAC,CAAA,CAAA,EAAI,EAAE,CAAC,+BAA+B,CAAC,CAAI,CAAA,EAAA,EAAE,CAAC,+BAA+B,CAAC,CAAA;sBAC1G,EAAE,CAAC,gCAAgC,CAAC,CAAA;;;;oBAItC,EAAE,CAAC,mCAAmC,CAAC,CAAA;;;;;;kBAMzC,EAAE,CAAC,kCAAkC,CAAC,CAAA;oBACpC,EAAE,CAAC,oCAAoC,CAAC,CAAA;aAC/C,EAAE,CAAC,6BAA6B,CAAC,CAAA;;;;aAIjC,EAAE,CAAC,yBAAyB,CAAC,CAAA;;;;aAI7B,EAAE,CAAC,+BAA+B,CAAC,CAAA;;;;aAInC,EAAE,CAAC,iCAAiC,CAAC,CAAA;;;;aAIrC,EAAE,CAAC,kCAAkC,CAAC,CAAA;;;;eAIpC,EAAE,CAAC,yBAAyB,CAAC,CAAA;iBAC3B,EAAE,CAAC,2BAA2B,CAAC,CAAA;;;;eAIjC,EAAE,CAAC,yBAAyB,CAAC,CAAA;iBAC3B,EAAE,CAAC,2BAA2B,CAAC,CAAA;;;;;;;;;;oBAU5B,EAAE,CAAC,mCAAmC,CAAC,CAAA;;CAE1D;AAED,MAAM,OAAO,GAAG;IACZ,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM;AACrB,QAAA,4BAA4B,EAAE,IAAI;QAClC,wBAAwB,EAAE,QAAQ,CAAC,OAAO;QAC1C,YAAY,EAAE,QAAQ,CAAC,QAAQ;AAC/B,QAAA,mCAAmC,EAAE,QAAQ,CAAC,IAAI,KAAK,OAAO;AAC9D,QAAA,mCAAmC,EAAE,QAAQ,CAAC,IAAI,KAAK;KAC1D,CAAC;AACF,IAAA,OAAO,EAAE,wBAAwB;AACjC,IAAA,IAAI,EAAE,qBAAqB;AAC3B,IAAA,KAAK,EAAE;CACV;AAGK,MAAO,iBAAkB,SAAQ,SAAS,CAAA;IAC5C,IAAI,GAAG,cAAc;IAErB,KAAK,GAAG,KAAK;IAEb,OAAO,GAAG,OAAO;AALR,IAAA,OAAA,IAAA,iBAAA,CAAA,MAAA,EAAA,IAAA,8BAAA,CAAA,CAAA,OAAA,SAAA,yBAAA,CAAA,iBAAA,EAAA,EAAA,OAAA,CAAA,8BAAA,KAAA,8BAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,iBAAiB,yBAAjB,iBAAiB,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA;AAAjB,IAAA,OAAA,KAAA,iBAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,KAAA,EAAA,iBAAiB,WAAjB,iBAAiB,CAAA,IAAA,EAAA,CAAA;;iFAAjB,iBAAiB,EAAA,CAAA;cAD7B;;AASD;;;;;;;;AAQG;IACS;AAAZ,CAAA,UAAY,mBAAmB,EAAA;AAC3B;;AAEG;AACH,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,gBAAuB;AACvB;;AAEG;AACH,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,qBAA4B;AAC5B;;AAEG;AACH,IAAA,mBAAA,CAAA,OAAA,CAAA,GAAA,sBAA8B;AAClC,CAAC,EAbW,mBAAmB,KAAnB,mBAAmB,GAa9B,EAAA,CAAA,CAAA;;;;;;;IClIe,EAAsH,CAAA,kBAAA,CAAA,CAAA,CAAA;;;IAI1G,EAQQ,CAAA,SAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA;;;IAPJ,EAA8C,CAAA,UAAA,CAAA,MAAA,CAAA,OAAA,GAAA,MAAA,CAAA,MAAA,GAAA,MAAA,CAAA,OAAA,CAAA;IAC9C,EAIE,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,MAAA,CAAA,OAAA,KAAA,MAAA,EAAA,MAAA,CAAA,OAAA,KAAA,OAAA,CAAA,CAAA;;;;IAPV,EAAyB,CAAA,UAAA,CAAA,CAAA,EAAA,+DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA;;;IAAzB,EAUC,CAAA,aAAA,CAAA,MAAA,CAAA,MAAA,IAAA,MAAA,CAAA,OAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA;;;IAED,EAAgH,CAAA,kBAAA,CAAA,CAAA,CAAA;;;IAAhH,EAAiG,CAAA,UAAA,CAAA,CAAA,EAAA,gEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA;;;AAAjC,IAAjD,8EAAiD,CAA+B,yBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,MAAA,CAAA,OAAA,CAAA,CAAA;;;AADjG,IAZF,yEAAqB,CAYZ,CAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,CAAA;IAGT,EAA+D,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA;IAAA,EAA2E,CAAA,MAAA,CAAA,CAAA,CAAA;IAAA,EAAO,CAAA,YAAA,EAAA;;;IAfjJ,EAcC,CAAA,aAAA,CAAA,CAAA,MAAA,CAAA,YAAA,GAAA,CAAA,GAAA,CAAA,CAAA;IACK,EAAuB,CAAA,SAAA,CAAA,CAAA,CAAA;IAAvB,EAAuB,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA;;IAAkC,EAA2E,CAAA,SAAA,EAAA;IAA3E,EAA2E,CAAA,iBAAA,CAAA,MAAA,CAAA,OAAA,GAAA,MAAA,CAAA,UAAA,GAAA,MAAA,CAAA,OAAA,GAAA,QAAA,GAAA,MAAA,CAAA,WAAA,GAAA,MAAA,CAAA,QAAA,GAAA,QAAA,CAAA;;AA7CjJ,MAAA,2BAA2B,GAAQ;AAC5C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,YAAY,CAAC;AAC3C,IAAA,KAAK,EAAE;;AAEX;;;AAGG;AA6CG,MAAO,YAAa,SAAQ,aAAa,CAAA;AAC3C;;;AAGG;IACM,OAAO,GAAW,KAAK;AAChC;;;AAGG;IACM,QAAQ,GAAW,IAAI;AAChC;;;AAGG;AACM,IAAA,MAAM;AACf;;;AAGG;AACM,IAAA,OAAO;AAChB;;;AAGG;AACM,IAAA,SAAS;AAClB;;;AAGG;AACM,IAAA,cAAc;AACvB;;;AAGG;AACqC,IAAA,QAAQ;AAChD;;;AAGG;AACM,IAAA,KAAK;AACd;;;AAGG;AACM,IAAA,UAAU;AAEnB,IAAA,IAA0B,SAAS,GAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,UAAU,IAAI,EAAE;;AAEhC;;;AAGG;AACM,IAAA,OAAO;AAChB;;;AAGG;IACoC,QAAQ,GAAuB,CAAC;AACvE;;;AAGG;AACM,IAAA,IAAI;AACb;;;AAGG;IACM,OAAO,GAAqB,MAAM;AAC3C;;;AAGG;AACqC,IAAA,SAAS;AACjD;;;AAGG;AACM,IAAA,UAAU;AACnB;;;;AAIG;AACO,IAAA,QAAQ,GAA0C,IAAI,YAAY,EAA2B;AACvG;;;AAGG;AAC2C,IAAA,YAAY;AAC1D;;;AAGG;AAC8C,IAAA,eAAe;AAEhC,IAAA,SAAS;IAEzC,OAAO,GAAY,KAAK;AAExB,IAAA,aAAa,GAAa,MAAK,GAAG;AAElC,IAAA,cAAc,GAAa,MAAK,GAAG;AAEnC,IAAA,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAE3C,IAAA,MAAM,CAAC,KAAY,EAAA;AACf,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,IAAI,CAAC,UAAU,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE;AAChE,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO;AAC5B,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;YAChC,IAAI,CAAC,cAAc,EAAE;AACrB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACf,gBAAA,aAAa,EAAE,KAAK;gBACpB,OAAO,EAAE,IAAI,CAAC;AACjB,aAAA,CAAC;AAEF,YAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;;;AAI9B,IAAA,SAAS,CAAC,KAAoB,EAAA;AAC1B,QAAA,QAAQ,KAAK,CAAC,IAAI;AACd,YAAA,KAAK,OAAO;AACR,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAClB,KAAK,CAAC,cAAc,EAAE;gBACtB;AACJ,YAAA,KAAK,OAAO;AACR,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAClB,KAAK,CAAC,cAAc,EAAE;gBACtB;;;IAIZ,MAAM,GAAA;QACF,IAAI,CAAC,cAAc,EAAE;;AAGzB,IAAA,UAAU,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;;AAG1B,IAAA,gBAAgB,CAAC,EAAY,EAAA;AACzB,QAAA,IAAI,CAAC,aAAa,GAAG,EAAE;;AAG3B,IAAA,iBAAiB,CAAC,EAAY,EAAA;AAC1B,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE;;AAG5B,IAAA,gBAAgB,CAAC,GAAY,EAAA;AACzB,QAAA,IAAI,CAAC,QAAQ,GAAG,GAAG;AACnB,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;;AAG1B,IAAA,IAAI,UAAU,GAAA;AACV,QAAA,QAAQ,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;;AAGnD,IAAA,IAAI,WAAW,GAAA;AACX,QAAA,QAAQ,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;;AAGnD,IAAA,IAAI,MAAM,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI;;AAGhC,IAAA,aAAa;AAEb,IAAA,gBAAgB;IAEhB,kBAAkB,GAAA;QACd,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC5B,YAAA,QAAQ,IAAI,CAAC,OAAO,EAAE;AAClB,gBAAA,KAAK,MAAM;AACP,oBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ;oBAClC;AACJ,gBAAA,KAAK,SAAS;AACV,oBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ;oBACrC;AACJ,gBAAA;AACI,oBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ;oBACrC;;AAEZ,SAAC,CAAC;;AAzLG,IAAA,OAAA,IAAA,iBAAA,CAAA,MAAA,EAAA,IAAA,yBAAA,CAAA,CAAA,OAAA,SAAA,oBAAA,CAAA,iBAAA,EAAA,EAAA,OAAA,CAAA,yBAAA,KAAA,yBAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,YAAY,yBAAZ,YAAY,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA;6DAAZ,YAAY,EAAA,SAAA,EAAA,CAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,iBAAA,CAAA,CAAA,EAAA,cAAA,EAAA,SAAA,2BAAA,CAAA,EAAA,EAAA,GAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;;wCAiGJ,aAAa,EAAA,CAAA,CAAA;;;;;;;YAjGrB,EAAY,CAAA,UAAA,CAAA,GAAA,CAAA,SAAA,CAAA;uMAmCD,gBAAgB,CAAA,EAAA,KAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,CAAA,EAAA,UAAA,EAAA,UAAA,EAwBhB,eAAe,CAef,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,CAAA,EAAA,WAAA,EAAA,WAAA,EAAA,gBAAgB,mGA7EzB,CAAC,2BAA2B,EAAE,iBAAiB,CAAC,CAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,CAAA,CAAA,SAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,kBAAA,EAAA,yBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,qBAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;YApCvD,EAYC,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA;AALG,YAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,6CAAA,CAAA,MAAA,EAAA,EAAA,OAAS,kBAAc,CAAC,EAAA,CAAA;YAMxB,EAAgC,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA;AAE5B,YADA,+EAAuG,CAC/E,CAAA,EAAA,mCAAA,EAAA,CAAA,EAAA,CAAA,CAAA;AAmBhC,YADI,iBAAO,EACF;;YA9BL,EAAoB,CAAA,UAAA,CAAA,GAAA,CAAA,UAAA,CAAA;YADpB,EAAsB,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA,CAAA,UAAA,EAAA,GAAA,CAAA,QAAA,CAED,CACA,UAAA,EAAA,GAAA,CAAA,QAAA,CAAA;;YAOf,EAAyB,CAAA,SAAA,EAAA;YAAzB,EAAyB,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,EAAA,CAAA,SAAA,CAAA,CAAA;YACZ,EAAuD,CAAA,SAAA,EAAA;AAAA,YAAvD,8EAAuD,CAA+B,yBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,GAAA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA;YACrG,EAiBC,CAAA,SAAA,EAAA;YAjBD,EAiBC,CAAA,aAAA,CAAA,CAAA,GAAA,CAAA,eAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA;4BAlCH,MAAM,EAAE,YAAY,EAAA,EAAA,CAAA,OAAA,EAAA,EAAA,CAAA,gBAAA,EAAE,YAAY,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,eAAA,EAAA,CAAA,EAAA,CAAA;;iFAyCnC,YAAY,EAAA,CAAA;cA5CxB,SAAS;AAAC,QAAA,IAAA,EAAA,CAAA;AACP,gBAAA,QAAQ,EAAE,iDAAiD;AAC3D,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC;AAC7C,gBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCT,IAAA,CAAA;AACD,gBAAA,SAAS,EAAE,CAAC,2BAA2B,EAAE,iBAAiB,CAAC;gBAC3D,eAAe,EAAE,uBAAuB,CAAC;AAC5C,aAAA;gBAMY,OAAO,EAAA,CAAA;kBAAf;YAKQ,QAAQ,EAAA,CAAA;kBAAhB;YAKQ,MAAM,EAAA,CAAA;kBAAd;YAKQ,OAAO,EAAA,CAAA;kBAAf;YAKQ,SAAS,EAAA,CAAA;kBAAjB;YAKQ,cAAc,EAAA,CAAA;kBAAtB;YAKuC,QAAQ,EAAA,CAAA;kBAA/C,KAAK;mBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;YAK7B,KAAK,EAAA,CAAA;kBAAb;YAKQ,UAAU,EAAA,CAAA;kBAAlB;YAEyB,SAAS,EAAA,CAAA;kBAAlC,WAAW;mBAAC,OAAO;YAOX,OAAO,EAAA,CAAA;kBAAf;YAKsC,QAAQ,EAAA,CAAA;kBAA9C,KAAK;mBAAC,EAAE,SAAS,EAAE,eAAe,EAAE;YAK5B,IAAI,EAAA,CAAA;kBAAZ;YAKQ,OAAO,EAAA,CAAA;kBAAf;YAKuC,SAAS,EAAA,CAAA;kBAAhD,KAAK;mBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;YAK7B,UAAU,EAAA,CAAA;kBAAlB;YAMS,QAAQ,EAAA,CAAA;kBAAjB;YAK6C,YAAY,EAAA,CAAA;kBAAzD,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,MAAM,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;YAKK,eAAe,EAAA,CAAA;kBAA/D,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,SAAS,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;YAEf,SAAS,EAAA,CAAA;kBAAxC,eAAe;mBAAC,aAAa;;kFAjGrB,YAAY,EAAA,EAAA,SAAA,EAAA,cAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA,GAAA;MAiMZ,kBAAkB,CAAA;4GAAlB,kBAAkB,GAAA,CAAA,EAAA;4DAAlB,kBAAkB,EAAA,CAAA;gEAHjB,YAAY,EAAE,YAAY,EACZ,YAAY,CAAA,EAAA,CAAA;;iFAE3B,kBAAkB,EAAA,CAAA;cAJ9B,QAAQ;AAAC,QAAA,IAAA,EAAA,CAAA;AACN,gBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;AACrC,gBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY;AACvC,aAAA;;AACY,CAAA,YAAA,EAAA,CAAA,OAAA,SAAA,KAAA,WAAA,IAAA,SAAA,KAAA,EAAA,CAAA,kBAAA,CAAA,kBAAkB,cAjMlB,YAAY,EA8LG,YAAY,CA9L3B,EAAA,OAAA,EAAA,CAAA,YAAY,EA+LG,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA,GAAA;;AC9PxC;;AAEG;;;;"}
@@ -1,9 +1,9 @@
1
1
  import * as i1 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Injectable, forwardRef, EventEmitter, inject, numberAttribute, booleanAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, ViewChild, ContentChild, NgModule } from '@angular/core';
4
+ import { Injectable, forwardRef, EventEmitter, inject, numberAttribute, booleanAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, ViewChild, ContentChild, ContentChildren, NgModule } from '@angular/core';
5
5
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
6
- import { SharedModule } from 'primeng/api';
6
+ import { PrimeTemplate, SharedModule } from 'primeng/api';
7
7
  import { AutoFocus } from 'primeng/autofocus';
8
8
  import { BaseComponent } from 'primeng/basecomponent';
9
9
  import { BaseStyle } from 'primeng/base';
@@ -180,7 +180,7 @@ function ToggleSwitch_Conditional_5_Template(rf, ctx) { if (rf & 1) {
180
180
  i0.ɵɵtemplate(0, ToggleSwitch_Conditional_5_ng_container_0_Template, 1, 0, "ng-container", 4);
181
181
  } if (rf & 2) {
182
182
  const ctx_r1 = i0.ɵɵnextContext();
183
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.handleTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c2, ctx_r1.checked()));
183
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.handleTemplate || ctx_r1._handleTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c2, ctx_r1.checked()));
184
184
  } }
185
185
  const TOGGLESWITCH_VALUE_ACCESSOR = {
186
186
  provide: NG_VALUE_ACCESSOR,
@@ -270,11 +270,25 @@ class ToggleSwitch extends BaseComponent {
270
270
  * @group Templates
271
271
  */
272
272
  handleTemplate;
273
+ _handleTemplate;
273
274
  modelValue = false;
274
275
  focused = false;
275
276
  onModelChange = () => { };
276
277
  onModelTouched = () => { };
277
278
  _componentStyle = inject(ToggleSwitchStyle);
279
+ templates;
280
+ ngAfterContentInit() {
281
+ this.templates.forEach((item) => {
282
+ switch (item.getType()) {
283
+ case 'handle':
284
+ this._handleTemplate = item.template;
285
+ break;
286
+ default:
287
+ this._handleTemplate = item.template;
288
+ break;
289
+ }
290
+ });
291
+ }
278
292
  onClick(event) {
279
293
  if (!this.disabled && !this.readonly) {
280
294
  this.modelValue = this.checked() ? this.falseValue : this.trueValue;
@@ -312,10 +326,12 @@ class ToggleSwitch extends BaseComponent {
312
326
  }
313
327
  static ɵfac = /*@__PURE__*/ (() => { let ɵToggleSwitch_BaseFactory; return function ToggleSwitch_Factory(__ngFactoryType__) { return (ɵToggleSwitch_BaseFactory || (ɵToggleSwitch_BaseFactory = i0.ɵɵgetInheritedFactory(ToggleSwitch)))(__ngFactoryType__ || ToggleSwitch); }; })();
314
328
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ToggleSwitch, selectors: [["p-toggleswitch"], ["p-toggleSwitch"], ["p-toggle-switch"]], contentQueries: function ToggleSwitch_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
315
- i0.ɵɵcontentQuery(dirIndex, _c0, 5);
329
+ i0.ɵɵcontentQuery(dirIndex, _c0, 4);
330
+ i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);
316
331
  } if (rf & 2) {
317
332
  let _t;
318
333
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.handleTemplate = _t.first);
334
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);
319
335
  } }, viewQuery: function ToggleSwitch_Query(rf, ctx) { if (rf & 1) {
320
336
  i0.ɵɵviewQuery(_c1, 5);
321
337
  } if (rf & 2) {
@@ -345,7 +361,7 @@ class ToggleSwitch extends BaseComponent {
345
361
  i0.ɵɵadvance();
346
362
  i0.ɵɵproperty("ngClass", ctx.cx("handle"));
347
363
  i0.ɵɵadvance();
348
- i0.ɵɵconditional(ctx.handleTemplate ? 5 : -1);
364
+ i0.ɵɵconditional(ctx.handleTemplate || ctx._handleTemplate ? 5 : -1);
349
365
  } }, dependencies: [CommonModule, i1.NgClass, i1.NgTemplateOutlet, i1.NgStyle, AutoFocus, SharedModule], encapsulation: 2, changeDetection: 0 });
350
366
  }
351
367
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToggleSwitch, [{
@@ -376,8 +392,8 @@ class ToggleSwitch extends BaseComponent {
376
392
  />
377
393
  <span [ngClass]="cx('slider')" [attr.data-pc-section]="'slider'">
378
394
  <div [ngClass]="cx('handle')">
379
- @if (handleTemplate) {
380
- <ng-container *ngTemplateOutlet="handleTemplate; context: { checked: checked() }" />
395
+ @if (handleTemplate || _handleTemplate) {
396
+ <ng-container *ngTemplateOutlet="handleTemplate || _handleTemplate; context: { checked: checked() }" />
381
397
  }
382
398
  </div>
383
399
  </span>
@@ -422,9 +438,12 @@ class ToggleSwitch extends BaseComponent {
422
438
  args: ['input']
423
439
  }], handleTemplate: [{
424
440
  type: ContentChild,
425
- args: ['handle']
441
+ args: ['handle', { descendants: false }]
442
+ }], templates: [{
443
+ type: ContentChildren,
444
+ args: [PrimeTemplate]
426
445
  }] }); })();
427
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ToggleSwitch, { className: "ToggleSwitch", filePath: "toggleswitch.ts", lineNumber: 65 }); })();
446
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ToggleSwitch, { className: "ToggleSwitch", filePath: "toggleswitch.ts", lineNumber: 84 }); })();
428
447
  class ToggleSwitchModule {
429
448
  static ɵfac = function ToggleSwitchModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ToggleSwitchModule)(); };
430
449
  static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: ToggleSwitchModule });
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-toggleswitch.mjs","sources":["../../src/toggleswitch/style/toggleswitchstyle.ts","../../src/toggleswitch/toggleswitch.ts","../../src/toggleswitch/primeng-toggleswitch.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-toggleswitch {\n display: inline-block;\n width: ${dt('toggleswitch.width')};\n height: ${dt('toggleswitch.height')};\n}\n\n.p-toggleswitch-input {\n cursor: pointer;\n appearance: none;\n position: absolute;\n top: 0;\n inset-inline-start: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n margin: 0;\n opacity: 0;\n z-index: 1;\n outline: 0 none;\n border-radius: ${dt('toggleswitch.border.radius')};\n}\n\n.p-toggleswitch-slider {\n display: inline-block;\n cursor: pointer;\n width: 100%;\n height: 100%;\n border-width: ${dt('toggleswitch.border.width')};\n border-style: solid;\n border-color: ${dt('toggleswitch.border.color')};\n background: ${dt('toggleswitch.background')};\n transition: background ${dt('toggleswitch.transition.duration')}, color ${dt('toggleswitch.transition.duration')}, border-color ${dt('toggleswitch.transition.duration')}, outline-color ${dt('toggleswitch.transition.duration')}, box-shadow ${dt(\n 'toggleswitch.transition.duration'\n )};\n border-radius: ${dt('toggleswitch.border.radius')};\n outline-color: transparent;\n box-shadow: ${dt('toggleswitch.shadow')};\n}\n\n.p-toggleswitch-handle {\n position: absolute;\n top: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n background: ${dt('toggleswitch.handle.background')};\n color: ${dt('toggleswitch.handle.color')};\n width: ${dt('toggleswitch.handle.size')};\n height: ${dt('toggleswitch.handle.size')};\n inset-inline-start: ${dt('toggleswitch.gap')};\n margin-block-start: calc(-1 * calc(${dt('toggleswitch.handle.size')} / 2));\n border-radius: ${dt('toggleswitch.handle.border.radius')};\n transition: background ${dt('toggleswitch.transition.duration')}, color ${dt('toggleswitch.transition.duration')}, inset-inline-start ${dt('toggleswitch.slide.duration')}, box-shadow ${dt('toggleswitch.slide.duration')};\n}\n\n.p-toggleswitch.p-toggleswitch-checked .p-toggleswitch-slider {\n background: ${dt('toggleswitch.checked.background')};\n border-color: ${dt('toggleswitch.checked.border.color')};\n}\n\n.p-toggleswitch.p-toggleswitch-checked .p-toggleswitch-handle {\n background: ${dt('toggleswitch.handle.checked.background')};\n color: ${dt('toggleswitch.handle.checked.color')};\n inset-inline-start: calc(${dt('toggleswitch.width')} - calc(${dt('toggleswitch.handle.size')} + ${dt('toggleswitch.gap')}));\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover) .p-toggleswitch-slider {\n background: ${dt('toggleswitch.hover.background')};\n border-color: ${dt('toggleswitch.hover.border.color')};\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover) .p-toggleswitch-handle {\n background: ${dt('toggleswitch.handle.hover.background')};\n color: ${dt('toggleswitch.handle.hover.color')};\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover).p-toggleswitch-checked .p-toggleswitch-slider {\n background: ${dt('toggleswitch.checked.hover.background')};\n border-color: ${dt('toggleswitch.checked.hover.border.color')};\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover).p-toggleswitch-checked .p-toggleswitch-handle {\n background: ${dt('toggleswitch.handle.checked.hover.background')};\n color: ${dt('toggleswitch.handle.checked.hover.color')};\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:focus-visible) .p-toggleswitch-slider {\n box-shadow: ${dt('toggleswitch.focus.ring.shadow')};\n outline: ${dt('toggleswitch.focus.ring.width')} ${dt('toggleswitch.focus.ring.style')} ${dt('toggleswitch.focus.ring.color')};\n outline-offset: ${dt('toggleswitch.focus.ring.offset')};\n}\n\n.p-toggleswitch.p-invalid > .p-toggleswitch-slider {\n border-color: ${dt('toggleswitch.invalid.border.color')};\n}\n\n.p-toggleswitch.p-disabled {\n opacity: 1;\n}\n\n.p-toggleswitch.p-disabled .p-toggleswitch-slider {\n background: ${dt('toggleswitch.disabled.background')};\n}\n\n.p-toggleswitch.p-disabled .p-toggleswitch-handle {\n background: ${dt('toggleswitch.handle.disabled.background')};\n}\n\n/* For PrimeNG */\n\np-toggleswitch.ng-invalid.ng-dirty > .p-toggleswitch > .p-toggleswitch-slider {\n border-color: ${dt('toggleswitch.invalid.border.color')};\n}`;\n\nconst inlineStyles = {\n root: { position: 'relative' }\n};\n\nconst classes = {\n root: ({ instance }) => ({\n 'p-toggleswitch p-component': true,\n 'p-toggleswitch-checked': instance.checked(),\n 'p-disabled': instance.disabled,\n 'p-invalid': instance.invalid\n }),\n input: 'p-toggleswitch-input',\n slider: 'p-toggleswitch-slider',\n handle: 'p-toggleswitch-handle'\n};\n\n@Injectable()\nexport class ToggleSwitchStyle extends BaseStyle {\n name = 'toggleswitch';\n\n theme = theme;\n\n classes = classes;\n\n inlineStyles = inlineStyles;\n}\n\n/**\n *\n * ToggleSwitch is used to select a boolean value.\n *\n * [Live Demo](https://www.primeng.org/toggleswitch/)\n *\n * @module toggleswitchstyle\n *\n */\nexport enum ToggleSwitchClasses {\n /**\n * Class name of the root element\n */\n root = 'p-toggleswitch',\n /**\n * Class name of the input element\n */\n input = 'p-toggleswitch-input',\n /**\n * Class name of the slider element\n */\n slider = 'p-toggleswitch-slider'\n}\n\nexport interface ToggleSwitchStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport { AfterContentInit, booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, ElementRef, EventEmitter, forwardRef, inject, Input, NgModule, numberAttribute, Output, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SharedModule } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { ToggleSwitchStyle } from './style/toggleswitchstyle';\nimport { ToggleSwitchChangeEvent } from './toggleswitch.interface';\n\n/**\n * Context interface for the handle template.\n * @property {boolean} checked - A flag indicating whether the input is checked.\n * @group Interface\n */\nexport interface ToggleSwitchHandleTemplateContext {\n checked: boolean;\n}\n\nexport const TOGGLESWITCH_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ToggleSwitch),\n multi: true\n};\n/**\n * ToggleSwitch is used to select a boolean value.\n * @group Components\n */\n@Component({\n selector: 'p-toggleswitch, p-toggleSwitch, p-toggle-switch',\n standalone: true,\n imports: [CommonModule, AutoFocus, SharedModule],\n template: `\n <div [ngClass]=\"cx('root')\" [style]=\"sx('root')\" [ngStyle]=\"style\" [class]=\"styleClass\" (click)=\"onClick($event)\" [attr.data-pc-name]=\"'toggleswitch'\" [attr.data-pc-section]=\"'root'\">\n <input\n #input\n [attr.id]=\"inputId\"\n type=\"checkbox\"\n role=\"switch\"\n [ngClass]=\"cx('input')\"\n [checked]=\"checked()\"\n [disabled]=\"disabled\"\n [attr.aria-checked]=\"checked()\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.name]=\"name\"\n [attr.tabindex]=\"tabindex\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n [attr.data-pc-section]=\"'hiddenInput'\"\n [pAutoFocus]=\"autofocus\"\n />\n <span [ngClass]=\"cx('slider')\" [attr.data-pc-section]=\"'slider'\">\n <div [ngClass]=\"cx('handle')\">\n @if (handleTemplate) {\n <ng-container *ngTemplateOutlet=\"handleTemplate; context: { checked: checked() }\" />\n }\n </div>\n </span>\n </div>\n `,\n providers: [TOGGLESWITCH_VALUE_ACCESSOR, ToggleSwitchStyle],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class ToggleSwitch extends BaseComponent implements AfterContentInit {\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 * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined;\n /**\n * Identifier of the input element.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Name of the input element.\n * @group Props\n */\n @Input() name: string | undefined;\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 * When present, it specifies that the component cannot be edited.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean | undefined;\n /**\n * Value in checked state.\n * @group Props\n */\n @Input() trueValue: any = true;\n /**\n * Value in unchecked state.\n * @group Props\n */\n @Input() falseValue: any = false;\n /**\n * Used to define a string that autocomplete attribute the current element.\n * @group Props\n */\n @Input() ariaLabel: 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 * 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 when the on value change.\n * @param {ToggleSwitchChangeEvent} event - Custom change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<ToggleSwitchChangeEvent> = new EventEmitter<ToggleSwitchChangeEvent>();\n\n @ViewChild('input') input!: ElementRef;\n /**\n * Callback to invoke when the on value change.\n * @type {TemplateRef<ToggleSwitchHandleTemplateContext>} context - Context of the template\n * @example\n * ```html\n * <ng-template #handle let-checked=\"checked\"> </ng-template>\n * ```\n * @see {@link ToggleSwitchHandleTemplateContext}\n * @group Templates\n */\n @ContentChild('handle') handleTemplate: TemplateRef<any> | undefined;\n\n modelValue: any = false;\n\n focused: boolean = false;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n _componentStyle = inject(ToggleSwitchStyle);\n\n onClick(event: Event) {\n if (!this.disabled && !this.readonly) {\n this.modelValue = this.checked() ? this.falseValue : this.trueValue;\n\n this.onModelChange(this.modelValue);\n this.onChange.emit({\n originalEvent: event,\n checked: this.modelValue\n });\n\n this.input.nativeElement.focus();\n }\n }\n\n onFocus() {\n this.focused = true;\n }\n\n onBlur() {\n this.focused = false;\n this.onModelTouched();\n }\n\n writeValue(value: any): void {\n this.modelValue = 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 checked() {\n return this.modelValue === this.trueValue;\n }\n}\n\n@NgModule({\n imports: [ToggleSwitch, SharedModule],\n exports: [ToggleSwitch, SharedModule]\n})\nexport class ToggleSwitchModule {}\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-toggleswitch.mjs","sources":["../../src/toggleswitch/style/toggleswitchstyle.ts","../../src/toggleswitch/toggleswitch.ts","../../src/toggleswitch/primeng-toggleswitch.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-toggleswitch {\n display: inline-block;\n width: ${dt('toggleswitch.width')};\n height: ${dt('toggleswitch.height')};\n}\n\n.p-toggleswitch-input {\n cursor: pointer;\n appearance: none;\n position: absolute;\n top: 0;\n inset-inline-start: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n margin: 0;\n opacity: 0;\n z-index: 1;\n outline: 0 none;\n border-radius: ${dt('toggleswitch.border.radius')};\n}\n\n.p-toggleswitch-slider {\n display: inline-block;\n cursor: pointer;\n width: 100%;\n height: 100%;\n border-width: ${dt('toggleswitch.border.width')};\n border-style: solid;\n border-color: ${dt('toggleswitch.border.color')};\n background: ${dt('toggleswitch.background')};\n transition: background ${dt('toggleswitch.transition.duration')}, color ${dt('toggleswitch.transition.duration')}, border-color ${dt('toggleswitch.transition.duration')}, outline-color ${dt('toggleswitch.transition.duration')}, box-shadow ${dt(\n 'toggleswitch.transition.duration'\n )};\n border-radius: ${dt('toggleswitch.border.radius')};\n outline-color: transparent;\n box-shadow: ${dt('toggleswitch.shadow')};\n}\n\n.p-toggleswitch-handle {\n position: absolute;\n top: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n background: ${dt('toggleswitch.handle.background')};\n color: ${dt('toggleswitch.handle.color')};\n width: ${dt('toggleswitch.handle.size')};\n height: ${dt('toggleswitch.handle.size')};\n inset-inline-start: ${dt('toggleswitch.gap')};\n margin-block-start: calc(-1 * calc(${dt('toggleswitch.handle.size')} / 2));\n border-radius: ${dt('toggleswitch.handle.border.radius')};\n transition: background ${dt('toggleswitch.transition.duration')}, color ${dt('toggleswitch.transition.duration')}, inset-inline-start ${dt('toggleswitch.slide.duration')}, box-shadow ${dt('toggleswitch.slide.duration')};\n}\n\n.p-toggleswitch.p-toggleswitch-checked .p-toggleswitch-slider {\n background: ${dt('toggleswitch.checked.background')};\n border-color: ${dt('toggleswitch.checked.border.color')};\n}\n\n.p-toggleswitch.p-toggleswitch-checked .p-toggleswitch-handle {\n background: ${dt('toggleswitch.handle.checked.background')};\n color: ${dt('toggleswitch.handle.checked.color')};\n inset-inline-start: calc(${dt('toggleswitch.width')} - calc(${dt('toggleswitch.handle.size')} + ${dt('toggleswitch.gap')}));\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover) .p-toggleswitch-slider {\n background: ${dt('toggleswitch.hover.background')};\n border-color: ${dt('toggleswitch.hover.border.color')};\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover) .p-toggleswitch-handle {\n background: ${dt('toggleswitch.handle.hover.background')};\n color: ${dt('toggleswitch.handle.hover.color')};\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover).p-toggleswitch-checked .p-toggleswitch-slider {\n background: ${dt('toggleswitch.checked.hover.background')};\n border-color: ${dt('toggleswitch.checked.hover.border.color')};\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover).p-toggleswitch-checked .p-toggleswitch-handle {\n background: ${dt('toggleswitch.handle.checked.hover.background')};\n color: ${dt('toggleswitch.handle.checked.hover.color')};\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:focus-visible) .p-toggleswitch-slider {\n box-shadow: ${dt('toggleswitch.focus.ring.shadow')};\n outline: ${dt('toggleswitch.focus.ring.width')} ${dt('toggleswitch.focus.ring.style')} ${dt('toggleswitch.focus.ring.color')};\n outline-offset: ${dt('toggleswitch.focus.ring.offset')};\n}\n\n.p-toggleswitch.p-invalid > .p-toggleswitch-slider {\n border-color: ${dt('toggleswitch.invalid.border.color')};\n}\n\n.p-toggleswitch.p-disabled {\n opacity: 1;\n}\n\n.p-toggleswitch.p-disabled .p-toggleswitch-slider {\n background: ${dt('toggleswitch.disabled.background')};\n}\n\n.p-toggleswitch.p-disabled .p-toggleswitch-handle {\n background: ${dt('toggleswitch.handle.disabled.background')};\n}\n\n/* For PrimeNG */\n\np-toggleswitch.ng-invalid.ng-dirty > .p-toggleswitch > .p-toggleswitch-slider {\n border-color: ${dt('toggleswitch.invalid.border.color')};\n}`;\n\nconst inlineStyles = {\n root: { position: 'relative' }\n};\n\nconst classes = {\n root: ({ instance }) => ({\n 'p-toggleswitch p-component': true,\n 'p-toggleswitch-checked': instance.checked(),\n 'p-disabled': instance.disabled,\n 'p-invalid': instance.invalid\n }),\n input: 'p-toggleswitch-input',\n slider: 'p-toggleswitch-slider',\n handle: 'p-toggleswitch-handle'\n};\n\n@Injectable()\nexport class ToggleSwitchStyle extends BaseStyle {\n name = 'toggleswitch';\n\n theme = theme;\n\n classes = classes;\n\n inlineStyles = inlineStyles;\n}\n\n/**\n *\n * ToggleSwitch is used to select a boolean value.\n *\n * [Live Demo](https://www.primeng.org/toggleswitch/)\n *\n * @module toggleswitchstyle\n *\n */\nexport enum ToggleSwitchClasses {\n /**\n * Class name of the root element\n */\n root = 'p-toggleswitch',\n /**\n * Class name of the input element\n */\n input = 'p-toggleswitch-input',\n /**\n * Class name of the slider element\n */\n slider = 'p-toggleswitch-slider'\n}\n\nexport interface ToggleSwitchStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n inject,\n Input,\n NgModule,\n numberAttribute,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { ToggleSwitchStyle } from './style/toggleswitchstyle';\nimport { ToggleSwitchChangeEvent } from './toggleswitch.interface';\n\n/**\n * Context interface for the handle template.\n * @property {boolean} checked - A flag indicating whether the input is checked.\n * @group Interface\n */\nexport interface ToggleSwitchHandleTemplateContext {\n checked: boolean;\n}\n\nexport const TOGGLESWITCH_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ToggleSwitch),\n multi: true\n};\n/**\n * ToggleSwitch is used to select a boolean value.\n * @group Components\n */\n@Component({\n selector: 'p-toggleswitch, p-toggleSwitch, p-toggle-switch',\n standalone: true,\n imports: [CommonModule, AutoFocus, SharedModule],\n template: `\n <div [ngClass]=\"cx('root')\" [style]=\"sx('root')\" [ngStyle]=\"style\" [class]=\"styleClass\" (click)=\"onClick($event)\" [attr.data-pc-name]=\"'toggleswitch'\" [attr.data-pc-section]=\"'root'\">\n <input\n #input\n [attr.id]=\"inputId\"\n type=\"checkbox\"\n role=\"switch\"\n [ngClass]=\"cx('input')\"\n [checked]=\"checked()\"\n [disabled]=\"disabled\"\n [attr.aria-checked]=\"checked()\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.name]=\"name\"\n [attr.tabindex]=\"tabindex\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n [attr.data-pc-section]=\"'hiddenInput'\"\n [pAutoFocus]=\"autofocus\"\n />\n <span [ngClass]=\"cx('slider')\" [attr.data-pc-section]=\"'slider'\">\n <div [ngClass]=\"cx('handle')\">\n @if (handleTemplate || _handleTemplate) {\n <ng-container *ngTemplateOutlet=\"handleTemplate || _handleTemplate; context: { checked: checked() }\" />\n }\n </div>\n </span>\n </div>\n `,\n providers: [TOGGLESWITCH_VALUE_ACCESSOR, ToggleSwitchStyle],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class ToggleSwitch extends BaseComponent implements AfterContentInit {\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 * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined;\n /**\n * Identifier of the input element.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Name of the input element.\n * @group Props\n */\n @Input() name: string | undefined;\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 * When present, it specifies that the component cannot be edited.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean | undefined;\n /**\n * Value in checked state.\n * @group Props\n */\n @Input() trueValue: any = true;\n /**\n * Value in unchecked state.\n * @group Props\n */\n @Input() falseValue: any = false;\n /**\n * Used to define a string that autocomplete attribute the current element.\n * @group Props\n */\n @Input() ariaLabel: 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 * 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 when the on value change.\n * @param {ToggleSwitchChangeEvent} event - Custom change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<ToggleSwitchChangeEvent> = new EventEmitter<ToggleSwitchChangeEvent>();\n\n @ViewChild('input') input!: ElementRef;\n /**\n * Callback to invoke when the on value change.\n * @type {TemplateRef<ToggleSwitchHandleTemplateContext>} context - Context of the template\n * @example\n * ```html\n * <ng-template #handle let-checked=\"checked\"> </ng-template>\n * ```\n * @see {@link ToggleSwitchHandleTemplateContext}\n * @group Templates\n */\n @ContentChild('handle', { descendants: false }) handleTemplate: TemplateRef<any> | undefined;\n\n _handleTemplate: TemplateRef<any> | undefined;\n\n modelValue: any = false;\n\n focused: boolean = false;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n _componentStyle = inject(ToggleSwitchStyle);\n\n @ContentChildren(PrimeTemplate) templates!: QueryList<PrimeTemplate>;\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'handle':\n this._handleTemplate = item.template;\n break;\n default:\n this._handleTemplate = item.template;\n break;\n }\n });\n }\n\n onClick(event: Event) {\n if (!this.disabled && !this.readonly) {\n this.modelValue = this.checked() ? this.falseValue : this.trueValue;\n\n this.onModelChange(this.modelValue);\n this.onChange.emit({\n originalEvent: event,\n checked: this.modelValue\n });\n\n this.input.nativeElement.focus();\n }\n }\n\n onFocus() {\n this.focused = true;\n }\n\n onBlur() {\n this.focused = false;\n this.onModelTouched();\n }\n\n writeValue(value: any): void {\n this.modelValue = 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 checked() {\n return this.modelValue === this.trueValue;\n }\n}\n\n@NgModule({\n imports: [ToggleSwitch, SharedModule],\n exports: [ToggleSwitch, SharedModule]\n})\nexport class ToggleSwitchModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import * as i1 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Injectable, inject, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ContentChild, NgModule } from '@angular/core';
5
- import { SharedModule } from 'primeng/api';
4
+ import { Injectable, inject, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ContentChild, ContentChildren, NgModule } from '@angular/core';
5
+ import { PrimeTemplate, SharedModule } from 'primeng/api';
6
6
  import { BaseComponent } from 'primeng/basecomponent';
7
7
  import { BaseStyle } from 'primeng/base';
8
8
 
@@ -87,7 +87,7 @@ function Toolbar_div_2_Template(rf, ctx) { if (rf & 1) {
87
87
  const ctx_r0 = i0.ɵɵnextContext();
88
88
  i0.ɵɵattribute("data-pc-section", "start");
89
89
  i0.ɵɵadvance();
90
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.startTemplate);
90
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.startTemplate || ctx_r0._startTemplate);
91
91
  } }
92
92
  function Toolbar_div_3_ng_container_1_Template(rf, ctx) { if (rf & 1) {
93
93
  i0.ɵɵelementContainer(0);
@@ -100,7 +100,7 @@ function Toolbar_div_3_Template(rf, ctx) { if (rf & 1) {
100
100
  const ctx_r0 = i0.ɵɵnextContext();
101
101
  i0.ɵɵattribute("data-pc-section", "center");
102
102
  i0.ɵɵadvance();
103
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.centerTemplate);
103
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.centerTemplate || ctx_r0._centerTemplate);
104
104
  } }
105
105
  function Toolbar_div_4_ng_container_1_Template(rf, ctx) { if (rf & 1) {
106
106
  i0.ɵɵelementContainer(0);
@@ -113,7 +113,7 @@ function Toolbar_div_4_Template(rf, ctx) { if (rf & 1) {
113
113
  const ctx_r0 = i0.ɵɵnextContext();
114
114
  i0.ɵɵattribute("data-pc-section", "end");
115
115
  i0.ɵɵadvance();
116
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.endTemplate);
116
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.endTemplate || ctx_r0._endTemplate);
117
117
  } }
118
118
  /**
119
119
  * Toolbar is a grouping component for buttons and other content.
@@ -154,16 +154,39 @@ class Toolbar extends BaseComponent {
154
154
  * @group Templates
155
155
  */
156
156
  centerTemplate;
157
+ templates;
158
+ _startTemplate;
159
+ _endTemplate;
160
+ _centerTemplate;
161
+ ngAfterContentInit() {
162
+ this.templates.forEach((item) => {
163
+ switch (item.getType()) {
164
+ case 'start':
165
+ case 'left':
166
+ this._startTemplate = item.template;
167
+ break;
168
+ case 'end':
169
+ case 'right':
170
+ this._endTemplate = item.template;
171
+ break;
172
+ case 'center':
173
+ this._centerTemplate = item.template;
174
+ break;
175
+ }
176
+ });
177
+ }
157
178
  static ɵfac = /*@__PURE__*/ (() => { let ɵToolbar_BaseFactory; return function Toolbar_Factory(__ngFactoryType__) { return (ɵToolbar_BaseFactory || (ɵToolbar_BaseFactory = i0.ɵɵgetInheritedFactory(Toolbar)))(__ngFactoryType__ || Toolbar); }; })();
158
179
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Toolbar, selectors: [["p-toolbar"]], contentQueries: function Toolbar_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
159
- i0.ɵɵcontentQuery(dirIndex, _c0, 5);
160
- i0.ɵɵcontentQuery(dirIndex, _c1, 5);
161
- i0.ɵɵcontentQuery(dirIndex, _c2, 5);
180
+ i0.ɵɵcontentQuery(dirIndex, _c0, 4);
181
+ i0.ɵɵcontentQuery(dirIndex, _c1, 4);
182
+ i0.ɵɵcontentQuery(dirIndex, _c2, 4);
183
+ i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);
162
184
  } if (rf & 2) {
163
185
  let _t;
164
186
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.startTemplate = _t.first);
165
187
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.endTemplate = _t.first);
166
188
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.centerTemplate = _t.first);
189
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);
167
190
  } }, inputs: { style: "style", styleClass: "styleClass", ariaLabelledBy: "ariaLabelledBy" }, features: [i0.ɵɵProvidersFeature([ToolbarStyle]), i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c3, decls: 5, vars: 9, consts: [["role", "toolbar", 3, "ngClass", "ngStyle"], ["class", "p-toolbar-start", 4, "ngIf"], ["class", "p-toolbar-center", 4, "ngIf"], ["class", "p-toolbar-end", 4, "ngIf"], [1, "p-toolbar-start"], [4, "ngTemplateOutlet"], [1, "p-toolbar-center"], [1, "p-toolbar-end"]], template: function Toolbar_Template(rf, ctx) { if (rf & 1) {
168
191
  i0.ɵɵprojectionDef();
169
192
  i0.ɵɵelementStart(0, "div", 0);
@@ -175,11 +198,11 @@ class Toolbar extends BaseComponent {
175
198
  i0.ɵɵproperty("ngClass", "p-toolbar p-component")("ngStyle", ctx.style);
176
199
  i0.ɵɵattribute("aria-labelledby", ctx.ariaLabelledBy)("data-pc-name", "toolbar");
177
200
  i0.ɵɵadvance(2);
178
- i0.ɵɵproperty("ngIf", ctx.startTemplate);
201
+ i0.ɵɵproperty("ngIf", ctx.startTemplate || ctx._startTemplate);
179
202
  i0.ɵɵadvance();
180
- i0.ɵɵproperty("ngIf", ctx.centerTemplate);
203
+ i0.ɵɵproperty("ngIf", ctx.centerTemplate || ctx._centerTemplate);
181
204
  i0.ɵɵadvance();
182
- i0.ɵɵproperty("ngIf", ctx.endTemplate);
205
+ i0.ɵɵproperty("ngIf", ctx.endTemplate || ctx._endTemplate);
183
206
  } }, dependencies: [CommonModule, i1.NgClass, i1.NgIf, i1.NgTemplateOutlet, i1.NgStyle, SharedModule], encapsulation: 2, changeDetection: 0 });
184
207
  }
185
208
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(Toolbar, [{
@@ -191,14 +214,14 @@ class Toolbar extends BaseComponent {
191
214
  template: `
192
215
  <div [ngClass]="'p-toolbar p-component'" [attr.aria-labelledby]="ariaLabelledBy" [ngStyle]="style" [class]="styleClass" role="toolbar" [attr.data-pc-name]="'toolbar'">
193
216
  <ng-content></ng-content>
194
- <div class="p-toolbar-start" *ngIf="startTemplate" [attr.data-pc-section]="'start'">
195
- <ng-container *ngTemplateOutlet="startTemplate"></ng-container>
217
+ <div class="p-toolbar-start" *ngIf="startTemplate || _startTemplate" [attr.data-pc-section]="'start'">
218
+ <ng-container *ngTemplateOutlet="startTemplate || _startTemplate"></ng-container>
196
219
  </div>
197
- <div class="p-toolbar-center" *ngIf="centerTemplate" [attr.data-pc-section]="'center'">
198
- <ng-container *ngTemplateOutlet="centerTemplate"></ng-container>
220
+ <div class="p-toolbar-center" *ngIf="centerTemplate || _centerTemplate" [attr.data-pc-section]="'center'">
221
+ <ng-container *ngTemplateOutlet="centerTemplate || _centerTemplate"></ng-container>
199
222
  </div>
200
- <div class="p-toolbar-end" *ngIf="endTemplate" [attr.data-pc-section]="'end'">
201
- <ng-container *ngTemplateOutlet="endTemplate"></ng-container>
223
+ <div class="p-toolbar-end" *ngIf="endTemplate || _endTemplate" [attr.data-pc-section]="'end'">
224
+ <ng-container *ngTemplateOutlet="endTemplate || _endTemplate"></ng-container>
202
225
  </div>
203
226
  </div>
204
227
  `,
@@ -214,13 +237,16 @@ class Toolbar extends BaseComponent {
214
237
  type: Input
215
238
  }], startTemplate: [{
216
239
  type: ContentChild,
217
- args: ['start']
240
+ args: ['start', { descendants: false }]
218
241
  }], endTemplate: [{
219
242
  type: ContentChild,
220
- args: ['end']
243
+ args: ['end', { descendants: false }]
221
244
  }], centerTemplate: [{
222
245
  type: ContentChild,
223
- args: ['center']
246
+ args: ['center', { descendants: false }]
247
+ }], templates: [{
248
+ type: ContentChildren,
249
+ args: [PrimeTemplate]
224
250
  }] }); })();
225
251
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(Toolbar, { className: "Toolbar", filePath: "toolbar.ts", lineNumber: 33 }); })();
226
252
  class ToolbarModule {