primeng 17.18.1 → 17.18.3

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 (58) hide show
  1. package/button/button.d.ts +0 -1
  2. package/dropdown/dropdown.d.ts +1 -0
  3. package/dynamicdialog/dynamicdialog.d.ts +1 -0
  4. package/esm2022/accordion/accordion.mjs +2 -3
  5. package/esm2022/button/button.mjs +2 -33
  6. package/esm2022/dom/domhandler.mjs +4 -4
  7. package/esm2022/dropdown/dropdown.mjs +3 -2
  8. package/esm2022/dynamicdialog/dynamicdialog.mjs +12 -3
  9. package/esm2022/editor/editor.mjs +5 -4
  10. package/esm2022/inputnumber/inputnumber.mjs +9 -7
  11. package/esm2022/listbox/listbox.mjs +1 -2
  12. package/esm2022/message/message.mjs +2 -2
  13. package/esm2022/multiselect/multiselect.mjs +20 -4
  14. package/esm2022/password/password.mjs +3 -1
  15. package/esm2022/splitter/splitter.mjs +7 -5
  16. package/esm2022/table/table.mjs +5 -4
  17. package/esm2022/tabmenu/tabmenu.mjs +6 -2
  18. package/esm2022/tooltip/tooltip.mjs +18 -13
  19. package/esm2022/tree/tree.mjs +9 -4
  20. package/fesm2022/primeng-accordion.mjs +1 -2
  21. package/fesm2022/primeng-accordion.mjs.map +1 -1
  22. package/fesm2022/primeng-button.mjs +1 -32
  23. package/fesm2022/primeng-button.mjs.map +1 -1
  24. package/fesm2022/primeng-dom.mjs +3 -3
  25. package/fesm2022/primeng-dom.mjs.map +1 -1
  26. package/fesm2022/primeng-dropdown.mjs +2 -1
  27. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  28. package/fesm2022/primeng-dynamicdialog.mjs +11 -2
  29. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  30. package/fesm2022/primeng-editor.mjs +4 -3
  31. package/fesm2022/primeng-editor.mjs.map +1 -1
  32. package/fesm2022/primeng-inputnumber.mjs +8 -6
  33. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  34. package/fesm2022/primeng-listbox.mjs +0 -1
  35. package/fesm2022/primeng-listbox.mjs.map +1 -1
  36. package/fesm2022/primeng-message.mjs +1 -1
  37. package/fesm2022/primeng-message.mjs.map +1 -1
  38. package/fesm2022/primeng-multiselect.mjs +19 -3
  39. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  40. package/fesm2022/primeng-password.mjs +2 -0
  41. package/fesm2022/primeng-password.mjs.map +1 -1
  42. package/fesm2022/primeng-splitter.mjs +6 -4
  43. package/fesm2022/primeng-splitter.mjs.map +1 -1
  44. package/fesm2022/primeng-table.mjs +4 -3
  45. package/fesm2022/primeng-table.mjs.map +1 -1
  46. package/fesm2022/primeng-tabmenu.mjs +5 -1
  47. package/fesm2022/primeng-tabmenu.mjs.map +1 -1
  48. package/fesm2022/primeng-tooltip.mjs +17 -12
  49. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  50. package/fesm2022/primeng-tree.mjs +8 -3
  51. package/fesm2022/primeng-tree.mjs.map +1 -1
  52. package/inputnumber/inputnumber.d.ts +1 -0
  53. package/message/message.d.ts +3 -3
  54. package/package.json +265 -265
  55. package/resources/components/splitter/splitter.css +5 -0
  56. package/table/table.d.ts +1 -1
  57. package/tooltip/tooltip.d.ts +1 -0
  58. package/tree/tree.d.ts +1 -0
@@ -3,7 +3,7 @@ import { isPlatformBrowser, CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
4
  import { EventEmitter, signal, PLATFORM_ID, booleanAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Inject, Input, Output, ViewChild, ViewChildren, ContentChildren, NgModule } from '@angular/core';
5
5
  import * as i1 from '@angular/router';
6
- import { RouterModule } from '@angular/router';
6
+ import { NavigationEnd, RouterModule } from '@angular/router';
7
7
  import { PrimeTemplate, SharedModule } from 'primeng/api';
8
8
  import { DomHandler } from 'primeng/dom';
9
9
  import { ChevronLeftIcon } from 'primeng/icons/chevronleft';
@@ -13,6 +13,7 @@ import { RippleModule } from 'primeng/ripple';
13
13
  import * as i4 from 'primeng/tooltip';
14
14
  import { TooltipModule } from 'primeng/tooltip';
15
15
  import { ObjectUtils } from 'primeng/utils';
16
+ import { filter } from 'rxjs/operators';
16
17
 
17
18
  /**
18
19
  * TabMenu is a navigation component that displays items as tab headers.
@@ -117,6 +118,9 @@ class TabMenu {
117
118
  this.router = router;
118
119
  this.route = route;
119
120
  this.cd = cd;
121
+ this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe((event) => {
122
+ this.cd.markForCheck();
123
+ });
120
124
  }
121
125
  ngAfterContentInit() {
122
126
  this.templates?.forEach((item) => {
@@ -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 booleanAttribute,\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() set activeItem(value: MenuItem | undefined) {\n this._activeItem = value;\n this.activeItemChange.emit(value);\n this.tabChanged = true;\n }\n\n get activeItem(): MenuItem | undefined {\n return this._activeItem;\n }\n /**\n * When enabled displays buttons at each side of the tab headers to scroll the tab list.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) scrollable: boolean | undefined;\n /**\n * Defines if popup mode enabled.\n */\n @Input({ transform: booleanAttribute }) popup: boolean | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Defines a string value that labels an interactive element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Identifier of the underlying input element.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Event fired when a tab is selected.\n * @param {MenuItem} item - Menu item.\n * @group Emits\n */\n @Output() activeItemChange: EventEmitter<MenuItem> = new EventEmitter<MenuItem>();\n\n @ViewChild('content') content: Nullable<ElementRef>;\n\n @ViewChild('navbar') navbar: Nullable<ElementRef>;\n\n @ViewChild('inkbar') inkbar: Nullable<ElementRef>;\n\n @ViewChild('prevBtn') prevBtn: Nullable<ElementRef>;\n\n @ViewChild('nextBtn') nextBtn: Nullable<ElementRef>;\n\n @ViewChildren('tabLink') tabLink: Nullable<QueryList<ElementRef>>;\n\n @ViewChildren('tab') tab: Nullable<QueryList<ElementRef>>;\n\n @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 _activeItem: 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(\n @Inject(PLATFORM_ID) private platformId: any,\n private router: Router,\n private route: ActivatedRoute,\n private cd: ChangeDetectorRef\n ) {}\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this.itemTemplate = item.template;\n break;\n\n case 'nexticon':\n this.nextIconTemplate = item.template;\n break;\n\n case 'previousicon':\n this.previousIconTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n ngAfterViewInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n this.updateInkBar();\n this.initAutoScrollForActiveItem();\n this.initButtonState();\n }\n }\n\n ngAfterViewChecked() {\n if (isPlatformBrowser(this.platformId)) {\n this.updateInkBar();\n this.tabChanged = false;\n }\n }\n\n ngOnDestroy(): void {\n this.clearAutoScrollHandler();\n }\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":";;;;;;;;;;;;;;;;AAmCA;;;AAGG;MA+FU,OAAO,CAAA;AAmHiB,IAAA,UAAA,CAAA;AACrB,IAAA,MAAA,CAAA;AACA,IAAA,KAAA,CAAA;AACA,IAAA,EAAA,CAAA;AArHZ;;;AAGG;IACH,IAAa,KAAK,CAAC,KAA6B,EAAA;AAC5C,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,QAAA,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,KAAI;AAC/D,YAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAElB,YAAA,OAAO,MAAM,CAAC;SACjB,EAAE,EAAE,CAAC,CAAC;KACV;AACD,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;AACD;;;AAGG;IACH,IAAa,UAAU,CAAC,KAA2B,EAAA;AAC/C,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;KAC1B;AAED,IAAA,IAAI,UAAU,GAAA;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;AACD;;;AAGG;AACqC,IAAA,UAAU,CAAsB;AACxE;;AAEG;AACqC,IAAA,KAAK,CAAsB;AACnE;;;AAGG;AACM,IAAA,KAAK,CAA8C;AAC5D;;;AAGG;AACM,IAAA,UAAU,CAAqB;AACxC;;;AAGG;AACM,IAAA,SAAS,CAAqB;AACvC;;;AAGG;AACM,IAAA,cAAc,CAAqB;AAC5C;;;;AAIG;AACO,IAAA,gBAAgB,GAA2B,IAAI,YAAY,EAAY,CAAC;AAE5D,IAAA,OAAO,CAAuB;AAE/B,IAAA,MAAM,CAAuB;AAE7B,IAAA,MAAM,CAAuB;AAE5B,IAAA,OAAO,CAAuB;AAE9B,IAAA,OAAO,CAAuB;AAE3B,IAAA,OAAO,CAAkC;AAE7C,IAAA,GAAG,CAAkC;AAE1B,IAAA,SAAS,CAAuC;AAEhF,IAAA,YAAY,CAA6B;AAEzC,IAAA,oBAAoB,CAA6B;AAEjD,IAAA,gBAAgB,CAA6B;AAE7C,IAAA,UAAU,CAAsB;IAEhC,kBAAkB,GAAY,IAAI,CAAC;IAEnC,iBAAiB,GAAY,KAAK,CAAC;IAE3B,2BAA2B,GAAQ,IAAI,CAAC;AAEhD,IAAA,eAAe,CAA+B;AAE9C,IAAA,MAAM,CAAyB;AAE/B,IAAA,WAAW,CAAuB;AAElC,IAAA,eAAe,GAAG,MAAM,CAAM,IAAI,CAAC,CAAC;AAEpC,IAAA,IAAI,cAAc,GAAA;AACd,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;AACvD,YAAA,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,KAAI;AAC9D,gBAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAElB,gBAAA,OAAO,MAAM,CAAC;aACjB,EAAE,EAAE,CAAC,CAAC;SACV;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;KAC/B;AAED,IAAA,WAAA,CACiC,UAAe,EACpC,MAAc,EACd,KAAqB,EACrB,EAAqB,EAAA;QAHA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAK;QACpC,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;QACrB,IAAE,CAAA,EAAA,GAAF,EAAE,CAAmB;KAC7B;IAEJ,kBAAkB,GAAA;QACd,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,KAAI;AAC7B,YAAA,QAAQ,IAAI,CAAC,OAAO,EAAE;AAClB,gBAAA,KAAK,MAAM;AACP,oBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAClC,MAAM;AAEV,gBAAA,KAAK,UAAU;AACX,oBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACtC,MAAM;AAEV,gBAAA,KAAK,cAAc;AACf,oBAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAC1C,MAAM;AAEV,gBAAA;AACI,oBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAClC,MAAM;aACb;AACL,SAAC,CAAC,CAAC;KACN;IAED,eAAe,GAAA;AACX,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACpC,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACnC,IAAI,CAAC,eAAe,EAAE,CAAC;SAC1B;KACJ;IAED,kBAAkB,GAAA;AACd,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACpC,IAAI,CAAC,YAAY,EAAE,CAAC;AACpB,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SAC3B;KACJ;IAED,WAAW,GAAA;QACP,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;AAED,IAAA,QAAQ,CAAC,IAAc,EAAA;AACnB,QAAA,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,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,IAAI,CAAC,uBAAuB,IAAI,KAAK,CAAC,CAAC;SAC3L;AAED,QAAA,OAAO,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC;KACnC;IAED,WAAW,CAAC,IAAS,EAAE,IAAY,EAAA;AAC/B,QAAA,OAAO,IAAI,GAAG,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;KAClE;AAED,IAAA,OAAO,CAAC,IAAI,EAAA;QACR,OAAO,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC;KACvF;AAED,IAAA,QAAQ,CAAC,IAAI,EAAA;AACT,QAAA,OAAO,OAAO,IAAI,CAAC,QAAQ,KAAK,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;KAChF;AAED,IAAA,eAAe,CAAC,IAAI,EAAA;AAChB,QAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KAClC;IAED,SAAS,CAAC,KAAY,EAAE,IAAc,EAAA;AAClC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO;SACV;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAC/B,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,OAAO,CAAC;AACT,gBAAA,aAAa,EAAE,KAAK;AACpB,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA,CAAC,CAAC;SACN;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;AACvB,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;KAC1B;AAED,IAAA,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAA;QAC5B,IAAI,CAAC,GAAG,KAAK,CAAC;QAEd,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;AAEhC,QAAA,QAAQ,KAAK,CAAC,IAAI;AACd,YAAA,KAAK,YAAY;gBACb,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC1C,gBAAA,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBACtB,MAAM;AAEV,YAAA,KAAK,WAAW;gBACZ,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC1C,gBAAA,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBACtB,MAAM;AAEV,YAAA,KAAK,KAAK;AACN,gBAAA,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC1D,gBAAA,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBAEtB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,MAAM;AAEV,YAAA,KAAK,MAAM;gBACP,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3C,gBAAA,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBAEtB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,MAAM;AAEV,YAAA,KAAK,OAAO,CAAC;AACb,YAAA,KAAK,OAAO;AACR,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC5B,MAAM;AAEV,YAAA,KAAK,KAAK;AACN,gBAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAC5B,MAAM;AAEV,YAAA;gBACI,MAAM;SACb;QAED,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;YAChC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC9C,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,GAAG,GAAG,CAAC;YACzC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SACrC;AACD,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;KAC1B;AAED,IAAA,YAAY,CAAC,QAAQ,EAAA;AACjB,QAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;YACtB,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;AAC7H,SAAC,CAAC,CAAC;KACN;IAED,YAAY,CAAC,KAAK,EAAE,KAAK,EAAA;AACrB,QAAA,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AAElB,QAAA,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE;AACnB,YAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;SAC7D;AAED,QAAA,IAAI,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAExB,QAAA,IAAI,QAAQ;AAAE,YAAA,OAAO,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC;;AAC3J,YAAA,OAAO,IAAI,CAAC;KACpB;IAED,YAAY,CAAC,KAAK,EAAE,KAAK,EAAA;AACrB,QAAA,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AAElB,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE;AACP,YAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;SACvC;AAED,QAAA,IAAI,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAExB,QAAA,IAAI,QAAQ;AAAE,YAAA,OAAO,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC;;AAC3J,YAAA,OAAO,IAAI,CAAC;KACpB;IAED,YAAY,GAAA;AACR,QAAA,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;QACtF,IAAI,SAAS,EAAE;AACV,YAAA,IAAI,CAAC,MAAqB,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;AAC7F,YAAA,IAAI,CAAC,MAAqB,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;SAC9J;KACJ;IAED,sBAAsB,GAAA;QAClB,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE,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,EAAE,aAAa,CAAC;AAC5C,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,EAAE,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE7D,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO;SACV;AAED,QAAA,SAAS,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;KACpE;AAED,IAAA,QAAQ,CAAC,KAAY,EAAA;AACjB,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,EAAE,aAAa,CAAC;AAC5C,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,EAAE,aAAa,CAAC;AAC5C,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;SACV;QAED,IAAI,CAAC,sBAAsB,EAAE,CAAC;;AAE9B,QAAA,IAAI,CAAC,2BAA2B,GAAG,UAAU,CAAC,MAAK;YAC/C,MAAM,UAAU,GAAI,IAAI,CAAC,KAAoB,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE/F,YAAA,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;AACnB,gBAAA,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;aACpC;AACL,SAAC,CAAC,CAAC;KACN;IAEO,sBAAsB,GAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,2BAA2B,EAAE;AAClC,YAAA,YAAY,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;AAC/C,YAAA,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;SAC3C;KACJ;IAEO,eAAe,GAAA;AACnB,QAAA,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;SACN;KACJ;AA5XQ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,OAAO,kBAmHJ,WAAW,EAAA,EAAA,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;AAnHd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,OAAO,sHAiCI,gBAAgB,CAAA,EAAA,KAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAIhB,gBAAgB,CAAA,EAAA,KAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,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,EA0CnB,aAAa,EA3KpB,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,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,KAAA,EAAA,SAAA,EAAA,CAAA,KAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAoFT,EAwYgF,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,88BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,OAAA,CAAA,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,UAAA,CAAA,MAAA,EAAA,CAAA,IAAA,CAAA,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,UAAA,CAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,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,UAAA,CAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,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,UAAA,CAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,OAAA,CAAA,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,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAAA,eAAe,iFAAE,gBAAgB,CAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAhYzG,OAAO,EAAA,UAAA,EAAA,CAAA;kBA9FnB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EACX,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoFT,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,88BAAA,CAAA,EAAA,CAAA;;0BAqHI,MAAM;2BAAC,WAAW,CAAA;2HA9GV,KAAK,EAAA,CAAA;sBAAjB,KAAK;gBAeO,UAAU,EAAA,CAAA;sBAAtB,KAAK;gBAakC,UAAU,EAAA,CAAA;sBAAjD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAIE,KAAK,EAAA,CAAA;sBAA5C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAK7B,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAKG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAKG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAMI,gBAAgB,EAAA,CAAA;sBAAzB,MAAM;gBAEe,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;gBAEK,OAAO,EAAA,CAAA;sBAA/B,YAAY;uBAAC,SAAS,CAAA;gBAEF,GAAG,EAAA,CAAA;sBAAvB,YAAY;uBAAC,KAAK,CAAA;gBAEa,SAAS,EAAA,CAAA;sBAAxC,eAAe;uBAAC,aAAa,CAAA;;MAqTrB,aAAa,CAAA;uGAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;wGAAb,aAAa,EAAA,YAAA,EAAA,CApYb,OAAO,CAgYN,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,CAhYzG,EAAA,OAAA,EAAA,CAAA,OAAO,EAiYG,YAAY,EAAE,YAAY,EAAE,aAAa,CAAA,EAAA,CAAA,CAAA;AAGnD,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAJZ,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAC/F,YAAY,EAAE,YAAY,EAAE,aAAa,CAAA,EAAA,CAAA,CAAA;;2FAGnD,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,CAAC;oBACnH,OAAO,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,CAAC;oBAC7D,YAAY,EAAE,CAAC,OAAO,CAAC;AAC1B,iBAAA,CAAA;;;ACxgBD;;AAEG;;;;"}
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 booleanAttribute,\n signal\n} from '@angular/core';\nimport { ActivatedRoute, NavigationEnd, 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';\nimport { filter } from 'rxjs/operators';\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() set activeItem(value: MenuItem | undefined) {\n this._activeItem = value;\n this.activeItemChange.emit(value);\n this.tabChanged = true;\n }\n\n get activeItem(): MenuItem | undefined {\n return this._activeItem;\n }\n /**\n * When enabled displays buttons at each side of the tab headers to scroll the tab list.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) scrollable: boolean | undefined;\n /**\n * Defines if popup mode enabled.\n */\n @Input({ transform: booleanAttribute }) popup: boolean | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Defines a string value that labels an interactive element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Identifier of the underlying input element.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Event fired when a tab is selected.\n * @param {MenuItem} item - Menu item.\n * @group Emits\n */\n @Output() activeItemChange: EventEmitter<MenuItem> = new EventEmitter<MenuItem>();\n\n @ViewChild('content') content: Nullable<ElementRef>;\n\n @ViewChild('navbar') navbar: Nullable<ElementRef>;\n\n @ViewChild('inkbar') inkbar: Nullable<ElementRef>;\n\n @ViewChild('prevBtn') prevBtn: Nullable<ElementRef>;\n\n @ViewChild('nextBtn') nextBtn: Nullable<ElementRef>;\n\n @ViewChildren('tabLink') tabLink: Nullable<QueryList<ElementRef>>;\n\n @ViewChildren('tab') tab: Nullable<QueryList<ElementRef>>;\n\n @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 _activeItem: 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(\n @Inject(PLATFORM_ID) private platformId: any,\n private router: Router,\n private route: ActivatedRoute,\n private cd: ChangeDetectorRef\n ) {\n this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe((event: NavigationEnd) => {\n this.cd.markForCheck();\n });\n }\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this.itemTemplate = item.template;\n break;\n\n case 'nexticon':\n this.nextIconTemplate = item.template;\n break;\n\n case 'previousicon':\n this.previousIconTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n ngAfterViewInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n this.updateInkBar();\n this.initAutoScrollForActiveItem();\n this.initButtonState();\n }\n }\n\n ngAfterViewChecked() {\n if (isPlatformBrowser(this.platformId)) {\n this.updateInkBar();\n this.tabChanged = false;\n }\n }\n\n ngOnDestroy(): void {\n this.clearAutoScrollHandler();\n }\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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"}
@@ -147,6 +147,7 @@ class Tooltip {
147
147
  blurListener;
148
148
  scrollHandler;
149
149
  resizeListener;
150
+ interactionInProgress = false;
150
151
  constructor(platformId, el, zone, config, renderer, viewContainer) {
151
152
  this.platformId = platformId;
152
153
  this.el = el;
@@ -294,22 +295,26 @@ class Tooltip {
294
295
  }
295
296
  }
296
297
  activate() {
297
- this.active = true;
298
- this.clearHideTimeout();
299
- if (this.getOption('showDelay'))
300
- this.showTimeout = setTimeout(() => {
298
+ if (!this.interactionInProgress) {
299
+ this.active = true;
300
+ this.clearHideTimeout();
301
+ if (this.getOption('showDelay'))
302
+ this.showTimeout = setTimeout(() => {
303
+ this.show();
304
+ }, this.getOption('showDelay'));
305
+ else
301
306
  this.show();
302
- }, this.getOption('showDelay'));
303
- else
304
- this.show();
305
- if (this.getOption('life')) {
306
- let duration = this.getOption('showDelay') ? this.getOption('life') + this.getOption('showDelay') : this.getOption('life');
307
- this.hideTimeout = setTimeout(() => {
308
- this.hide();
309
- }, duration);
307
+ if (this.getOption('life')) {
308
+ let duration = this.getOption('showDelay') ? this.getOption('life') + this.getOption('showDelay') : this.getOption('life');
309
+ this.hideTimeout = setTimeout(() => {
310
+ this.hide();
311
+ }, duration);
312
+ }
310
313
  }
314
+ this.interactionInProgress = true;
311
315
  }
312
316
  deactivate() {
317
+ this.interactionInProgress = false;
313
318
  this.active = false;
314
319
  this.clearShowTimeout();
315
320
  if (this.getOption('hideDelay')) {
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-tooltip.mjs","sources":["../../src/app/components/tooltip/tooltip.ts","../../src/app/components/tooltip/primeng-tooltip.ts"],"sourcesContent":["import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { AfterViewInit, Directive, ElementRef, HostListener, Inject, Input, NgModule, NgZone, OnDestroy, PLATFORM_ID, Renderer2, SimpleChanges, TemplateRef, ViewContainerRef, booleanAttribute, numberAttribute } from '@angular/core';\nimport { PrimeNGConfig, TooltipOptions } from 'primeng/api';\nimport { ConnectedOverlayScrollHandler, DomHandler } from 'primeng/dom';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { UniqueComponentId, ZIndexUtils } from 'primeng/utils';\n\n/**\n * Tooltip directive provides advisory information for a component.\n * @group Components\n */\n@Directive({\n selector: '[pTooltip]',\n host: {\n class: 'p-element'\n }\n})\nexport class Tooltip implements AfterViewInit, OnDestroy {\n /**\n * Position of the tooltip.\n * @group Props\n */\n @Input() tooltipPosition: 'right' | 'left' | 'top' | 'bottom' | string | undefined;\n /**\n * Event to show the tooltip.\n * @group Props\n */\n @Input() tooltipEvent: 'hover' | 'focus' | 'both' | string | any = 'hover';\n /**\n * Target element to attach the overlay, valid values are \"body\", \"target\" or a local ng-F variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n @Input() appendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n /**\n * Type of CSS position.\n * @group Props\n */\n @Input() positionStyle: string | undefined;\n /**\n * Style class of the tooltip.\n * @group Props\n */\n @Input() tooltipStyleClass: string | undefined;\n /**\n * Whether the z-index should be managed automatically to always go on top or have a fixed value.\n * @group Props\n */\n @Input() tooltipZIndex: string | undefined;\n /**\n * By default the tooltip contents are rendered as text. Set to false to support html tags in the content.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) escape: boolean = true;\n /**\n * Delay to show the tooltip in milliseconds.\n * @group Props\n */\n @Input({ transform: numberAttribute }) showDelay: number | undefined;\n /**\n * Delay to hide the tooltip in milliseconds.\n * @group Props\n */\n @Input({ transform: numberAttribute }) hideDelay: number | undefined;\n /**\n * Time to wait in milliseconds to hide the tooltip even it is active.\n * @group Props\n */\n @Input({ transform: numberAttribute }) life: number | undefined;\n /**\n * Specifies the additional vertical offset of the tooltip from its default position.\n * @group Props\n */\n @Input({ transform: numberAttribute }) positionTop: number | undefined;\n /**\n * Specifies the additional horizontal offset of the tooltip from its default position.\n * @group Props\n */\n @Input({ transform: numberAttribute }) positionLeft: number | undefined;\n /**\n * Whether to hide tooltip when hovering over tooltip content.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoHide: boolean = true;\n /**\n * Automatically adjusts the element position when there is not enough space on the selected position.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) fitContent: boolean = true;\n /**\n * Whether to hide tooltip on escape key press.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) hideOnEscape: boolean = true;\n /**\n * Content of the tooltip.\n * @group Props\n */\n @Input('pTooltip') content: string | TemplateRef<HTMLElement> | undefined;\n /**\n * When present, it specifies that the component should be disabled.\n * @defaultValue false\n * @group Props\n */\n @Input('tooltipDisabled') get disabled(): boolean {\n return this._disabled as boolean;\n }\n set disabled(val: boolean) {\n this._disabled = val;\n this.deactivate();\n }\n /**\n * Specifies the tooltip configuration options for the component.\n * @group Props\n */\n @Input() tooltipOptions: TooltipOptions | undefined;\n\n _tooltipOptions = {\n tooltipLabel: null,\n tooltipPosition: 'right',\n tooltipEvent: 'hover',\n appendTo: 'body',\n positionStyle: null,\n tooltipStyleClass: null,\n tooltipZIndex: 'auto',\n escape: true,\n disabled: null,\n showDelay: null,\n hideDelay: null,\n positionTop: null,\n positionLeft: null,\n life: null,\n autoHide: true,\n hideOnEscape: true,\n id: UniqueComponentId() + '_tooltip'\n };\n\n _disabled: boolean | undefined;\n\n container: any;\n\n styleClass: string | undefined;\n\n tooltipText: any;\n\n showTimeout: any;\n\n hideTimeout: any;\n\n active: boolean | undefined;\n\n mouseEnterListener: Nullable<Function>;\n\n mouseLeaveListener: Nullable<Function>;\n\n containerMouseleaveListener: Nullable<Function>;\n\n clickListener: Nullable<Function>;\n\n focusListener: Nullable<Function>;\n\n blurListener: Nullable<Function>;\n\n scrollHandler: any;\n\n resizeListener: any;\n\n constructor(\n @Inject(PLATFORM_ID) private platformId: any,\n public el: ElementRef,\n public zone: NgZone,\n public config: PrimeNGConfig,\n private renderer: Renderer2,\n private viewContainer: ViewContainerRef\n ) {}\n\n ngAfterViewInit() {\n if (isPlatformBrowser(this.platformId)) {\n this.zone.runOutsideAngular(() => {\n const tooltipEvent = this.getOption('tooltipEvent');\n\n if (tooltipEvent === 'hover' || tooltipEvent === 'both') {\n this.mouseEnterListener = this.onMouseEnter.bind(this);\n this.mouseLeaveListener = this.onMouseLeave.bind(this);\n this.clickListener = this.onInputClick.bind(this);\n this.el.nativeElement.addEventListener('mouseenter', this.mouseEnterListener);\n this.el.nativeElement.addEventListener('click', this.clickListener);\n this.el.nativeElement.addEventListener('mouseleave', this.mouseLeaveListener);\n }\n if (tooltipEvent === 'focus' || tooltipEvent === 'both') {\n this.focusListener = this.onFocus.bind(this);\n this.blurListener = this.onBlur.bind(this);\n\n let target = this.el.nativeElement.querySelector('.p-component');\n\n if (!target) {\n target = this.getTarget(this.el.nativeElement);\n }\n\n target.addEventListener('focus', this.focusListener);\n target.addEventListener('blur', this.blurListener);\n }\n });\n }\n }\n\n ngOnChanges(simpleChange: SimpleChanges) {\n if (simpleChange.tooltipPosition) {\n this.setOption({ tooltipPosition: simpleChange.tooltipPosition.currentValue });\n }\n\n if (simpleChange.tooltipEvent) {\n this.setOption({ tooltipEvent: simpleChange.tooltipEvent.currentValue });\n }\n\n if (simpleChange.appendTo) {\n this.setOption({ appendTo: simpleChange.appendTo.currentValue });\n }\n\n if (simpleChange.positionStyle) {\n this.setOption({ positionStyle: simpleChange.positionStyle.currentValue });\n }\n\n if (simpleChange.tooltipStyleClass) {\n this.setOption({ tooltipStyleClass: simpleChange.tooltipStyleClass.currentValue });\n }\n\n if (simpleChange.tooltipZIndex) {\n this.setOption({ tooltipZIndex: simpleChange.tooltipZIndex.currentValue });\n }\n\n if (simpleChange.escape) {\n this.setOption({ escape: simpleChange.escape.currentValue });\n }\n\n if (simpleChange.showDelay) {\n this.setOption({ showDelay: simpleChange.showDelay.currentValue });\n }\n\n if (simpleChange.hideDelay) {\n this.setOption({ hideDelay: simpleChange.hideDelay.currentValue });\n }\n\n if (simpleChange.life) {\n this.setOption({ life: simpleChange.life.currentValue });\n }\n\n if (simpleChange.positionTop) {\n this.setOption({ positionTop: simpleChange.positionTop.currentValue });\n }\n\n if (simpleChange.positionLeft) {\n this.setOption({ positionLeft: simpleChange.positionLeft.currentValue });\n }\n\n if (simpleChange.disabled) {\n this.setOption({ disabled: simpleChange.disabled.currentValue });\n }\n\n if (simpleChange.content) {\n this.setOption({ tooltipLabel: simpleChange.content.currentValue });\n\n if (this.active) {\n if (simpleChange.content.currentValue) {\n if (this.container && this.container.offsetParent) {\n this.updateText();\n this.align();\n } else {\n this.show();\n }\n } else {\n this.hide();\n }\n }\n }\n\n if (simpleChange.autoHide) {\n this.setOption({ autoHide: simpleChange.autoHide.currentValue });\n }\n\n if (simpleChange.id) {\n this.setOption({ id: simpleChange.id.currentValue });\n }\n\n if (simpleChange.tooltipOptions) {\n this._tooltipOptions = { ...this._tooltipOptions, ...simpleChange.tooltipOptions.currentValue };\n this.deactivate();\n\n if (this.active) {\n if (this.getOption('tooltipLabel')) {\n if (this.container && this.container.offsetParent) {\n this.updateText();\n this.align();\n } else {\n this.show();\n }\n } else {\n this.hide();\n }\n }\n }\n }\n\n isAutoHide(): boolean {\n return this.getOption('autoHide');\n }\n\n onMouseEnter(e: Event) {\n if (!this.container && !this.showTimeout) {\n this.activate();\n }\n }\n\n onMouseLeave(e: MouseEvent) {\n if (!this.isAutoHide()) {\n const valid = DomHandler.hasClass(e.relatedTarget, 'p-tooltip') || DomHandler.hasClass(e.relatedTarget, 'p-tooltip-text') || DomHandler.hasClass(e.relatedTarget, 'p-tooltip-arrow');\n !valid && this.deactivate();\n } else {\n this.deactivate();\n }\n }\n\n onFocus(e: Event) {\n this.activate();\n }\n\n onBlur(e: Event) {\n this.deactivate();\n }\n\n onInputClick(e: Event) {\n this.deactivate();\n }\n\n @HostListener('document:keydown.escape', ['$event'])\n onPressEscape() {\n if (this.hideOnEscape) {\n this.deactivate();\n }\n }\n\n activate() {\n this.active = true;\n this.clearHideTimeout();\n\n if (this.getOption('showDelay'))\n this.showTimeout = setTimeout(() => {\n this.show();\n }, this.getOption('showDelay'));\n else this.show();\n\n if (this.getOption('life')) {\n let duration = this.getOption('showDelay') ? this.getOption('life') + this.getOption('showDelay') : this.getOption('life');\n this.hideTimeout = setTimeout(() => {\n this.hide();\n }, duration);\n }\n }\n\n deactivate() {\n this.active = false;\n this.clearShowTimeout();\n\n if (this.getOption('hideDelay')) {\n this.clearHideTimeout(); //life timeout\n this.hideTimeout = setTimeout(() => {\n this.hide();\n }, this.getOption('hideDelay'));\n } else {\n this.hide();\n }\n }\n\n create() {\n if (this.container) {\n this.clearHideTimeout();\n this.remove();\n }\n\n this.container = document.createElement('div');\n this.container.setAttribute('id', this.getOption('id'));\n this.container.setAttribute('role', 'tooltip');\n\n let tooltipArrow = document.createElement('div');\n tooltipArrow.className = 'p-tooltip-arrow';\n this.container.appendChild(tooltipArrow);\n\n this.tooltipText = document.createElement('div');\n this.tooltipText.className = 'p-tooltip-text';\n\n this.updateText();\n\n if (this.getOption('positionStyle')) {\n this.container.style.position = this.getOption('positionStyle');\n }\n\n this.container.appendChild(this.tooltipText);\n\n if (this.getOption('appendTo') === 'body') document.body.appendChild(this.container);\n else if (this.getOption('appendTo') === 'target') DomHandler.appendChild(this.container, this.el.nativeElement);\n else DomHandler.appendChild(this.container, this.getOption('appendTo'));\n\n this.container.style.display = 'inline-block';\n\n if (this.fitContent) {\n this.container.style.width = 'fit-content';\n }\n\n if (this.isAutoHide()) {\n this.container.style.pointerEvents = 'none';\n } else {\n this.container.style.pointerEvents = 'unset';\n this.bindContainerMouseleaveListener();\n }\n }\n\n bindContainerMouseleaveListener() {\n if (!this.containerMouseleaveListener) {\n const targetEl: any = this.container ?? this.container.nativeElement;\n\n this.containerMouseleaveListener = this.renderer.listen(targetEl, 'mouseleave', (e) => {\n this.deactivate();\n });\n }\n }\n\n unbindContainerMouseleaveListener() {\n if (this.containerMouseleaveListener) {\n this.bindContainerMouseleaveListener();\n this.containerMouseleaveListener = null;\n }\n }\n\n show() {\n if (!this.getOption('tooltipLabel') || this.getOption('disabled')) {\n return;\n }\n\n this.create();\n\n const nativeElement = this.el.nativeElement;\n const pDialogWrapper = nativeElement.closest('p-dialog');\n\n if (pDialogWrapper) {\n setTimeout(() => {\n this.container && this.align();\n }, 100);\n } else {\n this.align();\n }\n\n DomHandler.fadeIn(this.container, 250);\n\n if (this.getOption('tooltipZIndex') === 'auto') ZIndexUtils.set('tooltip', this.container, this.config.zIndex.tooltip);\n else this.container.style.zIndex = this.getOption('tooltipZIndex');\n\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n }\n\n hide() {\n if (this.getOption('tooltipZIndex') === 'auto') {\n ZIndexUtils.clear(this.container);\n }\n\n this.remove();\n }\n\n updateText() {\n const content = this.getOption('tooltipLabel');\n if (content instanceof TemplateRef) {\n const embeddedViewRef = this.viewContainer.createEmbeddedView(content);\n embeddedViewRef.detectChanges();\n embeddedViewRef.rootNodes.forEach((node) => this.tooltipText.appendChild(node));\n } else if (this.getOption('escape')) {\n this.tooltipText.innerHTML = '';\n this.tooltipText.appendChild(document.createTextNode(content));\n } else {\n this.tooltipText.innerHTML = content;\n }\n }\n\n align() {\n let position = this.getOption('tooltipPosition');\n\n switch (position) {\n case 'top':\n this.alignTop();\n if (this.isOutOfBounds()) {\n this.alignBottom();\n if (this.isOutOfBounds()) {\n this.alignRight();\n\n if (this.isOutOfBounds()) {\n this.alignLeft();\n }\n }\n }\n break;\n\n case 'bottom':\n this.alignBottom();\n if (this.isOutOfBounds()) {\n this.alignTop();\n if (this.isOutOfBounds()) {\n this.alignRight();\n\n if (this.isOutOfBounds()) {\n this.alignLeft();\n }\n }\n }\n break;\n\n case 'left':\n this.alignLeft();\n if (this.isOutOfBounds()) {\n this.alignRight();\n\n if (this.isOutOfBounds()) {\n this.alignTop();\n\n if (this.isOutOfBounds()) {\n this.alignBottom();\n }\n }\n }\n break;\n\n case 'right':\n this.alignRight();\n if (this.isOutOfBounds()) {\n this.alignLeft();\n\n if (this.isOutOfBounds()) {\n this.alignTop();\n\n if (this.isOutOfBounds()) {\n this.alignBottom();\n }\n }\n }\n break;\n }\n }\n\n getHostOffset() {\n if (this.getOption('appendTo') === 'body' || this.getOption('appendTo') === 'target') {\n let offset = this.el.nativeElement.getBoundingClientRect();\n let targetLeft = offset.left + DomHandler.getWindowScrollLeft();\n let targetTop = offset.top + DomHandler.getWindowScrollTop();\n\n return { left: targetLeft, top: targetTop };\n } else {\n return { left: 0, top: 0 };\n }\n }\n\n alignRight() {\n this.preAlign('right');\n const el = this.activeElement;\n\n const hostOffset = this.getHostOffset();\n const left = hostOffset.left + DomHandler.getOuterWidth(el);\n const top = hostOffset.top + (DomHandler.getOuterHeight(el) - DomHandler.getOuterHeight(this.container)) / 2;\n this.container.style.left = left + this.getOption('positionLeft') + 'px';\n this.container.style.top = top + this.getOption('positionTop') + 'px';\n }\n\n private get activeElement(): HTMLElement {\n return this.el.nativeElement.nodeName.includes('P-') ? DomHandler.findSingle(this.el.nativeElement, '.p-component') || this.el.nativeElement : this.el.nativeElement;\n }\n\n alignLeft() {\n this.preAlign('left');\n let hostOffset = this.getHostOffset();\n let left = hostOffset.left - DomHandler.getOuterWidth(this.container);\n let top = hostOffset.top + (DomHandler.getOuterHeight(this.el.nativeElement) - DomHandler.getOuterHeight(this.container)) / 2;\n this.container.style.left = left + this.getOption('positionLeft') + 'px';\n this.container.style.top = top + this.getOption('positionTop') + 'px';\n }\n\n alignTop() {\n this.preAlign('top');\n let hostOffset = this.getHostOffset();\n let left = hostOffset.left + (DomHandler.getOuterWidth(this.el.nativeElement) - DomHandler.getOuterWidth(this.container)) / 2;\n let top = hostOffset.top - DomHandler.getOuterHeight(this.container);\n this.container.style.left = left + this.getOption('positionLeft') + 'px';\n this.container.style.top = top + this.getOption('positionTop') + 'px';\n }\n\n alignBottom() {\n this.preAlign('bottom');\n let hostOffset = this.getHostOffset();\n let left = hostOffset.left + (DomHandler.getOuterWidth(this.el.nativeElement) - DomHandler.getOuterWidth(this.container)) / 2;\n let top = hostOffset.top + DomHandler.getOuterHeight(this.el.nativeElement);\n this.container.style.left = left + this.getOption('positionLeft') + 'px';\n this.container.style.top = top + this.getOption('positionTop') + 'px';\n }\n\n setOption(option: any) {\n this._tooltipOptions = { ...this._tooltipOptions, ...option };\n }\n\n getOption(option: string) {\n return this._tooltipOptions[option as keyof typeof this.tooltipOptions];\n }\n\n getTarget(el: Element) {\n return DomHandler.hasClass(el, 'p-inputwrapper') ? DomHandler.findSingle(el, 'input') : el;\n }\n\n preAlign(position: string) {\n this.container.style.left = -999 + 'px';\n this.container.style.top = -999 + 'px';\n\n let defaultClassName = 'p-tooltip p-component p-tooltip-' + position;\n this.container.className = this.getOption('tooltipStyleClass') ? defaultClassName + ' ' + this.getOption('tooltipStyleClass') : defaultClassName;\n }\n\n isOutOfBounds(): boolean {\n let offset = this.container.getBoundingClientRect();\n let targetTop = offset.top;\n let targetLeft = offset.left;\n let width = DomHandler.getOuterWidth(this.container);\n let height = DomHandler.getOuterHeight(this.container);\n let viewport = DomHandler.getViewport();\n\n return targetLeft + width > viewport.width || targetLeft < 0 || targetTop < 0 || targetTop + height > viewport.height;\n }\n\n onWindowResize(e: Event) {\n this.hide();\n }\n\n bindDocumentResizeListener() {\n this.zone.runOutsideAngular(() => {\n this.resizeListener = this.onWindowResize.bind(this);\n window.addEventListener('resize', this.resizeListener);\n });\n }\n\n unbindDocumentResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.el.nativeElement, () => {\n if (this.container) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n unbindEvents() {\n const tooltipEvent = this.getOption('tooltipEvent');\n\n if (tooltipEvent === 'hover' || tooltipEvent === 'both') {\n this.el.nativeElement.removeEventListener('mouseenter', this.mouseEnterListener);\n this.el.nativeElement.removeEventListener('mouseleave', this.mouseLeaveListener);\n this.el.nativeElement.removeEventListener('click', this.clickListener);\n }\n if (tooltipEvent === 'focus' || tooltipEvent === 'both') {\n let target = this.el.nativeElement.querySelector('.p-component');\n\n if (!target) {\n target = this.getTarget(this.el.nativeElement);\n }\n\n target.removeEventListener('focus', this.focusListener);\n target.removeEventListener('blur', this.blurListener);\n }\n this.unbindDocumentResizeListener();\n }\n\n remove() {\n if (this.container && this.container.parentElement) {\n if (this.getOption('appendTo') === 'body') document.body.removeChild(this.container);\n else if (this.getOption('appendTo') === 'target') this.el.nativeElement.removeChild(this.container);\n else DomHandler.removeChild(this.container, this.getOption('appendTo'));\n }\n\n this.unbindDocumentResizeListener();\n this.unbindScrollListener();\n this.unbindContainerMouseleaveListener();\n this.clearTimeouts();\n this.container = null;\n this.scrollHandler = null;\n }\n\n clearShowTimeout() {\n if (this.showTimeout) {\n clearTimeout(this.showTimeout);\n this.showTimeout = null;\n }\n }\n\n clearHideTimeout() {\n if (this.hideTimeout) {\n clearTimeout(this.hideTimeout);\n this.hideTimeout = null;\n }\n }\n\n clearTimeouts() {\n this.clearShowTimeout();\n this.clearHideTimeout();\n }\n\n ngOnDestroy() {\n this.unbindEvents();\n\n if (this.container) {\n ZIndexUtils.clear(this.container);\n }\n\n this.remove();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [Tooltip],\n declarations: [Tooltip]\n})\nexport class TooltipModule {}\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-tooltip.mjs","sources":["../../src/app/components/tooltip/tooltip.ts","../../src/app/components/tooltip/primeng-tooltip.ts"],"sourcesContent":["import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { AfterViewInit, Directive, ElementRef, HostListener, Inject, Input, NgModule, NgZone, OnDestroy, PLATFORM_ID, Renderer2, SimpleChanges, TemplateRef, ViewContainerRef, booleanAttribute, numberAttribute } from '@angular/core';\nimport { PrimeNGConfig, TooltipOptions } from 'primeng/api';\nimport { ConnectedOverlayScrollHandler, DomHandler } from 'primeng/dom';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { UniqueComponentId, ZIndexUtils } from 'primeng/utils';\n\n/**\n * Tooltip directive provides advisory information for a component.\n * @group Components\n */\n@Directive({\n selector: '[pTooltip]',\n host: {\n class: 'p-element'\n }\n})\nexport class Tooltip implements AfterViewInit, OnDestroy {\n /**\n * Position of the tooltip.\n * @group Props\n */\n @Input() tooltipPosition: 'right' | 'left' | 'top' | 'bottom' | string | undefined;\n /**\n * Event to show the tooltip.\n * @group Props\n */\n @Input() tooltipEvent: 'hover' | 'focus' | 'both' | string | any = 'hover';\n /**\n * Target element to attach the overlay, valid values are \"body\", \"target\" or a local ng-F variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n @Input() appendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n /**\n * Type of CSS position.\n * @group Props\n */\n @Input() positionStyle: string | undefined;\n /**\n * Style class of the tooltip.\n * @group Props\n */\n @Input() tooltipStyleClass: string | undefined;\n /**\n * Whether the z-index should be managed automatically to always go on top or have a fixed value.\n * @group Props\n */\n @Input() tooltipZIndex: string | undefined;\n /**\n * By default the tooltip contents are rendered as text. Set to false to support html tags in the content.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) escape: boolean = true;\n /**\n * Delay to show the tooltip in milliseconds.\n * @group Props\n */\n @Input({ transform: numberAttribute }) showDelay: number | undefined;\n /**\n * Delay to hide the tooltip in milliseconds.\n * @group Props\n */\n @Input({ transform: numberAttribute }) hideDelay: number | undefined;\n /**\n * Time to wait in milliseconds to hide the tooltip even it is active.\n * @group Props\n */\n @Input({ transform: numberAttribute }) life: number | undefined;\n /**\n * Specifies the additional vertical offset of the tooltip from its default position.\n * @group Props\n */\n @Input({ transform: numberAttribute }) positionTop: number | undefined;\n /**\n * Specifies the additional horizontal offset of the tooltip from its default position.\n * @group Props\n */\n @Input({ transform: numberAttribute }) positionLeft: number | undefined;\n /**\n * Whether to hide tooltip when hovering over tooltip content.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoHide: boolean = true;\n /**\n * Automatically adjusts the element position when there is not enough space on the selected position.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) fitContent: boolean = true;\n /**\n * Whether to hide tooltip on escape key press.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) hideOnEscape: boolean = true;\n /**\n * Content of the tooltip.\n * @group Props\n */\n @Input('pTooltip') content: string | TemplateRef<HTMLElement> | undefined;\n /**\n * When present, it specifies that the component should be disabled.\n * @defaultValue false\n * @group Props\n */\n @Input('tooltipDisabled') get disabled(): boolean {\n return this._disabled as boolean;\n }\n set disabled(val: boolean) {\n this._disabled = val;\n this.deactivate();\n }\n /**\n * Specifies the tooltip configuration options for the component.\n * @group Props\n */\n @Input() tooltipOptions: TooltipOptions | undefined;\n\n _tooltipOptions = {\n tooltipLabel: null,\n tooltipPosition: 'right',\n tooltipEvent: 'hover',\n appendTo: 'body',\n positionStyle: null,\n tooltipStyleClass: null,\n tooltipZIndex: 'auto',\n escape: true,\n disabled: null,\n showDelay: null,\n hideDelay: null,\n positionTop: null,\n positionLeft: null,\n life: null,\n autoHide: true,\n hideOnEscape: true,\n id: UniqueComponentId() + '_tooltip'\n };\n\n _disabled: boolean | undefined;\n\n container: any;\n\n styleClass: string | undefined;\n\n tooltipText: any;\n\n showTimeout: any;\n\n hideTimeout: any;\n\n active: boolean | undefined;\n\n mouseEnterListener: Nullable<Function>;\n\n mouseLeaveListener: Nullable<Function>;\n\n containerMouseleaveListener: Nullable<Function>;\n\n clickListener: Nullable<Function>;\n\n focusListener: Nullable<Function>;\n\n blurListener: Nullable<Function>;\n\n scrollHandler: any;\n\n resizeListener: any;\n\n interactionInProgress = false;\n\n constructor(\n @Inject(PLATFORM_ID) private platformId: any,\n public el: ElementRef,\n public zone: NgZone,\n public config: PrimeNGConfig,\n private renderer: Renderer2,\n private viewContainer: ViewContainerRef\n ) {}\n\n ngAfterViewInit() {\n if (isPlatformBrowser(this.platformId)) {\n this.zone.runOutsideAngular(() => {\n const tooltipEvent = this.getOption('tooltipEvent');\n\n if (tooltipEvent === 'hover' || tooltipEvent === 'both') {\n this.mouseEnterListener = this.onMouseEnter.bind(this);\n this.mouseLeaveListener = this.onMouseLeave.bind(this);\n this.clickListener = this.onInputClick.bind(this);\n this.el.nativeElement.addEventListener('mouseenter', this.mouseEnterListener);\n this.el.nativeElement.addEventListener('click', this.clickListener);\n this.el.nativeElement.addEventListener('mouseleave', this.mouseLeaveListener);\n }\n if (tooltipEvent === 'focus' || tooltipEvent === 'both') {\n this.focusListener = this.onFocus.bind(this);\n this.blurListener = this.onBlur.bind(this);\n\n let target = this.el.nativeElement.querySelector('.p-component');\n\n if (!target) {\n target = this.getTarget(this.el.nativeElement);\n }\n\n target.addEventListener('focus', this.focusListener);\n target.addEventListener('blur', this.blurListener);\n }\n });\n }\n }\n\n ngOnChanges(simpleChange: SimpleChanges) {\n if (simpleChange.tooltipPosition) {\n this.setOption({ tooltipPosition: simpleChange.tooltipPosition.currentValue });\n }\n\n if (simpleChange.tooltipEvent) {\n this.setOption({ tooltipEvent: simpleChange.tooltipEvent.currentValue });\n }\n\n if (simpleChange.appendTo) {\n this.setOption({ appendTo: simpleChange.appendTo.currentValue });\n }\n\n if (simpleChange.positionStyle) {\n this.setOption({ positionStyle: simpleChange.positionStyle.currentValue });\n }\n\n if (simpleChange.tooltipStyleClass) {\n this.setOption({ tooltipStyleClass: simpleChange.tooltipStyleClass.currentValue });\n }\n\n if (simpleChange.tooltipZIndex) {\n this.setOption({ tooltipZIndex: simpleChange.tooltipZIndex.currentValue });\n }\n\n if (simpleChange.escape) {\n this.setOption({ escape: simpleChange.escape.currentValue });\n }\n\n if (simpleChange.showDelay) {\n this.setOption({ showDelay: simpleChange.showDelay.currentValue });\n }\n\n if (simpleChange.hideDelay) {\n this.setOption({ hideDelay: simpleChange.hideDelay.currentValue });\n }\n\n if (simpleChange.life) {\n this.setOption({ life: simpleChange.life.currentValue });\n }\n\n if (simpleChange.positionTop) {\n this.setOption({ positionTop: simpleChange.positionTop.currentValue });\n }\n\n if (simpleChange.positionLeft) {\n this.setOption({ positionLeft: simpleChange.positionLeft.currentValue });\n }\n\n if (simpleChange.disabled) {\n this.setOption({ disabled: simpleChange.disabled.currentValue });\n }\n\n if (simpleChange.content) {\n this.setOption({ tooltipLabel: simpleChange.content.currentValue });\n\n if (this.active) {\n if (simpleChange.content.currentValue) {\n if (this.container && this.container.offsetParent) {\n this.updateText();\n this.align();\n } else {\n this.show();\n }\n } else {\n this.hide();\n }\n }\n }\n\n if (simpleChange.autoHide) {\n this.setOption({ autoHide: simpleChange.autoHide.currentValue });\n }\n\n if (simpleChange.id) {\n this.setOption({ id: simpleChange.id.currentValue });\n }\n\n if (simpleChange.tooltipOptions) {\n this._tooltipOptions = { ...this._tooltipOptions, ...simpleChange.tooltipOptions.currentValue };\n this.deactivate();\n\n if (this.active) {\n if (this.getOption('tooltipLabel')) {\n if (this.container && this.container.offsetParent) {\n this.updateText();\n this.align();\n } else {\n this.show();\n }\n } else {\n this.hide();\n }\n }\n }\n }\n\n isAutoHide(): boolean {\n return this.getOption('autoHide');\n }\n\n onMouseEnter(e: Event) {\n if (!this.container && !this.showTimeout) {\n this.activate();\n }\n }\n\n onMouseLeave(e: MouseEvent) {\n if (!this.isAutoHide()) {\n const valid = DomHandler.hasClass(e.relatedTarget, 'p-tooltip') || DomHandler.hasClass(e.relatedTarget, 'p-tooltip-text') || DomHandler.hasClass(e.relatedTarget, 'p-tooltip-arrow');\n !valid && this.deactivate();\n } else {\n this.deactivate();\n }\n }\n\n onFocus(e: Event) {\n this.activate();\n }\n\n onBlur(e: Event) {\n this.deactivate();\n }\n\n onInputClick(e: Event) {\n this.deactivate();\n }\n\n @HostListener('document:keydown.escape', ['$event'])\n onPressEscape() {\n if (this.hideOnEscape) {\n this.deactivate();\n }\n }\n\n activate() {\n if (!this.interactionInProgress) {\n this.active = true;\n this.clearHideTimeout();\n\n if (this.getOption('showDelay'))\n this.showTimeout = setTimeout(() => {\n this.show();\n }, this.getOption('showDelay'));\n else this.show();\n\n if (this.getOption('life')) {\n let duration = this.getOption('showDelay') ? this.getOption('life') + this.getOption('showDelay') : this.getOption('life');\n this.hideTimeout = setTimeout(() => {\n this.hide();\n }, duration);\n }\n }\n this.interactionInProgress = true;\n }\n\n deactivate() {\n this.interactionInProgress = false;\n this.active = false;\n this.clearShowTimeout();\n\n if (this.getOption('hideDelay')) {\n this.clearHideTimeout(); //life timeout\n this.hideTimeout = setTimeout(() => {\n this.hide();\n }, this.getOption('hideDelay'));\n } else {\n this.hide();\n }\n }\n\n create() {\n if (this.container) {\n this.clearHideTimeout();\n this.remove();\n }\n\n this.container = document.createElement('div');\n this.container.setAttribute('id', this.getOption('id'));\n this.container.setAttribute('role', 'tooltip');\n\n let tooltipArrow = document.createElement('div');\n tooltipArrow.className = 'p-tooltip-arrow';\n this.container.appendChild(tooltipArrow);\n\n this.tooltipText = document.createElement('div');\n this.tooltipText.className = 'p-tooltip-text';\n\n this.updateText();\n\n if (this.getOption('positionStyle')) {\n this.container.style.position = this.getOption('positionStyle');\n }\n\n this.container.appendChild(this.tooltipText);\n\n if (this.getOption('appendTo') === 'body') document.body.appendChild(this.container);\n else if (this.getOption('appendTo') === 'target') DomHandler.appendChild(this.container, this.el.nativeElement);\n else DomHandler.appendChild(this.container, this.getOption('appendTo'));\n\n this.container.style.display = 'inline-block';\n\n if (this.fitContent) {\n this.container.style.width = 'fit-content';\n }\n\n if (this.isAutoHide()) {\n this.container.style.pointerEvents = 'none';\n } else {\n this.container.style.pointerEvents = 'unset';\n this.bindContainerMouseleaveListener();\n }\n }\n\n bindContainerMouseleaveListener() {\n if (!this.containerMouseleaveListener) {\n const targetEl: any = this.container ?? this.container.nativeElement;\n\n this.containerMouseleaveListener = this.renderer.listen(targetEl, 'mouseleave', (e) => {\n this.deactivate();\n });\n }\n }\n\n unbindContainerMouseleaveListener() {\n if (this.containerMouseleaveListener) {\n this.bindContainerMouseleaveListener();\n this.containerMouseleaveListener = null;\n }\n }\n\n show() {\n if (!this.getOption('tooltipLabel') || this.getOption('disabled')) {\n return;\n }\n\n this.create();\n\n const nativeElement = this.el.nativeElement;\n const pDialogWrapper = nativeElement.closest('p-dialog');\n\n if (pDialogWrapper) {\n setTimeout(() => {\n this.container && this.align();\n }, 100);\n } else {\n this.align();\n }\n\n DomHandler.fadeIn(this.container, 250);\n\n if (this.getOption('tooltipZIndex') === 'auto') ZIndexUtils.set('tooltip', this.container, this.config.zIndex.tooltip);\n else this.container.style.zIndex = this.getOption('tooltipZIndex');\n\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n }\n\n hide() {\n if (this.getOption('tooltipZIndex') === 'auto') {\n ZIndexUtils.clear(this.container);\n }\n\n this.remove();\n }\n\n updateText() {\n const content = this.getOption('tooltipLabel');\n if (content instanceof TemplateRef) {\n const embeddedViewRef = this.viewContainer.createEmbeddedView(content);\n embeddedViewRef.detectChanges();\n embeddedViewRef.rootNodes.forEach((node) => this.tooltipText.appendChild(node));\n } else if (this.getOption('escape')) {\n this.tooltipText.innerHTML = '';\n this.tooltipText.appendChild(document.createTextNode(content));\n } else {\n this.tooltipText.innerHTML = content;\n }\n }\n\n align() {\n let position = this.getOption('tooltipPosition');\n\n switch (position) {\n case 'top':\n this.alignTop();\n if (this.isOutOfBounds()) {\n this.alignBottom();\n if (this.isOutOfBounds()) {\n this.alignRight();\n\n if (this.isOutOfBounds()) {\n this.alignLeft();\n }\n }\n }\n break;\n\n case 'bottom':\n this.alignBottom();\n if (this.isOutOfBounds()) {\n this.alignTop();\n if (this.isOutOfBounds()) {\n this.alignRight();\n\n if (this.isOutOfBounds()) {\n this.alignLeft();\n }\n }\n }\n break;\n\n case 'left':\n this.alignLeft();\n if (this.isOutOfBounds()) {\n this.alignRight();\n\n if (this.isOutOfBounds()) {\n this.alignTop();\n\n if (this.isOutOfBounds()) {\n this.alignBottom();\n }\n }\n }\n break;\n\n case 'right':\n this.alignRight();\n if (this.isOutOfBounds()) {\n this.alignLeft();\n\n if (this.isOutOfBounds()) {\n this.alignTop();\n\n if (this.isOutOfBounds()) {\n this.alignBottom();\n }\n }\n }\n break;\n }\n }\n\n getHostOffset() {\n if (this.getOption('appendTo') === 'body' || this.getOption('appendTo') === 'target') {\n let offset = this.el.nativeElement.getBoundingClientRect();\n let targetLeft = offset.left + DomHandler.getWindowScrollLeft();\n let targetTop = offset.top + DomHandler.getWindowScrollTop();\n\n return { left: targetLeft, top: targetTop };\n } else {\n return { left: 0, top: 0 };\n }\n }\n\n alignRight() {\n this.preAlign('right');\n const el = this.activeElement;\n\n const hostOffset = this.getHostOffset();\n const left = hostOffset.left + DomHandler.getOuterWidth(el);\n const top = hostOffset.top + (DomHandler.getOuterHeight(el) - DomHandler.getOuterHeight(this.container)) / 2;\n this.container.style.left = left + this.getOption('positionLeft') + 'px';\n this.container.style.top = top + this.getOption('positionTop') + 'px';\n }\n\n private get activeElement(): HTMLElement {\n return this.el.nativeElement.nodeName.includes('P-') ? DomHandler.findSingle(this.el.nativeElement, '.p-component') || this.el.nativeElement : this.el.nativeElement;\n }\n\n alignLeft() {\n this.preAlign('left');\n let hostOffset = this.getHostOffset();\n let left = hostOffset.left - DomHandler.getOuterWidth(this.container);\n let top = hostOffset.top + (DomHandler.getOuterHeight(this.el.nativeElement) - DomHandler.getOuterHeight(this.container)) / 2;\n this.container.style.left = left + this.getOption('positionLeft') + 'px';\n this.container.style.top = top + this.getOption('positionTop') + 'px';\n }\n\n alignTop() {\n this.preAlign('top');\n let hostOffset = this.getHostOffset();\n let left = hostOffset.left + (DomHandler.getOuterWidth(this.el.nativeElement) - DomHandler.getOuterWidth(this.container)) / 2;\n let top = hostOffset.top - DomHandler.getOuterHeight(this.container);\n this.container.style.left = left + this.getOption('positionLeft') + 'px';\n this.container.style.top = top + this.getOption('positionTop') + 'px';\n }\n\n alignBottom() {\n this.preAlign('bottom');\n let hostOffset = this.getHostOffset();\n let left = hostOffset.left + (DomHandler.getOuterWidth(this.el.nativeElement) - DomHandler.getOuterWidth(this.container)) / 2;\n let top = hostOffset.top + DomHandler.getOuterHeight(this.el.nativeElement);\n this.container.style.left = left + this.getOption('positionLeft') + 'px';\n this.container.style.top = top + this.getOption('positionTop') + 'px';\n }\n\n setOption(option: any) {\n this._tooltipOptions = { ...this._tooltipOptions, ...option };\n }\n\n getOption(option: string) {\n return this._tooltipOptions[option as keyof typeof this.tooltipOptions];\n }\n\n getTarget(el: Element) {\n return DomHandler.hasClass(el, 'p-inputwrapper') ? DomHandler.findSingle(el, 'input') : el;\n }\n\n preAlign(position: string) {\n this.container.style.left = -999 + 'px';\n this.container.style.top = -999 + 'px';\n\n let defaultClassName = 'p-tooltip p-component p-tooltip-' + position;\n this.container.className = this.getOption('tooltipStyleClass') ? defaultClassName + ' ' + this.getOption('tooltipStyleClass') : defaultClassName;\n }\n\n isOutOfBounds(): boolean {\n let offset = this.container.getBoundingClientRect();\n let targetTop = offset.top;\n let targetLeft = offset.left;\n let width = DomHandler.getOuterWidth(this.container);\n let height = DomHandler.getOuterHeight(this.container);\n let viewport = DomHandler.getViewport();\n\n return targetLeft + width > viewport.width || targetLeft < 0 || targetTop < 0 || targetTop + height > viewport.height;\n }\n\n onWindowResize(e: Event) {\n this.hide();\n }\n\n bindDocumentResizeListener() {\n this.zone.runOutsideAngular(() => {\n this.resizeListener = this.onWindowResize.bind(this);\n window.addEventListener('resize', this.resizeListener);\n });\n }\n\n unbindDocumentResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.el.nativeElement, () => {\n if (this.container) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n unbindEvents() {\n const tooltipEvent = this.getOption('tooltipEvent');\n\n if (tooltipEvent === 'hover' || tooltipEvent === 'both') {\n this.el.nativeElement.removeEventListener('mouseenter', this.mouseEnterListener);\n this.el.nativeElement.removeEventListener('mouseleave', this.mouseLeaveListener);\n this.el.nativeElement.removeEventListener('click', this.clickListener);\n }\n if (tooltipEvent === 'focus' || tooltipEvent === 'both') {\n let target = this.el.nativeElement.querySelector('.p-component');\n\n if (!target) {\n target = this.getTarget(this.el.nativeElement);\n }\n\n target.removeEventListener('focus', this.focusListener);\n target.removeEventListener('blur', this.blurListener);\n }\n this.unbindDocumentResizeListener();\n }\n\n remove() {\n if (this.container && this.container.parentElement) {\n if (this.getOption('appendTo') === 'body') document.body.removeChild(this.container);\n else if (this.getOption('appendTo') === 'target') this.el.nativeElement.removeChild(this.container);\n else DomHandler.removeChild(this.container, this.getOption('appendTo'));\n }\n\n this.unbindDocumentResizeListener();\n this.unbindScrollListener();\n this.unbindContainerMouseleaveListener();\n this.clearTimeouts();\n this.container = null;\n this.scrollHandler = null;\n }\n\n clearShowTimeout() {\n if (this.showTimeout) {\n clearTimeout(this.showTimeout);\n this.showTimeout = null;\n }\n }\n\n clearHideTimeout() {\n if (this.hideTimeout) {\n clearTimeout(this.hideTimeout);\n this.hideTimeout = null;\n }\n }\n\n clearTimeouts() {\n this.clearShowTimeout();\n this.clearHideTimeout();\n }\n\n ngOnDestroy() {\n this.unbindEvents();\n\n if (this.container) {\n ZIndexUtils.clear(this.container);\n }\n\n this.remove();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [Tooltip],\n declarations: [Tooltip]\n})\nexport class TooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -369,10 +369,15 @@ class UITreeNode {
369
369
  }
370
370
  event.preventDefault();
371
371
  }
372
+ isActionableElement(event) {
373
+ const target = event.target;
374
+ const isActionable = target instanceof HTMLElement && (target.nodeName == 'A' || target.nodeName == 'BUTTON');
375
+ return isActionable;
376
+ }
372
377
  onEnter(event) {
373
378
  this.tree.onNodeClick(event, this.node);
374
379
  this.setTabIndexForSelectionMode(event, this.tree.nodeTouched);
375
- if (!(event.target instanceof HTMLElement && event.target.nodeName === 'A')) {
380
+ if (!this.isActionableElement(event)) {
376
381
  event.preventDefault();
377
382
  }
378
383
  }
@@ -523,7 +528,7 @@ class UITreeNode {
523
528
  </span>
524
529
  </span>
525
530
  </div>
526
- <ul class="p-treenode-children" style="display: none;" *ngIf="!tree.virtualScroll && node.children && node.expanded" [style.display]="node.expanded ? 'block' : 'none'" role="tree">
531
+ <ul class="p-treenode-children" style="display: none;" *ngIf="!tree.virtualScroll && node.children && node.expanded" [style.display]="node.expanded ? 'block' : 'none'" role="group">
527
532
  <p-treeNode
528
533
  *ngFor="let childNode of node.children; let firstChild = first; let lastChild = last; let index = index; trackBy: tree.trackBy"
529
534
  [node]="childNode"
@@ -686,7 +691,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
686
691
  </span>
687
692
  </span>
688
693
  </div>
689
- <ul class="p-treenode-children" style="display: none;" *ngIf="!tree.virtualScroll && node.children && node.expanded" [style.display]="node.expanded ? 'block' : 'none'" role="tree">
694
+ <ul class="p-treenode-children" style="display: none;" *ngIf="!tree.virtualScroll && node.children && node.expanded" [style.display]="node.expanded ? 'block' : 'none'" role="group">
690
695
  <p-treeNode
691
696
  *ngFor="let childNode of node.children; let firstChild = first; let lastChild = last; let index = index; trackBy: tree.trackBy"
692
697
  [node]="childNode"