@appsbd/vue3-appsbd-ui 1.0.4 → 1.0.5

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.
Files changed (91) hide show
  1. package/.ai/ai_ref_AbAvatar.md +41 -41
  2. package/.ai/ai_ref_AbBadge.md +36 -36
  3. package/.ai/ai_ref_AbButton.md +52 -51
  4. package/.ai/ai_ref_AbCard.md +51 -51
  5. package/.ai/ai_ref_AbCarousel.md +36 -36
  6. package/.ai/ai_ref_AbChart.md +46 -46
  7. package/.ai/ai_ref_AbColorPicker.md +42 -42
  8. package/.ai/ai_ref_AbConfirmPopover.md +54 -54
  9. package/.ai/ai_ref_AbCustomField.md +66 -66
  10. package/.ai/ai_ref_AbDarkModeToggler.md +33 -33
  11. package/.ai/ai_ref_AbDateTimePicker.md +74 -74
  12. package/.ai/ai_ref_AbEasyModal.md +56 -56
  13. package/.ai/ai_ref_AbField.md +88 -88
  14. package/.ai/ai_ref_AbFileUploader.md +47 -47
  15. package/.ai/ai_ref_AbFilterPanel.md +67 -67
  16. package/.ai/ai_ref_AbFormCheck.md +58 -58
  17. package/.ai/ai_ref_AbImageRadioInput.md +55 -55
  18. package/.ai/ai_ref_AbInputField.md +66 -66
  19. package/.ai/ai_ref_AbInputTag.md +56 -56
  20. package/.ai/ai_ref_AbKbd.md +23 -23
  21. package/.ai/ai_ref_AbKbdGroup.md +21 -21
  22. package/.ai/ai_ref_AbMainLayout.md +106 -0
  23. package/.ai/ai_ref_AbMultiSelect.md +78 -78
  24. package/.ai/ai_ref_AbNumberField.md +59 -59
  25. package/.ai/ai_ref_AbPinInput.md +33 -33
  26. package/.ai/ai_ref_AbPopover.md +54 -54
  27. package/.ai/ai_ref_AbPricingCard.md +56 -56
  28. package/.ai/ai_ref_AbPricingContainer.md +41 -41
  29. package/.ai/ai_ref_AbPricingTable.md +56 -56
  30. package/.ai/ai_ref_AbProgressbar.md +34 -34
  31. package/.ai/ai_ref_AbScrollbar.md +38 -38
  32. package/.ai/ai_ref_AbSettingsForm.md +46 -46
  33. package/.ai/ai_ref_AbSideMenuItem.md +47 -47
  34. package/.ai/ai_ref_AbSidebar.md +62 -62
  35. package/.ai/ai_ref_AbSkeleton.md +23 -23
  36. package/.ai/ai_ref_AbSlider.md +52 -52
  37. package/.ai/ai_ref_AbTab.md +30 -30
  38. package/.ai/ai_ref_AbTable.md +49 -49
  39. package/.ai/ai_ref_AbTabs.md +37 -37
  40. package/.ai/ai_ref_AbToggle.md +46 -46
  41. package/.ai/ai_ref_AbTooltip.md +39 -39
  42. package/.ai/ai_ref_AbWizard.md +64 -64
  43. package/.ai/ai_ref_AbWizardStep.md +36 -36
  44. package/.ai/ai_ref_abEventBus.md +66 -66
  45. package/.ai/ai_ref_abRequestParam.md +40 -40
  46. package/.ai/ai_ref_abVeeRules.md +33 -33
  47. package/.ai/ai_ref_global_config.md +57 -56
  48. package/.ai/ai_ref_useAlert.md +50 -45
  49. package/.ai/ai_ref_useFileValidator.md +31 -31
  50. package/.ai/ai_ref_useResponsive.md +41 -41
  51. package/.ai/ai_ref_useTheme.md +28 -28
  52. package/.ai/ai_ref_useToast.md +30 -30
  53. package/AI_REFERENCE.md +87 -86
  54. package/design-system.md +403 -403
  55. package/dist/skins/black.css +1 -1
  56. package/dist/skins/black.scss +3 -3
  57. package/dist/skins/cyan.css +1 -1
  58. package/dist/skins/cyan.scss +3 -3
  59. package/dist/skins/default.css +1 -1
  60. package/dist/skins/default.scss +5 -5
  61. package/dist/skins/gray.css +1 -1
  62. package/dist/skins/gray.scss +3 -3
  63. package/dist/skins/green.css +1 -1
  64. package/dist/skins/green.scss +5 -5
  65. package/dist/skins/orange.css +1 -1
  66. package/dist/skins/orange.scss +3 -3
  67. package/dist/skins/pink.css +1 -1
  68. package/dist/skins/pink.scss +3 -3
  69. package/dist/skins/purple.css +1 -1
  70. package/dist/skins/purple.scss +3 -3
  71. package/dist/skins/red.css +1 -1
  72. package/dist/skins/red.scss +3 -3
  73. package/dist/skins/themes/_black.scss +18 -6
  74. package/dist/skins/themes/_blue.scss +18 -43
  75. package/dist/skins/themes/_common_variable.scss +695 -685
  76. package/dist/skins/themes/_cyan.scss +18 -6
  77. package/dist/skins/themes/_gray.scss +18 -7
  78. package/dist/skins/themes/_green.scss +18 -6
  79. package/dist/skins/themes/_grid.scss +32 -30
  80. package/dist/skins/themes/_orange.scss +18 -6
  81. package/dist/skins/themes/_pink.scss +18 -6
  82. package/dist/skins/themes/_purple.scss +18 -6
  83. package/dist/skins/themes/_red.scss +18 -6
  84. package/dist/skins/themes/_violet.scss +18 -6
  85. package/dist/skins/violet.css +1 -1
  86. package/dist/skins/violet.scss +3 -3
  87. package/dist/style.css +1 -1
  88. package/dist/vue3-appsbd-ui.cjs.js +130 -142
  89. package/dist/vue3-appsbd-ui.es.js +21758 -20241
  90. package/package.json +72 -72
  91. package/readme.md +194 -194
package/package.json CHANGED
@@ -1,72 +1,72 @@
1
- {
2
- "name": "@appsbd/vue3-appsbd-ui",
3
- "version": "1.0.4",
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
- "./skins/*.css": "./dist/skins/*.css",
19
- "./skins/*.scss": "./dist/skins/*.scss",
20
- "./skins/themes/*.scss": "./dist/skins/themes/*.scss"
21
- },
22
- "files": [
23
- "dist",
24
- "readme.md",
25
- "AI_REFERENCE.md",
26
- "AI_REF.md",
27
- ".ai",
28
- "skills",
29
- "scripts/postinstall.js",
30
- "scripts/setup.js",
31
- "scripts/skill-groups.js",
32
- "design-system.md"
33
- ],
34
- "scripts": {
35
- "postinstall": "node scripts/postinstall.js",
36
- "up": "npm run build && npm publish",
37
- "dev": "vite --mode playground",
38
- "lib": "vite",
39
- "build": "vite build",
40
- "build:playground": "vite build --mode playground",
41
- "build:skins": "vite build --mode skins"
42
- },
43
- "keywords": [
44
- "vue",
45
- "vue3",
46
- "component-library",
47
- "vite"
48
- ],
49
- "author": "appsbd",
50
- "license": "MIT",
51
- "peerDependencies": {
52
- "@appsbd/vue3-elite-grid": ">=2.0.4",
53
- "@vee-validate/rules": ">=4.15.1",
54
- "bootstrap": ">=5.3.7",
55
- "lucide-vue-next": ">=0.575.0",
56
- "vee-validate": ">=4.15.1",
57
- "vue": ">=3.3.0",
58
- "vue-router": ">=4.5.0",
59
- "vue3-gettext": ">=2.4.0",
60
- "tiny-emitter": ">=2.1.0",
61
- "echarts": "^5.5.0",
62
- "vue-echarts": "^6.6.9"
63
- },
64
- "devDependencies": {
65
- "@vitejs/plugin-vue": "^5.0.0",
66
- "bootstrap": "^5.3.0",
67
- "sass-embedded": "^1.97.3",
68
- "vite": "^5.0.0",
69
- "highlight.js": "^11.11.1"
70
- },
71
- "dependencies": {}
72
- }
1
+ {
2
+ "name": "@appsbd/vue3-appsbd-ui",
3
+ "version": "1.0.5",
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
+ "./skins/*.css": "./dist/skins/*.css",
19
+ "./skins/*.scss": "./dist/skins/*.scss",
20
+ "./skins/themes/*.scss": "./dist/skins/themes/*.scss"
21
+ },
22
+ "files": [
23
+ "dist",
24
+ "readme.md",
25
+ "AI_REFERENCE.md",
26
+ "AI_REF.md",
27
+ ".ai",
28
+ "skills",
29
+ "scripts/postinstall.js",
30
+ "scripts/setup.js",
31
+ "scripts/skill-groups.js",
32
+ "design-system.md"
33
+ ],
34
+ "scripts": {
35
+ "postinstall": "node scripts/postinstall.js",
36
+ "up": "npm run build && npm publish",
37
+ "dev": "vite --mode playground",
38
+ "lib": "vite",
39
+ "build": "vite build",
40
+ "build:playground": "vite build --mode playground",
41
+ "build:skins": "vite build --mode skins"
42
+ },
43
+ "keywords": [
44
+ "vue",
45
+ "vue3",
46
+ "component-library",
47
+ "vite"
48
+ ],
49
+ "author": "appsbd",
50
+ "license": "MIT",
51
+ "peerDependencies": {
52
+ "@appsbd/vue3-elite-grid": ">=2.0.4",
53
+ "@vee-validate/rules": ">=4.15.1",
54
+ "bootstrap": ">=5.3.7",
55
+ "lucide-vue-next": ">=0.575.0",
56
+ "vee-validate": ">=4.15.1",
57
+ "vue": ">=3.3.0",
58
+ "vue-router": ">=4.5.0",
59
+ "vue3-gettext": ">=2.4.0",
60
+ "tiny-emitter": ">=2.1.0",
61
+ "echarts": ">=5.5.0",
62
+ "vue-echarts": ">=6.6.9"
63
+ },
64
+ "devDependencies": {
65
+ "@vitejs/plugin-vue": "^5.0.0",
66
+ "bootstrap": "^5.3.0",
67
+ "sass-embedded": "^1.97.3",
68
+ "vite": "^5.0.0",
69
+ "highlight.js": "^11.11.1"
70
+ },
71
+ "dependencies": {}
72
+ }
package/readme.md CHANGED
@@ -1,194 +1,194 @@
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
- Installing this library automatically copies AI skills into your project so Claude Code and Agent-based tools can generate correct component code without guessing props or imports.
31
-
32
- ### What gets installed
33
-
34
- Running `npm install @appsbd/vue3-appsbd-ui` copies the following automatically:
35
-
36
- | Destination | Purpose |
37
- | --- | --- |
38
- | `.claude/commands/` | Slash commands for Claude Code (`/use-appsbd-ui`, `/generate-module`) |
39
- | `.claude/skills/` | Skills auto-detected by Claude Code |
40
- | `.agent/workflows/` | Workflow commands for Agent-based tools |
41
- | `.agent/skills/` | Skills for Agent-based tools |
42
-
43
- ### Available slash commands
44
-
45
- | Command | Description |
46
- | --- | --- |
47
- | `/use-appsbd-ui` | Loads component reference before generating any code — always run this first |
48
- | `/generate-module` | Scaffolds a full CRUD module (List + Form + Composable) for a given entity |
49
-
50
- **Example:**
51
- ```
52
- /generate-module
53
-
54
- Module: Invoice
55
- Fields:
56
- - title (text, required)
57
- - amount (number, required, min: 0)
58
- - status (select: Draft | Sent | Paid, required)
59
- - due_date (date)
60
-
61
- API: /api/invoices
62
- Output: src/modules/invoices/
63
- ```
64
-
65
- ### Optional: enable additional AI tools
66
-
67
- To also install skills for Cursor or Windsurf, pass `APPSBD_AGENTS` during install:
68
-
69
- ```bash
70
- APPSBD_AGENTS=cursor npm install @appsbd/vue3-appsbd-ui
71
- APPSBD_AGENTS=cursor,windsurf npm install @appsbd/vue3-appsbd-ui
72
- ```
73
-
74
- Or run the setup script any time after install:
75
-
76
- ```bash
77
- node node_modules/@appsbd/vue3-appsbd-ui/scripts/setup.js --cursor --windsurf
78
- ```
79
-
80
- ### Manual reference
81
-
82
- If you prefer not to use auto-installed skills, the reference files are included in the package:
83
-
84
- - `node_modules/@appsbd/vue3-appsbd-ui/AI_REF.md` — compact component index (~500 tokens, start here)
85
- - `node_modules/@appsbd/vue3-appsbd-ui/AI_REFERENCE.md` — full table with descriptions
86
- - `node_modules/@appsbd/vue3-appsbd-ui/.ai/ai_ref_[Name].md` — per-component props/events/slots
87
-
88
- Point your AI to read `AI_REF.md` first, then the specific `.ai/` file for the component you need.
89
-
90
- ## 🛠️ Setup
91
-
92
- Register the library and its styles in your main entry file (e.g., `main.js`):
93
-
94
- ```javascript
95
- import { createApp } from "vue";
96
- import AppsbdUI from "@appsbd/vue3-appsbd-ui";
97
- import "@appsbd/vue3-appsbd-ui/style.css";
98
-
99
- const app = createApp(App);
100
- app.use(AppsbdUI);
101
- app.mount("#app");
102
- ```
103
-
104
- ### Applying a Theme Skin (optional)
105
-
106
- ```javascript
107
- // Default skin
108
- import "@appsbd/vue3-appsbd-ui/dist/skins/default.css";
109
-
110
- // Or any other prebuilt skin
111
- import "@appsbd/vue3-appsbd-ui/dist/skins/purple.css";
112
- ```
113
-
114
- ## 🧩 Core Components & Composables
115
-
116
- ### Toast Notifications
117
-
118
- The library includes a robust custom toast system with pause-on-hover and pause-on-focus-loss features.
119
-
120
- ```javascript
121
- import { useToast } from "@appsbd/vue3-appsbd-ui";
122
- const { toast } = useToast();
123
-
124
- toast.success("Changes saved!", { timeout: 3000 });
125
- toast.error("An error occurred", { position: "top-center" });
126
- ```
127
-
128
- ### Global Alerts
129
-
130
- Integrated SweetAlert2 system focused on aesthetic consistency.
131
-
132
- ```javascript
133
- import { useAlert } from "@appsbd/vue3-appsbd-ui";
134
- const { alert } = useAlert();
135
-
136
- alert.success("Success!", "Your profile has been updated.");
137
- ```
138
-
139
- ### Theme Management
140
-
141
- Easily toggle between light and dark modes.
142
-
143
- ```javascript
144
- import { useTheme } from "@appsbd/vue3-appsbd-ui";
145
- const { isDark, toggleTheme } = useTheme();
146
- ```
147
-
148
- ## 📚 Component Reference
149
-
150
- | Component | Description |
151
- | --------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
152
- | `AbAvatar` | Profile imagery with status indicators and size variants. |
153
- | `AbBadge` | Labeling component for status and counts. |
154
- | `AbButton` | Highly customizable button with loading states. |
155
- | `AbCard` | Flexible container for grouped content (supports tile / item / insight variants via CSS classes). |
156
- | `AbCarousel` | Responsive carousel / slider. |
157
- | `AbColorPicker` | Visual color selection interface. |
158
- | `AbConfirmPopover` | Multi-step interactive popover for confirmations and async flows. |
159
- | `AbCustomField` | Base wrapper for creating custom form inputs. |
160
- | `AbDarkModeToggler` | One-click light/dark theme toggle. |
161
- | `AbDateTimePicker` | Full-featured date and time selection (powered by v-calendar). |
162
- | `AbDropdown` | Custom styled dropdown menus. |
163
- | `AbEasyModal` | Lightweight modal for simple dialogs. |
164
- | `AbField` | Generic form field wrapper with label / help / error slots. |
165
- | `AbFileUploader` | Drag-and-drop file upload interface. |
166
- | `AbFilterPanel` | Comprehensive filtering UI for data-heavy views. |
167
- | `AbFormCheck` / `AbRadioInput` | Standardized checkbox / radio controls. |
168
- | `AbImageRadioInput` | Radio group rendered as selectable image tiles. |
169
- | `AbInputField` | High-quality text input with validation/feedback. |
170
- | `AbInputTag` | Tagging / multiple-value input field. |
171
- | `AbKbd` / `AbKbdGroup` | Keyboard shortcut display primitives. |
172
- | `AbModal` | Sophisticated dialog system with transitions. |
173
- | `AbMultiSelect` | Advanced searchable multi-selection dropdown (built-in, replaces `@vueform/multiselect`). |
174
- | `AbNavLink` | Navigation link for sidebars and menus. |
175
- | `AbNumberField` | Numeric input with step controls. |
176
- | `AbPinInput` | Segmented OTP / PIN entry input. |
177
- | `AbPopover` | Floating popover powered by floating-vue. |
178
- | `AbPricingCard` / `AbPricingContainer` / `AbPricingTable` | Composable pricing-plan building blocks. |
179
- | `AbProgressbar` | Smooth, animated progress tracking. |
180
- | `AbScrollbar` | Styled custom scroll container. |
181
- | `AbSettingsForm` | Opinionated settings / preferences form layout. |
182
- | `AbSidebar` / `AbSideMenuItem` | Dynamic sidebar navigation components. |
183
- | `AbSkeleton` | Loading-state skeleton placeholders. |
184
- | `AbSlider` | Range selection slider for numerical values. |
185
- | `AbTable` | Data table with the project's default styling. |
186
- | `AbTabs` / `AbTab` | Responsive tabbed interface. |
187
- | `AbToast` | High-performance notification system. |
188
- | `AbToggle` | Accessible switch/toggle component. |
189
- | `AbTooltip` | Floating tooltip powered by floating-vue. |
190
- | `AbWizard` / `AbWizardStep` | Multi-step wizard flow. |
191
-
192
- ## 📄 License
193
-
194
- MIT
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
+ Installing this library automatically copies AI skills into your project so Claude Code and Agent-based tools can generate correct component code without guessing props or imports.
31
+
32
+ ### What gets installed
33
+
34
+ Running `npm install @appsbd/vue3-appsbd-ui` copies the following automatically:
35
+
36
+ | Destination | Purpose |
37
+ | --- | --- |
38
+ | `.claude/commands/` | Slash commands for Claude Code (`/use-appsbd-ui`, `/generate-module`) |
39
+ | `.claude/skills/` | Skills auto-detected by Claude Code |
40
+ | `.agent/workflows/` | Workflow commands for Agent-based tools |
41
+ | `.agent/skills/` | Skills for Agent-based tools |
42
+
43
+ ### Available slash commands
44
+
45
+ | Command | Description |
46
+ | --- | --- |
47
+ | `/use-appsbd-ui` | Loads component reference before generating any code — always run this first |
48
+ | `/generate-module` | Scaffolds a full CRUD module (List + Form + Composable) for a given entity |
49
+
50
+ **Example:**
51
+ ```
52
+ /generate-module
53
+
54
+ Module: Invoice
55
+ Fields:
56
+ - title (text, required)
57
+ - amount (number, required, min: 0)
58
+ - status (select: Draft | Sent | Paid, required)
59
+ - due_date (date)
60
+
61
+ API: /api/invoices
62
+ Output: src/modules/invoices/
63
+ ```
64
+
65
+ ### Optional: enable additional AI tools
66
+
67
+ To also install skills for Cursor or Windsurf, pass `APPSBD_AGENTS` during install:
68
+
69
+ ```bash
70
+ APPSBD_AGENTS=cursor npm install @appsbd/vue3-appsbd-ui
71
+ APPSBD_AGENTS=cursor,windsurf npm install @appsbd/vue3-appsbd-ui
72
+ ```
73
+
74
+ Or run the setup script any time after install:
75
+
76
+ ```bash
77
+ node node_modules/@appsbd/vue3-appsbd-ui/scripts/setup.js --cursor --windsurf
78
+ ```
79
+
80
+ ### Manual reference
81
+
82
+ If you prefer not to use auto-installed skills, the reference files are included in the package:
83
+
84
+ - `node_modules/@appsbd/vue3-appsbd-ui/AI_REF.md` — compact component index (~500 tokens, start here)
85
+ - `node_modules/@appsbd/vue3-appsbd-ui/AI_REFERENCE.md` — full table with descriptions
86
+ - `node_modules/@appsbd/vue3-appsbd-ui/.ai/ai_ref_[Name].md` — per-component props/events/slots
87
+
88
+ Point your AI to read `AI_REF.md` first, then the specific `.ai/` file for the component you need.
89
+
90
+ ## 🛠️ Setup
91
+
92
+ Register the library and its styles in your main entry file (e.g., `main.js`):
93
+
94
+ ```javascript
95
+ import { createApp } from "vue";
96
+ import AppsbdUI from "@appsbd/vue3-appsbd-ui";
97
+ import "@appsbd/vue3-appsbd-ui/style.css";
98
+
99
+ const app = createApp(App);
100
+ app.use(AppsbdUI);
101
+ app.mount("#app");
102
+ ```
103
+
104
+ ### Applying a Theme Skin (optional)
105
+
106
+ ```javascript
107
+ // Default skin
108
+ import "@appsbd/vue3-appsbd-ui/dist/skins/default.css";
109
+
110
+ // Or any other prebuilt skin
111
+ import "@appsbd/vue3-appsbd-ui/dist/skins/purple.css";
112
+ ```
113
+
114
+ ## 🧩 Core Components & Composables
115
+
116
+ ### Toast Notifications
117
+
118
+ The library includes a robust custom toast system with pause-on-hover and pause-on-focus-loss features.
119
+
120
+ ```javascript
121
+ import { useToast } from "@appsbd/vue3-appsbd-ui";
122
+ const { toast } = useToast();
123
+
124
+ toast.success("Changes saved!", { timeout: 3000 });
125
+ toast.error("An error occurred", { position: "top-center" });
126
+ ```
127
+
128
+ ### Global Alerts
129
+
130
+ Integrated SweetAlert2 system focused on aesthetic consistency.
131
+
132
+ ```javascript
133
+ import { useAlert } from "@appsbd/vue3-appsbd-ui";
134
+ const { alert } = useAlert();
135
+
136
+ alert.success("Success!", "Your profile has been updated.");
137
+ ```
138
+
139
+ ### Theme Management
140
+
141
+ Easily toggle between light and dark modes.
142
+
143
+ ```javascript
144
+ import { useTheme } from "@appsbd/vue3-appsbd-ui";
145
+ const { isDark, toggleTheme } = useTheme();
146
+ ```
147
+
148
+ ## 📚 Component Reference
149
+
150
+ | Component | Description |
151
+ | --------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
152
+ | `AbAvatar` | Profile imagery with status indicators and size variants. |
153
+ | `AbBadge` | Labeling component for status and counts. |
154
+ | `AbButton` | Highly customizable button with loading states. |
155
+ | `AbCard` | Flexible container for grouped content (supports tile / item / insight variants via CSS classes). |
156
+ | `AbCarousel` | Responsive carousel / slider. |
157
+ | `AbColorPicker` | Visual color selection interface. |
158
+ | `AbConfirmPopover` | Multi-step interactive popover for confirmations and async flows. |
159
+ | `AbCustomField` | Base wrapper for creating custom form inputs. |
160
+ | `AbDarkModeToggler` | One-click light/dark theme toggle. |
161
+ | `AbDateTimePicker` | Full-featured date and time selection (powered by v-calendar). |
162
+ | `AbDropdown` | Custom styled dropdown menus. |
163
+ | `AbEasyModal` | Lightweight modal for simple dialogs. |
164
+ | `AbField` | Generic form field wrapper with label / help / error slots. |
165
+ | `AbFileUploader` | Drag-and-drop file upload interface. |
166
+ | `AbFilterPanel` | Comprehensive filtering UI for data-heavy views. |
167
+ | `AbFormCheck` / `AbRadioInput` | Standardized checkbox / radio controls. |
168
+ | `AbImageRadioInput` | Radio group rendered as selectable image tiles. |
169
+ | `AbInputField` | High-quality text input with validation/feedback. |
170
+ | `AbInputTag` | Tagging / multiple-value input field. |
171
+ | `AbKbd` / `AbKbdGroup` | Keyboard shortcut display primitives. |
172
+ | `AbModal` | Sophisticated dialog system with transitions. |
173
+ | `AbMultiSelect` | Advanced searchable multi-selection dropdown (built-in, replaces `@vueform/multiselect`). |
174
+ | `AbNavLink` | Navigation link for sidebars and menus. |
175
+ | `AbNumberField` | Numeric input with step controls. |
176
+ | `AbPinInput` | Segmented OTP / PIN entry input. |
177
+ | `AbPopover` | Floating popover powered by floating-vue. |
178
+ | `AbPricingCard` / `AbPricingContainer` / `AbPricingTable` | Composable pricing-plan building blocks. |
179
+ | `AbProgressbar` | Smooth, animated progress tracking. |
180
+ | `AbScrollbar` | Styled custom scroll container. |
181
+ | `AbSettingsForm` | Opinionated settings / preferences form layout. |
182
+ | `AbSidebar` / `AbSideMenuItem` | Dynamic sidebar navigation components. |
183
+ | `AbSkeleton` | Loading-state skeleton placeholders. |
184
+ | `AbSlider` | Range selection slider for numerical values. |
185
+ | `AbTable` | Data table with the project's default styling. |
186
+ | `AbTabs` / `AbTab` | Responsive tabbed interface. |
187
+ | `AbToast` | High-performance notification system. |
188
+ | `AbToggle` | Accessible switch/toggle component. |
189
+ | `AbTooltip` | Floating tooltip powered by floating-vue. |
190
+ | `AbWizard` / `AbWizardStep` | Multi-step wizard flow. |
191
+
192
+ ## 📄 License
193
+
194
+ MIT