primeng 16.5.0 → 16.6.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 (95) hide show
  1. package/api/menuitem.d.ts +5 -1
  2. package/api/tooltipoptions.d.ts +1 -1
  3. package/breadcrumb/breadcrumb.d.ts +1 -0
  4. package/contextmenu/contextmenu.d.ts +3 -1
  5. package/esm2022/accordion/accordion.mjs +2 -2
  6. package/esm2022/api/menuitem.mjs +1 -1
  7. package/esm2022/api/tooltipoptions.mjs +1 -1
  8. package/esm2022/breadcrumb/breadcrumb.mjs +45 -18
  9. package/esm2022/button/button.mjs +2 -2
  10. package/esm2022/carousel/carousel.mjs +2 -1
  11. package/esm2022/contextmenu/contextmenu.mjs +176 -152
  12. package/esm2022/dock/dock.mjs +4 -4
  13. package/esm2022/dropdown/dropdown.mjs +2 -2
  14. package/esm2022/galleria/galleria.mjs +3 -3
  15. package/esm2022/image/image.mjs +11 -4
  16. package/esm2022/megamenu/megamenu.mjs +178 -154
  17. package/esm2022/menu/menu.mjs +150 -102
  18. package/esm2022/menubar/menubar.mjs +174 -150
  19. package/esm2022/multiselect/multiselect.mjs +3 -2
  20. package/esm2022/overlaypanel/overlaypanel.mjs +9 -3
  21. package/esm2022/panelmenu/panelmenu.mjs +141 -112
  22. package/esm2022/slidemenu/slidemenu.mjs +2 -2
  23. package/esm2022/speeddial/speeddial.mjs +2 -2
  24. package/esm2022/splitbutton/splitbutton.interface.mjs +1 -1
  25. package/esm2022/splitbutton/splitbutton.mjs +70 -14
  26. package/esm2022/steps/steps.mjs +1 -1
  27. package/esm2022/table/table.mjs +28 -20
  28. package/esm2022/tabmenu/tabmenu.mjs +18 -26
  29. package/esm2022/tabview/tabview.mjs +4 -4
  30. package/esm2022/tieredmenu/tieredmenu.mjs +172 -148
  31. package/esm2022/tooltip/tooltip.mjs +28 -31
  32. package/esm2022/treetable/treetable.mjs +1 -1
  33. package/fesm2022/primeng-accordion.mjs +1 -1
  34. package/fesm2022/primeng-accordion.mjs.map +1 -1
  35. package/fesm2022/primeng-breadcrumb.mjs +44 -17
  36. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  37. package/fesm2022/primeng-button.mjs +1 -1
  38. package/fesm2022/primeng-button.mjs.map +1 -1
  39. package/fesm2022/primeng-carousel.mjs +1 -0
  40. package/fesm2022/primeng-carousel.mjs.map +1 -1
  41. package/fesm2022/primeng-contextmenu.mjs +175 -151
  42. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  43. package/fesm2022/primeng-dock.mjs +3 -3
  44. package/fesm2022/primeng-dock.mjs.map +1 -1
  45. package/fesm2022/primeng-dropdown.mjs +1 -1
  46. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  47. package/fesm2022/primeng-galleria.mjs +2 -2
  48. package/fesm2022/primeng-galleria.mjs.map +1 -1
  49. package/fesm2022/primeng-image.mjs +10 -3
  50. package/fesm2022/primeng-image.mjs.map +1 -1
  51. package/fesm2022/primeng-megamenu.mjs +177 -153
  52. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  53. package/fesm2022/primeng-menu.mjs +150 -102
  54. package/fesm2022/primeng-menu.mjs.map +1 -1
  55. package/fesm2022/primeng-menubar.mjs +173 -149
  56. package/fesm2022/primeng-menubar.mjs.map +1 -1
  57. package/fesm2022/primeng-multiselect.mjs +2 -1
  58. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  59. package/fesm2022/primeng-overlaypanel.mjs +8 -2
  60. package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
  61. package/fesm2022/primeng-panelmenu.mjs +140 -111
  62. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  63. package/fesm2022/primeng-slidemenu.mjs +1 -1
  64. package/fesm2022/primeng-slidemenu.mjs.map +1 -1
  65. package/fesm2022/primeng-speeddial.mjs +1 -1
  66. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  67. package/fesm2022/primeng-splitbutton.mjs +69 -13
  68. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  69. package/fesm2022/primeng-steps.mjs +1 -1
  70. package/fesm2022/primeng-steps.mjs.map +1 -1
  71. package/fesm2022/primeng-table.mjs +27 -19
  72. package/fesm2022/primeng-table.mjs.map +1 -1
  73. package/fesm2022/primeng-tabmenu.mjs +17 -25
  74. package/fesm2022/primeng-tabmenu.mjs.map +1 -1
  75. package/fesm2022/primeng-tabview.mjs +3 -3
  76. package/fesm2022/primeng-tabview.mjs.map +1 -1
  77. package/fesm2022/primeng-tieredmenu.mjs +171 -147
  78. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  79. package/fesm2022/primeng-tooltip.mjs +27 -30
  80. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  81. package/fesm2022/primeng-treetable.mjs.map +1 -1
  82. package/image/image.d.ts +6 -1
  83. package/megamenu/megamenu.d.ts +3 -1
  84. package/menu/menu.d.ts +11 -5
  85. package/menubar/menubar.d.ts +3 -1
  86. package/overlaypanel/overlaypanel.d.ts +1 -0
  87. package/package.json +195 -195
  88. package/panelmenu/panelmenu.d.ts +5 -2
  89. package/splitbutton/splitbutton.d.ts +10 -1
  90. package/splitbutton/splitbutton.interface.d.ts +15 -0
  91. package/table/table.d.ts +2 -1
  92. package/tabmenu/tabmenu.d.ts +2 -2
  93. package/tieredmenu/tieredmenu.d.ts +3 -1
  94. package/tooltip/tooltip.d.ts +7 -12
  95. package/treetable/treetable.d.ts +1 -1
@@ -338,13 +338,16 @@ class TabMenu {
338
338
  [class]="item.styleClass"
339
339
  [attr.data-p-disabled]="disabled(item)"
340
340
  [attr.data-p-highlight]="focusedItemInfo() === item"
341
+ (click)="itemClick($event, item)"
342
+ (keydown)="onKeydownItem($event, i, item)"
343
+ (focus)="onMenuItemFocus(item)"
341
344
  [ngClass]="{ 'p-tabmenuitem': true, 'p-disabled': getItemProp(item, 'disabled'), 'p-highlight': isActive(item), 'p-hidden': item.visible === false }"
342
345
  pTooltip
343
346
  [tooltipOptions]="item.tooltipOptions"
344
347
  >
345
348
  <a
346
349
  #tabLink
347
- *ngIf="!item.routerLink"
350
+ *ngIf="!item.routerLink && !itemTemplate"
348
351
  class="p-menuitem-link"
349
352
  role="menuitem"
350
353
  [attr.href]="getItemProp(item, 'url')"
@@ -353,31 +356,24 @@ class TabMenu {
353
356
  [attr.aria-label]="getItemProp(item, 'label')"
354
357
  [attr.tabindex]="disabled(item) ? -1 : 0"
355
358
  [target]="getItemProp(item, 'target')"
356
- (click)="itemClick($event, item)"
357
- (keydown)="onKeydownItem($event, i, item)"
358
- (focus)="onMenuItemFocus(item)"
359
359
  pRipple
360
360
  >
361
- <ng-container *ngIf="!itemTemplate">
361
+ <ng-container>
362
362
  <span class="p-menuitem-icon" [ngClass]="item.icon" *ngIf="item.icon" [ngStyle]="item.iconStyle"></span>
363
363
  <span class="p-menuitem-text" *ngIf="item.escape !== false; else htmlLabel">{{ getItemProp(item, 'label') }}</span>
364
364
  <ng-template #htmlLabel><span class="p-menuitem-text" [innerHTML]="getItemProp(item, 'label')"></span></ng-template>
365
365
  <span class="p-menuitem-badge" *ngIf="item.badge" [ngClass]="item.badgeStyleClass">{{ getItemProp(item, 'badge') }}</span>
366
366
  </ng-container>
367
- <ng-container *ngTemplateOutlet="itemTemplate; context: { $implicit: item, index: i }"></ng-container>
368
367
  </a>
369
368
  <a
370
369
  #tabLink
371
- *ngIf="item.routerLink"
370
+ *ngIf="item.routerLink && !itemTemplate"
372
371
  [routerLink]="item.routerLink"
373
372
  [queryParams]="item.queryParams"
374
373
  [routerLinkActive]="'p-menuitem-link-active'"
375
374
  [routerLinkActiveOptions]="item.routerLinkActiveOptions || { exact: false }"
376
375
  role="menuitem"
377
376
  class="p-menuitem-link"
378
- (click)="itemClick($event, item)"
379
- (keydown)="onKeydownItem($event, i, item)"
380
- (focus)="onMenuItemFocus(item)"
381
377
  [target]="item.target"
382
378
  [attr.id]="getItemProp(item, 'id')"
383
379
  [attr.aria-disabled]="disabled(item)"
@@ -391,14 +387,14 @@ class TabMenu {
391
387
  [state]="item.state"
392
388
  pRipple
393
389
  >
394
- <ng-container *ngIf="!itemTemplate">
390
+ <ng-container>
395
391
  <span class="p-menuitem-icon" [attr.aria-hidden]="true" [ngClass]="item.icon" *ngIf="item.icon" [ngStyle]="item.iconStyle"></span>
396
392
  <span class="p-menuitem-text" *ngIf="item.escape !== false; else htmlRouteLabel">{{ getItemProp(item, 'label') }}</span>
397
393
  <ng-template #htmlRouteLabel><span class="p-menuitem-text" [innerHTML]="getItemProp(item, 'label')"></span></ng-template>
398
394
  <span class="p-menuitem-badge" *ngIf="item.badge" [ngClass]="item.badgeStyleClass">{{ getItemProp(item, 'badge') }}</span>
399
395
  </ng-container>
400
- <ng-container *ngTemplateOutlet="itemTemplate; context: { $implicit: item, index: i }"></ng-container>
401
396
  </a>
397
+ <ng-container *ngTemplateOutlet="itemTemplate; context: { $implicit: item, index: i }"></ng-container>
402
398
  </li>
403
399
  <li #inkbar class="p-tabmenu-ink-bar" role="none"></li>
404
400
  </ul>
@@ -409,7 +405,7 @@ class TabMenu {
409
405
  </button>
410
406
  </div>
411
407
  </div>
412
- `, isInline: true, styles: ["@layer primeng{.p-tabmenu-nav-container{position:relative}.p-tabmenu-scrollable .p-tabmenu-nav-container{overflow:hidden}.p-tabmenu-nav-content{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior:contain auto}.p-tabmenu-nav-btn{position:absolute;top:0;z-index:2;height:100%;display:flex;align-items:center;justify-content:center}.p-tabmenu-nav-prev{left:0}.p-tabmenu-nav-next{right:0}.p-tabview-nav-content::-webkit-scrollbar{display:none}.p-tabmenu-nav{display:flex;margin:0;padding:0;list-style-type:none;flex-wrap:nowrap}.p-tabmenu-nav a{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;position:relative;text-decoration:none;overflow:hidden}.p-tabmenu-nav a:focus{z-index:1}.p-tabmenu-nav .p-menuitem-text{line-height:1;white-space:nowrap}.p-tabmenu-ink-bar{display:none;z-index:1}.p-tabmenu-nav-content::-webkit-scrollbar{display:none}.p-tabmenuitem:not(.p-hidden){display:flex}}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i2.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.RouterLink; }), selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.RouterLinkActive; }), selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i0.forwardRef(function () { return i3.Ripple; }), selector: "[pRipple]" }, { kind: "directive", type: i0.forwardRef(function () { return i4.Tooltip; }), selector: "[pTooltip]", inputs: ["id", "tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i0.forwardRef(function () { return ChevronLeftIcon; }), selector: "ChevronLeftIcon" }, { kind: "component", type: i0.forwardRef(function () { return ChevronRightIcon; }), selector: "ChevronRightIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
408
+ `, isInline: true, styles: ["@layer primeng{.p-tabmenu-nav-container{position:relative}.p-tabmenu-scrollable .p-tabmenu-nav-container{overflow:hidden}.p-tabmenu-nav-content{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior:contain auto}.p-tabmenu-nav-btn{position:absolute;top:0;z-index:2;height:100%;display:flex;align-items:center;justify-content:center}.p-tabmenu-nav-prev{left:0}.p-tabmenu-nav-next{right:0}.p-tabview-nav-content::-webkit-scrollbar{display:none}.p-tabmenu-nav{display:flex;margin:0;padding:0;list-style-type:none;flex-wrap:nowrap}.p-tabmenu-nav a{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;position:relative;text-decoration:none;overflow:hidden}.p-tabmenu-nav a:focus{z-index:1}.p-tabmenu-nav .p-menuitem-text{line-height:1;white-space:nowrap}.p-tabmenu-ink-bar{display:none;z-index:1}.p-tabmenu-nav-content::-webkit-scrollbar{display:none}.p-tabmenuitem:not(.p-hidden){display:flex}}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i2.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.RouterLink; }), selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.RouterLinkActive; }), selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i0.forwardRef(function () { return i3.Ripple; }), selector: "[pRipple]" }, { kind: "directive", type: i0.forwardRef(function () { return i4.Tooltip; }), selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i0.forwardRef(function () { return ChevronLeftIcon; }), selector: "ChevronLeftIcon" }, { kind: "component", type: i0.forwardRef(function () { return ChevronRightIcon; }), selector: "ChevronRightIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
413
409
  }
414
410
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: TabMenu, decorators: [{
415
411
  type: Component,
@@ -430,13 +426,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
430
426
  [class]="item.styleClass"
431
427
  [attr.data-p-disabled]="disabled(item)"
432
428
  [attr.data-p-highlight]="focusedItemInfo() === item"
429
+ (click)="itemClick($event, item)"
430
+ (keydown)="onKeydownItem($event, i, item)"
431
+ (focus)="onMenuItemFocus(item)"
433
432
  [ngClass]="{ 'p-tabmenuitem': true, 'p-disabled': getItemProp(item, 'disabled'), 'p-highlight': isActive(item), 'p-hidden': item.visible === false }"
434
433
  pTooltip
435
434
  [tooltipOptions]="item.tooltipOptions"
436
435
  >
437
436
  <a
438
437
  #tabLink
439
- *ngIf="!item.routerLink"
438
+ *ngIf="!item.routerLink && !itemTemplate"
440
439
  class="p-menuitem-link"
441
440
  role="menuitem"
442
441
  [attr.href]="getItemProp(item, 'url')"
@@ -445,31 +444,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
445
444
  [attr.aria-label]="getItemProp(item, 'label')"
446
445
  [attr.tabindex]="disabled(item) ? -1 : 0"
447
446
  [target]="getItemProp(item, 'target')"
448
- (click)="itemClick($event, item)"
449
- (keydown)="onKeydownItem($event, i, item)"
450
- (focus)="onMenuItemFocus(item)"
451
447
  pRipple
452
448
  >
453
- <ng-container *ngIf="!itemTemplate">
449
+ <ng-container>
454
450
  <span class="p-menuitem-icon" [ngClass]="item.icon" *ngIf="item.icon" [ngStyle]="item.iconStyle"></span>
455
451
  <span class="p-menuitem-text" *ngIf="item.escape !== false; else htmlLabel">{{ getItemProp(item, 'label') }}</span>
456
452
  <ng-template #htmlLabel><span class="p-menuitem-text" [innerHTML]="getItemProp(item, 'label')"></span></ng-template>
457
453
  <span class="p-menuitem-badge" *ngIf="item.badge" [ngClass]="item.badgeStyleClass">{{ getItemProp(item, 'badge') }}</span>
458
454
  </ng-container>
459
- <ng-container *ngTemplateOutlet="itemTemplate; context: { $implicit: item, index: i }"></ng-container>
460
455
  </a>
461
456
  <a
462
457
  #tabLink
463
- *ngIf="item.routerLink"
458
+ *ngIf="item.routerLink && !itemTemplate"
464
459
  [routerLink]="item.routerLink"
465
460
  [queryParams]="item.queryParams"
466
461
  [routerLinkActive]="'p-menuitem-link-active'"
467
462
  [routerLinkActiveOptions]="item.routerLinkActiveOptions || { exact: false }"
468
463
  role="menuitem"
469
464
  class="p-menuitem-link"
470
- (click)="itemClick($event, item)"
471
- (keydown)="onKeydownItem($event, i, item)"
472
- (focus)="onMenuItemFocus(item)"
473
465
  [target]="item.target"
474
466
  [attr.id]="getItemProp(item, 'id')"
475
467
  [attr.aria-disabled]="disabled(item)"
@@ -483,14 +475,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
483
475
  [state]="item.state"
484
476
  pRipple
485
477
  >
486
- <ng-container *ngIf="!itemTemplate">
478
+ <ng-container>
487
479
  <span class="p-menuitem-icon" [attr.aria-hidden]="true" [ngClass]="item.icon" *ngIf="item.icon" [ngStyle]="item.iconStyle"></span>
488
480
  <span class="p-menuitem-text" *ngIf="item.escape !== false; else htmlRouteLabel">{{ getItemProp(item, 'label') }}</span>
489
481
  <ng-template #htmlRouteLabel><span class="p-menuitem-text" [innerHTML]="getItemProp(item, 'label')"></span></ng-template>
490
482
  <span class="p-menuitem-badge" *ngIf="item.badge" [ngClass]="item.badgeStyleClass">{{ getItemProp(item, 'badge') }}</span>
491
483
  </ng-container>
492
- <ng-container *ngTemplateOutlet="itemTemplate; context: { $implicit: item, index: i }"></ng-container>
493
484
  </a>
485
+ <ng-container *ngTemplateOutlet="itemTemplate; context: { $implicit: item, index: i }"></ng-container>
494
486
  </li>
495
487
  <li #inkbar class="p-tabmenu-ink-bar" role="none"></li>
496
488
  </ul>
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-tabmenu.mjs","sources":["../../src/app/components/tabmenu/tabmenu.ts","../../src/app/components/tabmenu/primeng-tabmenu.ts"],"sourcesContent":["import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewChecked,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgModule,\n OnDestroy,\n Output,\n PLATFORM_ID,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewChildren,\n ViewEncapsulation,\n computed,\n effect,\n signal\n} from '@angular/core';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { MenuItem, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { DomHandler } from 'primeng/dom';\nimport { ChevronLeftIcon } from 'primeng/icons/chevronleft';\nimport { ChevronRightIcon } from 'primeng/icons/chevronright';\nimport { RippleModule } from 'primeng/ripple';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { ObjectUtils } from 'primeng/utils';\n\n/**\n * TabMenu is a navigation component that displays items as tab headers.\n * @group Components\n */\n@Component({\n selector: 'p-tabMenu',\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 p-tabmenu-nav-btn p-link\" (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=\"presentation\"\n [ngStyle]=\"item.style\"\n [class]=\"item.styleClass\"\n [attr.data-p-disabled]=\"disabled(item)\"\n [attr.data-p-highlight]=\"focusedItemInfo() === item\"\n [ngClass]=\"{ 'p-tabmenuitem': true, 'p-disabled': getItemProp(item, 'disabled'), 'p-highlight': isActive(item), 'p-hidden': item.visible === false }\"\n pTooltip\n [tooltipOptions]=\"item.tooltipOptions\"\n >\n <a\n #tabLink\n *ngIf=\"!item.routerLink\"\n class=\"p-menuitem-link\"\n role=\"menuitem\"\n [attr.href]=\"getItemProp(item, 'url')\"\n [attr.id]=\"getItemProp(item, 'id')\"\n [attr.aria-disabled]=\"disabled(item)\"\n [attr.aria-label]=\"getItemProp(item, 'label')\"\n [attr.tabindex]=\"disabled(item) ? -1 : 0\"\n [target]=\"getItemProp(item, 'target')\"\n (click)=\"itemClick($event, item)\"\n (keydown)=\"onKeydownItem($event, i, item)\"\n (focus)=\"onMenuItemFocus(item)\"\n pRipple\n >\n <ng-container *ngIf=\"!itemTemplate\">\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 <span class=\"p-menuitem-badge\" *ngIf=\"item.badge\" [ngClass]=\"item.badgeStyleClass\">{{ getItemProp(item, 'badge') }}</span>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, index: i }\"></ng-container>\n </a>\n <a\n #tabLink\n *ngIf=\"item.routerLink\"\n [routerLink]=\"item.routerLink\"\n [queryParams]=\"item.queryParams\"\n [routerLinkActive]=\"'p-menuitem-link-active'\"\n [routerLinkActiveOptions]=\"item.routerLinkActiveOptions || { exact: false }\"\n role=\"menuitem\"\n class=\"p-menuitem-link\"\n (click)=\"itemClick($event, item)\"\n (keydown)=\"onKeydownItem($event, i, item)\"\n (focus)=\"onMenuItemFocus(item)\"\n [target]=\"item.target\"\n [attr.id]=\"getItemProp(item, 'id')\"\n [attr.aria-disabled]=\"disabled(item)\"\n [attr.aria-label]=\"getItemProp(item, 'label')\"\n [attr.tabindex]=\"disabled(item) ? -1 : 0\"\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 pRipple\n >\n <ng-container *ngIf=\"!itemTemplate\">\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 <span class=\"p-menuitem-badge\" *ngIf=\"item.badge\" [ngClass]=\"item.badgeStyleClass\">{{ getItemProp(item, 'badge') }}</span>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, index: i }\"></ng-container>\n </a>\n </li>\n <li #inkbar class=\"p-tabmenu-ink-bar\" role=\"none\"></li>\n </ul>\n </div>\n <button *ngIf=\"scrollable && !forwardIsDisabled\" #nextBtn class=\"p-tabmenu-nav-next p-tabmenu-nav-btn p-link\" (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 styleUrls: ['./tabmenu.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class TabMenu implements AfterContentInit, 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() activeItem: MenuItem | undefined;\n /**\n * When enabled displays buttons at each side of the tab headers to scroll the tab list.\n * @group Props\n */\n @Input() scrollable: boolean | undefined;\n /**\n * Defines if popup mode enabled.\n */\n @Input() 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 @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n itemTemplate: Nullable<TemplateRef<any>>;\n\n previousIconTemplate: Nullable<TemplateRef<any>>;\n\n 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;\n\n _model: MenuItem[] | undefined;\n\n focusedItemInfo = signal<any>(null);\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(@Inject(PLATFORM_ID) private platformId: any, private router: Router, private route: ActivatedRoute, private cd: ChangeDetectorRef) {}\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 ngAfterViewInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n this.updateInkBar();\n this.initAutoScrollForActiveItem();\n this.initButtonState();\n }\n }\n\n ngAfterViewChecked() {\n if (this.tabChanged) {\n this.updateInkBar();\n this.tabChanged = false;\n }\n }\n\n ngOnDestroy(): void {\n this.clearAutoScrollHandler();\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 ? ObjectUtils.getItemValue(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 tabLinks = this.tabLink.toArray();\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 break;\n\n case 'ArrowLeft':\n foundElement = this.findPrevItem(tabs, i);\n i = foundElement['i'];\n break;\n\n case 'End':\n foundElement = this.findPrevItem(tabs, this.model.length);\n i = foundElement['i'];\n\n event.preventDefault();\n break;\n\n case 'Home':\n foundElement = this.findNextItem(tabs, -1);\n i = foundElement['i'];\n\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(tabLinks);\n break;\n\n default:\n break;\n }\n\n if (tabLinks[i] && tabLinks[index]) {\n tabLinks[index].nativeElement.tabIndex = '-1';\n tabLinks[i].nativeElement.tabIndex = '0';\n tabLinks[i].nativeElement.focus();\n }\n this.cd.markForCheck();\n }\n\n onTabKeyDown(tabLinks) {\n tabLinks.forEach((item) => {\n item.nativeElement.tabIndex = DomHandler.getAttribute(item.nativeElement.parentElement, 'data-p-highlight') ? '0' : '-1';\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 DomHandler.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 DomHandler.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 = DomHandler.findSingle(this.navbar?.nativeElement, 'li.p-highlight');\n if (tabHeader) {\n (this.inkbar as ElementRef).nativeElement.style.width = DomHandler.getWidth(tabHeader) + 'px';\n (this.inkbar as ElementRef).nativeElement.style.left = DomHandler.getOffset(tabHeader).left - DomHandler.getOffset(this.navbar?.nativeElement).left + 'px';\n }\n }\n\n getVisibleButtonWidths() {\n return [this.prevBtn?.nativeElement, this.nextBtn?.nativeElement].reduce((acc, el) => (el ? acc + DomHandler.getWidth(el) : acc), 0);\n }\n\n updateButtonState() {\n const content = this.content?.nativeElement;\n const { scrollLeft, scrollWidth } = content;\n const width = DomHandler.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', inline: 'center' });\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 = DomHandler.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 = DomHandler.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: [CommonModule, RouterModule, SharedModule, RippleModule, TooltipModule, ChevronLeftIcon, ChevronRightIcon],\n exports: [TabMenu, RouterModule, SharedModule, TooltipModule],\n declarations: [TabMenu]\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/app/components/tabmenu/tabmenu.ts","../../src/app/components/tabmenu/primeng-tabmenu.ts"],"sourcesContent":["import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewChecked,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgModule,\n OnDestroy,\n Output,\n PLATFORM_ID,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewChildren,\n ViewEncapsulation,\n signal\n} from '@angular/core';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { MenuItem, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { DomHandler } from 'primeng/dom';\nimport { ChevronLeftIcon } from 'primeng/icons/chevronleft';\nimport { ChevronRightIcon } from 'primeng/icons/chevronright';\nimport { RippleModule } from 'primeng/ripple';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { ObjectUtils } from 'primeng/utils';\n\n/**\n * TabMenu is a navigation component that displays items as tab headers.\n * @group Components\n */\n@Component({\n selector: 'p-tabMenu',\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 p-tabmenu-nav-btn p-link\" (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=\"presentation\"\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]=\"{ 'p-tabmenuitem': true, 'p-disabled': getItemProp(item, 'disabled'), 'p-highlight': isActive(item), 'p-hidden': item.visible === false }\"\n pTooltip\n [tooltipOptions]=\"item.tooltipOptions\"\n >\n <a\n #tabLink\n *ngIf=\"!item.routerLink && !itemTemplate\"\n class=\"p-menuitem-link\"\n role=\"menuitem\"\n [attr.href]=\"getItemProp(item, 'url')\"\n [attr.id]=\"getItemProp(item, 'id')\"\n [attr.aria-disabled]=\"disabled(item)\"\n [attr.aria-label]=\"getItemProp(item, 'label')\"\n [attr.tabindex]=\"disabled(item) ? -1 : 0\"\n [target]=\"getItemProp(item, 'target')\"\n pRipple\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 <span class=\"p-menuitem-badge\" *ngIf=\"item.badge\" [ngClass]=\"item.badgeStyleClass\">{{ getItemProp(item, 'badge') }}</span>\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=\"menuitem\"\n class=\"p-menuitem-link\"\n [target]=\"item.target\"\n [attr.id]=\"getItemProp(item, 'id')\"\n [attr.aria-disabled]=\"disabled(item)\"\n [attr.aria-label]=\"getItemProp(item, 'label')\"\n [attr.tabindex]=\"disabled(item) ? -1 : 0\"\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 pRipple\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 <span class=\"p-menuitem-badge\" *ngIf=\"item.badge\" [ngClass]=\"item.badgeStyleClass\">{{ getItemProp(item, 'badge') }}</span>\n </ng-container>\n </a>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, index: i }\"></ng-container>\n </li>\n <li #inkbar class=\"p-tabmenu-ink-bar\" role=\"none\"></li>\n </ul>\n </div>\n <button *ngIf=\"scrollable && !forwardIsDisabled\" #nextBtn class=\"p-tabmenu-nav-next p-tabmenu-nav-btn p-link\" (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 styleUrls: ['./tabmenu.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class TabMenu implements AfterContentInit, 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() activeItem: MenuItem | undefined;\n /**\n * When enabled displays buttons at each side of the tab headers to scroll the tab list.\n * @group Props\n */\n @Input() scrollable: boolean | undefined;\n /**\n * Defines if popup mode enabled.\n */\n @Input() 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 @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n itemTemplate: Nullable<TemplateRef<any>>;\n\n previousIconTemplate: Nullable<TemplateRef<any>>;\n\n 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 focusedItemInfo = signal<any>(null);\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(@Inject(PLATFORM_ID) private platformId: any, private router: Router, private route: ActivatedRoute, private cd: ChangeDetectorRef) {}\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 ngAfterViewInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n this.updateInkBar();\n this.initAutoScrollForActiveItem();\n this.initButtonState();\n }\n }\n\n ngAfterViewChecked() {\n if (this.tabChanged) {\n this.updateInkBar();\n this.tabChanged = false;\n }\n }\n\n ngOnDestroy(): void {\n this.clearAutoScrollHandler();\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 ? ObjectUtils.getItemValue(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 tabLinks = this.tabLink.toArray();\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 break;\n\n case 'ArrowLeft':\n foundElement = this.findPrevItem(tabs, i);\n i = foundElement['i'];\n break;\n\n case 'End':\n foundElement = this.findPrevItem(tabs, this.model.length);\n i = foundElement['i'];\n\n event.preventDefault();\n break;\n\n case 'Home':\n foundElement = this.findNextItem(tabs, -1);\n i = foundElement['i'];\n\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(tabLinks);\n break;\n\n default:\n break;\n }\n\n if (tabLinks[i] && tabLinks[index]) {\n tabLinks[index].nativeElement.tabIndex = '-1';\n tabLinks[i].nativeElement.tabIndex = '0';\n tabLinks[i].nativeElement.focus();\n }\n this.cd.markForCheck();\n }\n\n onTabKeyDown(tabLinks) {\n tabLinks.forEach((item) => {\n item.nativeElement.tabIndex = DomHandler.getAttribute(item.nativeElement.parentElement, 'data-p-highlight') ? '0' : '-1';\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 DomHandler.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 DomHandler.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 = DomHandler.findSingle(this.navbar?.nativeElement, 'li.p-highlight');\n if (tabHeader) {\n (this.inkbar as ElementRef).nativeElement.style.width = DomHandler.getWidth(tabHeader) + 'px';\n (this.inkbar as ElementRef).nativeElement.style.left = DomHandler.getOffset(tabHeader).left - DomHandler.getOffset(this.navbar?.nativeElement).left + 'px';\n }\n }\n\n getVisibleButtonWidths() {\n return [this.prevBtn?.nativeElement, this.nextBtn?.nativeElement].reduce((acc, el) => (el ? acc + DomHandler.getWidth(el) : acc), 0);\n }\n\n updateButtonState() {\n const content = this.content?.nativeElement;\n const { scrollLeft, scrollWidth } = content;\n const width = DomHandler.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', inline: 'center' });\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 = DomHandler.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 = DomHandler.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: [CommonModule, RouterModule, SharedModule, RippleModule, TooltipModule, ChevronLeftIcon, ChevronRightIcon],\n exports: [TabMenu, RouterModule, SharedModule, TooltipModule],\n declarations: [TabMenu]\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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"}
@@ -705,7 +705,7 @@ class TabView {
705
705
  </a>
706
706
  </li>
707
707
  </ng-template>
708
- <li #inkbar class="p-tabview-ink-bar" [attr.data-pc-section]="'inkbar'"></li>
708
+ <li #inkbar class="p-tabview-ink-bar" role="presentation" aria-hidden="true" [attr.data-pc-section]="'inkbar'"></li>
709
709
  </ul>
710
710
  </div>
711
711
  <button
@@ -726,7 +726,7 @@ class TabView {
726
726
  <ng-content></ng-content>
727
727
  </div>
728
728
  </div>
729
- `, isInline: true, styles: ["@layer primeng{.p-tabview-nav-container{position:relative}.p-tabview-scrollable .p-tabview-nav-container{overflow:hidden}.p-tabview-nav-content{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior:contain auto}.p-tabview-nav{display:inline-flex;min-width:100%;margin:0;padding:0;list-style-type:none;flex:1 1 auto}.p-tabview-nav-link{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;position:relative;text-decoration:none;overflow:hidden}.p-tabview-ink-bar{display:none;z-index:1}.p-tabview-nav-link:focus{z-index:1}.p-tabview-title{line-height:1;white-space:nowrap}.p-tabview-nav-btn{position:absolute;top:0;z-index:2;height:100%;display:flex;align-items:center;justify-content:center}.p-tabview-nav-prev{left:0}.p-tabview-nav-next{right:0}.p-tabview-nav-content::-webkit-scrollbar{display:none}.p-tabview-close{z-index:1}}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.Tooltip; }), selector: "[pTooltip]", inputs: ["id", "tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i0.forwardRef(function () { return i3.Ripple; }), selector: "[pRipple]" }, { kind: "component", type: i0.forwardRef(function () { return TimesIcon; }), selector: "TimesIcon" }, { kind: "component", type: i0.forwardRef(function () { return ChevronLeftIcon; }), selector: "ChevronLeftIcon" }, { kind: "component", type: i0.forwardRef(function () { return ChevronRightIcon; }), selector: "ChevronRightIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
729
+ `, isInline: true, styles: ["@layer primeng{.p-tabview-nav-container{position:relative}.p-tabview-scrollable .p-tabview-nav-container{overflow:hidden}.p-tabview-nav-content{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior:contain auto}.p-tabview-nav{display:inline-flex;min-width:100%;margin:0;padding:0;list-style-type:none;flex:1 1 auto}.p-tabview-nav-link{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;position:relative;text-decoration:none;overflow:hidden}.p-tabview-ink-bar{display:none;z-index:1}.p-tabview-nav-link:focus{z-index:1}.p-tabview-title{line-height:1;white-space:nowrap}.p-tabview-nav-btn{position:absolute;top:0;z-index:2;height:100%;display:flex;align-items:center;justify-content:center}.p-tabview-nav-prev{left:0}.p-tabview-nav-next{right:0}.p-tabview-nav-content::-webkit-scrollbar{display:none}.p-tabview-close{z-index:1}}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.Tooltip; }), selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i0.forwardRef(function () { return i3.Ripple; }), selector: "[pRipple]" }, { kind: "component", type: i0.forwardRef(function () { return TimesIcon; }), selector: "TimesIcon" }, { kind: "component", type: i0.forwardRef(function () { return ChevronLeftIcon; }), selector: "ChevronLeftIcon" }, { kind: "component", type: i0.forwardRef(function () { return ChevronRightIcon; }), selector: "ChevronRightIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
730
730
  }
731
731
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: TabView, decorators: [{
732
732
  type: Component,
@@ -779,7 +779,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
779
779
  </a>
780
780
  </li>
781
781
  </ng-template>
782
- <li #inkbar class="p-tabview-ink-bar" [attr.data-pc-section]="'inkbar'"></li>
782
+ <li #inkbar class="p-tabview-ink-bar" role="presentation" aria-hidden="true" [attr.data-pc-section]="'inkbar'"></li>
783
783
  </ul>
784
784
  </div>
785
785
  <button