File tree Expand file tree Collapse file tree 3 files changed +12
-1
lines changed
packages/svelte-file-tree/src/lib/components Expand file tree Collapse file tree 3 files changed +12
-1
lines changed Original file line number Diff line number Diff line change 1+ ---
2+ " svelte-file-tree " : minor
3+ ---
4+
5+ feat: add ` rangeExtractor ` prop to ` VirtualList `
Original file line number Diff line number Diff line change 11<script lang =" ts" module >
22 import {
3+ defaultRangeExtractor ,
34 elementScroll ,
45 observeElementOffset ,
56 observeElementRect ,
3637 let {
3738 children,
3839 estimateSize,
40+ rangeExtractor = defaultRangeExtractor,
3941 overscan = 1 ,
4042 paddingStart,
4143 paddingEnd,
6365 getScrollElement : () => ref,
6466 getItemKey : (order ) => visibleItems[order]! .node .id ,
6567 estimateSize : (order ) => estimateSize (visibleItems[order]! , order),
68+ rangeExtractor : (range ) => rangeExtractor (range),
6669 onChange : (instance ) => {
6770 instance ._willUpdate ();
6871 treeSize = instance .getTotalSize ();
Original file line number Diff line number Diff line change 1- import type { ScrollToOptions } from "@tanstack/virtual-core" ;
1+ import type { Range , ScrollToOptions } from "@tanstack/virtual-core" ;
22import type { Snippet } from "svelte" ;
33import type { HTMLAttributes } from "svelte/elements" ;
44import type { SvelteSet } from "svelte/reactivity" ;
@@ -132,6 +132,8 @@ export type VirtualListItem<
132132 end : number ;
133133} ;
134134
135+ export type VirtualListRange = Range ;
136+
135137export type VirtualListChildrenSnippetArgs <
136138 TFile extends FileNode = FileNode ,
137139 TFolder extends FolderNode < TFile | TFolder > = DefaultTFolder < TFile > ,
@@ -146,6 +148,7 @@ export interface VirtualListProps<
146148> extends Omit < HTMLAttributes < HTMLDivElement > , "children" > {
147149 children : Snippet < [ args : VirtualListChildrenSnippetArgs < TFile , TFolder > ] > ;
148150 estimateSize : ( item : TreeItemState < TFile , TFolder > , order : number ) => number ;
151+ rangeExtractor ?: ( range : VirtualListRange ) => Array < number > ;
149152 overscan ?: number ;
150153 paddingStart ?: number ;
151154 paddingEnd ?: number ;
You can’t perform that action at this time.
0 commit comments