Onu UI (WIP)
Popular, beautiful and fast UnoCSS component library.
๐งโ๐ป 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
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!