@djangocfg/ui-core
Pure React UI library with 60+ components built on Radix UI + Tailwind CSS v4.
No Next.js dependencies — works with Electron, Vite, CRA, and any React environment.
Part of DjangoCFG — modern Django framework for production-ready SaaS applications.
Live Demo & Props
Install
pnpm add @djangocfg/ui-core
Why ui-core?
@djangocfg/ui-core | Electron, Vite, CRA, any React app |
@djangocfg/ui-nextjs | Next.js apps (extends ui-core) |
Components (61)
Forms (16)
Label Button ButtonLink Input Checkbox RadioGroup Select Textarea Switch Slider Combobox MultiSelect InputOTP PhoneInput Form Field
Layout (8)
Card Separator Skeleton AspectRatio Sticky ScrollArea Resizable Section
Overlay (7)
Dialog AlertDialog Sheet Drawer Popover HoverCard Tooltip
Feedback (6)
Toast Toaster Alert Progress Badge Avatar
Data (8)
Table Tabs Accordion Collapsible Toggle ToggleGroup Calendar Carousel
Interactive (3)
Command ContextMenu Chart
Specialized (13)
ButtonGroup Empty Spinner Preloader Kbd TokenIcon InputGroup Item ImageWithFallback OgImage CopyButton CopyField StaticPagination
Hooks (10)
useMediaQuery | Responsive breakpoints |
useIsMobile | Mobile detection |
useCopy | Copy to clipboard |
useCountdown | Countdown timer |
useDebounce | Debounce values |
useDebouncedCallback | Debounced callbacks |
useImageLoader | Image loading state |
useToast | Toast notifications |
useEventListener | Event bus |
useDebugTools | Debug utilities |
Usage
import { Button, Card, Input, useToast } from '@djangocfg/ui-core';
function Example() {
const { toast } = useToast();
return (
<Card>
<Input placeholder="Email" />
<Button onClick={() => toast({ title: 'Saved!' })}>
Submit
</Button>
</Card>
);
}
Electron Usage
import { Button, Dialog, useMediaQuery } from '@djangocfg/ui-core';
import '@djangocfg/ui-core/styles/globals';
function App() {
const isMobile = useMediaQuery('(max-width: 768px)');
return (
<Dialog>
<Button>Open Dialog</Button>
</Dialog>
);
}
Styling
import '@djangocfg/ui-core/styles/globals';
Exports
@djangocfg/ui-core | All components & hooks |
@djangocfg/ui-core/components | Components only |
@djangocfg/ui-core/hooks | Hooks only |
@djangocfg/ui-core/lib | Utilities (cn, etc.) |
@djangocfg/ui-core/styles | CSS |
What's NOT included (use ui-nextjs)
These features require Next.js or browser storage APIs:
Sidebar — uses next/link
Breadcrumb, BreadcrumbNavigation — uses next/link
NavigationMenu, Menubar — uses next/link
Pagination, SSRPagination — uses next/link
DropdownMenu — uses next/link
DownloadButton — uses localStorage
useLocalStorage, useSessionStorage — browser storage
useTheme — uses next-themes
useQueryParams, useCfgRouter — uses next/router
Requirements
- React >= 18 or >= 19
- Tailwind CSS >= 4
Full documentation & examples