/** * @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'; /** * The ExpansionPanel ref. */ export interface ExpansionPanelHandle { /** * The ExpansionPanel element. */ element: HTMLDivElement | null; } /** * The arguments for the `onAction` ExpansionPanel event. */ export interface ExpansionPanelActionEvent { /** * Represents the `expanded` state of the ExpansionPanel. */ expanded: boolean; } /** * The props of the ExpansionPanel component. */ export interface ExpansionPanelProps { /** * Sets additional CSS classes to the ExpansionPanel. */ class?: string; /** * Sets the `id` property of the root ExpansionPanel element. */ id?: string; /** * Specifies the primary text in the header of the ExpansionPanel. */ title?: string; /** * Specifies the secondary text in the header of the ExpansionPanel, which is rendered next to the collapse/expand icon. */ subtitle?: string; /** * Specifies the primary text template in the header of the ExpansionPanel. */ titleRender?: any; /** * Specifies the secondary text in the header of the ExpansionPanel, which is rendered next to the collapse/expand icon. */ subtitleRender?: any; /** * Sets a custom icon via css class(es), for the expanded state of the ExpansionPanel. */ expandIcon?: string; /** * Defines an SVGIcon to be rendered within the expand arrow. */ expandSvgIcon?: SVGIcon; /** * Sets a custom icon via css class(es), for the collapsed state of the ExpansionPanel. */ collapseIcon?: string; /** * Defines an SVGIcon to be rendered within the collapse arrow. */ collapseSvgIcon?: SVGIcon; /** * Sets the `dir` property of the ExpansionPanel. */ dir?: string; /** * Sets the `tabIndex` property of the ExpansionPanel. */ tabIndex?: number; /** * Sets the `expanded` state of the ExpansionPanel. */ expanded?: boolean; /** * Sets the `disabled` state of the ExpansionPanel. */ disabled?: boolean; /** * Sets `aria-controls`. The value should represent the `id` of the controlled content element. */ ariaControls?: string; /** * The event handler that will be fired when the expanded state of the ExpansionPanel is about to change. */ onAction?: (event: ExpansionPanelActionEvent) => void; }