@progress/kendo-angular-layout
Version:
Kendo UI for Angular Layout Package - a collection of components to create professional application layoyts
162 lines (161 loc) • 6.83 kB
TypeScript
/**-----------------------------------------------------------------------------------------
* 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]({% slug overview_panelbar %}).
*/
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 %})).
*
* The available modes are:
* - `"single"`—Expands only one item at a time. Expanding an item collapses the item that was previously expanded.
* - `"multiple"`—The default mode of the PanelBar.
* Expands more than one item at a time. Items can also be toggled.
* - `"full"`—Expands only one item at a time.
* The expanded area occupies the entire height of the PanelBar. Requires you to set the `height` property.
*/
expandMode: PanelBarExpandMode;
/**
* Allows the PanelBar to modify the selected state of the items.
*/
selectable: boolean;
/**
* Sets the animate state of the PanelBar ([see example]({% slug animations_panelbar %})).
*/
animate: boolean;
/**
* Sets the height of the component when the `"full"` expand mode is used.
* This option is ignored in the `"multiple"` and `"single"` expand modes.
*/
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)).
* By default, this option is set to `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<PanelBarItemModel>);
get items(): Array<PanelBarItemModel>;
/**
* Fires each time the user interacts with a PanelBar item
* ([see example](slug:routing_panelbar#using-router-service)).
* The event data contains a collection of all items that are modified.
*/
stateChange: EventEmitter<PanelBarStateChangeEvent>;
/**
* Fires when an item is about to be selected.
* ([see example]({% slug events_panelbar %}))
* This event is preventable. If you cancel it, the item will not be selected.
*/
select: EventEmitter<PanelBarSelectEvent>;
/**
* Fires when an item is about to be expanded.
* ([see example]({% slug events_panelbar %}))
* This event is preventable. If you cancel it, the item will remain collapsed.
*/
expand: EventEmitter<PanelBarExpandEvent>;
/**
* Fires when an item is about to be collapsed.
* ([see example]({% slug events_panelbar %}))
* This event is preventable. If you cancel it, the item will remain expanded.
*/
collapse: EventEmitter<PanelBarCollapseEvent>;
/**
* Fires when the user clicks an item ([see example]({% slug events_panelbar %})).
*/
itemClick: EventEmitter<PanelBarItemClickEvent>;
hostClasses: boolean;
tabIndex: number;
role: string;
activeDescendant: string;
get hostHeight(): string;
get overflow(): string;
get dir(): string;
template: PanelBarItemTemplateDirective;
contentItems: QueryList<PanelBarItemComponent>;
contentChildItems: QueryList<PanelBarItemComponent>;
viewChildItems: QueryList<PanelBarItemComponent>;
/**
* @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<any>;
/**
* @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<PanelBarComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<PanelBarComponent, "kendo-panelbar", ["kendoPanelbar"], { "expandMode": { "alias": "expandMode"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "animate": { "alias": "animate"; "required": false; }; "height": { "alias": "height"; "required": false; }; "keepItemContent": { "alias": "keepItemContent"; "required": false; }; "items": { "alias": "items"; "required": false; }; }, { "stateChange": "stateChange"; "select": "select"; "expand": "expand"; "collapse": "collapse"; "itemClick": "itemClick"; }, ["template", "contentItems", "contentChildItems"], ["kendo-panelbar-item"], true, never>;
}