primeng 15.0.0 → 15.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 (131) hide show
  1. package/dom/domhandler.d.ts +1 -0
  2. package/esm2020/button/button.mjs +2 -1
  3. package/esm2020/calendar/calendar.mjs +7 -2
  4. package/esm2020/chips/chips.mjs +5 -5
  5. package/esm2020/dom/domhandler.mjs +20 -1
  6. package/esm2020/fileupload/fileupload.mjs +3 -3
  7. package/esm2020/focustrap/focustrap.mjs +7 -23
  8. package/esm2020/inputnumber/inputnumber.mjs +9 -1
  9. package/esm2020/overlay/overlay.mjs +11 -6
  10. package/esm2020/password/password.mjs +4 -3
  11. package/esm2020/scroller/scroller.mjs +5 -3
  12. package/esm2020/speeddial/speeddial.mjs +9 -9
  13. package/esm2020/table/table.mjs +50 -4
  14. package/esm2020/tabmenu/tabmenu.mjs +2 -2
  15. package/esm2020/toolbar/toolbar.mjs +21 -12
  16. package/esm2020/tree/tree.mjs +23 -10
  17. package/esm2020/treetable/treetable.mjs +1 -1
  18. package/fesm2015/primeng-button.mjs +1 -0
  19. package/fesm2015/primeng-button.mjs.map +1 -1
  20. package/fesm2015/primeng-calendar.mjs +6 -1
  21. package/fesm2015/primeng-calendar.mjs.map +1 -1
  22. package/fesm2015/primeng-chips.mjs +4 -4
  23. package/fesm2015/primeng-chips.mjs.map +1 -1
  24. package/fesm2015/primeng-dom.mjs +19 -0
  25. package/fesm2015/primeng-dom.mjs.map +1 -1
  26. package/fesm2015/primeng-fileupload.mjs +2 -2
  27. package/fesm2015/primeng-fileupload.mjs.map +1 -1
  28. package/fesm2015/primeng-focustrap.mjs +7 -22
  29. package/fesm2015/primeng-focustrap.mjs.map +1 -1
  30. package/fesm2015/primeng-inputnumber.mjs +8 -0
  31. package/fesm2015/primeng-inputnumber.mjs.map +1 -1
  32. package/fesm2015/primeng-overlay.mjs +10 -5
  33. package/fesm2015/primeng-overlay.mjs.map +1 -1
  34. package/fesm2015/primeng-password.mjs +3 -2
  35. package/fesm2015/primeng-password.mjs.map +1 -1
  36. package/fesm2015/primeng-scroller.mjs +4 -2
  37. package/fesm2015/primeng-scroller.mjs.map +1 -1
  38. package/fesm2015/primeng-speeddial.mjs +8 -8
  39. package/fesm2015/primeng-speeddial.mjs.map +1 -1
  40. package/fesm2015/primeng-table.mjs +49 -3
  41. package/fesm2015/primeng-table.mjs.map +1 -1
  42. package/fesm2015/primeng-tabmenu.mjs +2 -1
  43. package/fesm2015/primeng-tabmenu.mjs.map +1 -1
  44. package/fesm2015/primeng-toolbar.mjs +21 -12
  45. package/fesm2015/primeng-toolbar.mjs.map +1 -1
  46. package/fesm2015/primeng-tree.mjs +22 -6
  47. package/fesm2015/primeng-tree.mjs.map +1 -1
  48. package/fesm2015/primeng-treetable.mjs.map +1 -1
  49. package/fesm2020/primeng-button.mjs +1 -0
  50. package/fesm2020/primeng-button.mjs.map +1 -1
  51. package/fesm2020/primeng-calendar.mjs +6 -1
  52. package/fesm2020/primeng-calendar.mjs.map +1 -1
  53. package/fesm2020/primeng-chips.mjs +4 -4
  54. package/fesm2020/primeng-chips.mjs.map +1 -1
  55. package/fesm2020/primeng-dom.mjs +19 -0
  56. package/fesm2020/primeng-dom.mjs.map +1 -1
  57. package/fesm2020/primeng-fileupload.mjs +2 -2
  58. package/fesm2020/primeng-fileupload.mjs.map +1 -1
  59. package/fesm2020/primeng-focustrap.mjs +6 -22
  60. package/fesm2020/primeng-focustrap.mjs.map +1 -1
  61. package/fesm2020/primeng-inputnumber.mjs +8 -0
  62. package/fesm2020/primeng-inputnumber.mjs.map +1 -1
  63. package/fesm2020/primeng-overlay.mjs +10 -5
  64. package/fesm2020/primeng-overlay.mjs.map +1 -1
  65. package/fesm2020/primeng-password.mjs +3 -2
  66. package/fesm2020/primeng-password.mjs.map +1 -1
  67. package/fesm2020/primeng-scroller.mjs +4 -2
  68. package/fesm2020/primeng-scroller.mjs.map +1 -1
  69. package/fesm2020/primeng-speeddial.mjs +8 -8
  70. package/fesm2020/primeng-speeddial.mjs.map +1 -1
  71. package/fesm2020/primeng-table.mjs +49 -3
  72. package/fesm2020/primeng-table.mjs.map +1 -1
  73. package/fesm2020/primeng-tabmenu.mjs +1 -1
  74. package/fesm2020/primeng-tabmenu.mjs.map +1 -1
  75. package/fesm2020/primeng-toolbar.mjs +21 -12
  76. package/fesm2020/primeng-toolbar.mjs.map +1 -1
  77. package/fesm2020/primeng-tree.mjs +22 -6
  78. package/fesm2020/primeng-tree.mjs.map +1 -1
  79. package/fesm2020/primeng-treetable.mjs.map +1 -1
  80. package/overlay/overlay.d.ts +1 -1
  81. package/package.json +1 -1
  82. package/resources/components/password/password.css +5 -0
  83. package/resources/components/toolbar/toolbar.css +7 -2
  84. package/resources/primeng.css +5 -0
  85. package/resources/primeng.min.css +1 -1
  86. package/resources/themes/arya-blue/theme.css +1 -0
  87. package/resources/themes/arya-green/theme.css +1 -0
  88. package/resources/themes/arya-orange/theme.css +1 -0
  89. package/resources/themes/arya-purple/theme.css +1 -0
  90. package/resources/themes/bootstrap4-dark-blue/theme.css +1 -0
  91. package/resources/themes/bootstrap4-dark-purple/theme.css +1 -0
  92. package/resources/themes/bootstrap4-light-blue/theme.css +1 -0
  93. package/resources/themes/bootstrap4-light-purple/theme.css +1 -0
  94. package/resources/themes/fluent-light/theme.css +1 -0
  95. package/resources/themes/lara-dark-blue/theme.css +1 -0
  96. package/resources/themes/lara-dark-indigo/theme.css +1 -0
  97. package/resources/themes/lara-dark-purple/theme.css +1 -0
  98. package/resources/themes/lara-dark-teal/theme.css +1 -0
  99. package/resources/themes/lara-light-blue/theme.css +1 -0
  100. package/resources/themes/lara-light-indigo/theme.css +1 -0
  101. package/resources/themes/lara-light-purple/theme.css +1 -0
  102. package/resources/themes/lara-light-teal/theme.css +1 -0
  103. package/resources/themes/luna-amber/theme.css +1 -0
  104. package/resources/themes/luna-blue/theme.css +1 -0
  105. package/resources/themes/luna-green/theme.css +1 -0
  106. package/resources/themes/luna-pink/theme.css +1 -0
  107. package/resources/themes/md-dark-deeppurple/theme.css +1 -0
  108. package/resources/themes/md-dark-indigo/theme.css +1 -0
  109. package/resources/themes/md-light-deeppurple/theme.css +1 -0
  110. package/resources/themes/md-light-indigo/theme.css +1 -0
  111. package/resources/themes/mdc-dark-deeppurple/theme.css +1 -0
  112. package/resources/themes/mdc-dark-indigo/theme.css +1 -0
  113. package/resources/themes/mdc-light-deeppurple/theme.css +1 -0
  114. package/resources/themes/mdc-light-indigo/theme.css +1 -0
  115. package/resources/themes/nova/theme.css +1 -0
  116. package/resources/themes/nova-accent/theme.css +1 -0
  117. package/resources/themes/nova-alt/theme.css +1 -0
  118. package/resources/themes/rhea/theme.css +1 -0
  119. package/resources/themes/saga-blue/theme.css +1 -0
  120. package/resources/themes/saga-green/theme.css +1 -0
  121. package/resources/themes/saga-orange/theme.css +1 -0
  122. package/resources/themes/saga-purple/theme.css +1 -0
  123. package/resources/themes/tailwind-light/theme.css +1 -0
  124. package/resources/themes/vela-blue/theme.css +1 -0
  125. package/resources/themes/vela-green/theme.css +1 -0
  126. package/resources/themes/vela-orange/theme.css +1 -0
  127. package/resources/themes/vela-purple/theme.css +1 -0
  128. package/table/table.d.ts +1 -1
  129. package/toolbar/toolbar.d.ts +4 -3
  130. package/tree/tree.d.ts +8 -7
  131. package/treetable/treetable.d.ts +1 -1
@@ -48,9 +48,10 @@ class TabMenu {
48
48
  this.clearAutoScrollHandler();
49
49
  }
50
50
  isActive(item) {
51
+ var _a, _b, _c;
51
52
  if (item.routerLink) {
52
53
  const routerLink = Array.isArray(item.routerLink) ? item.routerLink : [item.routerLink];
53
- return this.router.isActive(this.router.createUrlTree(routerLink, { relativeTo: this.route }).toString(), false);
54
+ return this.router.isActive(this.router.createUrlTree(routerLink, { relativeTo: this.route }).toString(), (_c = (_b = (_a = item.routerLinkActiveOptions) === null || _a === void 0 ? void 0 : _a.exact) !== null && _b !== void 0 ? _b : item.routerLinkActiveOptions) !== null && _c !== void 0 ? _c : false);
54
55
  }
55
56
  return item === this.activeItem;
56
57
  }
@@ -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 {\n NgModule,\n Component,\n Input,\n Output,\n ContentChildren,\n QueryList,\n AfterContentInit,\n AfterViewInit,\n AfterViewChecked,\n TemplateRef,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n ViewChild,\n ElementRef,\n ChangeDetectorRef,\n OnDestroy,\n EventEmitter\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RippleModule } from 'primeng/ripple';\nimport { PrimeTemplate, SharedModule, MenuItem } from 'primeng/api';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { DomHandler } from 'primeng/dom';\nimport { TooltipModule } from 'primeng/tooltip';\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\" pRipple>\n <span class=\"pi pi-chevron-left\"></span>\n </button>\n <div #content class=\"p-tabmenu-nav-content\" (scroll)=\"onScroll($event)\">\n <ul #navbar class=\"p-tabmenu-nav p-reset\" role=\"tablist\">\n <li\n *ngFor=\"let item of model; let i = index\"\n role=\"tab\"\n [ngStyle]=\"item.style\"\n [class]=\"item.styleClass\"\n [attr.aria-selected]=\"isActive(item)\"\n [attr.aria-expanded]=\"isActive(item)\"\n [ngClass]=\"{ 'p-tabmenuitem': true, 'p-disabled': item.disabled, 'p-highlight': isActive(item), 'p-hidden': item.visible === false }\"\n pTooltip\n [tooltipOptions]=\"item.tooltipOptions\"\n >\n <a\n *ngIf=\"!item.routerLink\"\n [attr.href]=\"item.url\"\n class=\"p-menuitem-link\"\n role=\"presentation\"\n (click)=\"itemClick($event, item)\"\n (keydown.enter)=\"itemClick($event, item)\"\n [attr.tabindex]=\"item.disabled ? null : '0'\"\n [target]=\"item.target\"\n [attr.title]=\"item.title\"\n [attr.id]=\"item.id\"\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\">{{ item.label }}</span>\n <ng-template #htmlLabel><span class=\"p-menuitem-text\" [innerHTML]=\"item.label\"></span></ng-template>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, index: i }\"></ng-container>\n </a>\n <a\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=\"presentation\"\n class=\"p-menuitem-link\"\n (click)=\"itemClick($event, item)\"\n (keydown.enter)=\"itemClick($event, item)\"\n [attr.tabindex]=\"item.disabled ? null : '0'\"\n [target]=\"item.target\"\n [attr.title]=\"item.title\"\n [attr.id]=\"item.id\"\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\" [ngClass]=\"item.icon\" *ngIf=\"item.icon\" [ngStyle]=\"item.iconStyle\"></span>\n <span class=\"p-menuitem-text\" *ngIf=\"item.escape !== false; else htmlRouteLabel\">{{ item.label }}</span>\n <ng-template #htmlRouteLabel><span class=\"p-menuitem-text\" [innerHTML]=\"item.label\"></span></ng-template>\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\"></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\" pRipple>\n <span class=\"pi pi-chevron-right\"></span>\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 @Input() model: MenuItem[];\n\n @Input() activeItem: MenuItem;\n\n @Output() activeItemChange = new EventEmitter<MenuItem>();\n\n @Input() scrollable: boolean;\n\n @Input() popup: boolean;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @ViewChild('content') content: ElementRef;\n\n @ViewChild('navbar') navbar: ElementRef;\n\n @ViewChild('inkbar') inkbar: ElementRef;\n\n @ViewChild('prevBtn') prevBtn: ElementRef;\n\n @ViewChild('nextBtn') nextBtn: ElementRef;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n itemTemplate: TemplateRef<any>;\n\n tabChanged: boolean;\n\n backwardIsDisabled: boolean = true;\n\n forwardIsDisabled: boolean = false;\n\n private timerIdForInitialAutoScroll: number | null = null;\n\n constructor(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 default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n ngAfterViewInit(): void {\n this.updateInkBar();\n this.initAutoScrollForActiveItem();\n this.initButtonState();\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(), false);\n }\n\n return item === this.activeItem;\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 }\n\n updateInkBar() {\n const tabHeader = DomHandler.findSingle(this.navbar.nativeElement, 'li.p-highlight');\n if (tabHeader) {\n this.inkbar.nativeElement.style.width = DomHandler.getWidth(tabHeader) + 'px';\n this.inkbar.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) {\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.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],\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":";;;;;;;;;;;;;MAiHa,OAAO,CAAA;AAqChB,IAAA,WAAA,CAAoB,MAAc,EAAU,KAAqB,EAAU,EAAqB,EAAA;AAA5E,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;AAAU,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;AAAU,QAAA,IAAE,CAAA,EAAA,GAAF,EAAE,CAAmB;AAhCtF,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAAY,CAAC;AA0B1D,QAAA,IAAkB,CAAA,kBAAA,GAAY,IAAI,CAAC;AAEnC,QAAA,IAAiB,CAAA,iBAAA,GAAY,KAAK,CAAC;AAE3B,QAAA,IAA2B,CAAA,2BAAA,GAAkB,IAAI,CAAC;KAE0C;IAEpG,kBAAkB,GAAA;QACd,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC5B,YAAA,QAAQ,IAAI,CAAC,OAAO,EAAE;AAClB,gBAAA,KAAK,MAAM;AACP,oBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAClC,MAAM;AAEV,gBAAA;AACI,oBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAClC,MAAM;AACb,aAAA;AACL,SAAC,CAAC,CAAC;KACN;IAED,eAAe,GAAA;QACX,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACnC,IAAI,CAAC,eAAe,EAAE,CAAC;KAC1B;IAED,kBAAkB,GAAA;QACd,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,YAAY,EAAE,CAAC;AACpB,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AAC3B,SAAA;KACJ;IAED,WAAW,GAAA;QACP,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;AAED,IAAA,QAAQ,CAAC,IAAc,EAAA;QACnB,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAExF,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;AACpH,SAAA;AAED,QAAA,OAAO,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC;KACnC;IAED,SAAS,CAAC,KAAY,EAAE,IAAc,EAAA;QAClC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO;AACV,SAAA;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAC/B,KAAK,CAAC,cAAc,EAAE,CAAC;AAC1B,SAAA;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,OAAO,CAAC;AACT,gBAAA,aAAa,EAAE,KAAK;AACpB,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA,CAAC,CAAC;AACN,SAAA;AAED,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACvB,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;KAC1B;IAED,YAAY,GAAA;AACR,QAAA,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;AACrF,QAAA,IAAI,SAAS,EAAE;AACX,YAAA,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;AAC9E,YAAA,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;AAC7I,SAAA;KACJ;IAED,sBAAsB,GAAA;;QAClB,OAAO,CAAC,MAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAa,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;KACxI;IAED,iBAAiB,GAAA;AACb,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;AAC3C,QAAA,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAC5C,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAE3C,QAAA,IAAI,CAAC,kBAAkB,GAAG,UAAU,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,WAAW,GAAG,KAAK,CAAC;KACzE;AAED,IAAA,eAAe,CAAC,KAAa,EAAA;AACzB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE5D,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO;AACV,SAAA;AAED,QAAA,SAAS,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;KACpE;AAED,IAAA,QAAQ,CAAC,KAAK,EAAA;AACV,QAAA,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE5C,KAAK,CAAC,cAAc,EAAE,CAAC;KAC1B;IAED,WAAW,GAAA;AACP,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;AAC3C,QAAA,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;AAC3E,QAAA,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC;AACvC,QAAA,OAAO,CAAC,UAAU,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;KAC3C;IAED,UAAU,GAAA;AACN,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;AAC3C,QAAA,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;AAC3E,QAAA,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC;AACvC,QAAA,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;AAC5C,QAAA,OAAO,CAAC,UAAU,GAAG,GAAG,IAAI,OAAO,GAAG,OAAO,GAAG,GAAG,CAAC;KACvD;IAEO,2BAA2B,GAAA;AAC/B,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAClB,OAAO;AACV,SAAA;QAED,IAAI,CAAC,sBAAsB,EAAE,CAAC;;AAE9B,QAAA,IAAI,CAAC,2BAA2B,GAAG,UAAU,CAAC,MAAK;YAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE/E,YAAA,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;AACnB,gBAAA,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;AACpC,aAAA;AACL,SAAC,CAAC,CAAC;KACN;IAEO,sBAAsB,GAAA;QAC1B,IAAI,IAAI,CAAC,2BAA2B,EAAE;AAClC,YAAA,YAAY,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;AAC/C,YAAA,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;AAC3C,SAAA;KACJ;IAEO,eAAe,GAAA;QACnB,IAAI,IAAI,CAAC,UAAU,EAAE;;;AAGjB,YAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;gBACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;AACzB,gBAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;AAC3B,aAAC,CAAC,CAAC;AACN,SAAA;KACJ;;oGA1LQ,OAAO,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;wFAAP,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,OAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAyBC,aAAa,EA9GpB,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6ET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,m5BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,uBAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,MAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FAQQ,OAAO,EAAA,UAAA,EAAA,CAAA;kBAvFnB,SAAS;YACI,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EACX,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6ET,IAAA,CAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAE/B,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,WAAW;AACrB,qBAAA,EAAA,MAAA,EAAA,CAAA,m5BAAA,CAAA,EAAA,CAAA;0JAGQ,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEI,gBAAgB,EAAA,CAAA;sBAAzB,MAAM;gBAEE,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEgB,OAAO,EAAA,CAAA;sBAA5B,SAAS;uBAAC,SAAS,CAAA;gBAEC,MAAM,EAAA,CAAA;sBAA1B,SAAS;uBAAC,QAAQ,CAAA;gBAEE,MAAM,EAAA,CAAA;sBAA1B,SAAS;uBAAC,QAAQ,CAAA;gBAEG,OAAO,EAAA,CAAA;sBAA5B,SAAS;uBAAC,SAAS,CAAA;gBAEE,OAAO,EAAA,CAAA;sBAA5B,SAAS;uBAAC,SAAS,CAAA;gBAEY,SAAS,EAAA,CAAA;sBAAxC,eAAe;uBAAC,aAAa,CAAA;;MAyKrB,aAAa,CAAA;;0GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,iBAlMb,OAAO,CAAA,EAAA,OAAA,EAAA,CA8LN,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,aA9LtE,OAAO,EA+LG,YAAY,EAAE,YAAY,EAAE,aAAa,CAAA,EAAA,CAAA,CAAA;AAGnD,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAJZ,OAAA,EAAA,CAAA,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAC5D,YAAY,EAAE,YAAY,EAAE,aAAa,CAAA,EAAA,CAAA,CAAA;2FAGnD,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,CAAC;oBAChF,OAAO,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,CAAC;oBAC7D,YAAY,EAAE,CAAC,OAAO,CAAC;iBAC1B,CAAA;;;AClTD;;AAEG;;;;"}
1
+ {"version":3,"file":"primeng-tabmenu.mjs","sources":["../../src/app/components/tabmenu/tabmenu.ts","../../src/app/components/tabmenu/primeng-tabmenu.ts"],"sourcesContent":["import {\n NgModule,\n Component,\n Input,\n Output,\n ContentChildren,\n QueryList,\n AfterContentInit,\n AfterViewInit,\n AfterViewChecked,\n TemplateRef,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n ViewChild,\n ElementRef,\n ChangeDetectorRef,\n OnDestroy,\n EventEmitter\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RippleModule } from 'primeng/ripple';\nimport { PrimeTemplate, SharedModule, MenuItem } from 'primeng/api';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { DomHandler } from 'primeng/dom';\nimport { TooltipModule } from 'primeng/tooltip';\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\" pRipple>\n <span class=\"pi pi-chevron-left\"></span>\n </button>\n <div #content class=\"p-tabmenu-nav-content\" (scroll)=\"onScroll($event)\">\n <ul #navbar class=\"p-tabmenu-nav p-reset\" role=\"tablist\">\n <li\n *ngFor=\"let item of model; let i = index\"\n role=\"tab\"\n [ngStyle]=\"item.style\"\n [class]=\"item.styleClass\"\n [attr.aria-selected]=\"isActive(item)\"\n [attr.aria-expanded]=\"isActive(item)\"\n [ngClass]=\"{ 'p-tabmenuitem': true, 'p-disabled': item.disabled, 'p-highlight': isActive(item), 'p-hidden': item.visible === false }\"\n pTooltip\n [tooltipOptions]=\"item.tooltipOptions\"\n >\n <a\n *ngIf=\"!item.routerLink\"\n [attr.href]=\"item.url\"\n class=\"p-menuitem-link\"\n role=\"presentation\"\n (click)=\"itemClick($event, item)\"\n (keydown.enter)=\"itemClick($event, item)\"\n [attr.tabindex]=\"item.disabled ? null : '0'\"\n [target]=\"item.target\"\n [attr.title]=\"item.title\"\n [attr.id]=\"item.id\"\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\">{{ item.label }}</span>\n <ng-template #htmlLabel><span class=\"p-menuitem-text\" [innerHTML]=\"item.label\"></span></ng-template>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, index: i }\"></ng-container>\n </a>\n <a\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=\"presentation\"\n class=\"p-menuitem-link\"\n (click)=\"itemClick($event, item)\"\n (keydown.enter)=\"itemClick($event, item)\"\n [attr.tabindex]=\"item.disabled ? null : '0'\"\n [target]=\"item.target\"\n [attr.title]=\"item.title\"\n [attr.id]=\"item.id\"\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\" [ngClass]=\"item.icon\" *ngIf=\"item.icon\" [ngStyle]=\"item.iconStyle\"></span>\n <span class=\"p-menuitem-text\" *ngIf=\"item.escape !== false; else htmlRouteLabel\">{{ item.label }}</span>\n <ng-template #htmlRouteLabel><span class=\"p-menuitem-text\" [innerHTML]=\"item.label\"></span></ng-template>\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\"></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\" pRipple>\n <span class=\"pi pi-chevron-right\"></span>\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 @Input() model: MenuItem[];\n\n @Input() activeItem: MenuItem;\n\n @Output() activeItemChange = new EventEmitter<MenuItem>();\n\n @Input() scrollable: boolean;\n\n @Input() popup: boolean;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @ViewChild('content') content: ElementRef;\n\n @ViewChild('navbar') navbar: ElementRef;\n\n @ViewChild('inkbar') inkbar: ElementRef;\n\n @ViewChild('prevBtn') prevBtn: ElementRef;\n\n @ViewChild('nextBtn') nextBtn: ElementRef;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n itemTemplate: TemplateRef<any>;\n\n tabChanged: boolean;\n\n backwardIsDisabled: boolean = true;\n\n forwardIsDisabled: boolean = false;\n\n private timerIdForInitialAutoScroll: number | null = null;\n\n constructor(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 default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n ngAfterViewInit(): void {\n this.updateInkBar();\n this.initAutoScrollForActiveItem();\n this.initButtonState();\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 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 }\n\n updateInkBar() {\n const tabHeader = DomHandler.findSingle(this.navbar.nativeElement, 'li.p-highlight');\n if (tabHeader) {\n this.inkbar.nativeElement.style.width = DomHandler.getWidth(tabHeader) + 'px';\n this.inkbar.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) {\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.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],\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,7 +1,7 @@
1
- import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ContentChildren, NgModule } from '@angular/core';
3
1
  import * as i1 from '@angular/common';
4
2
  import { CommonModule } from '@angular/common';
3
+ import * as i0 from '@angular/core';
4
+ import { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ContentChildren, NgModule } from '@angular/core';
5
5
  import { PrimeTemplate } from 'primeng/api';
6
6
 
7
7
  class Toolbar {
@@ -15,10 +15,13 @@ class Toolbar {
15
15
  this.templates.forEach((item) => {
16
16
  switch (item.getType()) {
17
17
  case 'left':
18
- this.leftTemplate = item.template;
18
+ this.startTemplate = item.template;
19
19
  break;
20
20
  case 'right':
21
- this.rightTemplate = item.template;
21
+ this.endTemplate = item.template;
22
+ break;
23
+ case 'center':
24
+ this.centerTemplate = item.template;
22
25
  break;
23
26
  }
24
27
  });
@@ -28,29 +31,35 @@ Toolbar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3
28
31
  Toolbar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: Toolbar, selector: "p-toolbar", inputs: { style: "style", styleClass: "styleClass" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], ngImport: i0, template: `
29
32
  <div [ngClass]="'p-toolbar p-component'" [ngStyle]="style" [class]="styleClass" role="toolbar">
30
33
  <ng-content></ng-content>
31
- <div class="p-toolbar-group-left" *ngIf="leftTemplate">
32
- <ng-container *ngTemplateOutlet="leftTemplate"></ng-container>
34
+ <div class="p-toolbar-group-left p-toolbar-group-start" *ngIf="startTemplate">
35
+ <ng-container *ngTemplateOutlet="startTemplate"></ng-container>
36
+ </div>
37
+ <div class="p-toolbar-group-center" *ngIf="centerTemplate">
38
+ <ng-container *ngTemplateOutlet="centerTemplate"></ng-container>
33
39
  </div>
34
- <div class="p-toolbar-group-right" *ngIf="rightTemplate">
40
+ <div class="p-toolbar-group-right p-toolbar-group-end" *ngIf="endTemplate">
35
41
  <ng-container *ngTemplateOutlet="rightTemplate"></ng-container>
36
42
  </div>
37
43
  </div>
38
- `, isInline: true, styles: [".p-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}.p-toolbar-group-left,.p-toolbar-group-right{display:flex;align-items:center}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
44
+ `, isInline: true, styles: [".p-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}.p-toolbar-group-start,.p-toolbar-group-center,.p-toolbar-group-end,.p-toolbar-group-left,.p-toolbar-group-right{display:flex;align-items:center}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
39
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: Toolbar, decorators: [{
40
46
  type: Component,
41
47
  args: [{ selector: 'p-toolbar', template: `
42
48
  <div [ngClass]="'p-toolbar p-component'" [ngStyle]="style" [class]="styleClass" role="toolbar">
43
49
  <ng-content></ng-content>
44
- <div class="p-toolbar-group-left" *ngIf="leftTemplate">
45
- <ng-container *ngTemplateOutlet="leftTemplate"></ng-container>
50
+ <div class="p-toolbar-group-left p-toolbar-group-start" *ngIf="startTemplate">
51
+ <ng-container *ngTemplateOutlet="startTemplate"></ng-container>
52
+ </div>
53
+ <div class="p-toolbar-group-center" *ngIf="centerTemplate">
54
+ <ng-container *ngTemplateOutlet="centerTemplate"></ng-container>
46
55
  </div>
47
- <div class="p-toolbar-group-right" *ngIf="rightTemplate">
56
+ <div class="p-toolbar-group-right p-toolbar-group-end" *ngIf="endTemplate">
48
57
  <ng-container *ngTemplateOutlet="rightTemplate"></ng-container>
49
58
  </div>
50
59
  </div>
51
60
  `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
52
61
  class: 'p-element'
53
- }, styles: [".p-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}.p-toolbar-group-left,.p-toolbar-group-right{display:flex;align-items:center}\n"] }]
62
+ }, styles: [".p-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}.p-toolbar-group-start,.p-toolbar-group-center,.p-toolbar-group-end,.p-toolbar-group-left,.p-toolbar-group-right{display:flex;align-items:center}\n"] }]
54
63
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { style: [{
55
64
  type: Input
56
65
  }], styleClass: [{
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-toolbar.mjs","sources":["../../src/app/components/toolbar/toolbar.ts","../../src/app/components/toolbar/primeng-toolbar.ts"],"sourcesContent":["import { NgModule, Component, Input, ElementRef, ChangeDetectionStrategy, ViewEncapsulation, AfterContentInit, ContentChildren, QueryList, TemplateRef } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BlockableUI, PrimeTemplate } from 'primeng/api';\n\n@Component({\n selector: 'p-toolbar',\n template: `\n <div [ngClass]=\"'p-toolbar p-component'\" [ngStyle]=\"style\" [class]=\"styleClass\" role=\"toolbar\">\n <ng-content></ng-content>\n <div class=\"p-toolbar-group-left\" *ngIf=\"leftTemplate\">\n <ng-container *ngTemplateOutlet=\"leftTemplate\"></ng-container>\n </div>\n <div class=\"p-toolbar-group-right\" *ngIf=\"rightTemplate\">\n <ng-container *ngTemplateOutlet=\"rightTemplate\"></ng-container>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./toolbar.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class Toolbar implements AfterContentInit, BlockableUI {\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n leftTemplate: TemplateRef<any>;\n\n rightTemplate: TemplateRef<any>;\n\n constructor(private el: ElementRef) {}\n\n getBlockableElement(): HTMLElement {\n return this.el.nativeElement.children[0];\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'left':\n this.leftTemplate = item.template;\n break;\n\n case 'right':\n this.rightTemplate = item.template;\n break;\n }\n });\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [Toolbar],\n declarations: [Toolbar]\n})\nexport class ToolbarModule {}\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-toolbar.mjs","sources":["../../src/app/components/toolbar/toolbar.ts","../../src/app/components/toolbar/primeng-toolbar.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { AfterContentInit, ChangeDetectionStrategy, Component, ContentChildren, ElementRef, Input, NgModule, QueryList, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { BlockableUI, PrimeTemplate } from 'primeng/api';\n\n@Component({\n selector: 'p-toolbar',\n template: `\n <div [ngClass]=\"'p-toolbar p-component'\" [ngStyle]=\"style\" [class]=\"styleClass\" role=\"toolbar\">\n <ng-content></ng-content>\n <div class=\"p-toolbar-group-left p-toolbar-group-start\" *ngIf=\"startTemplate\">\n <ng-container *ngTemplateOutlet=\"startTemplate\"></ng-container>\n </div>\n <div class=\"p-toolbar-group-center\" *ngIf=\"centerTemplate\">\n <ng-container *ngTemplateOutlet=\"centerTemplate\"></ng-container>\n </div>\n <div class=\"p-toolbar-group-right p-toolbar-group-end\" *ngIf=\"endTemplate\">\n <ng-container *ngTemplateOutlet=\"rightTemplate\"></ng-container>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./toolbar.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class Toolbar implements AfterContentInit, BlockableUI {\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n startTemplate: TemplateRef<any>;\n\n endTemplate: TemplateRef<any>;\n\n centerTemplate: TemplateRef<any>;\n\n constructor(private el: ElementRef) {}\n\n getBlockableElement(): HTMLElement {\n return this.el.nativeElement.children[0];\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'left':\n this.startTemplate = item.template;\n break;\n\n case 'right':\n this.endTemplate = item.template;\n break;\n\n case 'center':\n this.centerTemplate = item.template;\n break;\n }\n });\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [Toolbar],\n declarations: [Toolbar]\n})\nexport class ToolbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,15 +1,15 @@
1
- import * as i0 from '@angular/core';
2
- import { forwardRef, Component, ViewEncapsulation, Inject, Input, EventEmitter, ChangeDetectionStrategy, Optional, Output, ContentChildren, ViewChild, NgModule } from '@angular/core';
3
1
  import * as i1 from '@angular/common';
4
2
  import { CommonModule } from '@angular/common';
3
+ import * as i0 from '@angular/core';
4
+ import { forwardRef, Component, ViewEncapsulation, Inject, Input, EventEmitter, ChangeDetectionStrategy, Optional, Output, ContentChildren, ViewChild, NgModule } from '@angular/core';
5
5
  import * as i3 from 'primeng/api';
6
6
  import { TranslationKeys, PrimeTemplate, SharedModule } from 'primeng/api';
7
- import { ObjectUtils } from 'primeng/utils';
8
7
  import { DomHandler } from 'primeng/dom';
9
8
  import * as i2 from 'primeng/ripple';
10
9
  import { RippleModule } from 'primeng/ripple';
11
10
  import * as i4 from 'primeng/scroller';
12
11
  import { ScrollerModule } from 'primeng/scroller';
12
+ import { ObjectUtils } from 'primeng/utils';
13
13
 
14
14
  class UITreeNode {
15
15
  constructor(tree) {
@@ -37,11 +37,13 @@ class UITreeNode {
37
37
  this.collapse(event);
38
38
  else
39
39
  this.expand(event);
40
+ event.stopPropagation();
40
41
  }
41
42
  expand(event) {
42
43
  this.node.expanded = true;
43
44
  if (this.tree.virtualScroll) {
44
45
  this.tree.updateSerializedValue();
46
+ this.focusVirtualNode();
45
47
  }
46
48
  this.tree.onNodeExpand.emit({ originalEvent: event, node: this.node });
47
49
  }
@@ -49,6 +51,7 @@ class UITreeNode {
49
51
  this.node.expanded = false;
50
52
  if (this.tree.virtualScroll) {
51
53
  this.tree.updateSerializedValue();
54
+ this.focusVirtualNode();
52
55
  }
53
56
  this.tree.onNodeCollapse.emit({ originalEvent: event, node: this.node });
54
57
  }
@@ -341,6 +344,12 @@ class UITreeNode {
341
344
  else
342
345
  element.children[0].children[0].focus();
343
346
  }
347
+ focusVirtualNode() {
348
+ this.timeout = setTimeout(() => {
349
+ let node = DomHandler.findSingle(document.body, `[data-id="${this.node.data}"]`);
350
+ DomHandler.focus(node);
351
+ }, 1);
352
+ }
344
353
  }
345
354
  UITreeNode.ICON_CLASS = 'p-treenode-icon ';
346
355
  UITreeNode.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: UITreeNode, deps: [{ token: forwardRef(() => Tree) }], target: i0.ɵɵFactoryTarget.Component });
@@ -377,6 +386,7 @@ UITreeNode.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "1
377
386
  [attr.aria-expanded]="this.node.expanded"
378
387
  [attr.aria-selected]="isSelected()"
379
388
  [attr.aria-label]="node.label"
389
+ [attr.data-id]="node.data"
380
390
  >
381
391
  <button type="button" [attr.aria-label]="tree.togglerAriaLabel" class="p-tree-toggler p-link" (click)="toggle($event)" pRipple tabindex="-1">
382
392
  <span class="p-tree-toggler-icon pi pi-fw" [ngClass]="{ 'pi-chevron-right': !node.expanded, 'pi-chevron-down': node.expanded }"></span>
@@ -498,6 +508,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
498
508
  [attr.aria-expanded]="this.node.expanded"
499
509
  [attr.aria-selected]="isSelected()"
500
510
  [attr.aria-label]="node.label"
511
+ [attr.data-id]="node.data"
501
512
  >
502
513
  <button type="button" [attr.aria-label]="tree.togglerAriaLabel" class="p-tree-toggler p-link" (click)="toggle($event)" pRipple tabindex="-1">
503
514
  <span class="p-tree-toggler-icon pi pi-fw" [ngClass]="{ 'pi-chevron-right': !node.expanded, 'pi-chevron-down': node.expanded }"></span>
@@ -614,10 +625,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
614
625
  type: Input
615
626
  }] } });
616
627
  class Tree {
617
- constructor(el, dragDropService, config) {
628
+ constructor(el, dragDropService, config, cd) {
618
629
  this.el = el;
619
630
  this.dragDropService = dragDropService;
620
631
  this.config = config;
632
+ this.cd = cd;
621
633
  this.layout = 'vertical';
622
634
  this.metaKeySelection = true;
623
635
  this.propagateSelectionUp = true;
@@ -1168,7 +1180,7 @@ class Tree {
1168
1180
  }
1169
1181
  }
1170
1182
  }
1171
- Tree.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: Tree, deps: [{ token: i0.ElementRef }, { token: i3.TreeDragDropService, optional: true }, { token: i3.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
1183
+ Tree.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: Tree, deps: [{ token: i0.ElementRef }, { token: i3.TreeDragDropService, optional: true }, { token: i3.PrimeNGConfig }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1172
1184
  Tree.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: Tree, selector: "p-tree", inputs: { value: "value", selectionMode: "selectionMode", selection: "selection", style: "style", styleClass: "styleClass", contextMenu: "contextMenu", layout: "layout", draggableScope: "draggableScope", droppableScope: "droppableScope", draggableNodes: "draggableNodes", droppableNodes: "droppableNodes", metaKeySelection: "metaKeySelection", propagateSelectionUp: "propagateSelectionUp", propagateSelectionDown: "propagateSelectionDown", loading: "loading", loadingIcon: "loadingIcon", emptyMessage: "emptyMessage", ariaLabel: "ariaLabel", togglerAriaLabel: "togglerAriaLabel", ariaLabelledBy: "ariaLabelledBy", validateDrop: "validateDrop", filter: "filter", filterBy: "filterBy", filterMode: "filterMode", filterPlaceholder: "filterPlaceholder", filteredNodes: "filteredNodes", filterLocale: "filterLocale", scrollHeight: "scrollHeight", lazy: "lazy", virtualScroll: "virtualScroll", virtualScrollItemSize: "virtualScrollItemSize", virtualScrollOptions: "virtualScrollOptions", indentation: "indentation", _templateMap: "_templateMap", trackBy: "trackBy", virtualNodeHeight: "virtualNodeHeight" }, outputs: { selectionChange: "selectionChange", onNodeSelect: "onNodeSelect", onNodeUnselect: "onNodeUnselect", onNodeExpand: "onNodeExpand", onNodeCollapse: "onNodeCollapse", onNodeContextMenuSelect: "onNodeContextMenuSelect", onNodeDrop: "onNodeDrop", onLazyLoad: "onLazyLoad", onScroll: "onScroll", onScrollIndexChange: "onScrollIndexChange", onFilter: "onFilter" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "filterViewChild", first: true, predicate: ["filter"], descendants: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }, { propertyName: "wrapperViewChild", first: true, predicate: ["wrapper"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
1173
1185
  <div
1174
1186
  [ngClass]="{ 'p-tree p-component': true, 'p-tree-selectable': selectionMode, 'p-treenode-dragover': dragHover, 'p-tree-loading': loading, 'p-tree-flex-scrollable': scrollHeight === 'flex' }"
@@ -1193,6 +1205,7 @@ Tree.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3"
1193
1205
  #scroller
1194
1206
  *ngIf="virtualScroll"
1195
1207
  [items]="serializedValue"
1208
+ [tabindex]="-1"
1196
1209
  styleClass="p-tree-wrapper"
1197
1210
  [style]="{ height: scrollHeight }"
1198
1211
  [itemSize]="virtualScrollItemSize || _virtualNodeHeight"
@@ -1205,6 +1218,7 @@ Tree.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3"
1205
1218
  <ng-template pTemplate="content" let-items let-scrollerOptions="options">
1206
1219
  <ul *ngIf="items" class="p-tree-container" [ngClass]="scrollerOptions.contentStyleClass" [style]="scrollerOptions.contentStyle" role="tree" [attr.aria-label]="ariaLabel" [attr.aria-labelledby]="ariaLabelledBy">
1207
1220
  <p-treeNode
1221
+ #treeNode
1208
1222
  *ngFor="let rowNode of items; let firstChild = first; let lastChild = last; let index = index; trackBy: trackBy"
1209
1223
  [level]="rowNode.level"
1210
1224
  [rowNode]="rowNode"
@@ -1289,6 +1303,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
1289
1303
  #scroller
1290
1304
  *ngIf="virtualScroll"
1291
1305
  [items]="serializedValue"
1306
+ [tabindex]="-1"
1292
1307
  styleClass="p-tree-wrapper"
1293
1308
  [style]="{ height: scrollHeight }"
1294
1309
  [itemSize]="virtualScrollItemSize || _virtualNodeHeight"
@@ -1301,6 +1316,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
1301
1316
  <ng-template pTemplate="content" let-items let-scrollerOptions="options">
1302
1317
  <ul *ngIf="items" class="p-tree-container" [ngClass]="scrollerOptions.contentStyleClass" [style]="scrollerOptions.contentStyle" role="tree" [attr.aria-label]="ariaLabel" [attr.aria-labelledby]="ariaLabelledBy">
1303
1318
  <p-treeNode
1319
+ #treeNode
1304
1320
  *ngFor="let rowNode of items; let firstChild = first; let lastChild = last; let index = index; trackBy: trackBy"
1305
1321
  [level]="rowNode.level"
1306
1322
  [rowNode]="rowNode"
@@ -1364,7 +1380,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
1364
1380
  }], ctorParameters: function () {
1365
1381
  return [{ type: i0.ElementRef }, { type: i3.TreeDragDropService, decorators: [{
1366
1382
  type: Optional
1367
- }] }, { type: i3.PrimeNGConfig }];
1383
+ }] }, { type: i3.PrimeNGConfig }, { type: i0.ChangeDetectorRef }];
1368
1384
  }, propDecorators: { value: [{
1369
1385
  type: Input
1370
1386
  }], selectionMode: [{