svelte-reorderable-list
Version:
A simple and accessible reorderable list component for Svelte 5.
46 lines • 1.91 kB
TypeScript
import type { Snippet } from "svelte";
export interface TreeNode<ItemType> {
item: ItemType;
children?: TreeNode<ItemType>[];
}
export interface FlatTreeNode<ItemType> {
item: ItemType;
key: string;
parentKey?: string;
}
type TreeInputMode<ItemType> = {
treeNodes: TreeNode<ItemType>[];
getKey: (item: ItemType) => string;
onUpdate: (nodes: TreeNode<ItemType>[]) => void;
flatNodes?: never;
} | {
flatNodes: FlatTreeNode<ItemType>[];
onUpdate: (flatNodes: FlatTreeNode<ItemType>[]) => void;
treeNodes?: never;
getKey?: never;
};
interface BaseProps<ItemType> {
item: Snippet<[ItemType, number]>;
disabled?: boolean;
cssSelectorHandle?: string;
levelPadding?: string;
}
export type ReorderableTreeProps<ItemType> = BaseProps<ItemType> & TreeInputMode<ItemType>;
declare class __sveltets_Render<ItemType> {
props(): ReorderableTreeProps<ItemType>;
events(): {};
slots(): {};
bindings(): "";
exports(): {};
}
interface $$IsomorphicComponent {
new <ItemType>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<ItemType>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<ItemType>['props']>, ReturnType<__sveltets_Render<ItemType>['events']>, ReturnType<__sveltets_Render<ItemType>['slots']>> & {
$$bindings?: ReturnType<__sveltets_Render<ItemType>['bindings']>;
} & ReturnType<__sveltets_Render<ItemType>['exports']>;
<ItemType>(internal: unknown, props: ReturnType<__sveltets_Render<ItemType>['props']> & {}): ReturnType<__sveltets_Render<ItemType>['exports']>;
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
}
declare const ReorderableTree: $$IsomorphicComponent;
type ReorderableTree<ItemType> = InstanceType<typeof ReorderableTree<ItemType>>;
export default ReorderableTree;
//# sourceMappingURL=ReorderableTree.svelte.d.ts.map