Skip to content

dev-five-git/devup-ui

Repository files navigation

Devup UI logo

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-plugin

Features

  • 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"]}}/>

// Same
<Box _hover={[{bg: "red"}, {bg: "blue"}]}/>