React components for your design system.
React UI is a themeable, performant, responsive UI library for React apps. Use it simply with no configuration or have full control over your design by tweaking some of the hundreds theming options available.
Why another UI library? Because we couldn't find any library that would meet these requirements:
-
🎨 Full control over design, from design tokens to components. Hundreds of CSS custom properties allow you to customize the design of your app without touching JS.
-
📦 Smart defaults, out of the box. Create rapid prototypes that look great with no additional effort.
-
🚀 Small bundle size. Because performance matters.
Development of React UI is largely supported by RACOM—one of the leading global players in wireless Critical Infrastructure.
To install React UI in your app:
-
Install
react-ui
with npm. Make sure you also haveprop-types
,react
andreact-dom
installed.npm install --save @react-ui-org/react-ui
-
Load the Titillium Web font:
<link href="https://fonts.googleapis.com/css2?family=Titillium+Web:wght@300;400;600;700&display=swap" rel="stylesheet" />
-
Load the default theme and the CSS foundation layer:
import '@react-ui-org/react-ui/src/lib/theme.scss'; import '@react-ui-org/react-ui/src/lib/foundation.scss';
-
Import and use any of React UI components in your app:
import { Button } from '@react-ui-org/react-ui'; <Button label="My Button" />
Head to the docs to see how to use, customize, and extend React UI.
It is possible to run React UI in your app in development mode. This is useful because:
- In production mode React UI uses non-human-readable class names.
- Runtime check (i.e. PropTypes) are suppressed in production mode.
To enable development mode, add the following code to the webpack.config.js
file in your app:
module.exports = (env, argv) => ({
resolve: {
alias: {
// Allow to run react-ui in development mode for easier development.
'@react-ui-org/react-ui$': argv.mode === 'production'
? '@react-ui-org/react-ui/dist/lib.js'
: '@react-ui-org/react-ui/dist/lib.development.js',
},
},
});
Then run webpack with the --mode=production
or --mode=development
flag.
We appreciate any contributions you might make. 🙏
Please check out our Contributing Guide. It includes contribution guidelines and information on how to run and develop the project.