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).