Flint UI
Flint UI
A lightweight, accessible component library for modern web applications.
Built with TypeScript. Designed for composability. Ships under 12kb gzipped.
Quick Start — Install the core package and wrap your app in FlintProvider to get started.
1npm install @flint-ui/core
Flint UI gives you unstyled, fully accessible components that you style with your own design tokens. No fighting overrides. No specificity wars.

Flint UI in action — VS Code with Tokyo Night theme

Built for developers who care about DX
Why Flint UI
Unstyled by default — Flint UI handles behavior and accessibility. You handle the look. No more fighting CSS overrides.
Composable — Every component is a building block. Combine them to create complex patterns without writing complex code.
Accessible — WAI-ARIA patterns, keyboard navigation, screen reader support, and reduced motion — all built in. Not bolted on.
Flint UI is for teams who want a component library that stays out of their way. No opinions about styling. No bloated bundle. Just solid primitives that work.

Flint UI + TypeScript — full type safety and IntelliSense
At a Glance
| Feature | Status |
|---|---|
| Components | 12 primitives |
| Bundle size | 4.2kb gzipped |
| TypeScript | Full coverage |
| Accessibility | WAI-ARIA |
| Framework | React 18+ |
| License | MIT |
1import { Button, Card, Modal } from '@flint-ui/core'2import { theme } from '@flint-ui/themes'34function App() {5 return (6 <ThemeProvider theme={theme}>7 <Card variant="outlined" padding="lg">8 <h2>Welcome to Flint UI</h2>9 <Button tone="primary" size="md">10 Get Started11 </Button>12 </Card>13 </ThemeProvider>14 )15}
Basic setup — wrap your app in ThemeProvider and start composing
This is a fictional showcase built for Cravo demonstration purposes. All names, content, and details are fictitious and not associated with any real person, company, or service.
More Sites Built with Craft.do
All sites built with Cravo — turn Craft.do documents into websites.