primeng
Version:
PrimeNG is an open source UI library for Angular featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeB
1 lines • 57.1 kB
Source Map (JSON)
{"version":3,"file":"primeng-tabs.mjs","sources":["../../src/tabs/style/tabsstyle.ts","../../src/tabs/style/tabstyle.ts","../../src/tabs/style/tabliststyle.ts","../../src/tabs/tablist.ts","../../src/tabs/tab.ts","../../src/tabs/style/tabpanelstyle.ts","../../src/tabs/tabpanel.ts","../../src/tabs/style/tabpanelsstyle.ts","../../src/tabs/tabpanels.ts","../../src/tabs/tabs.ts","../../src/tabs/primeng-tabs.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/tabs';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: ({ instance }) => [\n 'p-tabs p-component',\n {\n 'p-tabs-scrollable': instance.scrollable()\n }\n ]\n};\n\n@Injectable()\nexport class TabsStyle extends BaseStyle {\n name = 'tabs';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * Tabs facilitates seamless switching between different views.\n *\n * [Live Demo](https://www.primeng.org/tabs/)\n *\n * @module tabsstyle\n *\n */\n\nexport enum TabsClasses {\n /**\n * Class name of the root element\n */\n root = 'p-tabs',\n /**\n * Class name of the wrapper element\n */\n list = 'p-tablist',\n /**\n * Class name of the content element\n */\n content = 'p-tablist-content',\n /**\n * Class name of the tab list element\n */\n tablist = 'p-tablist-tab-list',\n /**\n * Class name of the tab list element\n */\n tab = 'p-tab',\n /**\n * Class name of the inkbar element\n */\n inkbar = 'p-tablist-active-bar',\n /**\n * Class name of the navigation buttons\n */\n button = 'p-tablist-nav-button',\n /**\n * Class name of the tab panels wrapper\n */\n tabpanels = 'p-tabpanels',\n /**\n * Class name of the tab panel element\n */\n tabpanel = 'p-tabs-panel'\n}\n\nexport interface TabsStyle extends BaseStyle {}\n","import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: ({ instance }) => [\n 'p-tab',\n {\n 'p-tab-active': instance.active(),\n 'p-disabled': instance.disabled()\n }\n ]\n};\n\n@Injectable()\nexport class TabStyle extends BaseStyle {\n name = 'tab';\n\n classes = classes;\n}\n\n/**\n *\n * Tabs facilitates seamless switching between different views.\n *\n * [Live Demo](https://www.primeng.org/tabs/)\n *\n * @module tabsstyle\n *\n */\n\nexport enum TabClasses {\n /**\n * Class name of the tab list element\n */\n tab = 'p-tab'\n}\n\nexport interface TabStyle extends BaseStyle {}\n","import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: 'p-tablist',\n content: 'p-tablist-content p-tablist-viewport',\n tabList: 'p-tablist-tab-list',\n activeBar: 'p-tablist-active-bar',\n prevButton: 'p-tablist-prev-button p-tablist-nav-button',\n nextButton: 'p-tablist-next-button p-tablist-nav-button'\n};\n\n@Injectable()\nexport class TabListStyle extends BaseStyle {\n name = 'tablist';\n\n classes = classes;\n}\n\n/**\n *\n * Tabs facilitates seamless switching between different views.\n *\n * [Live Demo](https://www.primeng.org/tabs/)\n *\n * @module tabliststyle\n *\n */\n\nexport enum TabListClasses {\n /**\n * Class name of the root element\n */\n root = 'p-tablist',\n /**\n * Class name of the content element\n */\n content = 'p-tablist-content',\n /**\n * Class name of the tabs element\n */\n tabList = 'p-tablist-tab-list',\n /**\n * Class name of the activebar element\n */\n activeBar = 'p-tablist-active-bar',\n /**\n * Class name of the previous button element\n */\n prevButton = 'p-tablist-prev-button',\n /**\n * Class name of the next button element\n */\n nextButton = 'p-tablist-next-button'\n}\n\nexport interface TabListStyle extends BaseStyle {}\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, ContentChild, ContentChildren, effect, ElementRef, forwardRef, inject, InjectionToken, QueryList, signal, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { findSingle, getOffset, getOuterWidth, getWidth, isRTL } from '@primeuix/utils';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { ChevronLeftIcon, ChevronRightIcon } from 'primeng/icons';\nimport { RippleModule } from 'primeng/ripple';\nimport { TabListStyle } from './style/tabliststyle';\nimport { Tabs } from './tabs';\nimport { TabListPassThrough } from 'primeng/types/tabs';\n\nconst TABLIST_INSTANCE = new InjectionToken<TabList>('TABLIST_INSTANCE');\n\n/**\n * TabList is a helper component for Tabs component.\n * @group Components\n */\n@Component({\n selector: 'p-tablist',\n standalone: true,\n imports: [CommonModule, ChevronLeftIcon, ChevronRightIcon, RippleModule, SharedModule, BindModule],\n template: `\n @if (showNavigators() && isPrevButtonEnabled()) {\n <button\n type=\"button\"\n #prevButton\n pRipple\n [pBind]=\"ptm('prevButton')\"\n [class]=\"cx('prevButton')\"\n [attr.aria-label]=\"prevButtonAriaLabel\"\n [attr.tabindex]=\"tabindex()\"\n [attr.data-pc-group-section]=\"'navigator'\"\n (click)=\"onPrevButtonClick()\"\n >\n @if (prevIconTemplate || _prevIconTemplate) {\n <ng-container *ngTemplateOutlet=\"prevIconTemplate || _prevIconTemplate\" />\n } @else {\n <svg data-p-icon=\"chevron-left\" />\n }\n </button>\n }\n <div #content [pBind]=\"ptm('content')\" [class]=\"cx('content')\" (scroll)=\"onScroll($event)\">\n <div #tabs [pBind]=\"ptm('tabList')\" [class]=\"cx('tabList')\" role=\"tablist\">\n <ng-content />\n <span #inkbar [pBind]=\"ptm('activeBar')\" role=\"presentation\" [class]=\"cx('activeBar')\"></span>\n </div>\n </div>\n @if (showNavigators() && isNextButtonEnabled()) {\n <button\n type=\"button\"\n #nextButton\n pRipple\n [pBind]=\"ptm('nextButton')\"\n [class]=\"cx('nextButton')\"\n [attr.aria-label]=\"nextButtonAriaLabel\"\n [attr.tabindex]=\"tabindex()\"\n [attr.data-pc-group-section]=\"'navigator'\"\n (click)=\"onNextButtonClick()\"\n >\n @if (nextIconTemplate || _nextIconTemplate) {\n <ng-container *ngTemplateOutlet=\"nextIconTemplate || _nextIconTemplate\" />\n } @else {\n <svg data-p-icon=\"chevron-right\" />\n }\n </button>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': 'cx(\"root\")'\n },\n providers: [TabListStyle, { provide: TABLIST_INSTANCE, useExisting: TabList }, { provide: PARENT_INSTANCE, useExisting: TabList }],\n hostDirectives: [Bind]\n})\nexport class TabList extends BaseComponent<TabListPassThrough> {\n $pcTabList: TabList | undefined = inject(TABLIST_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n /**\n * A template reference variable that represents the previous icon in a UI component.\n * @type {TemplateRef<any> | undefined}\n * @group Templates\n */\n @ContentChild('previcon', { descendants: false }) prevIconTemplate: TemplateRef<any> | undefined;\n /**\n * A template reference variable that represents the next icon in a UI component.\n * @type {TemplateRef<any> | undefined}\n * @group Templates\n */\n @ContentChild('nexticon', { descendants: false }) nextIconTemplate: TemplateRef<any> | undefined;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n @ViewChild('content') content: ElementRef<HTMLDivElement>;\n\n @ViewChild('prevButton') prevButton: ElementRef<HTMLButtonElement>;\n\n @ViewChild('nextButton') nextButton: ElementRef<HTMLButtonElement>;\n\n @ViewChild('inkbar') inkbar: ElementRef<HTMLSpanElement>;\n\n @ViewChild('tabs') tabs: ElementRef<HTMLDivElement>;\n\n pcTabs = inject(forwardRef(() => Tabs));\n\n isPrevButtonEnabled = signal<boolean>(false);\n\n isNextButtonEnabled = signal<boolean>(false);\n\n resizeObserver!: ResizeObserver;\n\n showNavigators = computed(() => this.pcTabs.showNavigators());\n\n tabindex = computed(() => this.pcTabs.tabindex());\n\n scrollable = computed(() => this.pcTabs.scrollable());\n\n _componentStyle = inject(TabListStyle);\n\n constructor() {\n super();\n effect(() => {\n this.pcTabs.value();\n if (isPlatformBrowser(this.platformId)) {\n setTimeout(() => {\n this.updateInkBar();\n });\n }\n });\n }\n\n get prevButtonAriaLabel() {\n return this.config?.translation?.aria?.previous;\n }\n\n get nextButtonAriaLabel() {\n return this.config?.translation?.aria?.next;\n }\n\n onAfterViewInit() {\n if (this.showNavigators() && isPlatformBrowser(this.platformId)) {\n this.updateButtonState();\n this.bindResizeObserver();\n }\n }\n\n _prevIconTemplate: TemplateRef<any> | undefined;\n\n _nextIconTemplate: TemplateRef<any> | undefined;\n\n onAfterContentInit() {\n this.templates?.forEach((t) => {\n switch (t.getType()) {\n case 'previcon':\n this._prevIconTemplate = t.template;\n break;\n case 'nexticon':\n this._nextIconTemplate = t.template;\n break;\n }\n });\n }\n\n onDestroy() {\n this.unbindResizeObserver();\n }\n\n onScroll(event: Event) {\n this.showNavigators() && this.updateButtonState();\n\n event.preventDefault();\n }\n\n onPrevButtonClick() {\n const _content = this.content.nativeElement;\n const width = getWidth(_content);\n const pos = Math.abs(_content.scrollLeft) - width;\n const scrollLeft = pos <= 0 ? 0 : pos;\n\n _content.scrollLeft = isRTL(_content) ? -1 * scrollLeft : scrollLeft;\n }\n\n onNextButtonClick() {\n const _content = this.content.nativeElement;\n const width = getWidth(_content) - this.getVisibleButtonWidths();\n const pos = _content.scrollLeft + width;\n const lastPos = _content.scrollWidth - width;\n const scrollLeft = pos >= lastPos ? lastPos : pos;\n\n _content.scrollLeft = isRTL(_content) ? -1 * scrollLeft : scrollLeft;\n }\n\n updateButtonState() {\n const _content = this.content?.nativeElement;\n const _list = this.el?.nativeElement;\n\n const { scrollWidth, offsetWidth } = _content;\n const scrollLeft = Math.abs(_content.scrollLeft);\n const width = getWidth(_content);\n\n this.isPrevButtonEnabled.set(scrollLeft !== 0);\n this.isNextButtonEnabled.set(_list.offsetWidth >= offsetWidth && Math.abs(scrollLeft - scrollWidth + width) > 1);\n }\n\n updateInkBar() {\n const _content = this.content?.nativeElement;\n const _inkbar = this.inkbar?.nativeElement;\n const _tabs = this.tabs?.nativeElement;\n\n const activeTab = findSingle(_content, '[data-pc-name=\"tab\"][data-p-active=\"true\"]');\n if (_inkbar) {\n _inkbar.style.width = getOuterWidth(activeTab) + 'px';\n _inkbar.style.left = <any>getOffset(activeTab).left - <any>getOffset(_tabs).left + 'px';\n }\n }\n\n getVisibleButtonWidths() {\n const _prevBtn = this.prevButton?.nativeElement;\n const _nextBtn = this.nextButton?.nativeElement;\n\n return [_prevBtn, _nextBtn].reduce((acc, el) => (el ? acc + getWidth(el) : acc), 0);\n }\n\n bindResizeObserver() {\n this.resizeObserver = new ResizeObserver(() => this.updateButtonState());\n this.resizeObserver.observe(this.el.nativeElement);\n }\n\n unbindResizeObserver() {\n if (this.resizeObserver) {\n this.resizeObserver.unobserve(this.el.nativeElement);\n this.resizeObserver = null!;\n }\n }\n}\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, ElementRef, forwardRef, HostListener, inject, InjectionToken, input, model, ViewEncapsulation } from '@angular/core';\nimport { equals, focus, getAttribute } from '@primeuix/utils';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { Ripple } from 'primeng/ripple';\nimport { TabPassThrough } from 'primeng/types/tabs';\nimport { TabStyle } from './style/tabstyle';\nimport { TabList } from './tablist';\nimport { Tabs } from './tabs';\n\nconst TAB_INSTANCE = new InjectionToken<Tab>('TAB_INSTANCE');\n\n/**\n * Defines valid properties in Tab component.\n * @group Components\n */\n@Component({\n selector: 'p-tab',\n standalone: true,\n imports: [CommonModule, SharedModule, BindModule],\n template: ` <ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': 'cx(\"root\")',\n '[attr.id]': 'id()',\n '[attr.aria-controls]': 'ariaControls()',\n '[attr.role]': '\"tab\"',\n '[attr.aria-selected]': 'active()',\n '[attr.aria-disabled]': 'disabled()',\n '[attr.data-p-disabled]': 'disabled()',\n '[attr.data-p-active]': 'active()',\n '[attr.tabindex]': 'tabindex()'\n },\n hostDirectives: [Ripple, Bind],\n providers: [TabStyle, { provide: TAB_INSTANCE, useExisting: Tab }, { provide: PARENT_INSTANCE, useExisting: Tab }]\n})\nexport class Tab extends BaseComponent<TabPassThrough> {\n $pcTab: Tab | undefined = inject(TAB_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n /**\n * Value of tab.\n * @defaultValue undefined\n * @group Props\n */\n value = model<number | string | undefined>();\n /**\n * Whether the tab is disabled.\n * @defaultValue false\n * @group Props\n */\n disabled = input(false, { transform: booleanAttribute });\n\n pcTabs = inject(forwardRef(() => Tabs));\n\n pcTabList = inject(forwardRef(() => TabList));\n\n el = inject(ElementRef);\n\n _componentStyle = inject(TabStyle);\n\n ripple = computed(() => this.config.ripple());\n\n id = computed(() => `${this.pcTabs.id()}_tab_${this.value()}`);\n\n ariaControls = computed(() => `${this.pcTabs.id()}_tabpanel_${this.value()}`);\n\n active = computed(() => equals(this.pcTabs.value(), this.value()));\n\n tabindex = computed(() => (this.disabled() ? -1 : this.active() ? this.pcTabs.tabindex() : -1));\n\n mutationObserver: MutationObserver | undefined;\n\n @HostListener('focus', ['$event']) onFocus(event: FocusEvent) {\n if (!this.disabled()) {\n this.pcTabs.selectOnFocus() && this.changeActiveValue();\n }\n }\n\n @HostListener('click', ['$event']) onClick(event: MouseEvent) {\n if (!this.disabled()) {\n this.changeActiveValue();\n }\n }\n\n @HostListener('keydown', ['$event']) onKeyDown(event: KeyboardEvent) {\n switch (event.code) {\n case 'ArrowRight':\n this.onArrowRightKey(event);\n break;\n\n case 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n this.onEnterKey(event);\n break;\n\n default:\n break;\n }\n\n event.stopPropagation();\n }\n\n onAfterViewInit(): void {\n this.bindMutationObserver();\n }\n\n onArrowRightKey(event) {\n const nextTab = this.findNextTab(event.currentTarget);\n nextTab ? this.changeFocusedTab(event, nextTab) : this.onHomeKey(event);\n event.preventDefault();\n }\n\n onArrowLeftKey(event) {\n const prevTab = this.findPrevTab(event.currentTarget);\n\n prevTab ? this.changeFocusedTab(event, prevTab) : this.onEndKey(event);\n event.preventDefault();\n }\n\n onHomeKey(event) {\n const firstTab = this.findFirstTab();\n\n this.changeFocusedTab(event, firstTab);\n event.preventDefault();\n }\n\n onEndKey(event) {\n const lastTab = this.findLastTab();\n\n this.changeFocusedTab(event, lastTab);\n event.preventDefault();\n }\n\n onPageDownKey(event) {\n this.scrollInView(this.findLastTab());\n event.preventDefault();\n }\n\n onPageUpKey(event) {\n this.scrollInView(this.findFirstTab());\n event.preventDefault();\n }\n\n onEnterKey(event) {\n if (!this.disabled()) {\n this.changeActiveValue();\n }\n event.preventDefault();\n }\n\n findNextTab(tabElement, selfCheck = false) {\n const element = selfCheck ? tabElement : tabElement.nextElementSibling;\n\n return element ? (getAttribute(element, 'data-p-disabled') || getAttribute(element, 'data-pc-section') === 'activebar' ? this.findNextTab(element) : element) : null;\n }\n\n findPrevTab(tabElement, selfCheck = false) {\n const element = selfCheck ? tabElement : tabElement.previousElementSibling;\n\n return element ? (getAttribute(element, 'data-p-disabled') || getAttribute(element, 'data-pc-section') === 'activebar' ? this.findPrevTab(element) : element) : null;\n }\n\n findFirstTab() {\n return this.findNextTab(this.pcTabList?.tabs?.nativeElement?.firstElementChild, true);\n }\n\n findLastTab() {\n return this.findPrevTab(this.pcTabList?.tabs?.nativeElement?.lastElementChild, true);\n }\n\n changeActiveValue() {\n this.pcTabs.updateValue(this.value());\n }\n\n changeFocusedTab(event, element) {\n focus(element);\n this.scrollInView(element);\n }\n\n scrollInView(element) {\n element?.scrollIntoView?.({ block: 'nearest' });\n }\n\n bindMutationObserver() {\n if (isPlatformBrowser(this.platformId)) {\n this.mutationObserver = new MutationObserver((mutations) => {\n mutations.forEach(() => {\n if (this.active()) {\n this.pcTabList?.updateInkBar();\n }\n });\n });\n this.mutationObserver.observe(this.el.nativeElement, { childList: true, characterData: true, subtree: true });\n }\n }\n\n unbindMutationObserver() {\n this.mutationObserver?.disconnect();\n }\n\n onDestroy() {\n if (this.mutationObserver) {\n this.unbindMutationObserver();\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: ({ instance }) => [\n 'p-tabpanel',\n {\n 'p-tabpanel-active': instance.active()\n }\n ]\n};\n\n@Injectable()\nexport class TabPanelStyle extends BaseStyle {\n name = 'tabpanel';\n\n classes = classes;\n}\n\n/**\n *\n * Tab is a helper component for Tabs component.\n *\n * [Live Demo](https://www.primeng.org/tabs/)\n *\n * @module tabstyle\n *\n */\n\nexport enum TabPanelClasses {\n /**\n * Class name of the root element\n */\n root = 'p-tabpanel'\n}\n\nexport interface TabPanelStyle extends BaseStyle {}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChild, forwardRef, inject, InjectionToken, input, model, ViewEncapsulation } from '@angular/core';\nimport { equals } from '@primeuix/utils';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { TabPanelStyle } from './style/tabpanelstyle';\nimport { Tabs } from './tabs';\nimport { TabPanelPassThrough } from 'primeng/types/tabs';\n\nconst TABPANEL_INSTANCE = new InjectionToken<TabPanel>('TABPANEL_INSTANCE');\n\n/**\n * TabPanel is a helper component for Tabs component.\n * @group Components\n */\n@Component({\n selector: 'p-tabpanel',\n standalone: true,\n imports: [NgTemplateOutlet, BindModule],\n template: `\n <ng-template #defaultContent>\n <ng-content />\n </ng-template>\n\n @if (shouldRender()) {\n <ng-container *ngTemplateOutlet=\"content() ? content() : defaultContent\" />\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [TabPanelStyle, { provide: TABPANEL_INSTANCE, useExisting: TabPanel }, { provide: PARENT_INSTANCE, useExisting: TabPanel }],\n host: {\n '[class]': 'cx(\"root\")',\n '[attr.id]': 'id()',\n '[attr.role]': '\"tabpanel\"',\n '[attr.aria-labelledby]': 'ariaLabelledby()',\n '[attr.data-p-active]': 'active()',\n '[hidden]': '!active()'\n },\n hostDirectives: [Bind]\n})\nexport class TabPanel extends BaseComponent<TabPanelPassThrough> {\n $pcTabPanel: TabPanel | undefined = inject(TABPANEL_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n pcTabs = inject<Tabs>(forwardRef(() => Tabs));\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n /**\n * When enabled, tab is not rendered until activation.\n * @type boolean\n * @defaultValue false\n * @group Props\n */\n lazy = input(false, { transform: booleanAttribute });\n /**\n * Value of the active tab.\n * @defaultValue undefined\n * @group Props\n */\n value = model<string | number | undefined>(undefined);\n /**\n * Template for initializing complex content when lazy is enabled.\n * @group Templates\n */\n content = contentChild('content');\n\n id = computed(() => `${this.pcTabs.id()}_tabpanel_${this.value()}`);\n\n ariaLabelledby = computed(() => `${this.pcTabs.id()}_tab_${this.value()}`);\n\n active = computed(() => equals(this.pcTabs.value(), this.value()));\n\n isLazyEnabled = computed(() => this.pcTabs.lazy() || this.lazy());\n\n private hasBeenRendered = false;\n\n shouldRender = computed(() => {\n if (!this.isLazyEnabled() || this.hasBeenRendered) {\n return true;\n }\n\n if (this.active()) {\n this.hasBeenRendered = true;\n return true;\n }\n\n return false;\n });\n\n _componentStyle = inject(TabPanelStyle);\n}\n","import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: 'p-tabpanels'\n};\n\n@Injectable()\nexport class TabPanelsStyle extends BaseStyle {\n name = 'tabpanels';\n\n classes = classes;\n}\n\n/**\n *\n * Tab is a helper component for Tabs component.\n *\n * [Live Demo](https://www.primeng.org/tabs/)\n *\n * @module tabpanelstyle\n *\n */\n\nexport enum TabPanelsClasses {\n /**\n * Class name of the root element\n */\n root = 'p-tabpanels'\n}\n\nexport interface TabPanelsStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, InjectionToken, ViewEncapsulation } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { TabPanelsStyle } from './style/tabpanelsstyle';\nimport { TabPanelsPassThrough } from 'primeng/types/tabs';\n\nconst TABPANELS_INSTANCE = new InjectionToken<TabPanels>('TABPANELS_INSTANCE');\n\n/**\n * TabPanels is a helper component for Tabs component.\n * @group Components\n */\n@Component({\n selector: 'p-tabpanels',\n standalone: true,\n imports: [CommonModule, BindModule],\n template: ` <ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': 'cx(\"root\")',\n '[attr.role]': '\"presentation\"'\n },\n providers: [TabPanelsStyle, { provide: TABPANELS_INSTANCE, useExisting: TabPanels }, { provide: PARENT_INSTANCE, useExisting: TabPanels }],\n hostDirectives: [Bind]\n})\nexport class TabPanels extends BaseComponent<TabPanelsPassThrough> {\n $pcTabPanels: TabPanels | undefined = inject(TABPANELS_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n _componentStyle = inject(TabPanelsStyle);\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, inject, InjectionToken, input, model, NgModule, numberAttribute, signal, ViewEncapsulation } from '@angular/core';\nimport { uuid } from '@primeuix/utils';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { TabsStyle } from './style/tabsstyle';\nimport { Tab } from './tab';\nimport { TabList } from './tablist';\nimport { TabPanel } from './tabpanel';\nimport { TabPanels } from './tabpanels';\nimport { TabsPassThrough } from 'primeng/types/tabs';\n\nconst TABS_INSTANCE = new InjectionToken<Tabs>('TABS_INSTANCE');\n\n/**\n * Tabs facilitates seamless switching between different views.\n * @group Components\n */\n@Component({\n selector: 'p-tabs',\n standalone: true,\n imports: [CommonModule, BindModule],\n template: ` <ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [TabsStyle, { provide: TABS_INSTANCE, useExisting: Tabs }, { provide: PARENT_INSTANCE, useExisting: Tabs }],\n host: {\n '[class]': 'cx(\"root\")',\n '[attr.id]': 'id()'\n },\n hostDirectives: [Bind]\n})\nexport class Tabs extends BaseComponent<TabsPassThrough> {\n $pcTabs: Tabs | undefined = inject(TABS_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n /**\n * Value of the active tab.\n * @defaultValue undefined\n * @group Props\n */\n value = model<string | number | undefined>(undefined);\n /**\n * When specified, enables horizontal and/or vertical scrolling.\n * @type boolean\n * @defaultValue false\n * @group Props\n */\n scrollable = input(false, { transform: booleanAttribute });\n /**\n * When enabled, tabs are not rendered until activation.\n * @type boolean\n * @defaultValue false\n * @group Props\n */\n lazy = input(false, { transform: booleanAttribute });\n /**\n * When enabled, the focused tab is activated.\n * @type boolean\n * @defaultValue false\n * @group Props\n */\n selectOnFocus = input(false, { transform: booleanAttribute });\n /**\n * Whether to display navigation buttons in container when scrollable is enabled.\n * @type boolean\n * @defaultValue true\n * @group Props\n */\n showNavigators = input(true, { transform: booleanAttribute });\n /**\n * Tabindex of the tab buttons.\n * @type number\n * @defaultValue 0\n * @group Props\n */\n tabindex = input(0, { transform: numberAttribute });\n\n id = signal<string>(uuid('pn_id_'));\n\n _componentStyle = inject(TabsStyle);\n\n updateValue(newValue) {\n this.value.update(() => newValue);\n }\n}\n\n@NgModule({\n imports: [Tabs, TabPanels, TabPanel, TabList, Tab, BindModule],\n exports: [Tabs, TabPanels, TabPanel, TabList, Tab, BindModule]\n})\nexport class TabsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["classes","i1","i2"],"mappings":"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