@asafarim/paginated-project-grid
Version:
A responsive React component for displaying paginated project cards with built-in search functionality
30 lines (29 loc) • 882 B
TypeScript
import { Theme, ProjectCardProps } from '@asafarim/project-card';
export type Project = ProjectCardProps & {
projectId?: string;
};
export type PaginatedProjectGridProps = {
projects: Project[];
cardsPerPage?: number;
currentTheme?: Theme;
className?: string;
onProjectClick?: (project: Project) => void;
showTechStackIcons?: boolean;
maxDescriptionLength?: number;
enableSearch?: boolean;
searchPlaceholder?: string;
noResultsMessage?: string;
loadingMessage?: string;
isLoading?: boolean;
searchFields?: ('title' | 'description' | 'techStacks' | 'tags' | 'category')[];
responsive?: {
mobile: number;
tablet: number;
desktop: number;
largeDesktop: number;
extraLargeDesktop: number;
};
showLoadMore?: boolean;
loadMoreText?: string;
animationDuration?: number;
};