@@ -10,6 +10,7 @@ import { Parser as FormulaParser } from "hot-formula-parser";
1010
1111import DefaultTable from "./Table" ;
1212import DefaultRow from "./Row" ;
13+ import DefaultHeaderRow from "./HeaderRow" ;
1314import DefaultCornerIndicator from "./CornerIndicator" ;
1415import DefaultColumnIndicator from "./ColumnIndicator" ;
1516import DefaultRowIndicator from "./RowIndicator" ;
@@ -78,6 +79,8 @@ export type Props<CellType extends Types.CellBase> = {
7879 Table ?: Types . TableComponent ;
7980 /** The Spreadsheet's row component. */
8081 Row ?: Types . RowComponent ;
82+ /** The spreadsheet's header row component */
83+ HeaderRow ?: Types . HeaderRowComponent ;
8184 /** The Spreadsheet's cell component. */
8285 Cell ?: Types . CellComponent < CellType > ;
8386 /** Component rendered for cells in view mode. */
@@ -124,6 +127,7 @@ const Spreadsheet = <CellType extends Types.CellBase>(
124127 onKeyDown,
125128 Table = DefaultTable ,
126129 Row = DefaultRow ,
130+ HeaderRow = DefaultHeaderRow ,
127131 CornerIndicator = DefaultCornerIndicator ,
128132 DataEditor = DefaultDataEditor ,
129133 DataViewer = DefaultDataViewer ,
@@ -397,7 +401,7 @@ const Spreadsheet = <CellType extends Types.CellBase>(
397401 const tableNode = React . useMemo (
398402 ( ) => (
399403 < Table columns = { size . columns } hideColumnIndicators = { hideColumnIndicators } >
400- < Row >
404+ < HeaderRow >
401405 { ! hideRowIndicators && ! hideColumnIndicators && < CornerIndicator /> }
402406 { ! hideColumnIndicators &&
403407 range ( size . columns ) . map ( ( columnNumber ) =>
@@ -415,9 +419,9 @@ const Spreadsheet = <CellType extends Types.CellBase>(
415419 < ColumnIndicator key = { columnNumber } column = { columnNumber } />
416420 )
417421 ) }
418- </ Row >
422+ </ HeaderRow >
419423 { range ( size . rows ) . map ( ( rowNumber ) => (
420- < Row key = { rowNumber } >
424+ < Row key = { rowNumber } row = { rowNumber } >
421425 { ! hideRowIndicators &&
422426 ( rowLabels ? (
423427 < RowIndicator
@@ -448,6 +452,7 @@ const Spreadsheet = <CellType extends Types.CellBase>(
448452 size . columns ,
449453 hideColumnIndicators ,
450454 Row ,
455+ HeaderRow ,
451456 hideRowIndicators ,
452457 CornerIndicator ,
453458 columnLabels ,
0 commit comments