Popular, beautiful and fast UnoCSS component library.
🧑💻 Document Beta | 🤹♂️ Preview
- 🌈 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.
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 your UnoCSS config:
// uno.config.ts
import { defineConfig, presetAttributify, presetUno } from 'unocss'
import { presetOnu } from 'onu-ui'
export default defineConfig({
presets: [
// ...
presetUno(),
presetAttributify(),
presetOnu(),
],
})
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()],
}),
],
})
You can try OnuUI out with the components built-in playground.
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!