@appsbd/vue3-appsbd-ui 1.0.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/.ai/ai_ref_AbAvatar.md +43 -0
- package/.ai/ai_ref_AbBadge.md +44 -0
- package/.ai/ai_ref_AbButton.md +71 -0
- package/.ai/ai_ref_AbCard.md +53 -0
- package/.ai/ai_ref_AbCarousel.md +47 -0
- package/.ai/ai_ref_AbColorPicker.md +55 -0
- package/.ai/ai_ref_AbConfirmPopover.md +59 -0
- package/.ai/ai_ref_AbCustomField.md +74 -0
- package/.ai/ai_ref_AbDarkModeToggler.md +42 -0
- package/.ai/ai_ref_AbDateTimePicker.md +105 -0
- package/.ai/ai_ref_AbEasyModal.md +62 -0
- package/.ai/ai_ref_AbField.md +93 -0
- package/.ai/ai_ref_AbFileUploader.md +63 -0
- package/.ai/ai_ref_AbFilterPanel.md +71 -0
- package/.ai/ai_ref_AbFormCheck.md +75 -0
- package/.ai/ai_ref_AbImageRadioInput.md +63 -0
- package/.ai/ai_ref_AbInputField.md +71 -0
- package/.ai/ai_ref_AbInputTag.md +73 -0
- package/.ai/ai_ref_AbKbd.md +35 -0
- package/.ai/ai_ref_AbKbdGroup.md +33 -0
- package/.ai/ai_ref_AbModal.md +103 -0
- package/.ai/ai_ref_AbMultiSelect.md +108 -0
- package/.ai/ai_ref_AbNumberField.md +84 -0
- package/.ai/ai_ref_AbPinInput.md +45 -0
- package/.ai/ai_ref_AbPopover.md +64 -0
- package/.ai/ai_ref_AbPricingCard.md +64 -0
- package/.ai/ai_ref_AbPricingContainer.md +49 -0
- package/.ai/ai_ref_AbPricingTable.md +72 -0
- package/.ai/ai_ref_AbProgressbar.md +37 -0
- package/.ai/ai_ref_AbScrollbar.md +48 -0
- package/.ai/ai_ref_AbSettingsForm.md +54 -0
- package/.ai/ai_ref_AbSideMenuItem.md +58 -0
- package/.ai/ai_ref_AbSidebar.md +70 -0
- package/.ai/ai_ref_AbSkeleton.md +41 -0
- package/.ai/ai_ref_AbSlider.md +71 -0
- package/.ai/ai_ref_AbTab.md +38 -0
- package/.ai/ai_ref_AbTable.md +59 -0
- package/.ai/ai_ref_AbTabs.md +47 -0
- package/.ai/ai_ref_AbToggle.md +65 -0
- package/.ai/ai_ref_AbTooltip.md +53 -0
- package/.ai/ai_ref_AbWizard.md +77 -0
- package/.ai/ai_ref_AbWizardStep.md +48 -0
- package/.ai/ai_ref_global_config.md +66 -0
- package/.ai/ltr-after.png +0 -0
- package/.ai/rtl-after.png +0 -0
- package/.ai/rtl-before.png +0 -0
- package/AI_REFERENCE.md +1178 -0
- package/dist/skins/_prefix.scss +1 -0
- package/dist/skins/black.css +1 -0
- package/dist/skins/black.scss +3 -0
- package/dist/skins/cyan.css +1 -0
- package/dist/skins/cyan.scss +3 -0
- package/dist/skins/default.css +1 -0
- package/dist/skins/default.scss +5 -0
- package/dist/skins/gray.css +1 -0
- package/dist/skins/gray.scss +3 -0
- package/dist/skins/green.css +1 -0
- package/dist/skins/green.scss +5 -0
- package/dist/skins/orange.css +1 -0
- package/dist/skins/orange.scss +3 -0
- package/dist/skins/pink.css +1 -0
- package/dist/skins/pink.scss +3 -0
- package/dist/skins/purple.css +1 -0
- package/dist/skins/purple.scss +3 -0
- package/dist/skins/red.css +1 -0
- package/dist/skins/red.scss +3 -0
- package/dist/skins/themes/_black.scss +6 -0
- package/dist/skins/themes/_blue.scss +43 -0
- package/dist/skins/themes/_common_variable.scss +589 -0
- package/dist/skins/themes/_cyan.scss +6 -0
- package/dist/skins/themes/_gray.scss +6 -0
- package/dist/skins/themes/_green.scss +6 -0
- package/dist/skins/themes/_grid.scss +27 -0
- package/dist/skins/themes/_orange.scss +6 -0
- package/dist/skins/themes/_pink.scss +6 -0
- package/dist/skins/themes/_purple.scss +6 -0
- package/dist/skins/themes/_red.scss +6 -0
- package/dist/skins/themes/_violet.scss +6 -0
- package/dist/skins/violet.css +1 -0
- package/dist/skins/violet.scss +3 -0
- package/dist/style.css +1 -0
- package/dist/vue3-appsbd-ui.cjs.js +201 -0
- package/dist/vue3-appsbd-ui.es.js +9294 -0
- package/package.json +60 -0
- package/readme.md +136 -0
package/package.json
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@appsbd/vue3-appsbd-ui",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Reusable Vue 3 component library",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/vue3-appsbd-ui.cjs.js",
|
|
7
|
+
"module": "./dist/vue3-appsbd-ui.es.js",
|
|
8
|
+
"style": "./dist/style.css",
|
|
9
|
+
"publishConfig": {
|
|
10
|
+
"access": "public"
|
|
11
|
+
},
|
|
12
|
+
"exports": {
|
|
13
|
+
".": {
|
|
14
|
+
"import": "./dist/vue3-appsbd-ui.es.js",
|
|
15
|
+
"require": "./dist/vue3-appsbd-ui.cjs.js"
|
|
16
|
+
},
|
|
17
|
+
"./style.css": "./dist/style.css"
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"dist",
|
|
21
|
+
"readme.md",
|
|
22
|
+
"AI_REFERENCE.md",
|
|
23
|
+
".ai"
|
|
24
|
+
],
|
|
25
|
+
"scripts": {
|
|
26
|
+
"up": "npm run build && npm publish",
|
|
27
|
+
"dev": "vite --mode playground",
|
|
28
|
+
"lib": "vite",
|
|
29
|
+
"build": "vite build",
|
|
30
|
+
"build:playground": "vite build --mode playground",
|
|
31
|
+
"build:skins": "vite build --mode skins"
|
|
32
|
+
},
|
|
33
|
+
"keywords": [
|
|
34
|
+
"vue",
|
|
35
|
+
"vue3",
|
|
36
|
+
"component-library",
|
|
37
|
+
"vite"
|
|
38
|
+
],
|
|
39
|
+
"author": "appsbd",
|
|
40
|
+
"license": "MIT",
|
|
41
|
+
"peerDependencies": {
|
|
42
|
+
"@appsbd/vue3-elite-grid": ">=2.0.4",
|
|
43
|
+
"@vee-validate/rules": ">=4.15.1",
|
|
44
|
+
"bootstrap": ">=5.3.7",
|
|
45
|
+
"lucide-vue-next": ">=0.575.0",
|
|
46
|
+
"vee-validate": ">=4.15.1",
|
|
47
|
+
"vue": ">=3.3.0",
|
|
48
|
+
"vue-router": ">=4.5.0",
|
|
49
|
+
"vue3-gettext": ">=2.4.0",
|
|
50
|
+
"tiny-emitter": ">=2.1.0"
|
|
51
|
+
},
|
|
52
|
+
"devDependencies": {
|
|
53
|
+
"@vitejs/plugin-vue": "^5.0.0",
|
|
54
|
+
"bootstrap": "^5.3.0",
|
|
55
|
+
"sass-embedded": "^1.97.3",
|
|
56
|
+
"vite": "^5.0.0",
|
|
57
|
+
"highlight.js": "^11.11.1"
|
|
58
|
+
},
|
|
59
|
+
"dependencies": {}
|
|
60
|
+
}
|
package/readme.md
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# Vue 3 Appsbd UI Library
|
|
2
|
+
|
|
3
|
+
A premium, reusable Vue 3 component library built for high-performance enterprise applications. Leverages **Vite**, **SCSS**, and **Bootstrap 5** to provide a rich set of UI components with built-in Dark Mode and RTL support.
|
|
4
|
+
|
|
5
|
+
## 🚀 Key Features
|
|
6
|
+
|
|
7
|
+
- **Vue 3 Composition API**: Optimized for performance and flexibility.
|
|
8
|
+
- **Dynamic Theming**: Full dark mode support using Bootstrap's `data-bs-theme`.
|
|
9
|
+
- **RTL Ready**: Built with CSS logical properties for global accessibility.
|
|
10
|
+
- **Plugin System**: custom-built global systems for Toasts and Alerts.
|
|
11
|
+
- **Enterprise Ready**: Includes complex components like MultiSelect, DatePicker, Wizard, Pricing Tables, and Filter Panels.
|
|
12
|
+
- **Themable Skins**: 10 prebuilt color skins (default, green, red, cyan, purple, violet, pink, orange, gray, black) shipped as standalone CSS under `dist/skins/`.
|
|
13
|
+
|
|
14
|
+
## 📦 Installation
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install @appsbd/vue3-appsbd-ui
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
### Peer Dependencies
|
|
21
|
+
|
|
22
|
+
Ensure you have the following installed in your project:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npm install bootstrap bootstrap-icons vee-validate @vee-validate/rules vue-router vue3-gettext lucide-vue-next tiny-emitter @appsbd/vue3-elite-grid
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## 🤖 AI Assistant Integration
|
|
29
|
+
|
|
30
|
+
If you are generating code in a project that consumes this library, provide your AI with the `AI_REFERENCE.md` file for immediate context on component existence, prop signatures, and usage patterns.
|
|
31
|
+
|
|
32
|
+
## 🛠️ Setup
|
|
33
|
+
|
|
34
|
+
Register the library and its styles in your main entry file (e.g., `main.js`):
|
|
35
|
+
|
|
36
|
+
```javascript
|
|
37
|
+
import { createApp } from "vue";
|
|
38
|
+
import AppsbdUI from "@appsbd/vue3-appsbd-ui";
|
|
39
|
+
import "@appsbd/vue3-appsbd-ui/style.css";
|
|
40
|
+
|
|
41
|
+
const app = createApp(App);
|
|
42
|
+
app.use(AppsbdUI);
|
|
43
|
+
app.mount("#app");
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Applying a Theme Skin (optional)
|
|
47
|
+
|
|
48
|
+
```javascript
|
|
49
|
+
// Default skin
|
|
50
|
+
import "@appsbd/vue3-appsbd-ui/dist/skins/default.css";
|
|
51
|
+
|
|
52
|
+
// Or any other prebuilt skin
|
|
53
|
+
import "@appsbd/vue3-appsbd-ui/dist/skins/purple.css";
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## 🧩 Core Components & Composables
|
|
57
|
+
|
|
58
|
+
### Toast Notifications
|
|
59
|
+
|
|
60
|
+
The library includes a robust custom toast system with pause-on-hover and pause-on-focus-loss features.
|
|
61
|
+
|
|
62
|
+
```javascript
|
|
63
|
+
import { useToast } from "@appsbd/vue3-appsbd-ui";
|
|
64
|
+
const { toast } = useToast();
|
|
65
|
+
|
|
66
|
+
toast.success("Changes saved!", { timeout: 3000 });
|
|
67
|
+
toast.error("An error occurred", { position: "top-center" });
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Global Alerts
|
|
71
|
+
|
|
72
|
+
Integrated SweetAlert2 system focused on aesthetic consistency.
|
|
73
|
+
|
|
74
|
+
```javascript
|
|
75
|
+
import { useAlert } from "@appsbd/vue3-appsbd-ui";
|
|
76
|
+
const { alert } = useAlert();
|
|
77
|
+
|
|
78
|
+
alert.success("Success!", "Your profile has been updated.");
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Theme Management
|
|
82
|
+
|
|
83
|
+
Easily toggle between light and dark modes.
|
|
84
|
+
|
|
85
|
+
```javascript
|
|
86
|
+
import { useTheme } from "@appsbd/vue3-appsbd-ui";
|
|
87
|
+
const { isDark, toggleTheme } = useTheme();
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## 📚 Component Reference
|
|
91
|
+
|
|
92
|
+
| Component | Description |
|
|
93
|
+
| --------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
|
|
94
|
+
| `AbAvatar` | Profile imagery with status indicators and size variants. |
|
|
95
|
+
| `AbBadge` | Labeling component for status and counts. |
|
|
96
|
+
| `AbButton` | Highly customizable button with loading states. |
|
|
97
|
+
| `AbCard` | Flexible container for grouped content (supports tile / item / insight variants via CSS classes). |
|
|
98
|
+
| `AbCarousel` | Responsive carousel / slider. |
|
|
99
|
+
| `AbColorPicker` | Visual color selection interface. |
|
|
100
|
+
| `AbConfirmPopover` | Multi-step interactive popover for confirmations and async flows. |
|
|
101
|
+
| `AbCustomField` | Base wrapper for creating custom form inputs. |
|
|
102
|
+
| `AbDarkModeToggler` | One-click light/dark theme toggle. |
|
|
103
|
+
| `AbDateTimePicker` | Full-featured date and time selection (powered by v-calendar). |
|
|
104
|
+
| `AbDropdown` | Custom styled dropdown menus. |
|
|
105
|
+
| `AbEasyModal` | Lightweight modal for simple dialogs. |
|
|
106
|
+
| `AbField` | Generic form field wrapper with label / help / error slots. |
|
|
107
|
+
| `AbFileUploader` | Drag-and-drop file upload interface. |
|
|
108
|
+
| `AbFilterPanel` | Comprehensive filtering UI for data-heavy views. |
|
|
109
|
+
| `AbFormCheck` / `AbRadioInput` | Standardized checkbox / radio controls. |
|
|
110
|
+
| `AbImageRadioInput` | Radio group rendered as selectable image tiles. |
|
|
111
|
+
| `AbInputField` | High-quality text input with validation/feedback. |
|
|
112
|
+
| `AbInputTag` | Tagging / multiple-value input field. |
|
|
113
|
+
| `AbKbd` / `AbKbdGroup` | Keyboard shortcut display primitives. |
|
|
114
|
+
| `AbModal` | Sophisticated dialog system with transitions. |
|
|
115
|
+
| `AbMultiSelect` | Advanced searchable multi-selection dropdown (built-in, replaces `@vueform/multiselect`). |
|
|
116
|
+
| `AbNavLink` | Navigation link for sidebars and menus. |
|
|
117
|
+
| `AbNumberField` | Numeric input with step controls. |
|
|
118
|
+
| `AbPinInput` | Segmented OTP / PIN entry input. |
|
|
119
|
+
| `AbPopover` | Floating popover powered by floating-vue. |
|
|
120
|
+
| `AbPricingCard` / `AbPricingContainer` / `AbPricingTable` | Composable pricing-plan building blocks. |
|
|
121
|
+
| `AbProgressbar` | Smooth, animated progress tracking. |
|
|
122
|
+
| `AbScrollbar` | Styled custom scroll container. |
|
|
123
|
+
| `AbSettingsForm` | Opinionated settings / preferences form layout. |
|
|
124
|
+
| `AbSidebar` / `AbSideMenuItem` | Dynamic sidebar navigation components. |
|
|
125
|
+
| `AbSkeleton` | Loading-state skeleton placeholders. |
|
|
126
|
+
| `AbSlider` | Range selection slider for numerical values. |
|
|
127
|
+
| `AbTable` | Data table with the project's default styling. |
|
|
128
|
+
| `AbTabs` / `AbTab` | Responsive tabbed interface. |
|
|
129
|
+
| `AbToast` | High-performance notification system. |
|
|
130
|
+
| `AbToggle` | Accessible switch/toggle component. |
|
|
131
|
+
| `AbTooltip` | Floating tooltip powered by floating-vue. |
|
|
132
|
+
| `AbWizard` / `AbWizardStep` | Multi-step wizard flow. |
|
|
133
|
+
|
|
134
|
+
## 📄 License
|
|
135
|
+
|
|
136
|
+
MIT
|