/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { SVGIcon } from '@progress/kendo-vue-common'; /** * Represents the props of the PanelBarItem component. */ export interface PanelBarItemProps { /** * Sets the subitems of the item. */ items?: any[]; /** * Allows individual animation control over the child ([see example]({% slug animations_panelbar %})). By default, it is controlled by the PanelBar component. */ animation?: boolean; /** * The class name that is set to the PanelBarItem header. */ headerClassName?: string; /** * Sets the initial expanded state of the PanelBarItem ([see example]({% slug statesitems_panelbar %}#toc-expanded-items)). Controlled by the PanelBar component. */ expanded?: boolean; /** * Sets the disabled state of the PanelBarItem ([see example]({% slug statesitems_panelbar %}#toc-disabled-items)). */ disabled?: boolean; /** * @hidden */ level?: number; /** * Defines an icon that will be rendered next to the title ([see example]({% slug titlesitems_panelbar %}#toc-adding-icons)). */ icon?: string; /** * Defines an SVGIcon to be rendered next to the title. */ svgIcon?: SVGIcon; /** * Defines an icon with a custom CSS class that will be rendered next to the title ([see example]({% slug titlesitems_panelbar %}#toc-adding-icons)). */ iconClass?: string; /** * Defines the location of the image that will be displayed next to the title ([see example]({% slug titlesitems_panelbar %}#toc-adding-images)). */ imageUrl?: string; /** * Sets the initial selected state of the PanelBarItem. Controlled by the PanelBarItem component ([see example]({% slug statesitems_panelbar %}#toc-selected-items)). */ selected?: boolean; /** * Sets the title of the PanelBar item ([see example]({% slug titlesitems_panelbar %}#toc-getting-started)). */ title?: any; /** * Allows the component to set the `id` property to each item. If not set, a default `id` is applied. */ id?: string | number; /** * Sets the initial focused state of the PanelBarItem. Controlled by the PanelBar component. */ focused?: boolean; /** * @hidden */ parentExpanded?: boolean; /** * Defines the custom rendering of the content of the PanelBarItem. Accepts a Vue component, a `render` function, or a slot name. */ content?: any; /** * Defines the custom rendering of the header of the PanelBarItem. Accepts a Vue component, a `render` function, or a slot name. */ header?: any; /** * Used to identify the PanelBarItems inside the PanelBar ([see example]({% slug controlling_state_panelbar %})). Does not depend on the state of the PanelBarItem. */ uniquePrivateKey?: string | number; /** * @hidden */ parentUniquePrivateKey?: string[]; /** * @hidden */ keepItemsMounted?: boolean; /** * @hidden */ item?: any; }