@velkymx/vibeui 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +195 -3
- package/dist/vibeui.css +1 -0
- package/dist/vibeui.es.js +1620 -21
- package/dist/vibeui.umd.js +1 -1
- package/package.json +38 -8
package/README.md
CHANGED
|
@@ -1,5 +1,197 @@
|
|
|
1
|
-
#
|
|
1
|
+
# VibeUI
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A modern Vue 3 UI component library built with Bootstrap 5, designed to simplify your development and enhance your application's aesthetic.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
* **Vue 3 Composition API**: Built from the ground up using modern, reactive Vue.js practices.
|
|
8
|
+
* **Bootstrap 5 Integration**: Directly utilizes Bootstrap 5 CSS for consistency, without additional styling overhead.
|
|
9
|
+
* **Dual-Mode Components**: Use shorthand props for quick setup or composable slots for full control.
|
|
10
|
+
* **Lightweight & Modular**: Import only what you need, keeping your bundle small.
|
|
11
|
+
* **TypeScript Support**: Fully typed components for a great developer experience.
|
|
12
|
+
* **Accessibility First**: Components crafted with accessibility and usability in mind.
|
|
13
|
+
|
|
14
|
+
## Installation
|
|
15
|
+
|
|
16
|
+
Install via npm:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm install @velkymx/vibeui
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Make sure you also install Bootstrap:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npm install bootstrap
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Quick Setup
|
|
29
|
+
|
|
30
|
+
In your Vue app's entry file (`main.ts` or `main.js`):
|
|
31
|
+
|
|
32
|
+
```typescript
|
|
33
|
+
import { createApp } from 'vue';
|
|
34
|
+
import App from './App.vue';
|
|
35
|
+
import VibeUI from '@velkymx/vibeui';
|
|
36
|
+
import 'bootstrap/dist/css/bootstrap.min.css';
|
|
37
|
+
|
|
38
|
+
createApp(App).use(VibeUI).mount('#app');
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Basic Usage
|
|
42
|
+
|
|
43
|
+
Here's a quick example of the `VibeAlert` component:
|
|
44
|
+
|
|
45
|
+
```vue
|
|
46
|
+
<script setup lang="ts">
|
|
47
|
+
import { ref } from 'vue';
|
|
48
|
+
|
|
49
|
+
const showAlert = ref(true);
|
|
50
|
+
</script>
|
|
51
|
+
|
|
52
|
+
<template>
|
|
53
|
+
<VibeAlert variant="success" dismissable v-model="showAlert">
|
|
54
|
+
Welcome to VibeUI!
|
|
55
|
+
</VibeAlert>
|
|
56
|
+
</template>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Dual-Mode Components
|
|
60
|
+
|
|
61
|
+
Many VibeUI components support two usage modes:
|
|
62
|
+
|
|
63
|
+
### Shorthand Mode (Array-Based Props)
|
|
64
|
+
|
|
65
|
+
Perfect for quickly building UIs with data arrays:
|
|
66
|
+
|
|
67
|
+
```vue
|
|
68
|
+
<template>
|
|
69
|
+
<VibeBreadcrumb :items="breadcrumbItems" />
|
|
70
|
+
<VibeNav tabs :items="navItems" />
|
|
71
|
+
<VibeDropdown id="menu" text="Menu" :items="dropdownItems" />
|
|
72
|
+
</template>
|
|
73
|
+
|
|
74
|
+
<script setup>
|
|
75
|
+
const breadcrumbItems = [
|
|
76
|
+
{ text: 'Home', href: '/' },
|
|
77
|
+
{ text: 'Products', href: '/products' },
|
|
78
|
+
{ text: 'Details', active: true }
|
|
79
|
+
]
|
|
80
|
+
|
|
81
|
+
const navItems = [
|
|
82
|
+
{ text: 'Home', href: '#', active: true },
|
|
83
|
+
{ text: 'Features', href: '#' },
|
|
84
|
+
{ text: 'Pricing', href: '#' }
|
|
85
|
+
]
|
|
86
|
+
|
|
87
|
+
const dropdownItems = [
|
|
88
|
+
{ text: 'Action', href: '#' },
|
|
89
|
+
{ text: 'Another action', href: '#' },
|
|
90
|
+
{ divider: true },
|
|
91
|
+
{ text: 'Separated link', href: '#' }
|
|
92
|
+
]
|
|
93
|
+
</script>
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Composable Mode (Slot-Based)
|
|
97
|
+
|
|
98
|
+
For maximum flexibility and custom content:
|
|
99
|
+
|
|
100
|
+
```vue
|
|
101
|
+
<template>
|
|
102
|
+
<VibeBreadcrumb>
|
|
103
|
+
<VibeBreadcrumbItem href="/">Home</VibeBreadcrumbItem>
|
|
104
|
+
<VibeBreadcrumbItem href="/products">Products</VibeBreadcrumbItem>
|
|
105
|
+
<VibeBreadcrumbItem active>Details</VibeBreadcrumbItem>
|
|
106
|
+
</VibeBreadcrumb>
|
|
107
|
+
|
|
108
|
+
<VibeNav tabs>
|
|
109
|
+
<VibeNavItem active href="#">Home</VibeNavItem>
|
|
110
|
+
<VibeNavItem href="#">Features</VibeNavItem>
|
|
111
|
+
<VibeNavItem href="#">Pricing</VibeNavItem>
|
|
112
|
+
</VibeNav>
|
|
113
|
+
|
|
114
|
+
<VibeDropdown id="menu" text="Menu">
|
|
115
|
+
<VibeDropdownItem href="#">Action</VibeDropdownItem>
|
|
116
|
+
<VibeDropdownItem href="#">Another action</VibeDropdownItem>
|
|
117
|
+
<VibeDropdownItem divider />
|
|
118
|
+
<VibeDropdownItem href="#">Separated link</VibeDropdownItem>
|
|
119
|
+
</VibeDropdown>
|
|
120
|
+
</template>
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Components with dual-mode support include: `VibeBreadcrumb`, `VibeNav`, `VibeNavbarNav`, `VibePagination`, `VibeListGroup`, `VibeAccordion`, `VibeDropdown`, and `VibeCarousel`.
|
|
124
|
+
|
|
125
|
+
## Components
|
|
126
|
+
|
|
127
|
+
VibeUI includes all major Bootstrap 5.3 components:
|
|
128
|
+
|
|
129
|
+
### Core Components
|
|
130
|
+
* **VibeAlert** - Alert messages with variants and dismissible option
|
|
131
|
+
* **VibeBadge** - Badges and labels with pill option
|
|
132
|
+
* **VibeButton** - Buttons with variants, sizes, and outline style
|
|
133
|
+
* **VibeButtonGroup** - Button groups with sizing and vertical layout
|
|
134
|
+
* **VibeCloseButton** - Close button with white variant
|
|
135
|
+
* **VibeSpinner** - Loading spinners (border and grow types)
|
|
136
|
+
* **VibePlaceholder** - Placeholder loading states with animations
|
|
137
|
+
|
|
138
|
+
### Card Components
|
|
139
|
+
* **VibeCard** - Card container with variant styling
|
|
140
|
+
* **VibeCardHeader** - Card header section
|
|
141
|
+
* **VibeCardBody** - Card body section
|
|
142
|
+
* **VibeCardFooter** - Card footer section
|
|
143
|
+
* **VibeCardImg** - Card images (top, bottom, or overlay)
|
|
144
|
+
* **VibeCardTitle** - Card title heading
|
|
145
|
+
* **VibeCardText** - Card text paragraph
|
|
146
|
+
|
|
147
|
+
### Navigation Components
|
|
148
|
+
* **VibeBreadcrumb** - Breadcrumb navigation container
|
|
149
|
+
* **VibeBreadcrumbItem** - Individual breadcrumb items
|
|
150
|
+
* **VibeNav** - Navigation tabs and pills
|
|
151
|
+
* **VibeNavItem** - Navigation items with active state
|
|
152
|
+
* **VibeNavbar** - Responsive navbar with variants
|
|
153
|
+
* **VibeNavbarBrand** - Navbar branding section
|
|
154
|
+
* **VibeNavbarToggle** - Navbar mobile toggle button
|
|
155
|
+
* **VibeNavbarNav** - Navbar navigation links container
|
|
156
|
+
* **VibePagination** - Pagination container
|
|
157
|
+
* **VibePaginationItem** - Individual pagination items
|
|
158
|
+
|
|
159
|
+
### List Components
|
|
160
|
+
* **VibeListGroup** - List group container with flush and horizontal options
|
|
161
|
+
* **VibeListGroupItem** - List items with variants and active state
|
|
162
|
+
|
|
163
|
+
### Progress Components
|
|
164
|
+
* **VibeProgress** - Progress bar container
|
|
165
|
+
* **VibeProgressBar** - Progress bar with variants, striped, and animated styles
|
|
166
|
+
|
|
167
|
+
### Interactive Components
|
|
168
|
+
* **VibeAccordion** - Accordion container with flush option
|
|
169
|
+
* **VibeAccordionItem** - Collapsible accordion items
|
|
170
|
+
* **VibeCollapse** - Collapse component for showing/hiding content
|
|
171
|
+
* **VibeDropdown** - Dropdown menus with variants and directions
|
|
172
|
+
* **VibeDropdownItem** - Dropdown menu items, dividers, and headers
|
|
173
|
+
* **VibeModal** - Modal dialogs with sizes and positions
|
|
174
|
+
* **VibeOffcanvas** - Offcanvas sidebars with placement options
|
|
175
|
+
* **VibeToast** - Toast notifications with autohide
|
|
176
|
+
* **VibeCarousel** - Image carousels with controls and indicators
|
|
177
|
+
* **VibeCarouselSlide** - Individual carousel slides
|
|
178
|
+
|
|
179
|
+
### Advanced Components
|
|
180
|
+
* **VibeTooltip** - Tooltips with placement options (requires Bootstrap JS)
|
|
181
|
+
* **VibePopover** - Popovers with title and content (requires Bootstrap JS)
|
|
182
|
+
* **VibeScrollspy** - Scrollspy for navigation highlighting
|
|
183
|
+
|
|
184
|
+
### Data Components
|
|
185
|
+
* **VibeDataTable** - Powerful data table with search, sorting, and pagination
|
|
186
|
+
|
|
187
|
+
## Contributing
|
|
188
|
+
|
|
189
|
+
Pull requests and contributions are very welcome! Please fork the repo, create a branch for your feature, and submit a PR.
|
|
190
|
+
|
|
191
|
+
## License
|
|
192
|
+
|
|
193
|
+
[MIT License](LICENSE)
|
|
194
|
+
|
|
195
|
+
## TechnoSorcery.com
|
|
196
|
+
|
|
197
|
+
Built with ✨ by [TechnoSorcery.com](https://technosorcery.com)
|
package/dist/vibeui.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.vibe-datatable[data-v-48221c7b]{width:100%}.datatable-info[data-v-48221c7b]{padding:.5rem 0;color:#6c757d}
|