@papernote/ui
Version:
A modern React component library with a paper notebook aesthetic - minimal, professional, and expressive
35 lines • 1.29 kB
TypeScript
import React from 'react';
export interface TransferItem {
id: string;
label: string;
description?: string;
disabled?: boolean;
metadata?: Record<string, unknown>;
}
export interface TransferProps {
/** Available items in source list */
sourceItems: TransferItem[];
/** Items in target list */
targetItems: TransferItem[];
/** Callback when items are transferred */
onChange: (sourceItems: TransferItem[], targetItems: TransferItem[]) => void;
/** Labels for source and target lists */
titles?: {
source: string;
target: string;
};
/** Show search/filter inputs */
showSearch?: boolean;
/** Custom search filter function */
filterFunction?: (item: TransferItem, searchTerm: string) => boolean;
/** Height of lists */
height?: string;
/** Show item counts in headers */
showCounts?: boolean;
/** Render custom item content */
renderItem?: (item: TransferItem) => React.ReactNode;
/** Custom class name */
className?: string;
}
export default function Transfer({ sourceItems, targetItems, onChange, titles, showSearch, filterFunction, height, showCounts, renderItem, className, }: TransferProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=Transfer.d.ts.map