/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { ComponentType } from 'react'; import { GridRowProps } from './GridRowProps'; /** * The properties of the default Grid Row. */ export interface GridCustomRowProps extends GridRowProps { /** * The props and attributes that are applied to the tr element by default. */ trProps?: React.HTMLAttributes | null; /** * The default children of the table row. */ children?: React.ReactNode | React.ReactNode[]; } /** * The settings of the rows prop options. */ export interface GridRowsSettings { /** * Custom component for rendering the group header row. * * @example * ```tsx * import { MyGroupHeaderRow } from './MyGroupHeaderRow.js'; * * ``` */ groupHeader?: ComponentType; /** * Custom component for rendering the data row. * * @example * ```tsx * import { MyDataRow } from './MyDataRow.js'; * * ``` */ data?: ComponentType; /** * Custom component for rendering the group footer row. * * @example * ```tsx * import { MyGroupFooterRow } from './MyGroupFooterRow.js'; * * ``` */ groupFooter?: ComponentType; /** * Custom component for rendering pinned data rows. * Falls back to `rows.data` (then default) when omitted. * * @example * ```tsx * import { MyPinnedRow } from './MyPinnedRow.js'; * * ``` */ pinnedData?: ComponentType; }