Skip to main content
Version: 1.0.3

Kanban Board

The KanbanBoard component delivers a complete project management experience out of the box. It ships with drag-and-drop card reordering across columns, a rich card editor modal (title, description, priority, labels with color picker, assignees, due dates, and file attachments), full-text search, priority-based filtering, column management (add, rename, clear, delete), skeleton loading, and integrated toast notifications — all zero-config with sensible defaults.

Installation

ignix add component kanban-board-page

Usage

Basic

import { KanbanBoard } from "@ignix-ui/kanban-board-page";

export default function MyProjectBoard() {
return <KanbanBoard />;
}

With Toast Notifications

import { KanbanBoard } from "@ignix-ui/kanban-board-page";
import { ToastProvider } from "@ignix-ui/toast";

export default function App() {
return (
<ToastProvider maxToasts={3} defaultPosition="bottom-right">
<KanbanBoard />
</ToastProvider>
);
}

Skeleton Loading State

import { BoardSkeleton } from "@ignix-ui/kanban-board-page";

// Show during data loading — mirrors the exact board layout
export default function LoadingState() {
return <BoardSkeleton />;
}

Using Individual Parts

The component exports its internal types and utilities so you can compose your own board:

import {
BoardProvider,
BoardSkeleton,
KanbanBoard,
createSeed,
newId,
formatDueDate,
initials,
avatarColor,
priorityMeta,
labelClasses,
labelDot,
LABEL_COLORS,
} from "@ignix-ui/kanban-board-page";
import type {
Priority,
LabelColor,
Label,
Assignee,
Card,
Column,
BoardState,
} from "@ignix-ui/kanban-board-page";

Props

KanbanBoardProps

PropTypeDefaultDescription
initialStateBoardStatecreateSeed()Optional initial board state. Defaults to an empty board with 3 standard columns.

Card

PropertyTypeDescription
idstringUnique card identifier.
titlestringCard title (required).
descriptionstring?Optional card description.
priorityPriorityCard priority level.
labelsLabel[]Array of color-coded labels.
assigneesAssignee[]Array of assigned team members.
dueDatestring?ISO date string for the due date.
commentsnumber?Number of comments on the card.
attachmentsnumber?Number of file attachments.

Column

PropertyTypeDescription
idstringUnique column identifier.
titlestringColumn header title.
accentLabelColorAccent color dot next to the title.
cardIdsstring[]Ordered list of card IDs in this column.

BoardState

PropertyTypeDescription
columnsColumn[]Ordered array of board columns.
cardsRecord<string, Card>Map of card ID → card data.
searchstringCurrent search query.
priorityFilterPriority | "all"Active priority filter.

Label

PropertyTypeDescription
idstringUnique label identifier.
namestringDisplay name of the label.
colorLabelColorColor used for the label badge.

Assignee

PropertyTypeDescription
idstringUnique assignee identifier.
namestringFull name (initials are derived automatically).