/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import { ListViewEvent } from '../events';
import { ListViewItemProps } from './ListViewItemProps';
import { WebMcpProps } from '@progress/kendo-react-common';
/**
* Represents the props of the [KendoReact ListView component](https://www.telerik.com/kendo-react-ui/components/listview).
*/
export interface ListViewProps {
/**
* Sets a class of the ListView DOM element.
*
* @example
* ```jsx
*
* ```
*/
className?: string;
/**
* Sets the data of the ListView.
*
* @example
* ```jsx
*
* ```
*/
data?: any[];
/**
* Defines the component that renders for each item of the data collection.
*
* @example
* ```jsx
* const CustomItem = (props) =>
{props.text}
;
*
*
* ```
*/
item?: React.ComponentType;
/**
* Defines the component that renders for the ListView header.
*
* @example
* ```jsx
* const CustomHeader = (props) => Custom Header
;
*
*
* ```
*/
header?: React.ComponentType;
/**
* Defines the component that renders for the ListView footer.
*
* @example
* ```jsx
* const CustomFooter = (props) => Custom Footer
;
*
*
* ```
*/
footer?: React.ComponentType;
/**
* Sets styles to the ListView container.
*
* @example
* ```jsx
*
* ```
*/
style?: React.CSSProperties;
/**
* Fires when the ListView has been scrolled.
*
* @example
* ```jsx
* console.log(event)} />
* ```
*/
onScroll?: (event: ListViewEvent) => void;
/**
* If set to `true`, the user can use dedicated shortcuts to interact with the ListView.
* By default, navigation is disabled.
*
* @default false
*
* @example
* ```jsx
*
* ```
*/
navigatable?: boolean;
/**
* Enables Web MCP tool registration for this component.
* Requires a parent `WebMcpProvider` from `@progress/kendo-react-webmcp`.
*/
webMcp?: boolean | WebMcpProps;
}