@appsbd/vue3-appsbd-ui 1.0.3 → 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 (100) hide show
  1. package/.ai/ai_ref_AbAvatar.md +41 -51
  2. package/.ai/ai_ref_AbBadge.md +36 -45
  3. package/.ai/ai_ref_AbButton.md +52 -70
  4. package/.ai/ai_ref_AbCard.md +51 -70
  5. package/.ai/ai_ref_AbCarousel.md +36 -47
  6. package/.ai/ai_ref_AbChart.md +46 -87
  7. package/.ai/ai_ref_AbColorPicker.md +42 -55
  8. package/.ai/ai_ref_AbConfirmPopover.md +54 -59
  9. package/.ai/ai_ref_AbCustomField.md +66 -74
  10. package/.ai/ai_ref_AbDarkModeToggler.md +33 -42
  11. package/.ai/ai_ref_AbDateTimePicker.md +74 -108
  12. package/.ai/ai_ref_AbEasyModal.md +56 -62
  13. package/.ai/ai_ref_AbField.md +88 -96
  14. package/.ai/ai_ref_AbFileUploader.md +47 -63
  15. package/.ai/ai_ref_AbFilterPanel.md +67 -71
  16. package/.ai/ai_ref_AbFormCheck.md +58 -75
  17. package/.ai/ai_ref_AbImageRadioInput.md +55 -63
  18. package/.ai/ai_ref_AbInputField.md +66 -74
  19. package/.ai/ai_ref_AbInputTag.md +56 -76
  20. package/.ai/ai_ref_AbKbd.md +23 -35
  21. package/.ai/ai_ref_AbKbdGroup.md +21 -33
  22. package/.ai/ai_ref_AbMainLayout.md +106 -0
  23. package/.ai/ai_ref_AbModal.md +98 -103
  24. package/.ai/ai_ref_AbMultiSelect.md +78 -112
  25. package/.ai/ai_ref_AbNumberField.md +59 -84
  26. package/.ai/ai_ref_AbPinInput.md +33 -45
  27. package/.ai/ai_ref_AbPopover.md +54 -64
  28. package/.ai/ai_ref_AbPricingCard.md +56 -64
  29. package/.ai/ai_ref_AbPricingContainer.md +41 -49
  30. package/.ai/ai_ref_AbPricingTable.md +56 -72
  31. package/.ai/ai_ref_AbProgressbar.md +34 -44
  32. package/.ai/ai_ref_AbScrollbar.md +38 -48
  33. package/.ai/ai_ref_AbSettingsForm.md +46 -54
  34. package/.ai/ai_ref_AbSideMenuItem.md +47 -58
  35. package/.ai/ai_ref_AbSidebar.md +62 -70
  36. package/.ai/ai_ref_AbSkeleton.md +23 -41
  37. package/.ai/ai_ref_AbSlider.md +52 -71
  38. package/.ai/ai_ref_AbTab.md +30 -38
  39. package/.ai/ai_ref_AbTable.md +49 -59
  40. package/.ai/ai_ref_AbTabs.md +37 -47
  41. package/.ai/ai_ref_AbToggle.md +46 -65
  42. package/.ai/ai_ref_AbTooltip.md +39 -53
  43. package/.ai/ai_ref_AbWizard.md +64 -77
  44. package/.ai/ai_ref_AbWizardStep.md +36 -48
  45. package/.ai/ai_ref_abEventBus.md +9 -37
  46. package/.ai/ai_ref_abRequestParam.md +2 -17
  47. package/.ai/ai_ref_abTranslate.md +30 -15
  48. package/.ai/ai_ref_abVeeRules.md +2 -11
  49. package/.ai/ai_ref_global_config.md +57 -66
  50. package/.ai/ai_ref_useAlert.md +7 -20
  51. package/.ai/ai_ref_useFileValidator.md +3 -18
  52. package/.ai/ai_ref_useResponsive.md +6 -20
  53. package/.ai/ai_ref_useTheme.md +4 -15
  54. package/.ai/ai_ref_useToast.md +5 -17
  55. package/AI_REF.md +114 -0
  56. package/AI_REFERENCE.md +87 -1157
  57. package/design-system.md +403 -403
  58. package/dist/skins/black.css +1 -1
  59. package/dist/skins/black.scss +3 -3
  60. package/dist/skins/cyan.css +1 -1
  61. package/dist/skins/cyan.scss +3 -3
  62. package/dist/skins/default.css +1 -1
  63. package/dist/skins/default.scss +5 -5
  64. package/dist/skins/gray.css +1 -1
  65. package/dist/skins/gray.scss +3 -3
  66. package/dist/skins/green.css +1 -1
  67. package/dist/skins/green.scss +5 -5
  68. package/dist/skins/orange.css +1 -1
  69. package/dist/skins/orange.scss +3 -3
  70. package/dist/skins/pink.css +1 -1
  71. package/dist/skins/pink.scss +3 -3
  72. package/dist/skins/purple.css +1 -1
  73. package/dist/skins/purple.scss +3 -3
  74. package/dist/skins/red.css +1 -1
  75. package/dist/skins/red.scss +3 -3
  76. package/dist/skins/themes/_black.scss +18 -6
  77. package/dist/skins/themes/_blue.scss +18 -43
  78. package/dist/skins/themes/_common_variable.scss +695 -590
  79. package/dist/skins/themes/_cyan.scss +18 -6
  80. package/dist/skins/themes/_gray.scss +18 -6
  81. package/dist/skins/themes/_green.scss +18 -6
  82. package/dist/skins/themes/_grid.scss +32 -27
  83. package/dist/skins/themes/_orange.scss +18 -6
  84. package/dist/skins/themes/_pink.scss +18 -6
  85. package/dist/skins/themes/_purple.scss +18 -6
  86. package/dist/skins/themes/_red.scss +18 -6
  87. package/dist/skins/themes/_violet.scss +18 -6
  88. package/dist/skins/violet.css +1 -1
  89. package/dist/skins/violet.scss +3 -3
  90. package/dist/style.css +1 -1
  91. package/dist/vue3-appsbd-ui.cjs.js +145 -125
  92. package/dist/vue3-appsbd-ui.es.js +27822 -16778
  93. package/package.json +72 -66
  94. package/readme.md +194 -136
  95. package/scripts/postinstall.js +55 -0
  96. package/scripts/setup.js +16 -0
  97. package/scripts/skill-groups.js +38 -0
  98. package/skills/commands/generate-module.md +76 -0
  99. package/skills/commands/settings-form.md +175 -0
  100. package/skills/commands/use-appsbd-ui.md +40 -0
@@ -1,51 +1,41 @@
1
- # AbAvatar — AI Reference
2
-
3
- Profile avatar component. Supports two variants: an `image` variant for displaying a photo, and an `add` variant that renders an "upload" placeholder for user-supplied files.
4
-
5
- ## Installation
6
-
7
- Globally registered by the plugin.
8
-
9
- ## Usage
10
-
11
- ```vue
12
- <template>
13
- <ab-avatar :src="user.avatarUrl" alt="Profile photo" />
14
-
15
- <!-- File upload mode -->
16
- <ab-avatar variant="add" />
17
- </template>
18
- ```
19
-
20
- ## Props
21
-
22
- | Name | Type | Default | Description |
23
- | --- | --- | --- | --- |
24
- | `src` | `String` | `""` | Image source URL. |
25
- | `alt` | `String` | `""` | Alt text. |
26
- | `variant` | `String` | `"image"` | `"image"` or `"add"` (file-upload placeholder). |
27
- | `size` | `String` | `"md"` | Avatar size (`xs`, `sm`, `md`, `lg`, `xl`, `xxl`). |
28
- | `isActive` | `Boolean` | `false` | Shows active status indicator. |
29
- | `isVerified` | `Boolean` | `false` | Shows verified status indicator and badge. |
30
-
31
- ## Events
32
-
33
- | Name | Payload | Description |
34
- | --- | --- | --- |
35
- | `change` | `Event` | Fired when a file is selected in `add` variant. The selected file(s) can be accessed via `event.target.files`. |
36
-
37
- ## Exposed Methods
38
-
39
- | Name | Description |
40
- | --- | --- |
41
- | `triggerFileSelect()` | Programmatically triggers the file selection dialog when in `add` variant. |
42
-
43
- ## Slots
44
-
45
- | Name | Description |
46
- | --- | --- |
47
- | `default` | Additional content (overlays, badges, etc.). |
48
-
49
- ## Notes
50
-
51
- Sizes (`sm`, `md`, `lg`) and status indicators (`isActive`, `isVerified`) are natively supported through props.
1
+ # AbAvatar — AI Reference
2
+
3
+ Profile avatar component with `image` and `add` (upload placeholder) variants.
4
+
5
+ ## Usage
6
+
7
+ ```vue
8
+ <template>
9
+ <ab-avatar :src="user.avatarUrl" alt="Profile photo" />
10
+ <ab-avatar variant="add" />
11
+ </template>
12
+ ```
13
+
14
+ ## Props
15
+
16
+ | Name | Type | Default | Description |
17
+ | --- | --- | --- | --- |
18
+ | `src` | `String` | `""` | Image source URL. |
19
+ | `alt` | `String` | `""` | Alt text. |
20
+ | `variant` | `String` | `"image"` | `"image"` or `"add"` (file-upload placeholder). |
21
+ | `size` | `String` | `"md"` | Avatar size (`xs`, `sm`, `md`, `lg`, `xl`, `xxl`). |
22
+ | `isActive` | `Boolean` | `false` | Shows active status indicator. |
23
+ | `isVerified` | `Boolean` | `false` | Shows verified status indicator and badge. |
24
+
25
+ ## Events
26
+
27
+ | Name | Payload | Description |
28
+ | --- | --- | --- |
29
+ | `change` | `Event` | Fired when a file is selected in `add` variant. The selected file(s) can be accessed via `event.target.files`. |
30
+
31
+ ## Exposed Methods
32
+
33
+ | Name | Description |
34
+ | --- | --- |
35
+ | `triggerFileSelect()` | Programmatically triggers the file selection dialog when in `add` variant. |
36
+
37
+ ## Slots
38
+
39
+ | Name | Description |
40
+ | --- | --- |
41
+ | `default` | Additional content (overlays, badges, etc.). |
@@ -1,45 +1,36 @@
1
- # AbBadge — AI Reference
2
-
3
- Lightweight Bootstrap badge wrapper used to display statuses or counts. Accepts props for size, variant, shape, and specialized icon variations.
4
-
5
- ## Installation
6
-
7
- Globally registered by the plugin.
8
-
9
- ## Usage
10
-
11
- ```vue
12
- <template>
13
- <ab-badge color="primary">New</ab-badge>
14
- <ab-badge color="success" is-rounded-pill>12</ab-badge>
15
- <ab-badge color="warning" is-outline>Pending</ab-badge>
16
- </template>
17
- ```
18
-
19
- ## Props
20
-
21
- | Name | Type | Default | Description |
22
- | --- | --- | --- | --- |
23
- | `size` | `String` | `"md"` | Size of the badge (`sm`, `md`, `lg`). |
24
- | `color` | `String` | `"primary"` | Color theme (`primary`, `secondary`, `danger`, `warning`, `success`, `info`). |
25
- | `isOutline` | `Boolean` | `false` | Outlined style with transparent background. |
26
- | `isRoundedPill` | `Boolean` | `false` | Transforms badge to a fully rounded pill shape. |
27
- | `isDot` | `Boolean` | `false` | Prepends a dot indicator layout. |
28
- | `isClose` | `Boolean` | `false` | Adjusts padding and layout for a close icon. |
29
- | `isAdd` | `Boolean` | `false` | Adjusts styling for an add/plus icon badge. |
30
- | `position` | `String` | `"right"` | Position of the `content` slot (`"left"`, `"right"`). |
31
-
32
- ## Events
33
-
34
- None.
35
-
36
- ## Slots
37
-
38
- | Name | Description |
39
- | --- | --- |
40
- | `default` | Badge content. |
41
- | `content` | Slot for an icon, image, or avatar. Placed according to the `position` prop. |
42
-
43
- ## Notes
44
-
45
- The component exposes dedicated props for the most common styling variants, but still passes `$attrs` seamlessly to the root `<span>`.
1
+ # AbBadge — AI Reference
2
+
3
+ Bootstrap badge wrapper for statuses or counts with size, variant, shape, and icon variations.
4
+
5
+ ## Usage
6
+
7
+ ```vue
8
+ <template>
9
+ <ab-badge color="primary">New</ab-badge>
10
+ <ab-badge color="success" is-rounded-pill>12</ab-badge>
11
+ <ab-badge color="warning" is-outline>Pending</ab-badge>
12
+ </template>
13
+ ```
14
+
15
+ ## Props
16
+
17
+ | Name | Type | Default | Description |
18
+ | --- | --- | --- | --- |
19
+ | `size` | `String` | `"md"` | Size of the badge (`sm`, `md`, `lg`). |
20
+ | `color` | `String` | `"primary"` | Color theme (`primary`, `secondary`, `danger`, `warning`, `success`, `info`). |
21
+ | `isOutline` | `Boolean` | `false` | Outlined style with transparent background. |
22
+ | `isRoundedPill` | `Boolean` | `false` | Transforms badge to a fully rounded pill shape. |
23
+ | `isDot` | `Boolean` | `false` | Prepends a dot indicator layout. |
24
+ | `isAdd` | `Boolean` | `false` | Adjusts styling for an add/plus icon badge. |
25
+ | `position` | `String` | `"right"` | Position of the `content` slot (`"left"`, `"right"`). |
26
+
27
+ ## Slots
28
+
29
+ | Name | Description |
30
+ | --- | --- |
31
+ | `default` | Badge content. |
32
+ | `content` | Slot for an icon, image, or avatar. Placed according to the `position` prop. |
33
+
34
+ ## Notes
35
+
36
+ The component passes `$attrs` seamlessly to the root `<span>`.
@@ -1,70 +1,52 @@
1
- # AbButton — AI Reference
2
-
3
- Highly customizable push button with an optional built-in loader animation and a leading icon slot. Styling variants and sizes are easily configured via props (`color`, `size`, `isOutline`, `isIconBtn`).
4
-
5
- ## Installation
6
-
7
- Globally registered by the library plugin — use `<ab-button>` directly in any template after:
8
-
9
- ```js
10
- import AppsbdUI from 'vue3-appsbd-ui';
11
- import 'vue3-appsbd-ui/dist/style.css';
12
- app.use(AppsbdUI);
13
- ```
14
-
15
- No per-component import required.
16
-
17
- ## Usage
18
-
19
- ```vue
20
- <template>
21
- <!-- Basic -->
22
- <ab-button color="primary">Save</ab-button>
23
-
24
- <!-- With icon + divider -->
25
- <ab-button color="secondary" is-outline show-icon-divider>
26
- <template #icon><i class="bi bi-plus-lg"></i></template>
27
- New Item
28
- </ab-button>
29
-
30
- <!-- Loading state -->
31
- <ab-button color="primary" :is-animated="isSaving" is-hide-text-on-animate>
32
- Save
33
- </ab-button>
34
- </template>
35
-
36
- <script setup>
37
- import { ref } from 'vue';
38
- const isSaving = ref(false);
39
- </script>
40
- ```
41
-
42
- ## Props
43
-
44
- | Name | Type | Default | Description |
45
- | --- | --- | --- | --- |
46
- | `type` | `String` | `"button"` | Native button type (`button`, `submit`, `reset`). |
47
- | `color` | `String` | `"primary"` | Color variant (primary, secondary, success, danger, warning, info, light, dark). |
48
- | `size` | `String` | `"md"` | Button size (`xs`, `sm`, `md`, `lg`, `xl`, `xxl`). |
49
- | `isOutline` | `Boolean` | `false` | Applies the outline style for the selected color. |
50
- | `isIconBtn` | `Boolean` | `false` | Formats the button styling for a single icon. |
51
- | `isAnimated` | `Boolean` | `false` | When `true`, renders the loader SVG and optionally hides the label. |
52
- | `isHideTextOnAnimate` | `Boolean` | `false` | Hides the default slot content while `isAnimated` is `true`. |
53
- | `showIconDivider` | `Boolean` | `false` | Renders a vertical divider between the `#icon` slot and the label. |
54
-
55
- ## Events
56
-
57
- No custom events emitted. All native button events (`click`, `focus`, `blur`, …) bubble up via `$attrs`.
58
-
59
- ## Slots
60
-
61
- | Name | Scope | Description |
62
- | --- | --- | --- |
63
- | `default` | — | Button label / content. |
64
- | `icon` | — | Leading icon element (rendered before the label). |
65
- | `svg` | — | Overrides the built-in loader SVG (only used while `isAnimated`). |
66
-
67
- ## Notes
68
-
69
- - Size and color are now controlled via the `size` and `color` props rather than raw Bootstrap utility classes.
70
- - If no `color` prop is supplied, the component auto-applies `primary`.
1
+ # AbButton — AI Reference
2
+
3
+ Customizable button with optional loader animation and leading icon slot.
4
+
5
+ ## Usage
6
+
7
+ ```vue
8
+ <template>
9
+ <ab-button color="primary">Save</ab-button>
10
+
11
+ <ab-button color="secondary" is-outline show-icon-divider>
12
+ <template #icon><i class="bi bi-plus-lg"></i></template>
13
+ New Item
14
+ </ab-button>
15
+
16
+ <ab-button color="primary" :is-animated="isSaving" is-hide-text-on-animate>
17
+ Save
18
+ </ab-button>
19
+ </template>
20
+
21
+ <script setup>
22
+ import { ref } from 'vue';
23
+ const isSaving = ref(false);
24
+ </script>
25
+ ```
26
+
27
+ ## Props
28
+
29
+ | Name | Type | Default | Description |
30
+ | --- | --- | --- | --- |
31
+ | `type` | `String` | `"button"` | Native button type (`button`, `submit`, `reset`). |
32
+ | `color` | `String` | `"primary"` | Color variant (primary, secondary, success, danger, warning, info, light, dark). |
33
+ | `size` | `String` | `"md"` | Button size (`xs`, `sm`, `md`, `lg`, `xl`, `xxl`). |
34
+ | `isOutline` | `Boolean` | `false` | Applies the outline style for the selected color. |
35
+ | `isIconBtn` | `Boolean` | `false` | Formats the button styling for a single icon. |
36
+ | `isRounded` | `Boolean` | `false` | Applies a fully rounded, pill-like border radius to the button. |
37
+ | `isAnimated` | `Boolean` | `false` | When `true`, renders the loader SVG and optionally hides the label. |
38
+ | `isHideTextOnAnimate` | `Boolean` | `false` | Hides the default slot content while `isAnimated` is `true`. |
39
+ | `showIconDivider` | `Boolean` | `false` | Renders a vertical divider between the `#icon` slot and the label. |
40
+ | `iconPosition` | `String` | `"left"` | Placement of the icon and divider (`"left"` or `"right"`). |
41
+
42
+ ## Events
43
+
44
+ No custom events. All native button events (`click`, `focus`, `blur`, …) bubble up via `$attrs`.
45
+
46
+ ## Slots
47
+
48
+ | Name | Scope | Description |
49
+ | --- | --- | --- |
50
+ | `default` | | Button label / content. |
51
+ | `icon` | | Icon element (rendered before or after the label depending on `iconPosition`). |
52
+ | `svg` | | Overrides the built-in loader SVG (only used while `isAnimated`). |
@@ -1,70 +1,51 @@
1
- # AbCard — AI Reference
2
-
3
- Flexible Bootstrap-style card container with `header`, `body`, and `footer` slots. Visual variations (`tile-card`, `item-card`, `insight-card`, …) are applied through CSS classes on `containerClass` rather than separate components.
4
-
5
- ## Installation
6
-
7
- Globally registered by the plugin no import required.
8
-
9
- ```js
10
- app.use(AppsbdUI);
11
- ```
12
-
13
- ## Props
14
-
15
- | Name | Type | Default | Description |
16
- | --- | --- | --- | --- |
17
- | `containerClass` | `String` | `undefined` | CSS class applied to the card root. |
18
- | `headerClass` | `String` | `""` | CSS class for the header section. |
19
- | `bodyClass` | `String` | `""` | CSS class for the body section. |
20
- | `footerClass` | `String` | `""` | CSS class for the footer section. |
21
- | `isBorderCard` | `Boolean` | `true` | Whether to display the default card border. |
22
- | `bgColorVariant` | `String` | `""` | Bootstrap color variant for background (`primary`, `success`, etc.). |
23
- | `borderBottomVariant` | `String` | `""` | Adds a colored bottom border with the specified variant. |
24
- | `isTileCard` | `Boolean` | `false` | Applies the `.tile-card` layout styles. |
25
- | `variation` | `String` | `""` | Generic variation class to append to the root. |
26
-
27
- ## Usage
28
-
29
- ```vue
30
- <template>
31
- <!-- Simple Stat Tile -->
32
- <ab-card is-tile-card :is-border-card="false">
33
- <template #body>
34
- <div class="left-section">
35
- <span class="tile-title">Total Revenue</span>
36
- <span class="tile-value">$12,480</span>
37
- </div>
38
- </template>
39
- </ab-card>
40
-
41
- <!-- Custom Styled Card -->
42
- <ab-card
43
- container-class="shadow-sm"
44
- border-bottom-variant="primary"
45
- header-class="bg-light"
46
- >
47
- <template #header>Card Title</template>
48
- <template #body>Card Content</template>
49
- <template #footer>
50
- <ab-button size="sm">Action</ab-button>
51
- </template>
52
- </ab-card>
53
- </template>
54
- ```
55
-
56
- ## Events
57
-
58
- None.
59
-
60
- ## Slots
61
-
62
- | Name | Description |
63
- | --- | --- |
64
- | `header` | Card header content. Omit to hide the header. |
65
- | `body` | Card body content. |
66
- | `footer` | Card footer content. Omit to hide the footer. |
67
-
68
- ## Notes
69
-
70
- - Do **not** create a new `.vue` file for card variations — define the variant as a CSS class in `src/styles/components/_card.scss` and pass it via `containerClass`.
1
+ # AbCard — AI Reference
2
+
3
+ Bootstrap-style card container with `header`, `body`, and `footer` slots. Visual variations (`tile-card`, `item-card`, `insight-card`, …) are applied through CSS classes on `containerClass` rather than separate components.
4
+
5
+ ## Props
6
+
7
+ | Name | Type | Default | Description |
8
+ | --- | --- | --- | --- |
9
+ | `containerClass` | `String` | `undefined` | CSS class applied to the card root. |
10
+ | `headerClass` | `String` | `""` | CSS class for the header section. |
11
+ | `bodyClass` | `String` | `""` | CSS class for the body section. |
12
+ | `footerClass` | `String` | `""` | CSS class for the footer section. |
13
+ | `isBorderCard` | `Boolean` | `true` | Whether to display the default card border. |
14
+ | `bgColorVariant` | `String` | `""` | Bootstrap color variant for background (`primary`, `success`, etc.). |
15
+ | `borderBottomVariant` | `String` | `""` | Adds a colored bottom border with the specified variant. |
16
+ | `isTileCard` | `Boolean` | `false` | Applies the `.tile-card` layout styles. |
17
+ | `showBorder` | `Boolean` | `false` | Whether to display the header and footer borders. |
18
+ | `variation` | `String` | `""` | Generic variation class to append to the root. |
19
+
20
+ ## Usage
21
+
22
+ ```vue
23
+ <template>
24
+ <ab-card is-tile-card :is-border-card="false">
25
+ <template #body>
26
+ <span class="tile-title">Total Revenue</span>
27
+ <span class="tile-value">$12,480</span>
28
+ </template>
29
+ </ab-card>
30
+
31
+ <ab-card container-class="shadow-sm" border-bottom-variant="primary" header-class="bg-light">
32
+ <template #header>Card Title</template>
33
+ <template #body>Card Content</template>
34
+ <template #footer>
35
+ <ab-button size="sm">Action</ab-button>
36
+ </template>
37
+ </ab-card>
38
+ </template>
39
+ ```
40
+
41
+ ## Slots
42
+
43
+ | Name | Description |
44
+ | --- | --- |
45
+ | `header` | Card header content. Omit to hide the header. |
46
+ | `body` | Card body content. |
47
+ | `footer` | Card footer content. Omit to hide the footer. |
48
+
49
+ ## Notes
50
+
51
+ Do **not** create a new `.vue` file for card variations — define the variant as a CSS class in `src/styles/components/_card.scss` and pass it via `containerClass`.
@@ -1,47 +1,36 @@
1
- # AbCarousel — AI Reference
2
-
3
- Rotating slider for images or arbitrary HTML content. Supports horizontal and vertical orientations, autoplay, edge-fade, and outside / hover-only navigation buttons.
4
-
5
- ## Installation
6
-
7
- Globally registered by the plugin.
8
-
9
- ## Usage
10
-
11
- ```vue
12
- <template>
13
- <!-- Image carousel -->
14
- <ab-carousel edge-fade autoplay :autoplay-interval="4000">
15
- <img src="/slide1.jpg" alt="" />
16
- <img src="/slide2.jpg" alt="" />
17
- <img src="/slide3.jpg" alt="" />
18
- </ab-carousel>
19
-
20
- <!-- Card carousel, vertical orientation -->
21
- <ab-carousel orientation="vertical" nav-outside nav-on-hover>
22
- <ab-card v-for="card in cards" :key="card.id">…</ab-card>
23
- </ab-carousel>
24
- </template>
25
- ```
26
-
27
- ## Props
28
-
29
- | Name | Type | Default | Description |
30
- | --- | --- | --- | --- |
31
- | `scrollAmount` | `Number` | `200` | Pixels scrolled per click. When children exist, falls back to item width. |
32
- | `orientation` | `String` | `"horizontal"` | `horizontal` or `vertical`. |
33
- | `edgeFade` | `Boolean` | `false` | Fade the leading/trailing edges. |
34
- | `autoplay` | `Boolean` | `false` | Auto-scroll enabled. |
35
- | `autoplayInterval` | `Number` | `3000` | Autoplay interval in ms. |
36
- | `navOutside` | `Boolean` | `false` | Render nav buttons outside the carousel. |
37
- | `navOnHover` | `Boolean` | `false` | Show nav buttons only on hover. |
38
-
39
- ## Events
40
-
41
- None.
42
-
43
- ## Slots
44
-
45
- | Name | Description |
46
- | --- | --- |
47
- | `default` | Carousel items (images, cards, or arbitrary HTML). |
1
+ # AbCarousel — AI Reference
2
+
3
+ Rotating slider for images or arbitrary HTML content. Supports horizontal/vertical orientations, autoplay, edge-fade, and outside/hover-only navigation buttons.
4
+
5
+ ## Usage
6
+
7
+ ```vue
8
+ <template>
9
+ <ab-carousel edge-fade autoplay :autoplay-interval="4000">
10
+ <img src="/slide1.jpg" alt="" />
11
+ <img src="/slide2.jpg" alt="" />
12
+ </ab-carousel>
13
+
14
+ <ab-carousel orientation="vertical" nav-outside nav-on-hover>
15
+ <ab-card v-for="card in cards" :key="card.id">…</ab-card>
16
+ </ab-carousel>
17
+ </template>
18
+ ```
19
+
20
+ ## Props
21
+
22
+ | Name | Type | Default | Description |
23
+ | --- | --- | --- | --- |
24
+ | `scrollAmount` | `Number` | `200` | Pixels scrolled per click. When children exist, falls back to item width. |
25
+ | `orientation` | `String` | `"horizontal"` | `horizontal` or `vertical`. |
26
+ | `edgeFade` | `Boolean` | `false` | Fade the leading/trailing edges. |
27
+ | `autoplay` | `Boolean` | `false` | Auto-scroll enabled. |
28
+ | `autoplayInterval` | `Number` | `3000` | Autoplay interval in ms. |
29
+ | `navOutside` | `Boolean` | `false` | Render nav buttons outside the carousel. |
30
+ | `navOnHover` | `Boolean` | `false` | Show nav buttons only on hover. |
31
+
32
+ ## Slots
33
+
34
+ | Name | Description |
35
+ | --- | --- |
36
+ | `default` | Carousel items (images, cards, or arbitrary HTML). |
@@ -1,87 +1,46 @@
1
- # AbChart
2
-
3
- A flexible chart component powered by Apache ECharts (via vue-echarts). It supports both full ECharts option objects and a simplified props-based API for common chart types.
4
-
5
- ## Installation
6
-
7
- ```bash
8
- npm install echarts vue-echarts
9
- ```
10
-
11
- ## Usage
12
-
13
- ### Using individual props (Simplified API)
14
-
15
- ```vue
16
- <script setup>
17
- import { AbChart } from "@vue3-appsbd-ui";
18
-
19
- const xAxisData = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
20
- const seriesData = [150, 230, 224, 218, 135, 147, 260];
21
- </script>
22
-
23
- <template>
24
- <AbChart
25
- chartType="line"
26
- :xAxisData="xAxisData"
27
- :seriesData="seriesData"
28
- height="400px"
29
- />
30
- </template>
31
- ```
32
-
33
- ### Using full ECharts option (Advanced API)
34
-
35
- ```vue
36
- <script setup>
37
- import { AbChart } from "@vue3-appsbd-ui";
38
-
39
- const option = {
40
- xAxis: {
41
- type: 'category',
42
- data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
43
- },
44
- yAxis: {
45
- type: 'value'
46
- },
47
- series: [{
48
- data: [150, 230, 224, 218, 135, 147, 260],
49
- type: 'line'
50
- }]
51
- };
52
- </script>
53
-
54
- <template>
55
- <AbChart :option="option" height="400px" />
56
- </template>
57
- ```
58
-
59
- ## Props
60
-
61
- | Name | Type | Default | Description |
62
- | :--- | :--- | :--- | :--- |
63
- | `option` | `Object` | `{}` | Full ECharts option object. If provided, it overrides all other props. |
64
- | `chartType` | `String` | `""` | The type of chart when using simplified props (`"line"`, `"bar"`, `"pie"`). |
65
- | `xAxisData` | `Array` | `[]` | Categories for the X-axis (e.g., dates or labels). |
66
- | `seriesData` | `Array` | `[]` | Data points for the chart. For Pie charts, use an array of objects: `[{ value: 10, name: 'A' }]`. |
67
- | `xAxisType` | `String` | `"category"` | ECharts X-axis type (e.g., `"value"`, `"category"`, `"time"`, `"log"`). |
68
- | `yAxisType` | `String` | `"value"` | ECharts Y-axis type. |
69
- | `legendOrient` | `String` | `""` | Orientation of the chart legend (e.g., `"vertical"`, `"horizontal"`). |
70
- | `showPointValues` | `Boolean` | `false` | If true, displays the value label on each data point in the chart. |
71
- | `height` | `String` | `"400px"` | Height of the chart container (e.g., `"300px"`, `"100%"`). |
72
-
73
-
74
-
75
- ## Events
76
-
77
- None.
78
-
79
- ## Slots
80
-
81
- None.
82
-
83
- ## Notes
84
-
85
- - **Tree Shaking**: The component internally imports only the necessary ECharts modules (`CanvasRenderer`, `LineChart`, `PieChart`, `BarChart`, `GridComponent`, `TitleComponent`, `TooltipComponent`, `LegendComponent`) to keep the bundle size small.
86
- - **Autoresize**: The component has `autoresize` enabled by default.
87
- - **Pie Charts**: When `chartType="pie"`, the `xAxis` and `yAxis` configurations are automatically omitted.
1
+ # AbChart — AI Reference
2
+
3
+ Chart component powered by Apache ECharts (via vue-echarts). Supports full ECharts option objects and a simplified props-based API for common chart types.
4
+
5
+ ## Usage
6
+
7
+ ```vue
8
+ <script setup>
9
+ import { AbChart } from "@vue3-appsbd-ui";
10
+ const xAxisData = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
11
+ const seriesData = [150, 230, 224, 218, 135, 147, 260];
12
+ </script>
13
+
14
+ <template>
15
+ <AbChart chartType="line" :xAxisData="xAxisData" :seriesData="seriesData" height="400px" />
16
+ </template>
17
+ ```
18
+
19
+ Full ECharts option (overrides all other props):
20
+
21
+ ```vue
22
+ <template>
23
+ <AbChart :option="option" height="400px" />
24
+ </template>
25
+ ```
26
+
27
+ ## Props
28
+
29
+ | Name | Type | Default | Description |
30
+ | :--- | :--- | :--- | :--- |
31
+ | `option` | `Object` | `{}` | Full ECharts option object. If provided, overrides all other props. |
32
+ | `chartType` | `String` | `""` | Chart type for simplified API (`"line"`, `"bar"`, `"pie"`). |
33
+ | `xAxisData` | `Array` | `[]` | Categories for the X-axis. |
34
+ | `seriesData` | `Array` | `[]` | Data points. For pie charts use `[{ value: 10, name: 'A' }]`. |
35
+ | `xAxisType` | `String` | `"category"` | ECharts X-axis type (`"value"`, `"category"`, `"time"`, `"log"`). |
36
+ | `yAxisType` | `String` | `"value"` | ECharts Y-axis type. |
37
+ | `legendOrient` | `String` | `""` | Legend orientation (`"vertical"`, `"horizontal"`). |
38
+ | `showPointValues` | `Boolean` | `false` | Display value labels on each data point. |
39
+ | `height` | `String` | `"400px"` | Chart container height. |
40
+
41
+ ## Notes
42
+
43
+ - **Tree Shaking**: Internally imports only needed ECharts modules (`CanvasRenderer`, `LineChart`, `PieChart`, `BarChart`, `GridComponent`, `TitleComponent`, `TooltipComponent`, `LegendComponent`).
44
+ - **Autoresize**: Enabled by default.
45
+ - **Pie Charts**: When `chartType="pie"`, `xAxis`/`yAxis` are automatically omitted.
46
+ - Requires peer dependencies: `echarts`, `vue-echarts`.