@@ -72,6 +72,7 @@ export function StickyScroll({
7272 const pinnedRows = state . ids
7373 . map ( ( id ) => rowsById . get ( id ) )
7474 . filter ( ( row ) => row !== undefined ) ;
75+ const pinnedHeight = pinnedRows . length * ROW_HEIGHT_PX + state . pushOffset ;
7576 const [ requestedIndex , setRequestedIndex ] = useState ( 0 ) ;
7677 const focusedIndex = Math . max (
7778 0 ,
@@ -148,31 +149,35 @@ export function StickyScroll({
148149 } }
149150 >
150151 { pinnedRows . length > 0 ? (
151- < div
152- className = "ui-tree-sticky__rows"
153- style = { {
154- height : pinnedRows . length * ROW_HEIGHT_PX + state . pushOffset ,
155- } }
156- >
157- { pinnedRows . map ( ( row , index ) => (
158- < TreeRow
159- key = { row . node . id }
160- row = { row }
161- focused = { index === focusedIndex }
162- actionsEnabled = { index === focusedIndex && ! row . node . disabled }
163- style = { {
164- top :
165- index * ROW_HEIGHT_PX +
166- ( index === pinnedRows . length - 1 ? state . pushOffset : 0 ) ,
167- zIndex : pinnedRows . length - index ,
168- } }
169- onClick = { ( event , twistie ) => {
170- if ( ! adapter . isSelectionGesture ( event ) ) reveal ( row , index ) ;
171- adapter . onPointer ( row , event , twistie , "sticky" ) ;
172- } }
173- />
174- ) ) }
175- </ div >
152+ < >
153+ < div
154+ className = "ui-tree-sticky__rows"
155+ style = { { height : pinnedHeight } }
156+ >
157+ { pinnedRows . map ( ( row , index ) => (
158+ < TreeRow
159+ key = { row . node . id }
160+ row = { row }
161+ focused = { index === focusedIndex }
162+ actionsEnabled = { index === focusedIndex && ! row . node . disabled }
163+ style = { {
164+ top :
165+ index * ROW_HEIGHT_PX +
166+ ( index === pinnedRows . length - 1 ? state . pushOffset : 0 ) ,
167+ zIndex : pinnedRows . length - index ,
168+ } }
169+ onClick = { ( event , twistie ) => {
170+ if ( ! adapter . isSelectionGesture ( event ) ) reveal ( row , index ) ;
171+ adapter . onPointer ( row , event , twistie , "sticky" ) ;
172+ } }
173+ />
174+ ) ) }
175+ </ div >
176+ < div
177+ className = "ui-tree-sticky__shadow"
178+ style = { { top : pinnedHeight } }
179+ />
180+ </ >
176181 ) : null }
177182 </ div >
178183 ) ;
0 commit comments