Package Exports
- @devup-ui/react
Readme
Zero Config, Zero FOUC, Zero Runtime, CSS in JS Preprocessor
English | 한국어
Install
npm install @devup-ui/react
# on next.js
npm install @devup-ui/next-plugin
# on vite
npm install @devup-ui/vite-pluginFeatures
- Preprocessor
- Zero Config
- Zero FOUC
- Zero Runtime
- RSC Support
- Must not use JavaScript, client-side logic, or hybrid solutions
- Support Library mode
- Zero Cost Dynamic Theme Support based on CSS Variables
- Theme with Typing
- Smallest size, fastest speed
Inspirations
- Styled System
- Chakra UI
- Theme UI
- Vanilla Extract
- Rainbow Sprinkles
- Kuma UI
Comparison Benchmarks
Next.js Build Time and Build Size (AMD Ryzen 9 9950X, 128GB RAM, Windows 11)
| Library | Build Time | Build Size |
|---|---|---|
| kuma-ui | 20.933s | 57,295,073b |
| chakra-ui | 36.961s | 129,527,610b |
| devup-ui | 15.162s | 48,047,678b |
How it works
Devup UI is a CSS in JS preprocessor that does not require runtime. Devup UI eliminates the performance degradation of the browser through the CSS in JS preprocessor. We develop a preprocessor that considers all grammatical cases.
// Before
<Box bg={"red"}/>
// After
<Box className={"d0"}/>Variables are fully supported.
// Before
<Box bg={colorVariable}/>
// After
<Box className={"d0"} style={{
"--d0": colorVariable
}}/>Various expressions and responsiveness are also fully supported.
// Before
<Box bg={["red", "blue", a > b ? "yellow" : variable]}/>
// After
<Box className={`d0 d1 ${a > b ? "d2" : "d3"}`} style={{
"--d2": variable
}}/>Support Theme with Typing
devup.json
{
"theme": {
"colors": {
"default": {
"text": "#000"
},
"dark": {
"text": "white"
}
}
}
}// Type Safe
<Text color="$text"/>Support Responsive And Pseudo Selector
You can use responsive and pseudo selector.
// Responsive with Selector
<Box _hover={{bg: ["red", "blue"]}}/>
// Another way
<Box _hover={[{bg: "red"}, {bg: "blue"}]}/>