@progress/kendo-angular-layout
Version:
Kendo UI for Angular Layout Package - a collection of components to create professional application layoyts
173 lines (172 loc) • 6.29 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 { TemplateRef, QueryList, AfterContentChecked, AfterViewChecked, OnDestroy, ElementRef, Renderer2, OnInit } from '@angular/core';
import { PanelBarService } from "./panelbar.service";
import { PanelBarContentDirective } from "./panelbar-content.directive";
import { PanelBarItemTitleDirective } from "./panelbar-item-title.directive";
import { PanelBarItemModel } from './panelbar-item-model';
import { Subscription } from 'rxjs';
import { SVGIcon } from '@progress/kendo-svg-icons';
import * as i0 from "@angular/core";
/**
* Represents the items of the PanelBar.
*/
export declare class PanelBarItemComponent implements OnInit, AfterContentChecked, AfterViewChecked, OnDestroy {
parent: PanelBarItemComponent;
private eventService;
private element;
private renderer;
/**
* Sets the title of the PanelBar item ([see example]({% slug items_panelbar %}#toc-titles)).
*/
title: string;
/**
* Allows the component to set the `"id"` property to each item.
* Used to set the `id` attributes of the nested elements and to enable the WAI-ARIA support.
*/
id: string;
/**
* Defines the icon that will be rendered next to the title ([see example]({% slug items_panelbar %}#toc-title-icons)).
*/
icon: string;
/**
* Defines the icon that will be rendered next to the title by using a custom CSS class
* ([see example]({% slug items_panelbar %}#toc-title-icons)).
*/
iconClass: string;
/**
* Defines an SVGIcon to be rendered.
* The input can take either an [existing Kendo SVG icon](slug:svgicon_list) or a custom one.
*/
set svgIcon(icon: SVGIcon);
get svgIcon(): SVGIcon;
/**
* Defines the location of the image that will be displayed next to the title
* ([see example]({% slug items_panelbar %}#toc-title-images)).
*/
imageUrl: string;
/**
* When set to `true`, disables a PanelBar item ([see example]({% slug items_panelbar %}#toc-disabled-state)).
*/
disabled: boolean;
/**
* When set to `true`, expands the PanelBar item ([see example]({% slug items_panelbar %}#toc-expanded-state)).
*/
set expanded(value: boolean);
get expanded(): boolean;
/**
* Sets the selected state of a PanelBar item ([see example]({% slug items_panelbar %}#toc-selected-state)).
*/
selected: boolean;
/**
* Sets the content of the PanelBar item.
* By design, it is used when the
* [items]({% slug api_layout_panelbarcomponent %}#toc-items)
* property of the PanelBar is set.
*/
content: any;
/**
* @hidden
*/
items: Array<PanelBarItemModel>;
/**
* @hidden
*/
template: TemplateRef<any>;
header: ElementRef;
contentWrapper: ElementRef;
contentHeight: string;
contentOverflow: string;
keepContent: boolean;
childrenItems: Array<PanelBarItemComponent>;
hasChildItems: boolean;
hasItems: boolean;
hasContent: boolean;
state: string;
get animate(): boolean;
role: string;
titleAttribute: string;
kItemClass: boolean;
get kStateExpandedClass(): boolean;
get itemId(): string;
get ariaExpanded(): boolean;
get ariaSelected(): boolean;
get ariaDisabled(): boolean;
get headerClass(): boolean;
/**
* @hidden
*/
get titleTemplate(): TemplateRef<any>;
viewChildItems: QueryList<PanelBarItemComponent>;
contentItems: QueryList<PanelBarItemComponent>;
contentTemplate: QueryList<PanelBarContentDirective>;
titleTemplates: QueryList<PanelBarItemTitleDirective>;
focused: boolean;
wrapperFocused: boolean;
protected subscriptions: Subscription;
private _expanded;
private level;
private _svgIcon;
constructor(parent: PanelBarItemComponent, eventService: PanelBarService, element: ElementRef, renderer: Renderer2);
/**
* @hidden
*/
headerHeight(): number;
ngOnInit(): void;
ngAfterContentChecked(): void;
ngAfterViewChecked(): void;
ngOnDestroy(): void;
/**
* @hidden
*/
onItemAction(): void;
/**
* @hidden
*/
onItemClick(e: any): void;
/**
* @hidden
*/
get iconClasses(): any;
/**
* @hidden
*/
get customIconClasses(): string;
/**
* @hidden
*/
get dirInnerCssClasses(): string;
/**
* @hidden
*/
get expanderSVGIcon(): SVGIcon;
/**
* @hidden
*/
serialize(): PanelBarItemModel;
/**
* @hidden
*/
subTreeViewItems(): Array<PanelBarItemComponent>;
/**
* @hidden
*/
validateConfiguration(): void;
/**
* @hidden
*/
toggleAnimationState(value: boolean): void;
/**
* @hidden
*/
toggleExpandedChildAnimations(value: boolean): void;
/**
* @hidden
*/
private addLevelClass;
private onWrapperFocusChange;
static ɵfac: i0.ɵɵFactoryDeclaration<PanelBarItemComponent, [{ optional: true; host: true; skipSelf: true; }, null, null, null]>;
static ɵcmp: i0.ɵɵComponentDeclaration<PanelBarItemComponent, "kendo-panelbar-item", ["kendoPanelbarItem"], { "title": { "alias": "title"; "required": false; }; "id": { "alias": "id"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "iconClass": { "alias": "iconClass"; "required": false; }; "svgIcon": { "alias": "svgIcon"; "required": false; }; "imageUrl": { "alias": "imageUrl"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "content": { "alias": "content"; "required": false; }; "items": { "alias": "items"; "required": false; }; "template": { "alias": "template"; "required": false; }; }, {}, ["contentItems", "contentTemplate", "titleTemplates"], ["kendo-panelbar-item"], true, never>;
}