Migration
From Ant Design
Ant Design is dense and comprehensive — great for internal tools, heavy for product surfaces. Nova gives you fewer components with cleaner defaults.
Overview
Expect a smaller surface. Nova won't ship every enterprise widget Ant does; the ones we do ship are more opinionated and less configurable.
Install alongside
Add Nova without removing your current library. Migrate page-by-page.
tsx
bun add @novix-ui/react# incremental: keep antd installed during migrationComponent mapping
| From | Nova | Notes |
|---|---|---|
| Button | Button | primary/default/dashed/link → primary/secondary/outline/link. |
| Space | Tailwind gap-* | Use flex/grid + gap utilities. |
| Card | Card | Cleaner header/footer composition. |
| Input | Input + Label | Icon slots via leadingIcon/trailingIcon. |
| message / notification | Toast recipe | Use sonner + Nova styles. |
Code diff
Before
tsx
<Button type="primary" icon={<SearchOutlined />}> Search</Button>After (Nova)
tsx
import { Button } from "@novix-ui/react";import { Search } from "lucide-react"; <Button leadingIcon={<Search />}>Search</Button>Common traps
- Ant's ConfigProvider provides global config; Nova relies on CSS tokens instead. Delete the provider once fully migrated.
- Ant Table has a huge surface. Nova ships a Data Tables recipe — pick the columns you actually need before rewriting.
- Ant's default font-size is 14px; Nova is 15–16px in most surfaces. Expect a subtle typography shift.