1- import { type ComponentType , type ForwardedRef , forwardRef , type ReactElement , type RefAttributes } from 'react' ;
1+ import {
2+ type ComponentType ,
3+ type ForwardedRef ,
4+ forwardRef ,
5+ type ReactElement ,
6+ type ReactNode ,
7+ type RefAttributes ,
8+ } from 'react' ;
29import type { GridDefaultItem } from './generated/Grid.js' ;
310import {
411 GridProEditColumn as _GridProEditColumn ,
@@ -7,7 +14,7 @@ import {
714} from './generated/GridProEditColumn.js' ;
815import type { GridBodyReactRendererProps , GridEdgeReactRendererProps } from './renderers/grid.js' ;
916import { useModelRenderer } from './renderers/useModelRenderer.js' ;
10- import { useSimpleRenderer } from './renderers/useSimpleRenderer .js' ;
17+ import { useSimpleOrChildrenRenderer } from './renderers/useSimpleOrChildrenRenderer .js' ;
1118import type { OmittedGridColumnHTMLAttributes } from './GridColumn.js' ;
1219
1320export * from './generated/GridProEditColumn.js' ;
@@ -18,6 +25,7 @@ export type GridProEditColumnProps<TItem> = Partial<
1825 | 'children'
1926 | 'editModeRenderer'
2027 | 'footerRenderer'
28+ | 'header'
2129 | 'headerRenderer'
2230 | 'renderer'
2331 | keyof OmittedGridColumnHTMLAttributes < TItem >
@@ -26,19 +34,21 @@ export type GridProEditColumnProps<TItem> = Partial<
2634 Readonly < {
2735 children ?: ComponentType < GridBodyReactRendererProps < TItem > > | null ;
2836 editModeRenderer ?: ComponentType < GridBodyReactRendererProps < TItem > > | null ;
37+ footer ?: ReactNode ;
2938 footerRenderer ?: ComponentType < GridEdgeReactRendererProps < TItem > > | null ;
39+ header ?: ReactNode ;
3040 headerRenderer ?: ComponentType < GridEdgeReactRendererProps < TItem > > | null ;
3141 renderer ?: ComponentType < GridBodyReactRendererProps < TItem > > | null ;
3242 } > ;
3343
3444function GridProEditColumn < TItem = GridDefaultItem > (
35- props : GridProEditColumnProps < TItem > ,
45+ { children , footer , header , ... props } : GridProEditColumnProps < TItem > ,
3646 ref : ForwardedRef < GridProEditColumnElement < TItem > > ,
3747) : ReactElement | null {
3848 const [ editModePortals , editModeRenderer ] = useModelRenderer ( props . editModeRenderer ) ;
39- const [ headerPortals , headerRenderer ] = useSimpleRenderer ( props . headerRenderer ) ;
40- const [ footerPortals , footerRenderer ] = useSimpleRenderer ( props . footerRenderer ) ;
41- const [ bodyPortals , bodyRenderer ] = useModelRenderer ( props . renderer ?? props . children ) ;
49+ const [ headerPortals , headerRenderer ] = useSimpleOrChildrenRenderer ( props . headerRenderer , header ) ;
50+ const [ footerPortals , footerRenderer ] = useSimpleOrChildrenRenderer ( props . footerRenderer , footer ) ;
51+ const [ bodyPortals , bodyRenderer ] = useModelRenderer ( props . renderer ?? children ) ;
4252
4353 return (
4454 < _GridProEditColumn < TItem >
0 commit comments