Kanban Board
Complete reference for the Kanban Board component — data model, configuration, interaction, and API.
App.tsx
import { useRef, useLayoutEffect } from 'react';
import { KanbanBoard, KanbanBoardRef } from '@timelinekit/react';
import { KanbanColumn, KanbanCard, KanbanSwimlane } from '@timelinekit/core';
import '@timelinekit/core/styles/kb';
export default function App() {
const ref = useRef<KanbanBoardRef>(null);
useLayoutEffect(() => {
if (!ref.current) return;
const kb = ref.current;
// Add columns
const todo = new KanbanColumn(null);
todo.title = 'To Do';
const inProgress = new KanbanColumn(null);
inProgress.title = 'In Progress';
inProgress.wipLimit = 3;
const done = new KanbanColumn(null);
done.title = 'Done';
done.isTerminal = true;
kb.data.assignColumns([todo, inProgress, done]);
// Add cards
const card1 = new KanbanCard(null, todo.id);
card1.title = 'Design landing page';
card1.priority = 'high';
card1.tags = ['design'];
const card2 = new KanbanCard(null, inProgress.id);
card2.title = 'Build REST API';
card2.priority = 'critical';
kb.data.assignCards([card1, card2]);
}, []);
return (
<div style={{ height: '100vh' }}>
<KanbanBoard ref={ref} />
</div>
);
}All API examples use board as shorthand for the component instance — i.e. ref.current in React or this.board in Angular.
Data→
Columns, cards, swimlanes, checklists, custom properties, and programmatic data management.
Configuration→
WIP limits, terminal columns, collapsed state, card rendering, tooltips, and assignee resolver.
Interaction→
Drag & drop, selection, context menus, keyboard navigation, filtering, undo & redo, and copy & paste.
Features→
Card priorities, tags, due dates, story points, checklists, and serialization.
Theming & Localization→
Built-in themes, custom styling, and multi-language support.
API Reference→
Properties, methods, events, and types.