UNPKG

react-kanban-kit

Version:

A flexible and customizable Kanban board component for React applications, built with TypeScript and modern drag-and-drop functionality powered by Atlassian's pragmatic-drag-and-drop.

49 lines (47 loc) 2.38 kB
import { default as React } from 'react'; import { BoardItem, BoardProps, ConfigMap, DndState, ScrollEvent } from '../types'; interface Props { index: number; data: BoardItem; items: BoardItem[]; configMap: ConfigMap; allowColumnDrag?: boolean; renderColumnHeader?: (column: BoardItem) => React.ReactNode; renderColumnFooter?: (column: BoardItem) => React.ReactNode; renderColumnWrapper: (column: BoardItem, props: { children: React.ReactNode; className?: string; style?: React.CSSProperties; ref?: React.RefObject<HTMLDivElement>; }) => React.ReactNode; renderSkeletonCard?: BoardProps["renderSkeletonCard"]; renderListFooter?: (column: BoardItem) => React.ReactNode; renderColumnAdder?: (column: BoardItem) => React.ReactNode; renderGap?: (column: BoardItem) => React.ReactNode; renderCardDragIndicator?: (card: BoardItem, info: any) => React.ReactNode; renderCardDragPreview?: (card: BoardItem, info: any) => React.ReactNode; renderColumnDragIndicator?: (column: BoardItem, info: { width: number; height: number; edge: "left" | "right"; }) => React.ReactNode; renderColumnDragPreview?: (column: BoardItem, info: any) => React.ReactNode; columnWrapperStyle?: (column: BoardItem) => React.CSSProperties; columnWrapperClassName?: (column: BoardItem) => string; columnHeaderStyle?: (column: BoardItem) => React.CSSProperties; columnHeaderClassName?: (column: BoardItem) => string; columnStyle?: (column: BoardItem) => React.CSSProperties; columnClassName?: (column: BoardItem) => string; columnListContentStyle?: (column: BoardItem) => React.CSSProperties; columnListContentClassName?: (column: BoardItem) => string; cardWrapperStyle?: (card: BoardItem, column: BoardItem) => React.CSSProperties; cardWrapperClassName?: string; onColumnClick?: (e: React.MouseEvent<HTMLDivElement>, column: BoardItem) => void; onCardClick?: (e: React.MouseEvent<HTMLDivElement>, card: BoardItem) => void; onCardDndStateChange?: (info: DndState) => void; onColumnDndStateChange?: (info: DndState) => void; onScroll?: (e: ScrollEvent, column: BoardItem) => void; loadMore?: (columnId: string) => void; } declare const Column: (props: Props) => import("react/jsx-runtime").JSX.Element; export default Column;