primeng 19.0.0-rc.1 → 19.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/accordion/accordion.d.ts +7 -7
  2. package/autocomplete/autocomplete.d.ts +21 -8
  3. package/badge/badge.d.ts +1 -3
  4. package/basecomponent/basecomponent.d.ts +2 -5
  5. package/blockui/blockui.d.ts +10 -5
  6. package/breadcrumb/breadcrumb.d.ts +9 -6
  7. package/button/button.d.ts +10 -4
  8. package/calendar/calendar.d.ts +29 -15
  9. package/card/card.d.ts +12 -5
  10. package/carousel/carousel.d.ts +10 -4
  11. package/cascadeselect/cascadeselect.d.ts +18 -8
  12. package/checkbox/checkbox.d.ts +8 -4
  13. package/chip/chip.d.ts +9 -7
  14. package/config/themeprovider.d.ts +6 -0
  15. package/confirmdialog/confirmdialog.d.ts +15 -5
  16. package/confirmpopup/confirmpopup.d.ts +11 -5
  17. package/contextmenu/contextmenu.d.ts +10 -6
  18. package/datepicker/datepicker.d.ts +25 -11
  19. package/dialog/dialog.d.ts +15 -4
  20. package/divider/divider.d.ts +1 -1
  21. package/dock/dock.d.ts +7 -4
  22. package/drawer/drawer.d.ts +18 -10
  23. package/dropdown/dropdown.d.ts +4 -3
  24. package/dynamicdialog/dynamicdialog.d.ts +3 -2
  25. package/editor/editor.d.ts +7 -3
  26. package/fesm2022/primeng-accordion.mjs +56 -41
  27. package/fesm2022/primeng-accordion.mjs.map +1 -1
  28. package/fesm2022/primeng-autocomplete.mjs +153 -92
  29. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  30. package/fesm2022/primeng-badge.mjs +39 -32
  31. package/fesm2022/primeng-badge.mjs.map +1 -1
  32. package/fesm2022/primeng-basecomponent.mjs +2 -25
  33. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  34. package/fesm2022/primeng-blockui.mjs +38 -18
  35. package/fesm2022/primeng-blockui.mjs.map +1 -1
  36. package/fesm2022/primeng-breadcrumb.mjs +49 -31
  37. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  38. package/fesm2022/primeng-button.mjs +55 -28
  39. package/fesm2022/primeng-button.mjs.map +1 -1
  40. package/fesm2022/primeng-calendar.mjs +202 -137
  41. package/fesm2022/primeng-calendar.mjs.map +1 -1
  42. package/fesm2022/primeng-card.mjs +95 -45
  43. package/fesm2022/primeng-card.mjs.map +1 -1
  44. package/fesm2022/primeng-carousel.mjs +74 -42
  45. package/fesm2022/primeng-carousel.mjs.map +1 -1
  46. package/fesm2022/primeng-cascadeselect.mjs +99 -61
  47. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  48. package/fesm2022/primeng-checkbox.mjs +31 -12
  49. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  50. package/fesm2022/primeng-chip.mjs +117 -96
  51. package/fesm2022/primeng-chip.mjs.map +1 -1
  52. package/fesm2022/primeng-config.mjs +13 -11
  53. package/fesm2022/primeng-config.mjs.map +1 -1
  54. package/fesm2022/primeng-confirmdialog.mjs +104 -60
  55. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  56. package/fesm2022/primeng-confirmpopup.mjs +57 -29
  57. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  58. package/fesm2022/primeng-contextmenu.mjs +52 -21
  59. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  60. package/fesm2022/primeng-datepicker.mjs +198 -156
  61. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  62. package/fesm2022/primeng-dialog.mjs +97 -50
  63. package/fesm2022/primeng-dialog.mjs.map +1 -1
  64. package/fesm2022/primeng-divider.mjs +2 -4
  65. package/fesm2022/primeng-divider.mjs.map +1 -1
  66. package/fesm2022/primeng-dock.mjs +29 -10
  67. package/fesm2022/primeng-dock.mjs.map +1 -1
  68. package/fesm2022/primeng-drawer.mjs +112 -70
  69. package/fesm2022/primeng-drawer.mjs.map +1 -1
  70. package/fesm2022/primeng-dropdown.mjs +14 -6
  71. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  72. package/fesm2022/primeng-dynamicdialog.mjs +25 -21
  73. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  74. package/fesm2022/primeng-editor.mjs +26 -10
  75. package/fesm2022/primeng-editor.mjs.map +1 -1
  76. package/fesm2022/primeng-fieldset.mjs +61 -33
  77. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  78. package/fesm2022/primeng-fileupload.mjs +138 -87
  79. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  80. package/fesm2022/primeng-galleria.mjs +22 -13
  81. package/fesm2022/primeng-galleria.mjs.map +1 -1
  82. package/fesm2022/primeng-image.mjs +113 -66
  83. package/fesm2022/primeng-image.mjs.map +1 -1
  84. package/fesm2022/primeng-imagecompare.mjs +30 -10
  85. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  86. package/fesm2022/primeng-inplace.mjs +51 -26
  87. package/fesm2022/primeng-inplace.mjs.map +1 -1
  88. package/fesm2022/primeng-inputmask.mjs +31 -15
  89. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  90. package/fesm2022/primeng-inputnumber.mjs +54 -45
  91. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  92. package/fesm2022/primeng-inputotp.mjs +30 -11
  93. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  94. package/fesm2022/primeng-listbox.mjs +137 -78
  95. package/fesm2022/primeng-listbox.mjs.map +1 -1
  96. package/fesm2022/primeng-megamenu.mjs +105 -59
  97. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  98. package/fesm2022/primeng-menu.mjs +26 -26
  99. package/fesm2022/primeng-menu.mjs.map +1 -1
  100. package/fesm2022/primeng-menubar.mjs +69 -34
  101. package/fesm2022/primeng-menubar.mjs.map +1 -1
  102. package/fesm2022/primeng-message.mjs +49 -25
  103. package/fesm2022/primeng-message.mjs.map +1 -1
  104. package/fesm2022/primeng-messages.mjs +12 -3
  105. package/fesm2022/primeng-messages.mjs.map +1 -1
  106. package/fesm2022/primeng-metergroup.mjs +62 -30
  107. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  108. package/fesm2022/primeng-multiselect.mjs +246 -155
  109. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  110. package/fesm2022/primeng-orderlist.mjs +123 -68
  111. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  112. package/fesm2022/primeng-organizationchart.mjs +31 -15
  113. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  114. package/fesm2022/primeng-overlay.mjs +26 -6
  115. package/fesm2022/primeng-overlay.mjs.map +1 -1
  116. package/fesm2022/primeng-overlaypanel.mjs +29 -9
  117. package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
  118. package/fesm2022/primeng-paginator.mjs +92 -60
  119. package/fesm2022/primeng-paginator.mjs.map +1 -1
  120. package/fesm2022/primeng-panel.mjs +159 -98
  121. package/fesm2022/primeng-panel.mjs.map +1 -1
  122. package/fesm2022/primeng-panelmenu.mjs +55 -32
  123. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  124. package/fesm2022/primeng-password.mjs +88 -49
  125. package/fesm2022/primeng-password.mjs.map +1 -1
  126. package/fesm2022/primeng-picklist.mjs +360 -228
  127. package/fesm2022/primeng-picklist.mjs.map +1 -1
  128. package/fesm2022/primeng-popover.mjs +23 -7
  129. package/fesm2022/primeng-popover.mjs.map +1 -1
  130. package/fesm2022/primeng-progressbar.mjs +26 -8
  131. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  132. package/fesm2022/primeng-rating.mjs +44 -20
  133. package/fesm2022/primeng-rating.mjs.map +1 -1
  134. package/fesm2022/primeng-scroller.mjs +47 -37
  135. package/fesm2022/primeng-scroller.mjs.map +1 -1
  136. package/fesm2022/primeng-scrollpanel.mjs +28 -9
  137. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  138. package/fesm2022/primeng-scrolltop.mjs +16 -9
  139. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  140. package/fesm2022/primeng-select.mjs +198 -119
  141. package/fesm2022/primeng-select.mjs.map +1 -1
  142. package/fesm2022/primeng-selectbutton.mjs +25 -9
  143. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  144. package/fesm2022/primeng-sidebar.mjs +81 -58
  145. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  146. package/fesm2022/primeng-speeddial.mjs +54 -29
  147. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  148. package/fesm2022/primeng-splitbutton.mjs +41 -18
  149. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  150. package/fesm2022/primeng-splitter.mjs +4 -4
  151. package/fesm2022/primeng-splitter.mjs.map +1 -1
  152. package/fesm2022/primeng-stepper.mjs +33 -19
  153. package/fesm2022/primeng-stepper.mjs.map +1 -1
  154. package/fesm2022/primeng-table.mjs +115 -103
  155. package/fesm2022/primeng-table.mjs.map +1 -1
  156. package/fesm2022/primeng-tabmenu.mjs +54 -27
  157. package/fesm2022/primeng-tabmenu.mjs.map +1 -1
  158. package/fesm2022/primeng-tabs.mjs +27 -19
  159. package/fesm2022/primeng-tabs.mjs.map +1 -1
  160. package/fesm2022/primeng-tabview.mjs +106 -54
  161. package/fesm2022/primeng-tabview.mjs.map +1 -1
  162. package/fesm2022/primeng-tag.mjs +68 -44
  163. package/fesm2022/primeng-tag.mjs.map +1 -1
  164. package/fesm2022/primeng-tieredmenu.mjs +44 -21
  165. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  166. package/fesm2022/primeng-timeline.mjs +40 -16
  167. package/fesm2022/primeng-timeline.mjs.map +1 -1
  168. package/fesm2022/primeng-toast.mjs +30 -7
  169. package/fesm2022/primeng-toast.mjs.map +1 -1
  170. package/fesm2022/primeng-togglebutton.mjs +44 -28
  171. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  172. package/fesm2022/primeng-toggleswitch.mjs +28 -9
  173. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  174. package/fesm2022/primeng-toolbar.mjs +46 -20
  175. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  176. package/fesm2022/primeng-tooltip.mjs +32 -69
  177. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  178. package/fesm2022/primeng-tree.mjs +117 -98
  179. package/fesm2022/primeng-tree.mjs.map +1 -1
  180. package/fesm2022/primeng-treeselect.mjs +154 -85
  181. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  182. package/fesm2022/primeng-treetable.mjs +31 -14
  183. package/fesm2022/primeng-treetable.mjs.map +1 -1
  184. package/fesm2022/primeng-usestyle.mjs +1 -1
  185. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  186. package/fieldset/fieldset.d.ts +12 -6
  187. package/fileupload/fileupload.d.ts +19 -8
  188. package/galleria/galleria.d.ts +3 -2
  189. package/image/image.d.ts +18 -7
  190. package/imagecompare/imagecompare.d.ts +7 -2
  191. package/inplace/inplace.d.ts +12 -6
  192. package/inputmask/inputmask.d.ts +8 -4
  193. package/inputnumber/inputnumber.d.ts +11 -6
  194. package/inputotp/inputotp.d.ts +7 -2
  195. package/listbox/listbox.d.ts +17 -4
  196. package/megamenu/megamenu.d.ts +16 -7
  197. package/menu/menu.d.ts +6 -6
  198. package/menubar/menubar.d.ts +13 -6
  199. package/message/message.d.ts +10 -4
  200. package/messages/messages.d.ts +4 -3
  201. package/metergroup/metergroup.d.ts +11 -3
  202. package/multiselect/multiselect.d.ts +36 -17
  203. package/orderlist/orderlist.d.ts +23 -11
  204. package/organizationchart/organizationchart.d.ts +6 -4
  205. package/overlay/overlay.d.ts +6 -3
  206. package/overlaypanel/overlaypanel.d.ts +6 -3
  207. package/package.json +157 -157
  208. package/paginator/paginator.d.ts +15 -8
  209. package/panel/panel.d.ts +14 -5
  210. package/panelmenu/panelmenu.d.ts +8 -4
  211. package/password/password.d.ts +15 -7
  212. package/picklist/picklist.d.ts +23 -3
  213. package/popover/popover.d.ts +7 -4
  214. package/progressbar/progressbar.d.ts +7 -3
  215. package/rating/rating.d.ts +11 -5
  216. package/scroller/scroller.d.ts +9 -4
  217. package/scrollpanel/scrollpanel.d.ts +7 -3
  218. package/scrolltop/scrolltop.d.ts +7 -4
  219. package/select/select.d.ts +31 -13
  220. package/selectbutton/selectbutton.d.ts +7 -3
  221. package/sidebar/sidebar.d.ts +9 -2
  222. package/speeddial/speeddial.d.ts +9 -4
  223. package/splitbutton/splitbutton.d.ts +9 -5
  224. package/splitter/splitter.d.ts +4 -4
  225. package/stepper/stepper.d.ts +8 -3
  226. package/table/table.d.ts +2 -2
  227. package/tabmenu/tabmenu.d.ts +12 -7
  228. package/tabs/tablist.d.ts +6 -2
  229. package/tabview/tabview.d.ts +16 -7
  230. package/tag/tag.d.ts +8 -9
  231. package/tieredmenu/tieredmenu.d.ts +10 -6
  232. package/timeline/timeline.d.ts +7 -2
  233. package/toast/toast.d.ts +7 -3
  234. package/togglebutton/togglebutton.d.ts +8 -3
  235. package/toggleswitch/toggleswitch.d.ts +6 -2
  236. package/toolbar/toolbar.d.ts +9 -4
  237. package/tooltip/tooltip.d.ts +2 -1
  238. package/tree/tree.d.ts +23 -10
  239. package/treeselect/treeselect.d.ts +26 -12
  240. package/treetable/treetable.d.ts +6 -4
@@ -1,11 +1,11 @@
1
1
  import * as i1 from '@angular/common';
2
2
  import { isPlatformBrowser, CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Injectable, EventEmitter, signal, inject, booleanAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, ViewChild, ViewChildren, ContentChild, NgModule } from '@angular/core';
4
+ import { Injectable, EventEmitter, signal, inject, booleanAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, ViewChild, ViewChildren, ContentChild, ContentChildren, NgModule } from '@angular/core';
5
5
  import * as i2 from '@angular/router';
6
6
  import { Router, ActivatedRoute, RouterModule } from '@angular/router';
7
7
  import { resolve, getAttribute, focus, findSingle, getWidth, getOffset } from '@primeuix/utils';
8
- import { SharedModule } from 'primeng/api';
8
+ import { PrimeTemplate, SharedModule } from 'primeng/api';
9
9
  import * as i4 from 'primeng/badge';
10
10
  import { BadgeModule } from 'primeng/badge';
11
11
  import { BaseComponent } from 'primeng/basecomponent';
@@ -236,9 +236,9 @@ function TabMenu_button_2_Template(rf, ctx) { if (rf & 1) {
236
236
  } if (rf & 2) {
237
237
  const ctx_r2 = i0.ɵɵnextContext();
238
238
  i0.ɵɵadvance(2);
239
- i0.ɵɵproperty("ngIf", !ctx_r2.previousiconTemplate);
239
+ i0.ɵɵproperty("ngIf", !ctx_r2.previousIconTemplate && !ctx_r2._previousIconTemplate);
240
240
  i0.ɵɵadvance();
241
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.previousiconTemplate);
241
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.previousIconTemplate || ctx_r2._previousIconTemplate);
242
242
  } }
243
243
  function TabMenu_li_7_a_2_span_3_Template(rf, ctx) { if (rf & 1) {
244
244
  i0.ɵɵelement(0, "span", 28);
@@ -356,9 +356,9 @@ function TabMenu_li_7_Template(rf, ctx) { if (rf & 1) {
356
356
  i0.ɵɵproperty("ngStyle", item_r5.style)("ngClass", i0.ɵɵpureFunction3(13, _c11, ctx_r2.getItemProp(item_r5, "disabled"), ctx_r2.isActive(item_r5), item_r5.visible === false))("tooltipOptions", item_r5.tooltipOptions);
357
357
  i0.ɵɵattribute("data-p-disabled", ctx_r2.disabled(item_r5))("data-p-highlight", ctx_r2.focusedItemInfo() === item_r5)("aria-label", ctx_r2.getItemProp(item_r5, "label"))("tabindex", ctx_r2.disabled(item_r5) ? -1 : 0);
358
358
  i0.ɵɵadvance(2);
359
- i0.ɵɵproperty("ngIf", !item_r5.routerLink && !ctx_r2.itemTemplate);
359
+ i0.ɵɵproperty("ngIf", !item_r5.routerLink && !ctx_r2.itemTemplate && !ctx_r2._itemTemplate);
360
360
  i0.ɵɵadvance();
361
- i0.ɵɵproperty("ngIf", item_r5.routerLink && !ctx_r2.itemTemplate);
361
+ i0.ɵɵproperty("ngIf", item_r5.routerLink && !ctx_r2.itemTemplate && !ctx_r2._itemTemplate);
362
362
  i0.ɵɵadvance();
363
363
  i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.itemTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction2(17, _c12, item_r5, i_r7));
364
364
  } }
@@ -380,9 +380,9 @@ function TabMenu_button_10_Template(rf, ctx) { if (rf & 1) {
380
380
  } if (rf & 2) {
381
381
  const ctx_r2 = i0.ɵɵnextContext();
382
382
  i0.ɵɵadvance(2);
383
- i0.ɵɵproperty("ngIf", !ctx_r2.previousiconTemplate);
383
+ i0.ɵɵproperty("ngIf", !ctx_r2.previousIconTemplate && !ctx_r2._previousIconTemplate);
384
384
  i0.ɵɵadvance();
385
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.nexticonTemplate);
385
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.nextIconTemplate || ctx_r2._nextIconTemplate);
386
386
  } }
387
387
  /**
388
388
  * TabMenu is a navigation component that displays items as tab headers.
@@ -466,12 +466,16 @@ class TabMenu extends BaseComponent {
466
466
  * Template of the previous icon.
467
467
  * @group Templates
468
468
  */
469
- previousiconTemplate;
469
+ previousIconTemplate;
470
470
  /**
471
471
  * Template of the next icon.
472
472
  * @group Templates
473
473
  */
474
- nexticonTemplate;
474
+ nextIconTemplate;
475
+ templates;
476
+ _itemTemplate;
477
+ _nextIconTemplate;
478
+ _previousIconTemplate;
475
479
  tabChanged;
476
480
  backwardIsDisabled = true;
477
481
  forwardIsDisabled = false;
@@ -509,6 +513,24 @@ class TabMenu extends BaseComponent {
509
513
  this.tabChanged = false;
510
514
  }
511
515
  }
516
+ ngAfterContentInit() {
517
+ this.templates?.forEach((item) => {
518
+ switch (item.getType()) {
519
+ case 'item':
520
+ this._itemTemplate = item.template;
521
+ break;
522
+ case 'nexticon':
523
+ this._nextIconTemplate = item.template;
524
+ break;
525
+ case 'previousicon':
526
+ this._previousIconTemplate = item.template;
527
+ break;
528
+ default:
529
+ this._itemTemplate = item.template;
530
+ break;
531
+ }
532
+ });
533
+ }
512
534
  ngOnDestroy() {
513
535
  this.clearAutoScrollHandler();
514
536
  super.ngOnDestroy();
@@ -701,14 +723,16 @@ class TabMenu extends BaseComponent {
701
723
  }
702
724
  static ɵfac = function TabMenu_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TabMenu)(); };
703
725
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabMenu, selectors: [["p-tabMenu"], ["p-tabmenu"]], contentQueries: function TabMenu_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
704
- i0.ɵɵcontentQuery(dirIndex, _c0, 5);
705
- i0.ɵɵcontentQuery(dirIndex, _c1, 5);
706
- i0.ɵɵcontentQuery(dirIndex, _c2, 5);
726
+ i0.ɵɵcontentQuery(dirIndex, _c0, 4);
727
+ i0.ɵɵcontentQuery(dirIndex, _c1, 4);
728
+ i0.ɵɵcontentQuery(dirIndex, _c2, 4);
729
+ i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);
707
730
  } if (rf & 2) {
708
731
  let _t;
709
732
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.itemTemplate = _t.first);
710
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.previousiconTemplate = _t.first);
711
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.nexticonTemplate = _t.first);
733
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.previousIconTemplate = _t.first);
734
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.nextIconTemplate = _t.first);
735
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);
712
736
  } }, viewQuery: function TabMenu_Query(rf, ctx) { if (rf & 1) {
713
737
  i0.ɵɵviewQuery(_c3, 5);
714
738
  i0.ɵɵviewQuery(_c4, 5);
@@ -763,8 +787,8 @@ class TabMenu extends BaseComponent {
763
787
  <div [ngClass]="{ 'p-tabmenu p-component': true, 'p-tabmenu-scrollable': scrollable }" [ngStyle]="style" [class]="styleClass">
764
788
  <div class="p-tabmenu-nav-container">
765
789
  <button *ngIf="scrollable && !backwardIsDisabled" #prevBtn class="p-tabmenu-nav-prev-button p-tabmenu-nav-button" (click)="navBackward()" type="button" role="navigation" pRipple>
766
- <ChevronLeftIcon *ngIf="!previousiconTemplate" [attr.aria-hidden]="true" />
767
- <ng-template *ngTemplateOutlet="previousiconTemplate"></ng-template>
790
+ <ChevronLeftIcon *ngIf="!previousIconTemplate && !_previousIconTemplate" [attr.aria-hidden]="true" />
791
+ <ng-template *ngTemplateOutlet="previousIconTemplate || _previousIconTemplate"></ng-template>
768
792
  </button>
769
793
  <div #content class="p-tabmenu-nav-content" (scroll)="onScroll($event)">
770
794
  <ul #navbar class="p-tabmenu-nav p-reset" role="menubar" [attr.aria-labelledby]="ariaLabelledBy" [attr.aria-label]="ariaLabel">
@@ -793,7 +817,7 @@ class TabMenu extends BaseComponent {
793
817
  >
794
818
  <a
795
819
  #tabLink
796
- *ngIf="!item.routerLink && !itemTemplate"
820
+ *ngIf="!item.routerLink && !itemTemplate && !_itemTemplate"
797
821
  class="p-menuitem-link"
798
822
  role="presentation"
799
823
  [attr.href]="getItemProp(item, 'url')"
@@ -811,7 +835,7 @@ class TabMenu extends BaseComponent {
811
835
  </a>
812
836
  <a
813
837
  #tabLink
814
- *ngIf="item.routerLink && !itemTemplate"
838
+ *ngIf="item.routerLink && !itemTemplate && !_itemTemplate"
815
839
  [routerLink]="item.routerLink"
816
840
  [queryParams]="item.queryParams"
817
841
  [routerLinkActive]="'p-menuitem-link-active'"
@@ -842,8 +866,8 @@ class TabMenu extends BaseComponent {
842
866
  </ul>
843
867
  </div>
844
868
  <button *ngIf="scrollable && !forwardIsDisabled" #nextBtn class="p-tabmenu-nav-next-button p-tabmenu-nav-button" (click)="navForward()" type="button" role="navigation" pRipple>
845
- <ChevronRightIcon *ngIf="!previousiconTemplate" [attr.aria-hidden]="true" />
846
- <ng-template *ngTemplateOutlet="nexticonTemplate"></ng-template>
869
+ <ChevronRightIcon *ngIf="!previousIconTemplate && !_previousIconTemplate" [attr.aria-hidden]="true" />
870
+ <ng-template *ngTemplateOutlet="nextIconTemplate || _nextIconTemplate"></ng-template>
847
871
  </button>
848
872
  </div>
849
873
  </div>
@@ -895,15 +919,18 @@ class TabMenu extends BaseComponent {
895
919
  args: ['tab']
896
920
  }], itemTemplate: [{
897
921
  type: ContentChild,
898
- args: ['item']
899
- }], previousiconTemplate: [{
922
+ args: ['item', { descendants: false }]
923
+ }], previousIconTemplate: [{
900
924
  type: ContentChild,
901
- args: ['previousicon']
902
- }], nexticonTemplate: [{
925
+ args: ['previousicon', { descendants: false }]
926
+ }], nextIconTemplate: [{
903
927
  type: ContentChild,
904
- args: ['nexticon']
928
+ args: ['nexticon', { descendants: false }]
929
+ }], templates: [{
930
+ type: ContentChildren,
931
+ args: [PrimeTemplate]
905
932
  }] }); })();
906
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TabMenu, { className: "TabMenu", filePath: "tabmenu.ts", lineNumber: 136 }); })();
933
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TabMenu, { className: "TabMenu", filePath: "tabmenu.ts", lineNumber: 137 }); })();
907
934
  class TabMenuModule {
908
935
  static ɵfac = function TabMenuModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TabMenuModule)(); };
909
936
  static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: TabMenuModule });
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-tabmenu.mjs","sources":["../../src/tabmenu/style/tabmenustyle.ts","../../src/tabmenu/tabmenu.ts","../../src/tabmenu/primeng-tabmenu.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n\n/* For PrimeNG */\n.p-tabmenu.p-component {\n display: flex;\n flex-direction: column;\n}\n\n.p-tabmenu-nav-container {\n display: flex;\n position: relative;\n}\n\n.p-tabmenu.p-tabmenu-scrollable .p-tabmenu-nav-container {\n overflow: hidden;\n}\n\n.p-tabmenu-nav-content {\n flex-grow: 1;\n overflow-x: auto;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scrollbar-width: none;\n overscroll-behavior: contain auto;\n}\n\n.p-tabmenu-nav {\n padding: 0;\n margin: 0;\n list-style-type: none;\n position: relative;\n display: flex;\n flex-wrap: nowrap;\n background: ${dt('tabs.tablist.background')};\n border-style: solid;\n border-color: ${dt('tabs.tablist.border.color')};\n border-width: ${dt('tabs.tablist.border.width')};\n}\n\n.p-tabmenuitem {\n display: flex;\n flex-shrink: 0;\n cursor: pointer;\n position: relative;\n border-style: solid;\n background: ${dt('tabs.tab.background')};\n border-width: ${dt('tabs.tab.border.width')};\n border-color: ${dt('tabs.tab.border.color')};\n padding: ${dt('tabs.tab.padding')};\n transition: background ${dt('tabs.transition.duration')}, border-color ${dt('tabs.transition.duration')}, color ${dt('tabs.transition.duration')}, outline-color ${dt('tabs.transition.duration')}, box-shadow ${dt('tabs.transition.duration')};\n margin: ${dt('tabs.tab.margin')};\n outline-color: transparent;\n}\n\n.p-tabmenuitem > .p-menuitem-link {\n white-space: nowrap;\n user-select: none;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n gap: ${dt('tabs.tab.gap')};\n color: ${dt('tabs.tab.color')};\n font-weight: ${dt('tabs.tab.font.weight')};\n}\n\n.p-tabmenuitem.p-tabmenuitem-active .p-menuitem-link {\n color: ${dt('tabs.tab.active.color')};\n}\n\n.p-tabmenuitem:not(.p-disabled):focus-visible {\n z-index: 1;\n box-shadow: ${dt('tabs.tab.focus.ring.shadow')};\n outline: ${dt('tabs.tab.focus.ring.width')} ${dt('tabs.tab.focus.ring.style')} ${dt('tabs.tab.focus.ring.color')};\n outline-offset: ${dt('tabs.tab.focus.ring.offset')};\n}\n\n.p-tabmenuitem:not(.p-tabmenuitem-active):not(.p-disabled):hover {\n background: ${dt('tabs.tab.hover.background')};\n border-color: ${dt('tabs.tab.hover.border.color')};\n color: ${dt('tabs.tab.hover.color')};\n}\n\n.p-tabmenuitem-active {\n background: ${dt('tabs.tab.active.background')};\n border-color: ${dt('tabs.tab.active.border.color')};\n color: ${dt('tabs.tab.active.color')};\n}\n\n.p-tabmenuitem-active-bar {\n z-index: 1;\n display: block;\n position: absolute;\n bottom: ${dt('tabs.active.bar.bottom')};\n height: ${dt('tabs.active.bar.height')};\n background: ${dt('tabs.active.bar.background')};\n transition: 250ms cubic-bezier(0.35, 0, 0.25, 1);\n}\n\n.p-tabmenu-nav-button {\n all: unset;\n position: absolute !important;\n flex-shrink: 0;\n top: 0;\n z-index: 2;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n background: ${dt('tabs.nav.button.background')};\n color: ${dt('tabs.nav.button.color')};\n width: ${dt('tabs.nav.button.width')};\n transition: color ${dt('tabs.transition.duration')}, outline-color ${dt('tabs.transition.duration')}, box-shadow ${dt('tabs.transition.duration')};\n box-shadow: ${dt('tabs.nav.button.shadow')};\n outline-color: transparent;\n cursor: pointer;\n}\n\n.p-tabmenu-nav-button:focus-visible {\n z-index: 1;\n box-shadow: ${dt('tabs.nav.button.focus.ring.shadow')};\n outline: ${dt('tabs.nav.button.focus.ring.width')} ${dt('tabs.nav.button.focus.ring.style')} ${dt('tabs.nav.button.focus.ring.color')};\n outline-offset: ${dt('tabs.nav.button.focus.ring.offset')};\n}\n\n.p-tabmenu-nav-button:hover {\n color: ${dt('tabs.nav.button.hover.color')};\n}\n\n.p-tabmenu-nav-prev-button {\n left: 0;\n}\n\n.p-tabmenu-nav-next-button {\n right: 0;\n}`;\n\n@Injectable()\nexport class TabMenuStyle extends BaseStyle {\n name = 'tabs';\n\n theme = theme;\n}\n\n/**\n *\n * TabMenu is a navigation component that displays items as tab headers. Example below uses nested routes with TabMenu.\n *\n * [Live Demo](https://www.primeng.org/tabmenu/)\n *\n * @module tabmenustyle\n *\n */\nexport enum TabMenuClasses {\n /**\n * Class name of the root element\n */\n root = 'p-tabmenu',\n /**\n * Class name of the tablist element\n */\n tablist = 'p-tabmenu-tablist',\n /**\n * Class name of the item element\n */\n item = 'p-tabmenu-item',\n /**\n * Class name of the item link element\n */\n itemLink = 'p-tabmenu-item-link',\n /**\n * Class name of the item icon element\n */\n itemIcon = 'p-tabmenu-item-icon',\n /**\n * Class name of the item label element\n */\n itemLabel = 'p-tabmenu-item-label',\n /**\n * Class name of the inkbar element\n */\n inkbar = 'p-tabmenu-ink-bar'\n}\n\nexport interface TabMenuStyle extends BaseStyle {}\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewChecked,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n NgModule,\n OnDestroy,\n Output,\n QueryList,\n signal,\n TemplateRef,\n ViewChild,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { findSingle, focus, getAttribute, getOffset, getWidth, resolve } from '@primeuix/utils';\nimport { MenuItem, SharedModule } from 'primeng/api';\nimport { BadgeModule } from 'primeng/badge';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { ChevronLeftIcon, ChevronRightIcon } from 'primeng/icons';\nimport { Ripple } from 'primeng/ripple';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { TabMenuStyle } from './style/tabmenustyle';\n\n/**\n * TabMenu is a navigation component that displays items as tab headers.\n * @group Components\n */\n@Component({\n selector: 'p-tabMenu, p-tabmenu',\n standalone: true,\n imports: [CommonModule, RouterModule, Ripple, TooltipModule, ChevronLeftIcon, ChevronRightIcon, BadgeModule, SharedModule],\n template: `\n <div [ngClass]=\"{ 'p-tabmenu p-component': true, 'p-tabmenu-scrollable': scrollable }\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <div class=\"p-tabmenu-nav-container\">\n <button *ngIf=\"scrollable && !backwardIsDisabled\" #prevBtn class=\"p-tabmenu-nav-prev-button p-tabmenu-nav-button\" (click)=\"navBackward()\" type=\"button\" role=\"navigation\" pRipple>\n <ChevronLeftIcon *ngIf=\"!previousiconTemplate\" [attr.aria-hidden]=\"true\" />\n <ng-template *ngTemplateOutlet=\"previousiconTemplate\"></ng-template>\n </button>\n <div #content class=\"p-tabmenu-nav-content\" (scroll)=\"onScroll($event)\">\n <ul #navbar class=\"p-tabmenu-nav p-reset\" role=\"menubar\" [attr.aria-labelledby]=\"ariaLabelledBy\" [attr.aria-label]=\"ariaLabel\">\n <li\n #tab\n *ngFor=\"let item of focusableItems; let i = index\"\n role=\"menuitem\"\n [ngStyle]=\"item.style\"\n [class]=\"item.styleClass\"\n [attr.data-p-disabled]=\"disabled(item)\"\n [attr.data-p-highlight]=\"focusedItemInfo() === item\"\n (click)=\"itemClick($event, item)\"\n (keydown)=\"onKeydownItem($event, i, item)\"\n (focus)=\"onMenuItemFocus(item)\"\n [ngClass]=\"{\n 'p-tabmenuitem': true,\n 'p-disabled': getItemProp(item, 'disabled'),\n 'p-tabmenuitem-active': isActive(item),\n 'p-hidden': item.visible === false\n }\"\n pTooltip\n [tooltipOptions]=\"item.tooltipOptions\"\n pRipple\n [attr.aria-label]=\"getItemProp(item, 'label')\"\n [attr.tabindex]=\"disabled(item) ? -1 : 0\"\n >\n <a\n #tabLink\n *ngIf=\"!item.routerLink && !itemTemplate\"\n class=\"p-menuitem-link\"\n role=\"presentation\"\n [attr.href]=\"getItemProp(item, 'url')\"\n [attr.id]=\"getItemProp(item, 'id')\"\n [attr.aria-disabled]=\"disabled(item)\"\n [target]=\"getItemProp(item, 'target')\"\n [tabindex]=\"-1\"\n >\n <ng-container>\n <span class=\"p-menuitem-icon\" [ngClass]=\"item.icon\" *ngIf=\"item.icon\" [ngStyle]=\"item.iconStyle\"></span>\n <span class=\"p-menuitem-text\" *ngIf=\"item.escape !== false; else htmlLabel\">{{ getItemProp(item, 'label') }}</span>\n <ng-template #htmlLabel><span class=\"p-menuitem-text\" [innerHTML]=\"getItemProp(item, 'label')\"></span></ng-template>\n <p-badge *ngIf=\"item.badge\" [styleClass]=\"item.badgeStyleClass\" [value]=\"getItemProp(item, 'badge')\" size=\"small\" />\n </ng-container>\n </a>\n <a\n #tabLink\n *ngIf=\"item.routerLink && !itemTemplate\"\n [routerLink]=\"item.routerLink\"\n [queryParams]=\"item.queryParams\"\n [routerLinkActive]=\"'p-menuitem-link-active'\"\n [routerLinkActiveOptions]=\"item.routerLinkActiveOptions || { exact: false }\"\n role=\"presentation\"\n class=\"p-menuitem-link\"\n [target]=\"item.target\"\n [attr.id]=\"getItemProp(item, 'id')\"\n [attr.aria-disabled]=\"disabled(item)\"\n [tabindex]=\"-1\"\n [fragment]=\"item.fragment\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"item.preserveFragment\"\n [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\"\n [state]=\"item.state\"\n >\n <ng-container>\n <span class=\"p-menuitem-icon\" [attr.aria-hidden]=\"true\" [ngClass]=\"item.icon\" *ngIf=\"item.icon\" [ngStyle]=\"item.iconStyle\"></span>\n <span class=\"p-menuitem-text\" *ngIf=\"item.escape !== false; else htmlRouteLabel\">{{ getItemProp(item, 'label') }}</span>\n <ng-template #htmlRouteLabel><span class=\"p-menuitem-text\" [innerHTML]=\"getItemProp(item, 'label')\"></span></ng-template>\n <p-badge *ngIf=\"item.badge\" [styleClass]=\"item.badgeStyleClass\" [value]=\"getItemProp(item, 'badge')\" size=\"small\" />\n </ng-container>\n </a>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, index: i }\"></ng-container>\n </li>\n <li #inkbar class=\"p-tabmenuitem-active-bar\" role=\"presentation\" [attr.data-pc-section]=\"'inkbar'\"></li>\n </ul>\n </div>\n <button *ngIf=\"scrollable && !forwardIsDisabled\" #nextBtn class=\"p-tabmenu-nav-next-button p-tabmenu-nav-button\" (click)=\"navForward()\" type=\"button\" role=\"navigation\" pRipple>\n <ChevronRightIcon *ngIf=\"!previousiconTemplate\" [attr.aria-hidden]=\"true\" />\n <ng-template *ngTemplateOutlet=\"nexticonTemplate\"></ng-template>\n </button>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [TabMenuStyle]\n})\nexport class TabMenu extends BaseComponent implements AfterViewInit, AfterViewChecked, OnDestroy {\n /**\n * An array of menuitems.\n * @group Props\n */\n @Input() set model(value: MenuItem[] | undefined) {\n this._model = value;\n this._focusableItems = (this._model || []).reduce((result, item) => {\n result.push(item);\n\n return result;\n }, []);\n }\n get model(): MenuItem[] | undefined {\n return this._model;\n }\n /**\n * Defines the default active menuitem\n * @group Props\n */\n @Input() set activeItem(value: MenuItem | undefined) {\n this._activeItem = value;\n this.activeItemChange.emit(value);\n this.tabChanged = true;\n }\n\n get activeItem(): MenuItem | undefined {\n return this._activeItem;\n }\n /**\n * When enabled displays buttons at each side of the tab headers to scroll the tab list.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) scrollable: boolean | undefined;\n /**\n * Defines if popup mode enabled.\n */\n @Input({ transform: booleanAttribute }) popup: boolean | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Defines a string value that labels an interactive element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Identifier of the underlying input element.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Event fired when a tab is selected.\n * @param {MenuItem} item - Menu item.\n * @group Emits\n */\n @Output() activeItemChange: EventEmitter<MenuItem> = new EventEmitter<MenuItem>();\n\n @ViewChild('content') content: Nullable<ElementRef>;\n\n @ViewChild('navbar') navbar: Nullable<ElementRef>;\n\n @ViewChild('inkbar') inkbar: Nullable<ElementRef>;\n\n @ViewChild('prevBtn') prevBtn: Nullable<ElementRef>;\n\n @ViewChild('nextBtn') nextBtn: Nullable<ElementRef>;\n\n @ViewChildren('tabLink') tabLink: Nullable<QueryList<ElementRef>>;\n\n @ViewChildren('tab') tab: Nullable<QueryList<ElementRef>>;\n\n /**\n * Template of the menu item.\n * @group Templates\n */\n @ContentChild('item') itemTemplate: Nullable<TemplateRef<any>>;\n /**\n * Template of the previous icon.\n * @group Templates\n */\n @ContentChild('previousicon') previousiconTemplate: Nullable<TemplateRef<any>>;\n /**\n * Template of the next icon.\n * @group Templates\n */\n @ContentChild('nexticon') nexticonTemplate: Nullable<TemplateRef<any>>;\n\n tabChanged: boolean | undefined;\n\n backwardIsDisabled: boolean = true;\n\n forwardIsDisabled: boolean = false;\n\n private timerIdForInitialAutoScroll: any = null;\n\n _focusableItems: MenuItem[] | undefined | any;\n\n _model: MenuItem[] | undefined;\n\n _activeItem: MenuItem | undefined;\n\n focusedItemInfo = signal<any>(null);\n\n router = inject(Router);\n\n route = inject(ActivatedRoute);\n\n _componentStyle = inject(TabMenuStyle);\n\n get focusableItems() {\n if (!this._focusableItems || !this._focusableItems.length) {\n this._focusableItems = (this.model || []).reduce((result, item) => {\n result.push(item);\n\n return result;\n }, []);\n }\n return this._focusableItems;\n }\n\n constructor() {\n super();\n console.log('TabMenu is deprecated as of v18. Use tabs component instead https://primeng.org/tabs#tabmenu');\n }\n\n ngAfterViewInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n this.updateInkBar();\n this.initAutoScrollForActiveItem();\n this.initButtonState();\n }\n }\n\n ngAfterViewChecked() {\n if (isPlatformBrowser(this.platformId)) {\n this.updateInkBar();\n this.tabChanged = false;\n }\n }\n\n ngOnDestroy(): void {\n this.clearAutoScrollHandler();\n super.ngOnDestroy();\n }\n\n isActive(item: MenuItem) {\n if (item.routerLink) {\n const routerLink = Array.isArray(item.routerLink) ? item.routerLink : [item.routerLink];\n\n return this.router.isActive(this.router.createUrlTree(routerLink, { relativeTo: this.route }).toString(), item.routerLinkActiveOptions?.exact ?? item.routerLinkActiveOptions ?? false);\n }\n\n return item === this.activeItem;\n }\n\n getItemProp(item: any, name: string) {\n return item ? resolve(item[name]) : undefined;\n }\n\n visible(item) {\n return typeof item.visible === 'function' ? item.visible() : item.visible !== false;\n }\n\n disabled(item) {\n return typeof item.disabled === 'function' ? item.disabled() : item.disabled;\n }\n\n onMenuItemFocus(item) {\n this.focusedItemInfo.set(item);\n }\n\n itemClick(event: Event, item: MenuItem) {\n if (item.disabled) {\n event.preventDefault();\n return;\n }\n\n if (!item.url && !item.routerLink) {\n event.preventDefault();\n }\n\n if (item.command) {\n item.command({\n originalEvent: event,\n item: item\n });\n }\n\n this.activeItem = item;\n this.activeItemChange.emit(item);\n this.tabChanged = true;\n this.cd.markForCheck();\n }\n\n onKeydownItem(event, index, item) {\n let i = index;\n\n let foundElement = {};\n const tabs = this.tab.toArray();\n\n switch (event.code) {\n case 'ArrowRight':\n foundElement = this.findNextItem(tabs, i);\n i = foundElement['i'];\n this.changeFocusedTab(event, foundElement['nextItem'], i);\n break;\n\n case 'ArrowLeft':\n foundElement = this.findPrevItem(tabs, i);\n i = foundElement['i'];\n this.changeFocusedTab(event, foundElement['prevItem'], i);\n break;\n\n case 'End':\n foundElement = this.findPrevItem(tabs, this.model.length);\n i = foundElement['i'];\n this.changeFocusedTab(event, foundElement['prevItem'], i);\n event.preventDefault();\n break;\n\n case 'Home':\n foundElement = this.findNextItem(tabs, -1);\n i = foundElement['i'];\n this.changeFocusedTab(event, foundElement['nextItem'], i);\n event.preventDefault();\n break;\n\n case 'Space':\n case 'Enter':\n this.itemClick(event, item);\n break;\n\n case 'Tab':\n this.onTabKeyDown(tabs);\n break;\n\n default:\n break;\n }\n\n if (tabs[i] && tabs[index]) {\n tabs[index].nativeElement.tabIndex = '-1';\n tabs[i].nativeElement.tabIndex = '0';\n tabs[i].nativeElement.focus();\n }\n this.cd.markForCheck();\n }\n\n onTabKeyDown(tabLinks) {\n tabLinks.forEach((item) => {\n item.nativeElement.tabIndex = getAttribute(item.nativeElement.parentElement, 'data-p-highlight') ? '0' : '-1';\n });\n }\n\n changeFocusedTab(event: KeyboardEvent, element: HTMLLIElement, index: number) {\n if (element) {\n focus(element);\n element.scrollIntoView({ block: 'nearest' });\n\n this.itemClick(event, element);\n }\n }\n\n findNextItem(items, index) {\n let i = index + 1;\n\n if (i >= items.length) {\n return { nextItem: items[items.length], i: items.length };\n }\n\n let nextItem = items[i];\n\n if (nextItem) return getAttribute(nextItem.nativeElement, 'data-p-disabled') ? this.findNextItem(items, i) : { nextItem: nextItem.nativeElement, i };\n else return null;\n }\n\n findPrevItem(items, index) {\n let i = index - 1;\n\n if (i < 0) {\n return { prevItem: items[0], i: 0 };\n }\n\n let prevItem = items[i];\n\n if (prevItem) return getAttribute(prevItem.nativeElement, 'data-p-disabled') ? this.findPrevItem(items, i) : { prevItem: prevItem.nativeElement, i };\n else return null;\n }\n\n updateInkBar() {\n const tabHeader = findSingle(this.navbar?.nativeElement, 'li.p-tabmenu-active');\n if (tabHeader) {\n (this.inkbar as ElementRef).nativeElement.style.width = getWidth(tabHeader as any) + 'px';\n (this.inkbar as ElementRef).nativeElement.style.left = <any>getOffset(tabHeader).left - <any>getOffset(this.navbar?.nativeElement).left + 'px';\n }\n }\n\n getVisibleButtonWidths() {\n return [this.prevBtn?.nativeElement, this.nextBtn?.nativeElement].reduce((acc, el) => (el ? acc + getWidth(el) : acc), 0);\n }\n\n updateButtonState() {\n const content = this.content?.nativeElement;\n const { scrollLeft, scrollWidth } = content;\n const width = getWidth(content);\n\n this.backwardIsDisabled = scrollLeft === 0;\n this.forwardIsDisabled = parseInt(scrollLeft) === scrollWidth - width;\n }\n\n updateScrollBar(index: number): void {\n const tabHeader = this.navbar?.nativeElement.children[index];\n\n if (!tabHeader) {\n return;\n }\n\n tabHeader.scrollIntoView({ block: 'nearest' });\n }\n\n onScroll(event: Event) {\n this.scrollable && this.updateButtonState();\n\n event.preventDefault();\n }\n\n navBackward() {\n const content = this.content?.nativeElement;\n const width = getWidth(content) - this.getVisibleButtonWidths();\n const pos = content.scrollLeft - width;\n content.scrollLeft = pos <= 0 ? 0 : pos;\n }\n\n navForward() {\n const content = this.content?.nativeElement;\n const width = getWidth(content) - this.getVisibleButtonWidths();\n const pos = content.scrollLeft + width;\n const lastPos = content.scrollWidth - width;\n content.scrollLeft = pos >= lastPos ? lastPos : pos;\n }\n\n private initAutoScrollForActiveItem(): void {\n if (!this.scrollable) {\n return;\n }\n\n this.clearAutoScrollHandler();\n // We have to wait for the rendering and then can scroll to element.\n this.timerIdForInitialAutoScroll = setTimeout(() => {\n const activeItem = (this.model as MenuItem[]).findIndex((menuItem) => this.isActive(menuItem));\n\n if (activeItem !== -1) {\n this.updateScrollBar(activeItem);\n }\n });\n }\n\n private clearAutoScrollHandler(): void {\n if (this.timerIdForInitialAutoScroll) {\n clearTimeout(this.timerIdForInitialAutoScroll);\n this.timerIdForInitialAutoScroll = null;\n }\n }\n\n private initButtonState(): void {\n if (this.scrollable) {\n // We have to wait for the rendering and then retrieve the actual size element from the DOM.\n // in future `Promise.resolve` can be changed to `queueMicrotask` (if ie11 support will be dropped)\n Promise.resolve().then(() => {\n this.updateButtonState();\n this.cd.markForCheck();\n });\n }\n }\n}\n\n@NgModule({\n imports: [TabMenu, SharedModule],\n exports: [TabMenu, SharedModule]\n})\nexport class TabMenuModule {}\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-tabmenu.mjs","sources":["../../src/tabmenu/style/tabmenustyle.ts","../../src/tabmenu/tabmenu.ts","../../src/tabmenu/primeng-tabmenu.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n\n/* For PrimeNG */\n.p-tabmenu.p-component {\n display: flex;\n flex-direction: column;\n}\n\n.p-tabmenu-nav-container {\n display: flex;\n position: relative;\n}\n\n.p-tabmenu.p-tabmenu-scrollable .p-tabmenu-nav-container {\n overflow: hidden;\n}\n\n.p-tabmenu-nav-content {\n flex-grow: 1;\n overflow-x: auto;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scrollbar-width: none;\n overscroll-behavior: contain auto;\n}\n\n.p-tabmenu-nav {\n padding: 0;\n margin: 0;\n list-style-type: none;\n position: relative;\n display: flex;\n flex-wrap: nowrap;\n background: ${dt('tabs.tablist.background')};\n border-style: solid;\n border-color: ${dt('tabs.tablist.border.color')};\n border-width: ${dt('tabs.tablist.border.width')};\n}\n\n.p-tabmenuitem {\n display: flex;\n flex-shrink: 0;\n cursor: pointer;\n position: relative;\n border-style: solid;\n background: ${dt('tabs.tab.background')};\n border-width: ${dt('tabs.tab.border.width')};\n border-color: ${dt('tabs.tab.border.color')};\n padding: ${dt('tabs.tab.padding')};\n transition: background ${dt('tabs.transition.duration')}, border-color ${dt('tabs.transition.duration')}, color ${dt('tabs.transition.duration')}, outline-color ${dt('tabs.transition.duration')}, box-shadow ${dt('tabs.transition.duration')};\n margin: ${dt('tabs.tab.margin')};\n outline-color: transparent;\n}\n\n.p-tabmenuitem > .p-menuitem-link {\n white-space: nowrap;\n user-select: none;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n gap: ${dt('tabs.tab.gap')};\n color: ${dt('tabs.tab.color')};\n font-weight: ${dt('tabs.tab.font.weight')};\n}\n\n.p-tabmenuitem.p-tabmenuitem-active .p-menuitem-link {\n color: ${dt('tabs.tab.active.color')};\n}\n\n.p-tabmenuitem:not(.p-disabled):focus-visible {\n z-index: 1;\n box-shadow: ${dt('tabs.tab.focus.ring.shadow')};\n outline: ${dt('tabs.tab.focus.ring.width')} ${dt('tabs.tab.focus.ring.style')} ${dt('tabs.tab.focus.ring.color')};\n outline-offset: ${dt('tabs.tab.focus.ring.offset')};\n}\n\n.p-tabmenuitem:not(.p-tabmenuitem-active):not(.p-disabled):hover {\n background: ${dt('tabs.tab.hover.background')};\n border-color: ${dt('tabs.tab.hover.border.color')};\n color: ${dt('tabs.tab.hover.color')};\n}\n\n.p-tabmenuitem-active {\n background: ${dt('tabs.tab.active.background')};\n border-color: ${dt('tabs.tab.active.border.color')};\n color: ${dt('tabs.tab.active.color')};\n}\n\n.p-tabmenuitem-active-bar {\n z-index: 1;\n display: block;\n position: absolute;\n bottom: ${dt('tabs.active.bar.bottom')};\n height: ${dt('tabs.active.bar.height')};\n background: ${dt('tabs.active.bar.background')};\n transition: 250ms cubic-bezier(0.35, 0, 0.25, 1);\n}\n\n.p-tabmenu-nav-button {\n all: unset;\n position: absolute !important;\n flex-shrink: 0;\n top: 0;\n z-index: 2;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n background: ${dt('tabs.nav.button.background')};\n color: ${dt('tabs.nav.button.color')};\n width: ${dt('tabs.nav.button.width')};\n transition: color ${dt('tabs.transition.duration')}, outline-color ${dt('tabs.transition.duration')}, box-shadow ${dt('tabs.transition.duration')};\n box-shadow: ${dt('tabs.nav.button.shadow')};\n outline-color: transparent;\n cursor: pointer;\n}\n\n.p-tabmenu-nav-button:focus-visible {\n z-index: 1;\n box-shadow: ${dt('tabs.nav.button.focus.ring.shadow')};\n outline: ${dt('tabs.nav.button.focus.ring.width')} ${dt('tabs.nav.button.focus.ring.style')} ${dt('tabs.nav.button.focus.ring.color')};\n outline-offset: ${dt('tabs.nav.button.focus.ring.offset')};\n}\n\n.p-tabmenu-nav-button:hover {\n color: ${dt('tabs.nav.button.hover.color')};\n}\n\n.p-tabmenu-nav-prev-button {\n left: 0;\n}\n\n.p-tabmenu-nav-next-button {\n right: 0;\n}`;\n\n@Injectable()\nexport class TabMenuStyle extends BaseStyle {\n name = 'tabs';\n\n theme = theme;\n}\n\n/**\n *\n * TabMenu is a navigation component that displays items as tab headers. Example below uses nested routes with TabMenu.\n *\n * [Live Demo](https://www.primeng.org/tabmenu/)\n *\n * @module tabmenustyle\n *\n */\nexport enum TabMenuClasses {\n /**\n * Class name of the root element\n */\n root = 'p-tabmenu',\n /**\n * Class name of the tablist element\n */\n tablist = 'p-tabmenu-tablist',\n /**\n * Class name of the item element\n */\n item = 'p-tabmenu-item',\n /**\n * Class name of the item link element\n */\n itemLink = 'p-tabmenu-item-link',\n /**\n * Class name of the item icon element\n */\n itemIcon = 'p-tabmenu-item-icon',\n /**\n * Class name of the item label element\n */\n itemLabel = 'p-tabmenu-item-label',\n /**\n * Class name of the inkbar element\n */\n inkbar = 'p-tabmenu-ink-bar'\n}\n\nexport interface TabMenuStyle extends BaseStyle {}\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewChecked,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n NgModule,\n OnDestroy,\n Output,\n QueryList,\n signal,\n TemplateRef,\n ViewChild,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { findSingle, focus, getAttribute, getOffset, getWidth, resolve } from '@primeuix/utils';\nimport { MenuItem, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BadgeModule } from 'primeng/badge';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { ChevronLeftIcon, ChevronRightIcon } from 'primeng/icons';\nimport { Ripple } from 'primeng/ripple';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { TabMenuStyle } from './style/tabmenustyle';\n\n/**\n * TabMenu is a navigation component that displays items as tab headers.\n * @group Components\n */\n@Component({\n selector: 'p-tabMenu, p-tabmenu',\n standalone: true,\n imports: [CommonModule, RouterModule, Ripple, TooltipModule, ChevronLeftIcon, ChevronRightIcon, BadgeModule, SharedModule],\n template: `\n <div [ngClass]=\"{ 'p-tabmenu p-component': true, 'p-tabmenu-scrollable': scrollable }\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <div class=\"p-tabmenu-nav-container\">\n <button *ngIf=\"scrollable && !backwardIsDisabled\" #prevBtn class=\"p-tabmenu-nav-prev-button p-tabmenu-nav-button\" (click)=\"navBackward()\" type=\"button\" role=\"navigation\" pRipple>\n <ChevronLeftIcon *ngIf=\"!previousIconTemplate && !_previousIconTemplate\" [attr.aria-hidden]=\"true\" />\n <ng-template *ngTemplateOutlet=\"previousIconTemplate || _previousIconTemplate\"></ng-template>\n </button>\n <div #content class=\"p-tabmenu-nav-content\" (scroll)=\"onScroll($event)\">\n <ul #navbar class=\"p-tabmenu-nav p-reset\" role=\"menubar\" [attr.aria-labelledby]=\"ariaLabelledBy\" [attr.aria-label]=\"ariaLabel\">\n <li\n #tab\n *ngFor=\"let item of focusableItems; let i = index\"\n role=\"menuitem\"\n [ngStyle]=\"item.style\"\n [class]=\"item.styleClass\"\n [attr.data-p-disabled]=\"disabled(item)\"\n [attr.data-p-highlight]=\"focusedItemInfo() === item\"\n (click)=\"itemClick($event, item)\"\n (keydown)=\"onKeydownItem($event, i, item)\"\n (focus)=\"onMenuItemFocus(item)\"\n [ngClass]=\"{\n 'p-tabmenuitem': true,\n 'p-disabled': getItemProp(item, 'disabled'),\n 'p-tabmenuitem-active': isActive(item),\n 'p-hidden': item.visible === false\n }\"\n pTooltip\n [tooltipOptions]=\"item.tooltipOptions\"\n pRipple\n [attr.aria-label]=\"getItemProp(item, 'label')\"\n [attr.tabindex]=\"disabled(item) ? -1 : 0\"\n >\n <a\n #tabLink\n *ngIf=\"!item.routerLink && !itemTemplate && !_itemTemplate\"\n class=\"p-menuitem-link\"\n role=\"presentation\"\n [attr.href]=\"getItemProp(item, 'url')\"\n [attr.id]=\"getItemProp(item, 'id')\"\n [attr.aria-disabled]=\"disabled(item)\"\n [target]=\"getItemProp(item, 'target')\"\n [tabindex]=\"-1\"\n >\n <ng-container>\n <span class=\"p-menuitem-icon\" [ngClass]=\"item.icon\" *ngIf=\"item.icon\" [ngStyle]=\"item.iconStyle\"></span>\n <span class=\"p-menuitem-text\" *ngIf=\"item.escape !== false; else htmlLabel\">{{ getItemProp(item, 'label') }}</span>\n <ng-template #htmlLabel><span class=\"p-menuitem-text\" [innerHTML]=\"getItemProp(item, 'label')\"></span></ng-template>\n <p-badge *ngIf=\"item.badge\" [styleClass]=\"item.badgeStyleClass\" [value]=\"getItemProp(item, 'badge')\" size=\"small\" />\n </ng-container>\n </a>\n <a\n #tabLink\n *ngIf=\"item.routerLink && !itemTemplate && !_itemTemplate\"\n [routerLink]=\"item.routerLink\"\n [queryParams]=\"item.queryParams\"\n [routerLinkActive]=\"'p-menuitem-link-active'\"\n [routerLinkActiveOptions]=\"item.routerLinkActiveOptions || { exact: false }\"\n role=\"presentation\"\n class=\"p-menuitem-link\"\n [target]=\"item.target\"\n [attr.id]=\"getItemProp(item, 'id')\"\n [attr.aria-disabled]=\"disabled(item)\"\n [tabindex]=\"-1\"\n [fragment]=\"item.fragment\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"item.preserveFragment\"\n [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\"\n [state]=\"item.state\"\n >\n <ng-container>\n <span class=\"p-menuitem-icon\" [attr.aria-hidden]=\"true\" [ngClass]=\"item.icon\" *ngIf=\"item.icon\" [ngStyle]=\"item.iconStyle\"></span>\n <span class=\"p-menuitem-text\" *ngIf=\"item.escape !== false; else htmlRouteLabel\">{{ getItemProp(item, 'label') }}</span>\n <ng-template #htmlRouteLabel><span class=\"p-menuitem-text\" [innerHTML]=\"getItemProp(item, 'label')\"></span></ng-template>\n <p-badge *ngIf=\"item.badge\" [styleClass]=\"item.badgeStyleClass\" [value]=\"getItemProp(item, 'badge')\" size=\"small\" />\n </ng-container>\n </a>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, index: i }\"></ng-container>\n </li>\n <li #inkbar class=\"p-tabmenuitem-active-bar\" role=\"presentation\" [attr.data-pc-section]=\"'inkbar'\"></li>\n </ul>\n </div>\n <button *ngIf=\"scrollable && !forwardIsDisabled\" #nextBtn class=\"p-tabmenu-nav-next-button p-tabmenu-nav-button\" (click)=\"navForward()\" type=\"button\" role=\"navigation\" pRipple>\n <ChevronRightIcon *ngIf=\"!previousIconTemplate && !_previousIconTemplate\" [attr.aria-hidden]=\"true\" />\n <ng-template *ngTemplateOutlet=\"nextIconTemplate || _nextIconTemplate\"></ng-template>\n </button>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [TabMenuStyle]\n})\nexport class TabMenu extends BaseComponent implements AfterViewInit, AfterContentInit, AfterViewChecked, OnDestroy {\n /**\n * An array of menuitems.\n * @group Props\n */\n @Input() set model(value: MenuItem[] | undefined) {\n this._model = value;\n this._focusableItems = (this._model || []).reduce((result, item) => {\n result.push(item);\n\n return result;\n }, []);\n }\n get model(): MenuItem[] | undefined {\n return this._model;\n }\n /**\n * Defines the default active menuitem\n * @group Props\n */\n @Input() set activeItem(value: MenuItem | undefined) {\n this._activeItem = value;\n this.activeItemChange.emit(value);\n this.tabChanged = true;\n }\n\n get activeItem(): MenuItem | undefined {\n return this._activeItem;\n }\n /**\n * When enabled displays buttons at each side of the tab headers to scroll the tab list.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) scrollable: boolean | undefined;\n /**\n * Defines if popup mode enabled.\n */\n @Input({ transform: booleanAttribute }) popup: boolean | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Defines a string value that labels an interactive element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Identifier of the underlying input element.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Event fired when a tab is selected.\n * @param {MenuItem} item - Menu item.\n * @group Emits\n */\n @Output() activeItemChange: EventEmitter<MenuItem> = new EventEmitter<MenuItem>();\n\n @ViewChild('content') content: Nullable<ElementRef>;\n\n @ViewChild('navbar') navbar: Nullable<ElementRef>;\n\n @ViewChild('inkbar') inkbar: Nullable<ElementRef>;\n\n @ViewChild('prevBtn') prevBtn: Nullable<ElementRef>;\n\n @ViewChild('nextBtn') nextBtn: Nullable<ElementRef>;\n\n @ViewChildren('tabLink') tabLink: Nullable<QueryList<ElementRef>>;\n\n @ViewChildren('tab') tab: Nullable<QueryList<ElementRef>>;\n\n /**\n * Template of the menu item.\n * @group Templates\n */\n @ContentChild('item', { descendants: false }) itemTemplate: Nullable<TemplateRef<any>>;\n /**\n * Template of the previous icon.\n * @group Templates\n */\n @ContentChild('previousicon', { descendants: false }) previousIconTemplate: Nullable<TemplateRef<any>>;\n /**\n * Template of the next icon.\n * @group Templates\n */\n @ContentChild('nexticon', { descendants: false }) nextIconTemplate: Nullable<TemplateRef<any>>;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n _itemTemplate: TemplateRef<any> | undefined;\n\n _nextIconTemplate: TemplateRef<any> | undefined;\n\n _previousIconTemplate: TemplateRef<any> | undefined;\n\n tabChanged: boolean | undefined;\n\n backwardIsDisabled: boolean = true;\n\n forwardIsDisabled: boolean = false;\n\n private timerIdForInitialAutoScroll: any = null;\n\n _focusableItems: MenuItem[] | undefined | any;\n\n _model: MenuItem[] | undefined;\n\n _activeItem: MenuItem | undefined;\n\n focusedItemInfo = signal<any>(null);\n\n router = inject(Router);\n\n route = inject(ActivatedRoute);\n\n _componentStyle = inject(TabMenuStyle);\n\n get focusableItems() {\n if (!this._focusableItems || !this._focusableItems.length) {\n this._focusableItems = (this.model || []).reduce((result, item) => {\n result.push(item);\n\n return result;\n }, []);\n }\n return this._focusableItems;\n }\n\n constructor() {\n super();\n console.log('TabMenu is deprecated as of v18. Use tabs component instead https://primeng.org/tabs#tabmenu');\n }\n\n ngAfterViewInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n this.updateInkBar();\n this.initAutoScrollForActiveItem();\n this.initButtonState();\n }\n }\n\n ngAfterViewChecked() {\n if (isPlatformBrowser(this.platformId)) {\n this.updateInkBar();\n this.tabChanged = false;\n }\n }\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this._itemTemplate = item.template;\n break;\n\n case 'nexticon':\n this._nextIconTemplate = item.template;\n break;\n\n case 'previousicon':\n this._previousIconTemplate = item.template;\n break;\n\n default:\n this._itemTemplate = item.template;\n break;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.clearAutoScrollHandler();\n super.ngOnDestroy();\n }\n\n isActive(item: MenuItem) {\n if (item.routerLink) {\n const routerLink = Array.isArray(item.routerLink) ? item.routerLink : [item.routerLink];\n\n return this.router.isActive(this.router.createUrlTree(routerLink, { relativeTo: this.route }).toString(), item.routerLinkActiveOptions?.exact ?? item.routerLinkActiveOptions ?? false);\n }\n\n return item === this.activeItem;\n }\n\n getItemProp(item: any, name: string): string {\n return item ? resolve(item[name]) : undefined;\n }\n\n visible(item) {\n return typeof item.visible === 'function' ? item.visible() : item.visible !== false;\n }\n\n disabled(item) {\n return typeof item.disabled === 'function' ? item.disabled() : item.disabled;\n }\n\n onMenuItemFocus(item) {\n this.focusedItemInfo.set(item);\n }\n\n itemClick(event: Event, item: MenuItem) {\n if (item.disabled) {\n event.preventDefault();\n return;\n }\n\n if (!item.url && !item.routerLink) {\n event.preventDefault();\n }\n\n if (item.command) {\n item.command({\n originalEvent: event,\n item: item\n });\n }\n\n this.activeItem = item;\n this.activeItemChange.emit(item);\n this.tabChanged = true;\n this.cd.markForCheck();\n }\n\n onKeydownItem(event, index, item) {\n let i = index;\n\n let foundElement = {};\n const tabs = this.tab.toArray();\n\n switch (event.code) {\n case 'ArrowRight':\n foundElement = this.findNextItem(tabs, i);\n i = foundElement['i'];\n this.changeFocusedTab(event, foundElement['nextItem'], i);\n break;\n\n case 'ArrowLeft':\n foundElement = this.findPrevItem(tabs, i);\n i = foundElement['i'];\n this.changeFocusedTab(event, foundElement['prevItem'], i);\n break;\n\n case 'End':\n foundElement = this.findPrevItem(tabs, this.model.length);\n i = foundElement['i'];\n this.changeFocusedTab(event, foundElement['prevItem'], i);\n event.preventDefault();\n break;\n\n case 'Home':\n foundElement = this.findNextItem(tabs, -1);\n i = foundElement['i'];\n this.changeFocusedTab(event, foundElement['nextItem'], i);\n event.preventDefault();\n break;\n\n case 'Space':\n case 'Enter':\n this.itemClick(event, item);\n break;\n\n case 'Tab':\n this.onTabKeyDown(tabs);\n break;\n\n default:\n break;\n }\n\n if (tabs[i] && tabs[index]) {\n tabs[index].nativeElement.tabIndex = '-1';\n tabs[i].nativeElement.tabIndex = '0';\n tabs[i].nativeElement.focus();\n }\n this.cd.markForCheck();\n }\n\n onTabKeyDown(tabLinks) {\n tabLinks.forEach((item) => {\n item.nativeElement.tabIndex = getAttribute(item.nativeElement.parentElement, 'data-p-highlight') ? '0' : '-1';\n });\n }\n\n changeFocusedTab(event: KeyboardEvent, element: HTMLLIElement, index: number) {\n if (element) {\n focus(element);\n element.scrollIntoView({ block: 'nearest' });\n\n this.itemClick(event, element);\n }\n }\n\n findNextItem(items, index) {\n let i = index + 1;\n\n if (i >= items.length) {\n return { nextItem: items[items.length], i: items.length };\n }\n\n let nextItem = items[i];\n\n if (nextItem) return getAttribute(nextItem.nativeElement, 'data-p-disabled') ? this.findNextItem(items, i) : { nextItem: nextItem.nativeElement, i };\n else return null;\n }\n\n findPrevItem(items, index) {\n let i = index - 1;\n\n if (i < 0) {\n return { prevItem: items[0], i: 0 };\n }\n\n let prevItem = items[i];\n\n if (prevItem) return getAttribute(prevItem.nativeElement, 'data-p-disabled') ? this.findPrevItem(items, i) : { prevItem: prevItem.nativeElement, i };\n else return null;\n }\n\n updateInkBar() {\n const tabHeader = findSingle(this.navbar?.nativeElement, 'li.p-tabmenu-active');\n if (tabHeader) {\n (this.inkbar as ElementRef).nativeElement.style.width = getWidth(tabHeader as any) + 'px';\n (this.inkbar as ElementRef).nativeElement.style.left = <any>getOffset(tabHeader).left - <any>getOffset(this.navbar?.nativeElement).left + 'px';\n }\n }\n\n getVisibleButtonWidths() {\n return [this.prevBtn?.nativeElement, this.nextBtn?.nativeElement].reduce((acc, el) => (el ? acc + getWidth(el) : acc), 0);\n }\n\n updateButtonState() {\n const content = this.content?.nativeElement;\n const { scrollLeft, scrollWidth } = content;\n const width = getWidth(content);\n\n this.backwardIsDisabled = scrollLeft === 0;\n this.forwardIsDisabled = parseInt(scrollLeft) === scrollWidth - width;\n }\n\n updateScrollBar(index: number): void {\n const tabHeader = this.navbar?.nativeElement.children[index];\n\n if (!tabHeader) {\n return;\n }\n\n tabHeader.scrollIntoView({ block: 'nearest' });\n }\n\n onScroll(event: Event) {\n this.scrollable && this.updateButtonState();\n\n event.preventDefault();\n }\n\n navBackward() {\n const content = this.content?.nativeElement;\n const width = getWidth(content) - this.getVisibleButtonWidths();\n const pos = content.scrollLeft - width;\n content.scrollLeft = pos <= 0 ? 0 : pos;\n }\n\n navForward() {\n const content = this.content?.nativeElement;\n const width = getWidth(content) - this.getVisibleButtonWidths();\n const pos = content.scrollLeft + width;\n const lastPos = content.scrollWidth - width;\n content.scrollLeft = pos >= lastPos ? lastPos : pos;\n }\n\n private initAutoScrollForActiveItem(): void {\n if (!this.scrollable) {\n return;\n }\n\n this.clearAutoScrollHandler();\n // We have to wait for the rendering and then can scroll to element.\n this.timerIdForInitialAutoScroll = setTimeout(() => {\n const activeItem = (this.model as MenuItem[]).findIndex((menuItem) => this.isActive(menuItem));\n\n if (activeItem !== -1) {\n this.updateScrollBar(activeItem);\n }\n });\n }\n\n private clearAutoScrollHandler(): void {\n if (this.timerIdForInitialAutoScroll) {\n clearTimeout(this.timerIdForInitialAutoScroll);\n this.timerIdForInitialAutoScroll = null;\n }\n }\n\n private initButtonState(): void {\n if (this.scrollable) {\n // We have to wait for the rendering and then retrieve the actual size element from the DOM.\n // in future `Promise.resolve` can be changed to `queueMicrotask` (if ie11 support will be dropped)\n Promise.resolve().then(() => {\n this.updateButtonState();\n this.cd.markForCheck();\n });\n }\n }\n}\n\n@NgModule({\n imports: [TabMenu, SharedModule],\n exports: [TabMenu, SharedModule]\n})\nexport class TabMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import * as i1 from '@angular/common';
2
2
  import { isPlatformBrowser, CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Injectable, inject, forwardRef, signal, computed, effect, Component, ChangeDetectionStrategy, ViewEncapsulation, ContentChild, ViewChild, model, input, booleanAttribute, HostListener, numberAttribute, NgModule } from '@angular/core';
4
+ import { Injectable, inject, forwardRef, signal, computed, effect, Component, ChangeDetectionStrategy, ViewEncapsulation, ContentChild, ContentChildren, ViewChild, model, input, booleanAttribute, HostListener, numberAttribute, NgModule } from '@angular/core';
5
5
  import { getWidth, isRTL, getHeight, findSingle, getOuterWidth, getOffset, equals, getAttribute, focus, uuid } from '@primeuix/utils';
6
6
  import { BaseComponent } from 'primeng/basecomponent';
7
7
  import { BaseStyle } from 'primeng/base';
8
- import { SharedModule } from 'primeng/api';
8
+ import { PrimeTemplate, SharedModule } from 'primeng/api';
9
9
  import * as i2 from 'primeng/ripple';
10
10
  import { RippleModule, Ripple } from 'primeng/ripple';
11
11
  import { ChevronLeftIcon, ChevronRightIcon } from 'primeng/icons';
@@ -234,7 +234,7 @@ function TabList_Conditional_0_Conditional_2_Template(rf, ctx) { if (rf & 1) {
234
234
  i0.ɵɵtemplate(0, TabList_Conditional_0_Conditional_2_ng_container_0_Template, 1, 0, "ng-container", 11);
235
235
  } if (rf & 2) {
236
236
  const ctx_r2 = i0.ɵɵnextContext(2);
237
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.prevIconTemplate);
237
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.prevIconTemplate || ctx_r2._prevIconTemplate);
238
238
  } }
239
239
  function TabList_Conditional_0_Conditional_3_Template(rf, ctx) { if (rf & 1) {
240
240
  i0.ɵɵelement(0, "ChevronLeftIcon");
@@ -249,7 +249,7 @@ function TabList_Conditional_0_Template(rf, ctx) { if (rf & 1) {
249
249
  const ctx_r2 = i0.ɵɵnextContext();
250
250
  i0.ɵɵattribute("aria-label", ctx_r2.prevButtonAriaLabel)("tabindex", ctx_r2.tabindex)("data-pc-group-section", "navigator");
251
251
  i0.ɵɵadvance(2);
252
- i0.ɵɵconditional(ctx_r2.prevIconTemplate ? 2 : 3);
252
+ i0.ɵɵconditional(ctx_r2.prevIconTemplate || ctx_r2._prevIconTemplate ? 2 : 3);
253
253
  } }
254
254
  function TabList_Conditional_8_Conditional_2_ng_container_0_Template(rf, ctx) { if (rf & 1) {
255
255
  i0.ɵɵelementContainer(0);
@@ -258,7 +258,7 @@ function TabList_Conditional_8_Conditional_2_Template(rf, ctx) { if (rf & 1) {
258
258
  i0.ɵɵtemplate(0, TabList_Conditional_8_Conditional_2_ng_container_0_Template, 1, 0, "ng-container", 11);
259
259
  } if (rf & 2) {
260
260
  const ctx_r2 = i0.ɵɵnextContext(2);
261
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.nextIconTemplate);
261
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.nextIconTemplate || ctx_r2._nextIconTemplate);
262
262
  } }
263
263
  function TabList_Conditional_8_Conditional_3_Template(rf, ctx) { if (rf & 1) {
264
264
  i0.ɵɵelement(0, "ChevronRightIcon");
@@ -273,7 +273,7 @@ function TabList_Conditional_8_Template(rf, ctx) { if (rf & 1) {
273
273
  const ctx_r2 = i0.ɵɵnextContext();
274
274
  i0.ɵɵattribute("aria-label", ctx_r2.nextButtonAriaLabel)("tabindex", ctx_r2.tabindex)("data-pc-group-section", "navigator");
275
275
  i0.ɵɵadvance(2);
276
- i0.ɵɵconditional(ctx_r2.nextIconTemplate ? 2 : 3);
276
+ i0.ɵɵconditional(ctx_r2.nextIconTemplate || ctx_r2._nextIconTemplate ? 2 : 3);
277
277
  } }
278
278
  /**
279
279
  * TabList is a helper component for Tabs component.
@@ -292,6 +292,7 @@ class TabList extends BaseComponent {
292
292
  * @group Templates
293
293
  */
294
294
  nextIconTemplate;
295
+ templates;
295
296
  content;
296
297
  prevButton;
297
298
  nextButton;
@@ -328,14 +329,16 @@ class TabList extends BaseComponent {
328
329
  this.bindResizeObserver();
329
330
  }
330
331
  }
332
+ _prevIconTemplate;
333
+ _nextIconTemplate;
331
334
  ngAfterContentInit() {
332
335
  this.templates.forEach((t) => {
333
336
  switch (t.getType()) {
334
337
  case 'previcon':
335
- this.prevIconTemplate = t.template;
338
+ this._prevIconTemplate = t.template;
336
339
  break;
337
340
  case 'nexticon':
338
- this.nextIconTemplate = t.template;
341
+ this._nextIconTemplate = t.template;
339
342
  break;
340
343
  }
341
344
  });
@@ -397,12 +400,14 @@ class TabList extends BaseComponent {
397
400
  }
398
401
  static ɵfac = function TabList_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TabList)(); };
399
402
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabList, selectors: [["p-tablist"]], contentQueries: function TabList_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
400
- i0.ɵɵcontentQuery(dirIndex, _c0$4, 5);
401
- i0.ɵɵcontentQuery(dirIndex, _c1, 5);
403
+ i0.ɵɵcontentQuery(dirIndex, _c0$4, 4);
404
+ i0.ɵɵcontentQuery(dirIndex, _c1, 4);
405
+ i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);
402
406
  } if (rf & 2) {
403
407
  let _t;
404
408
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.prevIconTemplate = _t.first);
405
409
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.nextIconTemplate = _t.first);
410
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);
406
411
  } }, viewQuery: function TabList_Query(rf, ctx) { if (rf & 1) {
407
412
  i0.ɵɵviewQuery(_c2, 5);
408
413
  i0.ɵɵviewQuery(_c3, 5);
@@ -419,7 +424,7 @@ class TabList extends BaseComponent {
419
424
  } }, hostVars: 5, hostBindings: function TabList_HostBindings(rf, ctx) { if (rf & 2) {
420
425
  i0.ɵɵattribute("data-pc-name", "tablist");
421
426
  i0.ɵɵclassProp("p-tablist", true)("p-component", true);
422
- } }, features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c7, decls: 9, vars: 6, consts: [["content", ""], ["tabs", ""], ["inkbar", ""], ["prevButton", ""], ["nextButton", ""], ["pRipple", "", 1, "p-tablist-nav-button", "p-tablist-prev-button"], [1, "p-tablist-content", 3, "scroll", "ngClass"], ["role", "tablist", 1, "p-tablist-tab-list"], ["role", "presentation", 1, "p-tablist-active-bar"], ["pRipple", "", 1, "p-tablist-nav-button", "p-tablist-next-button"], ["pRipple", "", 1, "p-tablist-nav-button", "p-tablist-prev-button", 3, "click"], [4, "ngTemplateOutlet"], ["pRipple", "", 1, "p-tablist-nav-button", "p-tablist-next-button", 3, "click"]], template: function TabList_Template(rf, ctx) { if (rf & 1) {
427
+ } }, features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c7, decls: 9, vars: 6, consts: [["content", ""], ["tabs", ""], ["inkbar", ""], ["prevButton", ""], ["nextButton", ""], ["type", "button", "pRipple", "", 1, "p-tablist-nav-button", "p-tablist-prev-button"], [1, "p-tablist-content", 3, "scroll", "ngClass"], ["role", "tablist", 1, "p-tablist-tab-list"], ["role", "presentation", 1, "p-tablist-active-bar"], ["type", "button", "pRipple", "", 1, "p-tablist-nav-button", "p-tablist-next-button"], ["type", "button", "pRipple", "", 1, "p-tablist-nav-button", "p-tablist-prev-button", 3, "click"], [4, "ngTemplateOutlet"], ["type", "button", "pRipple", "", 1, "p-tablist-nav-button", "p-tablist-next-button", 3, "click"]], template: function TabList_Template(rf, ctx) { if (rf & 1) {
423
428
  const _r1 = i0.ɵɵgetCurrentView();
424
429
  i0.ɵɵprojectionDef();
425
430
  i0.ɵɵtemplate(0, TabList_Conditional_0_Template, 4, 4, "button", 5);
@@ -448,9 +453,9 @@ class TabList extends BaseComponent {
448
453
  imports: [CommonModule, ChevronLeftIcon, ChevronRightIcon, RippleModule, SharedModule],
449
454
  template: `
450
455
  @if (showNavigators() && isPrevButtonEnabled()) {
451
- <button #prevButton pRipple class="p-tablist-nav-button p-tablist-prev-button" [attr.aria-label]="prevButtonAriaLabel" [attr.tabindex]="tabindex" [attr.data-pc-group-section]="'navigator'" (click)="onPrevButtonClick()">
452
- @if (prevIconTemplate) {
453
- <ng-container *ngTemplateOutlet="prevIconTemplate"></ng-container>
456
+ <button type="button" #prevButton pRipple class="p-tablist-nav-button p-tablist-prev-button" [attr.aria-label]="prevButtonAriaLabel" [attr.tabindex]="tabindex" [attr.data-pc-group-section]="'navigator'" (click)="onPrevButtonClick()">
457
+ @if (prevIconTemplate || _prevIconTemplate) {
458
+ <ng-container *ngTemplateOutlet="prevIconTemplate || _prevIconTemplate"></ng-container>
454
459
  } @else {
455
460
  <ChevronLeftIcon />
456
461
  }
@@ -463,9 +468,9 @@ class TabList extends BaseComponent {
463
468
  </div>
464
469
  </div>
465
470
  @if (showNavigators() && isNextButtonEnabled()) {
466
- <button #nextButton pRipple class="p-tablist-nav-button p-tablist-next-button" [attr.aria-label]="nextButtonAriaLabel" [attr.tabindex]="tabindex" [attr.data-pc-group-section]="'navigator'" (click)="onNextButtonClick()">
467
- @if (nextIconTemplate) {
468
- <ng-container *ngTemplateOutlet="nextIconTemplate"></ng-container>
471
+ <button type="button" #nextButton pRipple class="p-tablist-nav-button p-tablist-next-button" [attr.aria-label]="nextButtonAriaLabel" [attr.tabindex]="tabindex" [attr.data-pc-group-section]="'navigator'" (click)="onNextButtonClick()">
472
+ @if (nextIconTemplate || _nextIconTemplate) {
473
+ <ng-container *ngTemplateOutlet="nextIconTemplate || _nextIconTemplate"></ng-container>
469
474
  } @else {
470
475
  <ChevronRightIcon />
471
476
  }
@@ -482,10 +487,13 @@ class TabList extends BaseComponent {
482
487
  }]
483
488
  }], () => [], { prevIconTemplate: [{
484
489
  type: ContentChild,
485
- args: ['previcon']
490
+ args: ['previcon', { descendants: false }]
486
491
  }], nextIconTemplate: [{
487
492
  type: ContentChild,
488
- args: ['nexticon']
493
+ args: ['nexticon', { descendants: false }]
494
+ }], templates: [{
495
+ type: ContentChildren,
496
+ args: [PrimeTemplate]
489
497
  }], content: [{
490
498
  type: ViewChild,
491
499
  args: ['content']