Skip to content

Getting Start

Installation for UnoCSS

bash
pnpm i -D unocss @onu-ui/preset
bash
yarn add -D unocss @onu-ui/preset
bash
npm i -D unocss @onu-ui/preset

The Onu UI presets are framework-agnostic, allowing you to use them in any project that supports UnoCSS.

ts
// uno.config.ts
import { 
defineConfig
} from 'unocss'
import {
presetOnu
} from '@onu-ui/preset'
export default
defineConfig
({
presets
: [
presetOnu
({
/* options */ }) ] })

Theme colors are Random by default. You can pass your theme color in the color option. The Onu UI presets use Magicolor underneath to generate a complete set of theme styles based on color. You can preview and debug in the Magicolor Playground.

Options

ts
export interface PrsetOnuOptions {
  /**
   * Theme primary color.
   *
   * @default 'auto' (random color)
   */
  color?: string

  /**
   * Enable preflights styles. (Reset styles)
   *
   * @default true
   */
  preflights?: boolean

  /**
   * Onu default font loaded by google fonts.
   *
   * @default ['DM Sans', 'DM Sans:400,700']
   * @example `font-onu`
   */
  fonts?: WebFontMeta | string | (WebFontMeta | string)[]

  /**
   * Icons options.
   */
  icons?: IconsOptions
}

Installation for Vue

bash
pnpm i onu-ui
bash
yarn add onu-ui
bash
npm i onu-ui

onu-ui Package is a Vue 3 component library that uses the Onu UI presets by default.

ts
// main.ts
import { createApp } from 'vue'
import OnuUI from 'onu-ui'
import App from './App.vue'
import 'onu-ui/dist/onu-ui.css'

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

TIP

To enhance the capabilities of Onu components, I strongly recommend that you install UnoCSS and @onu-ui/preset at the same time.

Details
bash
pnpm i -D unocss @onu-ui/preset

Undering UnoCSS and @onu-ui/preset, you can easily customize the theme of the components.

ts
// main.ts
import { createApp } from 'vue'
import OnuUI from 'onu-ui'
import App from './App.vue'
import 'onu-ui/dist/onu-ui.css'
import 'uno.css'

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

ts
// uno.config.ts
import { defineConfig } from 'unocss'
import { presetOnu } from '@onu-ui/preset'

export default defineConfig({
  presets: [
    // ...
    presetOnu({ 
      preflights: false, 
    }) 
  ]
})

ts
// vite.config.ts
import { defineConfig } from 'vite'
import UnoCSS from 'unocss/vite'

export default defineConfig({
  plugins: [
    // ...
    UnoCSS() 
  ]
})

Then you can use the Onu UI components in your Vue project, such as:

vue
<template>
  <OButton>Button</OButton>
</template>

Released under the MIT License.