uiw is a free, open source design & prototyping project written in TypeScript and released under MIT. It has 740 GitHub stars, 121 forks and 38 open issues, and was last pushed 6 months ago. On this registry it ranks #79 of 89 tracked projects in Design & Prototyping, with 5 head-to-head comparisons available.

What is uiw?

uiw is an MIT-licensed React component library and UI toolkit for developers building interfaces on React 16 and later who want a set of individually installable, TypeScript-authored components with published documentation.

What it is

uiw is a component library for React 16+, published to npm under the uiw package name with individual components also distributed separately under the @uiw/react-* scope. The project is written in TypeScript, holds an MIT licence, and is organised as a monorepo built with Lerna, which contains several packages such as uiw, @uiw/react-affix, @uiw/react-alert, @uiw/react-avatar, @uiw/react-back-top, @uiw/react-badge, @uiw/react-breadcrumb, @uiw/react-button, @uiw/react-button-group, and @uiw/react-calendar, each with its own npm downloads and version badge. Official documentation is hosted at the uiwjs.github.io website, and the repository itself serves as the source for that documentation site.

The concrete problem it addresses is the amount of interface work a React team otherwise repeats from scratch: instead of hand-building buttons, alerts, avatars, badges, breadcrumbs, calendars and similar primitives for each project, a developer imports ready-made components such as Button from uiw and renders them directly. Because each component is also published as its own package, the library replaces the need to maintain a private in-house set of shared UI primitives across React 16+ applications.

Key capabilities

  • Ships a consolidated uiw package plus individually published component packages including @uiw/react-affix, @uiw/react-alert, @uiw/react-avatar, @uiw/react-badge, @uiw/react-breadcrumb, @uiw/react-button, @uiw/react-button-group, @uiw/react-calendar, and @uiw/react-back-top.
  • Provides ready-to-render React components, demonstrated in the README by importing { Button } from uiw and rendering it through ReactDOM.render into an app element.
  • Is authored in TypeScript and published with per-package npm version and download badges so consumers can track each component's release state.
  • Scaffolds a new React and uiw project in one command with npx create-kkt my-app -e uiw, using the kkt toolchain from the kktjs organisation.
  • Hosts full component documentation at https://uiwjs.github.io, with the repository doubling as the documentation site's source.
  • Offers a VS Code extension named uiw.uiw, published to the Visual Studio Marketplace, for previewing the library inside the editor.
  • Maintains a legacy uiw v1.x version on the v1 branch of the repository for projects that have not upgraded.

Who uses it and how

  • Front-end developers starting a greenfield React 16+ application scaffold it with npx create-kkt my-app -e uiw rather than assembling a build configuration by hand.
  • Teams standardising shared interface elements install uiw with npm install uiw --save and import components such as Button directly into their pages.
  • Maintainers who want to adopt a single component at a time pull the corresponding @uiw/react-* package instead of the whole toolkit.
  • Projects still pinned to the older line stay on the uiw v1.x release from the v1 branch while newer work moves to the current package.
  • Contributors work across a Lerna-managed monorepo where each component lives in its own directory under packages/ with its own npm package.

Getting started

Install the library with npm install uiw --save, or scaffold a complete React and uiw project using npx create-kkt my-app -e uiw.

How it compares

The facts provided name no comparable component libraries or paid products for this registry entry, so uiw stands alone here rather than alongside a named set of alternatives.

When to use it — and when not

The repository lists 38 open issues, which suggests ongoing rough edges worth checking before committing to it for production work, and a project on the older v1.x branch should plan an upgrade path to the current package. A team that needs components beyond those published under @uiw/react-* will have to build them itself, and anyone who cannot rely on the uiwjs.github.io documentation should be prepared to read the package sources directly.

project readme (upstream, from github) — read inline

Using my app is also a way to support me:
Scap: Screenshot & Markup Edit Screen Test Deskmark Keyzer Vidwall Hub VidCrop Vidwall Mousio Hint Mousio Musicer Audioer FileSentinel FocusCursor Videoer KeyClicker DayBar Iconed Menuist Quick RSS Quick RSS Web Serve Copybook Generator DevTutor for SwiftUI RegexMate Time Passage Iconize Folder Textsound Saver Create Custom Symbols DevHub Resume Revise Palette Genius Symbol Scribe


uiw LOGO

Buy me a coffee Github Actions License MIT jest Open in Gitpod
Github Releases npm version Github Stars

uiw document website

uiw

The official documentation site for uiw. A high quality UI Toolkit, A Component Library for React 16+. 💘

Installation

npm install uiw --save

You can use kkt to quickly create a react + uiw project.

npx create-kkt my-app -e uiw

You can use the uiw v1.x version. Please see here for instructions. (npx comes with npm 5.2+ and higher.)

Basic Usage

import React from "react";
import ReactDOM from "react-dom";
import { Button } from "uiw";

ReactDOM.render(
  <Button type="primary">Hello</Button>,
  document.getElementById("app")
);

Documentation

Visit the uiwjs.github.io website for more information.

Or Open in VSCode Preview :

Open in VSCode

Packages

This git repository is a repo built using Lerna. It contains several packages:

Development

Use Gitpod, a free online dev environment for GitHub.

Open in Gitpod

Or clone locally:

$ git clone git@github.com:uiwjs/uiw.git

Install dependencies & compile component code.

$ npm install # Install dependencies

$ npm run hoist
$ npm run build

To develop, run the self-reloading build:

# Run the app
# Restart the app automatically every time code changes.
# Useful during development.
$ npm run lib:watch
$ npm run start
$ lerna run --scope uiw watch --stream
$ lerna exec --scope @uiw/button -- tsbb types --outDir lib/esm --target ESNEXT --watch
$ lerna exec --scope @uiw/button -- tsbb watch --target react --env-name esm:dev --env-name cjs

Folders

├── LICENSE
├── README.md
├── package.json
├── website
│   ├── uiw        # Documentation website source code
└── packages
    ├── uiw        # Component library source code
    ├── react-alert
    ├── react-tree
    ├── ...
    └── react-affix

Contributors

License

Licensed under the MIT License.

Frequently asked questions

Is uiw free to use?

uiw is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does uiw do?

⚛️ @uiwjs A high quality UI Toolkit, A Component Library for React 16+.

What is uiw written in?

uiw is primarily written in TypeScript. Its source is publicly available at https://github.com/uiwjs/uiw, and it has 740 GitHub stars.