https://github.com/holtwick/oui
Just another set of UI components for Vue.js with a proper French-sounding name.
https://github.com/holtwick/oui
oui typescript ui-components vite vue vue3
Last synced: about 1 year ago
JSON representation
Just another set of UI components for Vue.js with a proper French-sounding name.
- Host: GitHub
- URL: https://github.com/holtwick/oui
- Owner: holtwick
- License: mit
- Created: 2024-01-10T15:52:48.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-04-26T16:15:49.000Z (over 2 years ago)
- Last Synced: 2024-05-02T00:07:46.642Z (over 2 years ago)
- Topics: oui, typescript, ui-components, vite, vue, vue3
- Language: Vue
- Homepage: https://oui.holtwick.de
- Size: 536 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# ðĻ Oui Kit
ðŊ *UI toolkit with a French touch* ðŦð·
**Modern âĒ Lightweight âĒ TypeScript-first âĒ Accessible**
[](https://www.npmjs.com/package/oui-kit)
[](https://github.com/holtwick/oui/blob/main/LICENSE)
[](https://www.npmjs.com/package/oui-kit)
[ð Get Started](#installation) âĒ [ð Documentation](https://oui.holtwick.de) âĒ [ðŪ Live Demo](https://oui.holtwick.de)
## âĻ Why Oui Kit?
- ðŊ **Vue 3 Native** - Built from the ground up for Vue 3 Composition API
- ðĻ **Stylus Powered** - Flexible theming system with Stylus CSS
- ðĶ **Tree Shakeable** - Import only what you need
- ð§ **TypeScript First** - Full TypeScript support out of the box
- âŋ **Accessible** - WCAG compliant components
- ðŠķ **Lightweight** - Minimal bundle size impact
- ðïļ **Customizable** - Easy to theme and extend
---
ðŪ **Try it live:**
ðą **Scan QR code for mobile demo:**

## ð Quick Start
Get up and running in under 2 minutes!
```bash
npm install oui-kit
# or
pnpm add oui-kit
# or
yarn add oui-kit
```
## ðŊ Usage
### Basic Setup
```typescript
// main.ts
import { createApp } from 'vue'
import App from './App.vue'
// Import oui-kit styles
import 'oui-kit/css'
const app = createApp(App)
app.mount('#app')
```
### Your First Component
```vue
import { OuiButton, OuiModal, useNotification } from 'oui-kit'
import { ref } from 'vue'
const showModal = ref(false)
const { notify } = useNotification()
function handleSuccess() {
notify('ð Success! Your component is working!', 'success')
}
function handleInfo() {
notify('âđïļ This is an info message', 'info')
}
Welcome to Oui Kit!
This modal demonstrates the power of Oui Kit components.
Enjoy building beautiful Vue.js applications! ð
@import 'oui-kit/stylus'
.demo-container
padding: $spacing-lg
max-width: 600px
margin: 0 auto
.button-group
display: flex
gap: $spacing-md
flex-wrap: wrap
margin-top: $spacing-md
```
## ð§Đ Available Components
### ðĻ UI Components
| Component | Description | Features |
|-----------|-------------|----------|
| **OuiButton** | Versatile button component | Multiple variants, sizes, loading states |
| **OuiModal** | Beautiful modal dialogs | Backdrop blur, animations, accessibility |
| **OuiNotification** | Toast notification system | Auto-dismiss, positions, custom styling |
| **OuiFloat** | Floating positioning | Tooltips, dropdowns, popovers |
### ð§ Composables & Utilities
| Composable | Description | Use Case |
|------------|-------------|----------|
| **useNotification** | Reactive notification system | Show success/error messages |
| **useModal** | Modal state management | Programmatic modal control |
| **useFloat** | Floating element positioning | Tooltips, dropdowns, menus |
### Tree Shaking
```typescript
// Import only what you need
import * as OuiKit from 'oui-kit'
// Or import everything (not recommended for production)
import { OuiButton, OuiModal, useNotification } from 'oui-kit'
import { OuiButton } from 'oui-kit/button'
import { OuiModal } from 'oui-kit/modal'
import { useNotification } from 'oui-kit/notification'
```
## ð ïļ Development
### Prerequisites
- Node.js 18+
- pnpm (recommended) or npm
### Contributing
We welcome contributions! Please see our [Contributing Guide](./CONTRIBUTING.md) for details on:
- Code style and formatting
- Testing requirements
- Git workflow and commit conventions
- Development setup
## Browser Support
oui-kit supports all modern browsers:
- Chrome 88+
- Firefox 85+
- Safari 14+
- Edge 88+
## License
MIT License - see [LICENSE](./LICENSE) file for details.
## Acknowledgments
Derives from this previous work:
- [twindy](https://github.com/holtwick/twindy)
- [twindy-headless](https://github.com/holtwick/twindy-headless)
## Support
- ð [Documentation](https://oui.holtwick.de)
- ð [Issues](https://github.com/holtwick/oui/issues)
- ðŽ [Discussions](https://github.com/holtwick/oui/discussions)
- âĪïļ [Sponsor](https://github.com/sponsors/holtwick)