/onu-ui

Popular, beautiful and fast UnoCSS component library.

Primary LanguageTypeScriptMIT LicenseMIT

Onu UI (WIP)

Popular, beautiful and fast UnoCSS component library.

NPM version

๐Ÿง‘โ€๐Ÿ’ป Document Beta | ๐Ÿคนโ€โ™‚๏ธ Preview

Features

  • ๐ŸŒˆ Components Design - Onu provides neat & beautiful crafted UI components.
  • ๐Ÿ”ฅ Introduce on demand - Provide resolver to automatically import only used components.
  • ๐ŸŽ‰ TS Supported - Support TypeScript & type checked & type inference.
  • ๐Ÿ’ก Cli Build - Easy to create repo with Onu Cli.
  • ๐Ÿฌ CSS Preset - Has UnoCSS preset package to use, rendered UI easily.
  • โš™๏ธ Theme Config - Use attribute mode like unocss to design. Support theme config to customize theme.

Usage

Full Import

npm i onu-ui
npm i unocss -D

Add onu-ui in your main entry file.

// main.ts
import OnuUI from 'onu-ui'
import 'uno.css'
import 'onu-ui/dist/style.css'

createApp(App).use(OnuUI).mount('#app')

Custom UnoCSS config

Custom your UnoCSS config:

// uno.config.ts
import { defineConfig, presetAttributify, presetUno } from 'unocss'
import { presetOnu } from 'onu-ui'

export default defineConfig({
  presets: [
    // ...
    presetUno(),
    presetAttributify(),
    presetOnu(),
  ],
})

On-demand Import:

You need to use an additional plugin to import components you used. First you need to install unplugin-vue-components and unplugin-auto-import.

npm install -D unplugin-vue-components unplugin-auto-import

Then add the code below into your Vite config file.

// vite.config.ts
import { defineConfig } from 'vite'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { OnuResolver } from 'onu-ui'

export default defineConfig({
  // ...
  plugins: [
    // ...
    AutoImport({
      resolvers: [OnuResolver()],
    }),
    Components({
      resolvers: [OnuResolver()],
    }),
  ],
})

Playground

You can try OnuUI out with the components built-in playground.

Try it with our built-in playground(WIP)

Try it with stackblitz

Edit Onu UI

Contributing

Developers interested in contributing should read the Code of Conduct and the Contributing Guide.

Thank you to all the people who already contributed to OnuUI!

Credits

UnoCSS

@nuxt/ui

License

MIT License ยฉ 2022 chris-zhu