/**----------------------------------------------------------------------------------------- * Copyright © 2025 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 { 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]({% slug overview_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]({% slug expandmodes_panelbar %})). * * @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]({% slug animations_panelbar %})). * * @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; /** * When set to `true`, the PanelBar renders the content of all items and they are persisted in the DOM * ([see example]({% slug templates_panelbar %}#toc-collections)). * * @default false */ get keepItemContent(): boolean; set keepItemContent(keepItemContent: boolean); /** * Sets the items of the PanelBar as an array of `PanelBarItemModel` instances * ([see example]({% slug items_panelbar %})). */ 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](slug:routing_panelbar#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]({% slug events_panelbar %})). */ 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]({% slug events_panelbar %})). */ 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]({% slug events_panelbar %})). */ collapse: EventEmitter; /** * Fires when an item is clicked ([see example]({% slug events_panelbar %})). */ 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; 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: any): 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; }