/**----------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { AfterViewChecked, ElementRef, EventEmitter, OnChanges, QueryList, SimpleChange, TemplateRef, OnInit, OnDestroy } from '@angular/core'; import { LocalizationService } from '@progress/kendo-angular-l10n'; import { LicenseMessage } from '@progress/kendo-licensing'; import { PanelBarExpandMode } from './panelbar-expand-mode'; import { PanelBarItemComponent } from './panelbar-item.component'; import { PanelBarItemModel } from './panelbar-item-model'; import { PanelBarService } from "./panelbar.service"; import { PanelBarItemTemplateDirective } from "./panelbar-item-template.directive"; import { PanelBarSelectEvent, PanelBarExpandEvent, PanelBarCollapseEvent, PanelBarStateChangeEvent, PanelBarItemClickEvent } from './events'; import * as i0 from "@angular/core"; /** * Represents the Kendo UI PanelBar component for Angular. * Displays hierarchical data as an expandable and collapsible accordion-style interface ([see overview](https://www.telerik.com/kendo-angular-ui/components/layout/panelbar)). * * @example * ```typescript * @Component({ * selector: 'my-app', * template: ` * * * ` * }) * class AppComponent { * items = [ * { title: 'Item 1', expanded: true, content: 'Content 1' }, * { title: 'Item 2', content: 'Content 2' } * ]; * } * ``` * @remarks * Supported children components are: {@link PanelBarItemComponent}. */ export declare class PanelBarComponent implements AfterViewChecked, OnChanges, OnInit, OnDestroy { private localization; /** * Sets the expand mode of the PanelBar through the `PanelBarExpandMode` enum ([see example](https://www.telerik.com/kendo-angular-ui/components/layout/panelbar/expand-modes)). * * @default 'multiple */ expandMode: PanelBarExpandMode; /** * Allows the PanelBar to modify the selected state of the items. * * @default true */ selectable: boolean; /** * Sets the animate state of the PanelBar ([see example](https://www.telerik.com/kendo-angular-ui/components/layout/panelbar/animations)). * * @default true */ animate: boolean; /** * Sets the height of the component when the `"full"` expand mode is used. * This option is ignored when the `"multiple"` or `"single"` expand modes are used. * * @default '400px' */ height: any; /** * Controls how the PanelBar renders item content. * * The available options are: * * * `true`—Renders all items' content and persists them in the DOM. * * `false`—Removes collapsed items' content from the DOM. * * `"loadOnDemand"`—Loads items' content only when expanded for the first time. Collapsed items' content is not rendered until the item is expanded. * * For more information, refer to the [Rendering Modes](https://www.telerik.com/kendo-angular-ui/components/layout/panelbar/rendering-modes) article. * * @default false */ get keepItemContent(): boolean | 'loadOnDemand'; set keepItemContent(keepItemContent: boolean | 'loadOnDemand'); /** * Sets the items of the PanelBar as an array of `PanelBarItemModel` instances * ([see example](https://www.telerik.com/kendo-angular-ui/components/layout/panelbar/items)). */ set items(data: Array); get items(): Array; /** * Fires when the state of the PanelBar changes. * This event is triggered when an item is selected, expanded, or collapsed. * ([see example](https://www.telerik.com/kendo-angular-ui/components/layout/panelbar/routing#using-router-service)). * The event data contains a collection of all items that are modified. */ stateChange: EventEmitter; /** * Fires when an item is about to be selected. * This event is preventable. If you cancel it, the item will not be selected * ([see example](https://www.telerik.com/kendo-angular-ui/components/layout/panelbar/events)). */ select: EventEmitter; /** * Fires when an item is about to be expanded. * This event is preventable. If you cancel it, the item will remain collapsed * ([see example](https://www.telerik.com/kendo-angular-ui/components/layout/panelbar/events)). */ expand: EventEmitter; /** * Fires when an item is about to be collapsed. * This event is preventable. If you cancel it, the item will remain expanded * ([see example](https://www.telerik.com/kendo-angular-ui/components/layout/panelbar/events)). */ collapse: EventEmitter; /** * Fires when an item is clicked ([see example](https://www.telerik.com/kendo-angular-ui/components/layout/panelbar/events)). */ itemClick: EventEmitter; hostClasses: boolean; tabIndex: number; role: string; activeDescendant: string; get hostHeight(): string; get overflow(): string; get dir(): string; template: PanelBarItemTemplateDirective; contentItems: QueryList; contentChildItems: QueryList; viewChildItems: QueryList; /** * @hidden */ showLicenseWatermark: boolean; /** * @hidden */ licenseMessage?: LicenseMessage; private allItems; private childrenItems; private isViewInit; private focused; private _items; private _keepItemContent; private elementRef; private eventService; private keyBindings; private subs; constructor(elementRef: ElementRef, eventService: PanelBarService, localization: LocalizationService); /** * @hidden */ invertKeys(original: any, inverted: any): any; get computedKeys(): object; ngOnDestroy(): void; ngOnInit(): void; ngAfterViewChecked(): void; ngOnChanges(changes: { [propertyName: string]: SimpleChange; }): void; get templateRef(): TemplateRef; /** * @hidden */ onComponentClick(event: any): void; /** * @hidden */ onComponentFocus(): void; /** * @hidden */ onComponentBlur(): void; /** * @hidden */ onComponentKeyDown(event: KeyboardEvent): void; /** * @hidden */ emitEvent(event: string, item: PanelBarItemComponent): any; private get viewItems(); private validateConfiguration; private updateChildrenHeight; private onItemAction; private isVisible; private getVisibleParent; private focusItem; private moveFocus; private focusLastItem; private focusFirstItem; private focusNextItem; private focusPreviousItem; private expandItem; private collapseItem; private selectFocusedItem; private visibleItems; private flatVisibleItems; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }