Overview of all Naive UI components organized by category. Invoke when user needs a quick reference to all available components or wants to explore the component library.
Quick reference to all Naive UI components organized by category. Naive UI is a Vue 3 component library that is fairly complete, themeable, written in TypeScript, and fast.
| Component | Description |
|---|---|
| Affix | Fixes elements to a specific visible area |
| Avatar | User avatars with images, icons, or characters |
| AvatarGroup | Group of avatars with overlap display |
| Badge |
| Numbers or status marks on elements |
| Button | Basic button with various types and sizes |
| ButtonGroup | Group of buttons |
| Card | Information in card containers |
| Carousel | Image/text carousels |
| Collapse | Expandable panels |
| CollapseTransition | Collapse transition wrapper |
| Divider | Content separation lines |
| Drawer | Slide-out panels from screen edge |
| Dropdown | Dropdown menus |
| Ellipsis | Text with ellipsis and tooltip |
| Empty | Empty state placeholder |
| Icon | Icon component |
| IconWrapper | Icon wrapper for consistent sizing |
| Tag | Labels and tags |
| Component | Description |
|---|---|
| AutoComplete | Input with autocomplete suggestions |
| Cascader | Hierarchical selection |
| Checkbox | Multiple selection |
| ColorPicker | Color selection |
| DatePicker | Date selection |
| DynamicInput | Dynamic input fields |
| DynamicTags | Dynamic tag input |
| Form | Form management and validation |
| Input | Text input |
| InputNumber | Numeric input |
| InputOTP | One-time password input |
| Mention | @mentions in inputs |
| Radio | Single selection |
| Rate | Star rating |
| Select | Dropdown selection |
| Slider | Range slider |
| Switch | Toggle switch |
| TimePicker | Time selection |
| Transfer | Dual-column selection |
| TreeSelect | Tree-based selection |
| Upload | File upload |
| Component | Description |
|---|---|
| Avatar | User avatars |
| AvatarGroup | Avatar groups |
| Badge | Status marks |
| Calendar | Date display |
| Card | Card containers |
| Carousel | Carousels |
| Code | Code display with syntax highlighting |
| DataTable | Advanced data tables |
| Descriptions | Key-value displays |
| Empty | Empty state placeholder |
| Equation | Mathematical equations |
| GradientText | Gradient text effect |
| Heatmap | Heatmap visualization |
| Highlight | Text highlighting |
| Image | Images with preview |
| List | List container |
| Log | Console log display |
| NumberAnimation | Animated number display |
| Progress | Progress indicators |
| QRCode | QR code generation |
| Statistic | Numerical statistics |
| Table | Basic data tables |
| Thing | Thing card component |
| Timeline | Chronological events |
| Tree | Hierarchical data |
| VirtualList | Virtual scrolling list |
| Component | Description |
|---|---|
| Affix | Sticky elements |
| Anchor | Page navigation |
| Breadcrumb | Location display |
| Dropdown | Dropdown menus |
| Menu | Navigation menu |
| PageHeader | Page headers |
| Pagination | Page navigation |
| Steps | Step guide |
| Tabs | Tabbed content |
| Component | Description |
|---|---|
| Alert | Alert messages |
| Dialog | Modal dialogs |
| Drawer | Slide-out panels |
| LoadingBar | Top loading bar |
| Message | Toast messages |
| Modal | Modal dialogs |
| Notification | Corner notifications |
| Popconfirm | Confirmation dialogs |
| Popover | Rich popups |
| Result | Result pages |
| Spin | Loading spinner |
| Tooltip | Hover tooltips |
| Component | Description |
|---|---|
| Divider | Content separation |
| Flex | Flexbox layout |
| Grid | CSS Grid layout |
| Layout | Page layout containers |
| LegacyGrid | Legacy 24-column grid |
| Space | Element spacing |
| Split | Resizable panels |
| Component | Description |
|---|---|
| H1-H6 | Header components |
| P | Paragraph |
| Text | Styled text |
| A | Anchor/link |
| Hr | Horizontal rule |
| Ul/Ol/Li | List elements |
| Blockquote | Blockquote |
| Component | Description |
|---|---|
| ConfigProvider | Global configuration |
| Discrete | Discrete component mounting |
| Element | Theme variable container |
| FloatButton | Floating action button |
| FloatButtonGroup | Floating button group |
| GlobalStyle | Global style injection |
| InfiniteScroll | Infinite scrolling |
| Marquee | Marquee scrolling text |
| Scrollbar | Custom scrollbars |
| Watermark | Watermarks |
| Resource | Description |
|---|---|
| Color | Color palette and semantics |
| Border | Border styles, radius, shadows |
| Layout | Grid and flexbox systems |
| Typography | Font conventions |
All components are written in TypeScript with full type definitions.
import type { ButtonProps, InputProps } from 'naive-ui'
All components support tree-shaking for optimal bundle size.
import { NButton, NInput } from 'naive-ui'
Advanced type-safe theme system built with TypeScript.
<template>
<n-config-provider :theme-overrides="themeOverrides">
<app />
</n-config-provider>
</template>
<script setup>
const themeOverrides = {
common: {
primaryColor: '#18a058'
}
}
</script>
Built-in dark theme support.
<template>
<n-config-provider :theme="darkTheme">
<app />
</n-config-provider>
</template>
<script setup>
import { darkTheme } from 'naive-ui'
</script>
Access theme variables in JavaScript.
<script setup>
import { useThemeVars } from 'naive-ui'
const themeVars = useThemeVars()
</script>
<template>
<div :style="{ color: themeVars.primaryColor }">
Primary color text
</div>
</template>
| Skill | Description |
|---|---|
| naive-ui-design-color | Color design specifications |
| naive-ui-design-border | Border design specifications |
| naive-ui-design-typography | Typography specifications |
| naive-ui-design-layout | Layout system documentation |
| Resource | URL |
|---|---|
| Official Documentation | https://www.naiveui.com |
| GitHub Repository | https://github.com/tusen-ai/naive-ui |
| Design Resources (Sketch) | Download |
| xicons (Recommended Icons) | https://www.xicons.org |
n-config-provider for global configurationuseThemeVars() for consistent theming