# tusimple/naive-ui

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/tusimple-naive-ui).**

18,384 stars · 1,850 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/TuSimple/naive-ui
- Homepage: https://www.naiveui.com
- awesome-repositories: https://awesome-repositories.com/repository/tusimple-naive-ui.md

## Description

Naive UI is a Vue 3 component library and type-safe UI framework designed for building web application interfaces. It functions as a themeable design system that provides a collection of pre-built user interface components.

The library utilizes a JavaScript-object-based theme engine to customize visual styles without relying on CSS variables or external stylesheets. It includes a virtual list renderer to maintain performance when displaying large datasets by rendering only the items visible within the viewport.

The framework integrates with TypeScript to provide prop validation and type-safe interface construction. It employs a component-based view composition model and integrates with the Vue Composition API.

## Tags

### User Interface & Experience

- [User Interface Components](https://awesome-repositories.com/f/user-interface-experience/user-interface-components.md) — Provides a comprehensive set of customizable user interface components for building functional web application layouts. ([source](https://github.com/tusimple/naive-ui#readme))
- [Component Prop Validation](https://awesome-repositories.com/f/user-interface-experience/component-utilities/ui-frameworks/component-apis/component-prop-validation.md) — Leverages TypeScript to enforce strict interfaces and type safety for all component properties.
- [Vue UI Libraries](https://awesome-repositories.com/f/user-interface-experience/component-utilities/ui-frameworks/component-libraries/ecosystem-specific-libraries/vue-ui-libraries.md) — Offers a comprehensive library of pre-made Vue 3 components to accelerate web interface development.
- [Object-Based Theme Systems](https://awesome-repositories.com/f/user-interface-experience/presentation-frameworks/theme-systems/javascript-theme-accessors/object-based-theme-systems.md) — Implements a theme engine based on JavaScript objects for consistent visual styling across web projects.
- [Declarative Style Objects](https://awesome-repositories.com/f/user-interface-experience/styling-theming-systems/content-styling/component-styling-tools/component-styling/declarative-style-objects.md) — Defines visual styles through JavaScript objects to enable theme customization without relying on CSS variables.
- [Theme Style Customizations](https://awesome-repositories.com/f/user-interface-experience/styling-theming-systems/content-styling/component-styling-tools/component-styling/theme-style-customizations.md) — Allows customizing component themes using type-safe objects for consistent branding without external stylesheets. ([source](https://github.com/tusimple/naive-ui#readme))
- [Themeable UI Frameworks](https://awesome-repositories.com/f/user-interface-experience/themeable-ui-frameworks.md) — Ships a themeable design system with a JavaScript-based engine for flexible style customization.
- [Style Sheet Injection](https://awesome-repositories.com/f/user-interface-experience/styling-theming-systems/content-styling/styling-architectures/styling-systems/class-based-styling/css-styling/style-sheet-injection.md) — Generates and injects styles directly into the document head based on the current theme configuration.
- [Virtualized List Rendering](https://awesome-repositories.com/f/user-interface-experience/virtualized-list-rendering.md) — Provides a virtual list renderer that optimizes performance by rendering only the items visible in the viewport.

### Software Engineering & Architecture

- [Composition API Integrations](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/layering-presentation/application-layer-architectures/state-management-architectures/reactive-composition-patterns/composition-api-integrations.md) — Integrates with the Vue Composition API to share modular state and behavior across interface elements.

### Web Development

- [Type-Safe UI Frameworks](https://awesome-repositories.com/f/web-development/type-safe-ui-frameworks.md) — Provides a type-safe framework where component properties and themes are strictly defined using TypeScript.
- [TypeScript](https://awesome-repositories.com/f/web-development/typescript.md) — Provides a type-safe environment for constructing web interfaces using deep TypeScript integration.
- [Component Composition](https://awesome-repositories.com/f/web-development/component-composition.md) — Implements a component-based model for assembling complex interfaces through the nesting of reusable functional building blocks.

### Part of an Awesome List

- [UI Component Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/ui-component-frameworks.md) — TypeScript-based component library with extensive theme customization.
