@papernote/ui
Version:
A modern React component library with a paper notebook aesthetic - minimal, professional, and expressive
37 lines • 1.31 kB
TypeScript
import React from 'react';
export interface KanbanCard {
id: string;
title: string;
description?: string;
tags?: string[];
assignee?: string;
priority?: 'low' | 'medium' | 'high';
metadata?: Record<string, unknown>;
}
export interface KanbanColumn {
id: string;
title: string;
cards: KanbanCard[];
color?: string;
limit?: number;
}
export interface KanbanBoardProps {
/** Columns to display */
columns: KanbanColumn[];
/** Callback when columns change */
onChange: (columns: KanbanColumn[]) => void;
/** Callback when card is clicked */
onCardClick?: (card: KanbanCard, columnId: string) => void;
/** Callback when add button is clicked */
onAddCard?: (columnId: string) => void;
/** Callback when column menu is clicked */
onColumnMenu?: (columnId: string) => void;
/** Custom card renderer */
renderCard?: (card: KanbanCard, columnId: string) => React.ReactNode;
/** Show add card button */
showAddButton?: boolean;
/** Custom class name */
className?: string;
}
export default function KanbanBoard({ columns, onChange, onCardClick, onAddCard, onColumnMenu, renderCard, showAddButton, className, }: KanbanBoardProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=KanbanBoard.d.ts.map