@appsbd/vue3-appsbd-ui 1.0.3 → 1.0.4
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 +1 -11
- package/.ai/ai_ref_AbBadge.md +2 -11
- package/.ai/ai_ref_AbButton.md +4 -23
- package/.ai/ai_ref_AbCard.md +6 -25
- package/.ai/ai_ref_AbCarousel.md +1 -12
- package/.ai/ai_ref_AbChart.md +16 -57
- package/.ai/ai_ref_AbColorPicker.md +1 -14
- package/.ai/ai_ref_AbConfirmPopover.md +1 -6
- package/.ai/ai_ref_AbCustomField.md +1 -9
- package/.ai/ai_ref_AbDarkModeToggler.md +1 -10
- package/.ai/ai_ref_AbDateTimePicker.md +4 -38
- package/.ai/ai_ref_AbEasyModal.md +2 -8
- package/.ai/ai_ref_AbField.md +1 -9
- package/.ai/ai_ref_AbFileUploader.md +3 -19
- package/.ai/ai_ref_AbFilterPanel.md +0 -4
- package/.ai/ai_ref_AbFormCheck.md +2 -19
- package/.ai/ai_ref_AbImageRadioInput.md +1 -9
- package/.ai/ai_ref_AbInputField.md +1 -9
- package/.ai/ai_ref_AbInputTag.md +2 -22
- package/.ai/ai_ref_AbKbd.md +0 -12
- package/.ai/ai_ref_AbKbdGroup.md +1 -13
- package/.ai/ai_ref_AbModal.md +98 -103
- package/.ai/ai_ref_AbMultiSelect.md +3 -37
- package/.ai/ai_ref_AbNumberField.md +5 -30
- package/.ai/ai_ref_AbPinInput.md +1 -13
- package/.ai/ai_ref_AbPopover.md +2 -12
- package/.ai/ai_ref_AbPricingCard.md +0 -8
- package/.ai/ai_ref_AbPricingContainer.md +0 -8
- package/.ai/ai_ref_AbPricingTable.md +20 -36
- package/.ai/ai_ref_AbProgressbar.md +1 -11
- package/.ai/ai_ref_AbScrollbar.md +2 -12
- package/.ai/ai_ref_AbSettingsForm.md +1 -9
- package/.ai/ai_ref_AbSideMenuItem.md +1 -12
- package/.ai/ai_ref_AbSidebar.md +2 -10
- package/.ai/ai_ref_AbSkeleton.md +0 -18
- package/.ai/ai_ref_AbSlider.md +1 -20
- package/.ai/ai_ref_AbTab.md +0 -8
- package/.ai/ai_ref_AbTable.md +0 -10
- package/.ai/ai_ref_AbTabs.md +1 -11
- package/.ai/ai_ref_AbToggle.md +4 -23
- package/.ai/ai_ref_AbTooltip.md +1 -15
- package/.ai/ai_ref_AbWizard.md +7 -20
- package/.ai/ai_ref_AbWizardStep.md +1 -13
- package/.ai/ai_ref_abEventBus.md +66 -94
- package/.ai/ai_ref_abRequestParam.md +40 -55
- package/.ai/ai_ref_abTranslate.md +30 -15
- package/.ai/ai_ref_abVeeRules.md +33 -42
- package/.ai/ai_ref_global_config.md +7 -17
- package/.ai/ai_ref_useAlert.md +45 -63
- package/.ai/ai_ref_useFileValidator.md +31 -46
- package/.ai/ai_ref_useResponsive.md +41 -55
- package/.ai/ai_ref_useTheme.md +28 -39
- package/.ai/ai_ref_useToast.md +30 -42
- package/AI_REF.md +114 -0
- package/AI_REFERENCE.md +82 -1153
- package/dist/skins/black.css +1 -1
- package/dist/skins/cyan.css +1 -1
- package/dist/skins/default.css +1 -1
- package/dist/skins/gray.css +1 -1
- package/dist/skins/green.css +1 -1
- package/dist/skins/orange.css +1 -1
- package/dist/skins/pink.css +1 -1
- package/dist/skins/purple.css +1 -1
- package/dist/skins/red.css +1 -1
- package/dist/skins/themes/_blue.scss +35 -35
- package/dist/skins/themes/_common_variable.scss +101 -6
- package/dist/skins/themes/_cyan.scss +1 -1
- package/dist/skins/themes/_gray.scss +2 -1
- package/dist/skins/themes/_green.scss +1 -1
- package/dist/skins/themes/_grid.scss +4 -1
- package/dist/skins/themes/_orange.scss +1 -1
- package/dist/skins/themes/_pink.scss +1 -1
- package/dist/skins/themes/_purple.scss +1 -1
- package/dist/skins/themes/_red.scss +1 -1
- package/dist/skins/themes/_violet.scss +1 -1
- package/dist/skins/violet.css +1 -1
- package/dist/style.css +1 -1
- package/dist/vue3-appsbd-ui.cjs.js +93 -61
- package/dist/vue3-appsbd-ui.es.js +26869 -17342
- package/package.json +7 -1
- package/readme.md +59 -1
- package/scripts/postinstall.js +55 -0
- package/scripts/setup.js +16 -0
- package/scripts/skill-groups.js +38 -0
- package/skills/commands/generate-module.md +76 -0
- package/skills/commands/settings-form.md +175 -0
- package/skills/commands/use-appsbd-ui.md +40 -0
package/.ai/ai_ref_AbAvatar.md
CHANGED
|
@@ -1,18 +1,12 @@
|
|
|
1
1
|
# AbAvatar — AI Reference
|
|
2
2
|
|
|
3
|
-
Profile avatar component
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
Globally registered by the plugin.
|
|
3
|
+
Profile avatar component with `image` and `add` (upload placeholder) variants.
|
|
8
4
|
|
|
9
5
|
## Usage
|
|
10
6
|
|
|
11
7
|
```vue
|
|
12
8
|
<template>
|
|
13
9
|
<ab-avatar :src="user.avatarUrl" alt="Profile photo" />
|
|
14
|
-
|
|
15
|
-
<!-- File upload mode -->
|
|
16
10
|
<ab-avatar variant="add" />
|
|
17
11
|
</template>
|
|
18
12
|
```
|
|
@@ -45,7 +39,3 @@ Globally registered by the plugin.
|
|
|
45
39
|
| Name | Description |
|
|
46
40
|
| --- | --- |
|
|
47
41
|
| `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.
|
package/.ai/ai_ref_AbBadge.md
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
# AbBadge — AI Reference
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
Globally registered by the plugin.
|
|
3
|
+
Bootstrap badge wrapper for statuses or counts with size, variant, shape, and icon variations.
|
|
8
4
|
|
|
9
5
|
## Usage
|
|
10
6
|
|
|
@@ -25,14 +21,9 @@ Globally registered by the plugin.
|
|
|
25
21
|
| `isOutline` | `Boolean` | `false` | Outlined style with transparent background. |
|
|
26
22
|
| `isRoundedPill` | `Boolean` | `false` | Transforms badge to a fully rounded pill shape. |
|
|
27
23
|
| `isDot` | `Boolean` | `false` | Prepends a dot indicator layout. |
|
|
28
|
-
| `isClose` | `Boolean` | `false` | Adjusts padding and layout for a close icon. |
|
|
29
24
|
| `isAdd` | `Boolean` | `false` | Adjusts styling for an add/plus icon badge. |
|
|
30
25
|
| `position` | `String` | `"right"` | Position of the `content` slot (`"left"`, `"right"`). |
|
|
31
26
|
|
|
32
|
-
## Events
|
|
33
|
-
|
|
34
|
-
None.
|
|
35
|
-
|
|
36
27
|
## Slots
|
|
37
28
|
|
|
38
29
|
| Name | Description |
|
|
@@ -42,4 +33,4 @@ None.
|
|
|
42
33
|
|
|
43
34
|
## Notes
|
|
44
35
|
|
|
45
|
-
The component
|
|
36
|
+
The component passes `$attrs` seamlessly to the root `<span>`.
|
package/.ai/ai_ref_AbButton.md
CHANGED
|
@@ -1,33 +1,18 @@
|
|
|
1
1
|
# AbButton — AI Reference
|
|
2
2
|
|
|
3
|
-
|
|
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.
|
|
3
|
+
Customizable button with optional loader animation and leading icon slot.
|
|
16
4
|
|
|
17
5
|
## Usage
|
|
18
6
|
|
|
19
7
|
```vue
|
|
20
8
|
<template>
|
|
21
|
-
<!-- Basic -->
|
|
22
9
|
<ab-button color="primary">Save</ab-button>
|
|
23
10
|
|
|
24
|
-
<!-- With icon + divider -->
|
|
25
11
|
<ab-button color="secondary" is-outline show-icon-divider>
|
|
26
12
|
<template #icon><i class="bi bi-plus-lg"></i></template>
|
|
27
13
|
New Item
|
|
28
14
|
</ab-button>
|
|
29
15
|
|
|
30
|
-
<!-- Loading state -->
|
|
31
16
|
<ab-button color="primary" :is-animated="isSaving" is-hide-text-on-animate>
|
|
32
17
|
Save
|
|
33
18
|
</ab-button>
|
|
@@ -51,20 +36,16 @@ const isSaving = ref(false);
|
|
|
51
36
|
| `isAnimated` | `Boolean` | `false` | When `true`, renders the loader SVG and optionally hides the label. |
|
|
52
37
|
| `isHideTextOnAnimate` | `Boolean` | `false` | Hides the default slot content while `isAnimated` is `true`. |
|
|
53
38
|
| `showIconDivider` | `Boolean` | `false` | Renders a vertical divider between the `#icon` slot and the label. |
|
|
39
|
+
| `iconPosition` | `String` | `"left"` | Placement of the icon and divider (`"left"` or `"right"`). |
|
|
54
40
|
|
|
55
41
|
## Events
|
|
56
42
|
|
|
57
|
-
No custom events
|
|
43
|
+
No custom events. All native button events (`click`, `focus`, `blur`, …) bubble up via `$attrs`.
|
|
58
44
|
|
|
59
45
|
## Slots
|
|
60
46
|
|
|
61
47
|
| Name | Scope | Description |
|
|
62
48
|
| --- | --- | --- |
|
|
63
49
|
| `default` | — | Button label / content. |
|
|
64
|
-
| `icon` | — |
|
|
50
|
+
| `icon` | — | Icon element (rendered before or after the label depending on `iconPosition`). |
|
|
65
51
|
| `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`.
|
package/.ai/ai_ref_AbCard.md
CHANGED
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
# AbCard — AI Reference
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
Globally registered by the plugin — no import required.
|
|
8
|
-
|
|
9
|
-
```js
|
|
10
|
-
app.use(AppsbdUI);
|
|
11
|
-
```
|
|
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.
|
|
12
4
|
|
|
13
5
|
## Props
|
|
14
6
|
|
|
@@ -22,28 +14,21 @@ app.use(AppsbdUI);
|
|
|
22
14
|
| `bgColorVariant` | `String` | `""` | Bootstrap color variant for background (`primary`, `success`, etc.). |
|
|
23
15
|
| `borderBottomVariant` | `String` | `""` | Adds a colored bottom border with the specified variant. |
|
|
24
16
|
| `isTileCard` | `Boolean` | `false` | Applies the `.tile-card` layout styles. |
|
|
17
|
+
| `showBorder` | `Boolean` | `false` | Whether to display the header and footer borders. |
|
|
25
18
|
| `variation` | `String` | `""` | Generic variation class to append to the root. |
|
|
26
19
|
|
|
27
20
|
## Usage
|
|
28
21
|
|
|
29
22
|
```vue
|
|
30
23
|
<template>
|
|
31
|
-
<!-- Simple Stat Tile -->
|
|
32
24
|
<ab-card is-tile-card :is-border-card="false">
|
|
33
25
|
<template #body>
|
|
34
|
-
<
|
|
35
|
-
|
|
36
|
-
<span class="tile-value">$12,480</span>
|
|
37
|
-
</div>
|
|
26
|
+
<span class="tile-title">Total Revenue</span>
|
|
27
|
+
<span class="tile-value">$12,480</span>
|
|
38
28
|
</template>
|
|
39
29
|
</ab-card>
|
|
40
30
|
|
|
41
|
-
|
|
42
|
-
<ab-card
|
|
43
|
-
container-class="shadow-sm"
|
|
44
|
-
border-bottom-variant="primary"
|
|
45
|
-
header-class="bg-light"
|
|
46
|
-
>
|
|
31
|
+
<ab-card container-class="shadow-sm" border-bottom-variant="primary" header-class="bg-light">
|
|
47
32
|
<template #header>Card Title</template>
|
|
48
33
|
<template #body>Card Content</template>
|
|
49
34
|
<template #footer>
|
|
@@ -53,10 +38,6 @@ app.use(AppsbdUI);
|
|
|
53
38
|
</template>
|
|
54
39
|
```
|
|
55
40
|
|
|
56
|
-
## Events
|
|
57
|
-
|
|
58
|
-
None.
|
|
59
|
-
|
|
60
41
|
## Slots
|
|
61
42
|
|
|
62
43
|
| Name | Description |
|
|
@@ -67,4 +48,4 @@ None.
|
|
|
67
48
|
|
|
68
49
|
## Notes
|
|
69
50
|
|
|
70
|
-
|
|
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`.
|
package/.ai/ai_ref_AbCarousel.md
CHANGED
|
@@ -1,23 +1,16 @@
|
|
|
1
1
|
# AbCarousel — AI Reference
|
|
2
2
|
|
|
3
|
-
Rotating slider for images or arbitrary HTML content. Supports horizontal
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
Globally registered by the plugin.
|
|
3
|
+
Rotating slider for images or arbitrary HTML content. Supports horizontal/vertical orientations, autoplay, edge-fade, and outside/hover-only navigation buttons.
|
|
8
4
|
|
|
9
5
|
## Usage
|
|
10
6
|
|
|
11
7
|
```vue
|
|
12
8
|
<template>
|
|
13
|
-
<!-- Image carousel -->
|
|
14
9
|
<ab-carousel edge-fade autoplay :autoplay-interval="4000">
|
|
15
10
|
<img src="/slide1.jpg" alt="" />
|
|
16
11
|
<img src="/slide2.jpg" alt="" />
|
|
17
|
-
<img src="/slide3.jpg" alt="" />
|
|
18
12
|
</ab-carousel>
|
|
19
13
|
|
|
20
|
-
<!-- Card carousel, vertical orientation -->
|
|
21
14
|
<ab-carousel orientation="vertical" nav-outside nav-on-hover>
|
|
22
15
|
<ab-card v-for="card in cards" :key="card.id">…</ab-card>
|
|
23
16
|
</ab-carousel>
|
|
@@ -36,10 +29,6 @@ Globally registered by the plugin.
|
|
|
36
29
|
| `navOutside` | `Boolean` | `false` | Render nav buttons outside the carousel. |
|
|
37
30
|
| `navOnHover` | `Boolean` | `false` | Show nav buttons only on hover. |
|
|
38
31
|
|
|
39
|
-
## Events
|
|
40
|
-
|
|
41
|
-
None.
|
|
42
|
-
|
|
43
32
|
## Slots
|
|
44
33
|
|
|
45
34
|
| Name | Description |
|
package/.ai/ai_ref_AbChart.md
CHANGED
|
@@ -1,56 +1,24 @@
|
|
|
1
|
-
# AbChart
|
|
1
|
+
# AbChart — AI Reference
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
npm install echarts vue-echarts
|
|
9
|
-
```
|
|
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.
|
|
10
4
|
|
|
11
5
|
## Usage
|
|
12
6
|
|
|
13
|
-
### Using individual props (Simplified API)
|
|
14
|
-
|
|
15
7
|
```vue
|
|
16
8
|
<script setup>
|
|
17
9
|
import { AbChart } from "@vue3-appsbd-ui";
|
|
18
|
-
|
|
19
10
|
const xAxisData = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
|
|
20
11
|
const seriesData = [150, 230, 224, 218, 135, 147, 260];
|
|
21
12
|
</script>
|
|
22
13
|
|
|
23
14
|
<template>
|
|
24
|
-
<AbChart
|
|
25
|
-
chartType="line"
|
|
26
|
-
:xAxisData="xAxisData"
|
|
27
|
-
:seriesData="seriesData"
|
|
28
|
-
height="400px"
|
|
29
|
-
/>
|
|
15
|
+
<AbChart chartType="line" :xAxisData="xAxisData" :seriesData="seriesData" height="400px" />
|
|
30
16
|
</template>
|
|
31
17
|
```
|
|
32
18
|
|
|
33
|
-
|
|
19
|
+
Full ECharts option (overrides all other props):
|
|
34
20
|
|
|
35
21
|
```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
22
|
<template>
|
|
55
23
|
<AbChart :option="option" height="400px" />
|
|
56
24
|
</template>
|
|
@@ -60,28 +28,19 @@ const option = {
|
|
|
60
28
|
|
|
61
29
|
| Name | Type | Default | Description |
|
|
62
30
|
| :--- | :--- | :--- | :--- |
|
|
63
|
-
| `option` | `Object` | `{}` | Full ECharts option object. If provided,
|
|
64
|
-
| `chartType` | `String` | `""` |
|
|
65
|
-
| `xAxisData` | `Array` | `[]` | Categories for the X-axis
|
|
66
|
-
| `seriesData` | `Array` | `[]` | Data points
|
|
67
|
-
| `xAxisType` | `String` | `"category"` | ECharts X-axis type (
|
|
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"`). |
|
|
68
36
|
| `yAxisType` | `String` | `"value"` | ECharts Y-axis type. |
|
|
69
|
-
| `legendOrient` | `String` | `""` |
|
|
70
|
-
| `showPointValues` | `Boolean` | `false` |
|
|
71
|
-
| `height` | `String` | `"400px"` |
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
## Events
|
|
76
|
-
|
|
77
|
-
None.
|
|
78
|
-
|
|
79
|
-
## Slots
|
|
80
|
-
|
|
81
|
-
None.
|
|
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. |
|
|
82
40
|
|
|
83
41
|
## Notes
|
|
84
42
|
|
|
85
|
-
- **Tree Shaking**:
|
|
86
|
-
- **Autoresize**:
|
|
87
|
-
- **Pie Charts**: When `chartType="pie"`,
|
|
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`.
|
|
@@ -2,10 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
Radio-style color swatch picker. Takes a list of named colors and lets users pick one.
|
|
4
4
|
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
Globally registered by the plugin.
|
|
8
|
-
|
|
9
5
|
## Usage
|
|
10
6
|
|
|
11
7
|
```vue
|
|
@@ -16,7 +12,6 @@ Globally registered by the plugin.
|
|
|
16
12
|
:colors="[
|
|
17
13
|
{ name: 'blue', color: '#2563eb', title: 'Blue' },
|
|
18
14
|
{ name: 'green', color: '#16a34a', title: 'Green' },
|
|
19
|
-
{ name: 'rose', color: '#e11d48', title: 'Rose' },
|
|
20
15
|
]"
|
|
21
16
|
align="left"
|
|
22
17
|
border-radius="50%"
|
|
@@ -44,12 +39,4 @@ const themeColor = ref('blue');
|
|
|
44
39
|
|
|
45
40
|
| Event | Payload | Description |
|
|
46
41
|
| --- | --- | --- |
|
|
47
|
-
| `update:modelValue` | `colorName` | v-model sync. |
|
|
48
|
-
|
|
49
|
-
## Slots
|
|
50
|
-
|
|
51
|
-
None.
|
|
52
|
-
|
|
53
|
-
## v-model
|
|
54
|
-
|
|
55
|
-
Yes (emits the color `name`, not the hex value).
|
|
42
|
+
| `update:modelValue` | `colorName` | v-model sync — emits the color `name`, not the hex value. |
|
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
# AbConfirmPopover — AI Reference
|
|
2
2
|
|
|
3
|
-
Confirmation popover with an async `onConfirm` handler and
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
Globally registered by the plugin.
|
|
3
|
+
Confirmation popover with an async `onConfirm` handler and built-in loader. Useful for destructive actions (delete, archive) that need inline confirmation without a modal.
|
|
8
4
|
|
|
9
5
|
## Usage
|
|
10
6
|
|
|
11
7
|
```vue
|
|
12
8
|
<template>
|
|
13
|
-
<!-- Recommended: async onConfirm handles loader automatically -->
|
|
14
9
|
<ab-confirm-popover
|
|
15
10
|
msg="Delete this record?"
|
|
16
11
|
icon="warning"
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
# AbCustomField — AI Reference
|
|
2
2
|
|
|
3
|
-
Dynamic form scaffold — takes a `fieldInputs` array describing multiple fields
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
Globally registered by the plugin.
|
|
3
|
+
Dynamic form scaffold — takes a `fieldInputs` array describing multiple fields and renders them all, binding values to an external `customProps` object.
|
|
8
4
|
|
|
9
5
|
## Usage
|
|
10
6
|
|
|
@@ -55,10 +51,6 @@ const fields = [
|
|
|
55
51
|
| `S` | Switch / toggle |
|
|
56
52
|
| `C` | Checkbox |
|
|
57
53
|
|
|
58
|
-
## Events
|
|
59
|
-
|
|
60
|
-
None at the component level — use VeeValidate on the parent form for submission and validation.
|
|
61
|
-
|
|
62
54
|
## Slots (scoped by field id)
|
|
63
55
|
|
|
64
56
|
For each field whose `id` is `xyz`, the following named slots are available:
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
# AbDarkModeToggler — AI Reference
|
|
2
2
|
|
|
3
|
-
Light
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
Globally registered by the plugin. Uses the `useTheme` composable internally.
|
|
3
|
+
Light/dark theme toggle. Pairs with the `useTheme()` composable — clicking flips the current theme.
|
|
8
4
|
|
|
9
5
|
## Usage
|
|
10
6
|
|
|
@@ -12,7 +8,6 @@ Globally registered by the plugin. Uses the `useTheme` composable internally.
|
|
|
12
8
|
<template>
|
|
13
9
|
<ab-dark-mode-toggler size="md" />
|
|
14
10
|
|
|
15
|
-
<!-- Custom icons -->
|
|
16
11
|
<ab-dark-mode-toggler size="lg">
|
|
17
12
|
<template #dark-icon><i class="bi bi-sun"></i></template>
|
|
18
13
|
<template #light-icon><i class="bi bi-moon-stars"></i></template>
|
|
@@ -26,10 +21,6 @@ Globally registered by the plugin. Uses the `useTheme` composable internally.
|
|
|
26
21
|
| --- | --- | --- | --- |
|
|
27
22
|
| `size` | `String` | `"md"` | One of: `xs`, `sm`, `md`, `lg`, `xl`, `2xl`. |
|
|
28
23
|
|
|
29
|
-
## Events
|
|
30
|
-
|
|
31
|
-
None.
|
|
32
|
-
|
|
33
24
|
## Slots
|
|
34
25
|
|
|
35
26
|
| Name | Description |
|
|
@@ -1,46 +1,16 @@
|
|
|
1
1
|
# AbDateTimePicker — AI Reference
|
|
2
2
|
|
|
3
|
-
Advanced date
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
Globally registered by the plugin. Requires peer dependency `v-calendar`:
|
|
8
|
-
|
|
9
|
-
```js
|
|
10
|
-
import 'v-calendar/style.css';
|
|
11
|
-
```
|
|
3
|
+
Advanced date/time/range picker built on `v-calendar`. Supports single-date, date-range, time-only, and datetime modes, with per-locale digit formatters and day/month name overrides.
|
|
12
4
|
|
|
13
5
|
## Usage
|
|
14
6
|
|
|
15
7
|
```vue
|
|
16
8
|
<template>
|
|
17
|
-
|
|
18
|
-
<ab-date-time-picker
|
|
19
|
-
v-model="date"
|
|
20
|
-
name="startDate"
|
|
21
|
-
label="Start date"
|
|
22
|
-
data-format="YYYY-MM-DD"
|
|
23
|
-
:min-date="new Date()"
|
|
24
|
-
/>
|
|
9
|
+
<ab-date-time-picker v-model="date" name="startDate" label="Start date" data-format="YYYY-MM-DD" :min-date="new Date()" />
|
|
25
10
|
|
|
26
|
-
|
|
27
|
-
<ab-date-time-picker
|
|
28
|
-
v-model="range"
|
|
29
|
-
name="period"
|
|
30
|
-
label="Reporting period"
|
|
31
|
-
is-range
|
|
32
|
-
range-separator=" → "
|
|
33
|
-
/>
|
|
11
|
+
<ab-date-time-picker v-model="range" name="period" label="Reporting period" is-range range-separator=" → " />
|
|
34
12
|
|
|
35
|
-
|
|
36
|
-
<ab-date-time-picker
|
|
37
|
-
v-model="datetime"
|
|
38
|
-
name="meetingAt"
|
|
39
|
-
label="Meeting at"
|
|
40
|
-
mode="datetime"
|
|
41
|
-
is24-hour
|
|
42
|
-
:minute-step="15"
|
|
43
|
-
/>
|
|
13
|
+
<ab-date-time-picker v-model="datetime" name="meetingAt" label="Meeting at" mode="datetime" is24-hour :minute-step="15" />
|
|
44
14
|
</template>
|
|
45
15
|
|
|
46
16
|
<script setup>
|
|
@@ -102,7 +72,3 @@ const datetime = ref(null);
|
|
|
102
72
|
| `icon` | — | Calendar / clock icon. |
|
|
103
73
|
| `hints` | — | Custom hints. |
|
|
104
74
|
| `picker-container` | `{ isRange, showInInput, value }` | Override the entire picker UI. |
|
|
105
|
-
|
|
106
|
-
## v-model
|
|
107
|
-
|
|
108
|
-
Yes.
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
# AbEasyModal — AI Reference
|
|
2
2
|
|
|
3
|
-
Lightweight wrapper around `AbModal` that renders a trigger element and exposes imperative `openModal()` / `closeModal()` methods. Ideal for quick
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
Globally registered by the plugin.
|
|
3
|
+
Lightweight wrapper around `AbModal` that renders a trigger element and exposes imperative `openModal()` / `closeModal()` methods. Ideal for quick dialogs without full VeeValidate form wiring.
|
|
8
4
|
|
|
9
5
|
## Usage
|
|
10
6
|
|
|
@@ -16,9 +12,7 @@ Globally registered by the plugin.
|
|
|
16
12
|
</template>
|
|
17
13
|
|
|
18
14
|
<template #title>Delete project?</template>
|
|
19
|
-
<template #body>
|
|
20
|
-
This cannot be undone.
|
|
21
|
-
</template>
|
|
15
|
+
<template #body>This cannot be undone.</template>
|
|
22
16
|
|
|
23
17
|
<template #footer="{ closeModal }">
|
|
24
18
|
<ab-button class="btn-outline-secondary" @click="closeModal">Cancel</ab-button>
|
package/.ai/ai_ref_AbField.md
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
# AbField — AI Reference
|
|
2
2
|
|
|
3
|
-
Polymorphic field wrapper — renders
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
Globally registered by the plugin.
|
|
3
|
+
Polymorphic field wrapper — renders text, textarea, select, multiselect, tag, checkbox, radio, toggle, or switch based on the `type` prop.
|
|
8
4
|
|
|
9
5
|
## Usage
|
|
10
6
|
|
|
@@ -90,7 +86,3 @@ Globally registered by the plugin.
|
|
|
90
86
|
| `helptext` | Custom help text. |
|
|
91
87
|
| `option` | Custom option rendering (select). |
|
|
92
88
|
| `singlelabel` | Custom single-value label (select). |
|
|
93
|
-
|
|
94
|
-
## v-model
|
|
95
|
-
|
|
96
|
-
Yes — supports `modelValue` / `update:modelValue`.
|
|
@@ -2,22 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
File upload input with drag-and-drop, size validation, and preview. Can render a default uploader UI or accept a custom one via slots.
|
|
4
4
|
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
Globally registered by the plugin.
|
|
8
|
-
|
|
9
5
|
## Usage
|
|
10
6
|
|
|
11
7
|
```vue
|
|
12
8
|
<template>
|
|
13
|
-
<ab-file-uploader
|
|
14
|
-
|
|
15
|
-
label="Upload avatar"
|
|
16
|
-
:max-size="1.5"
|
|
17
|
-
@on-select-files="handleFiles"
|
|
18
|
-
/>
|
|
19
|
-
|
|
20
|
-
<!-- Custom UI -->
|
|
9
|
+
<ab-file-uploader v-model="file" label="Upload avatar" :max-size="1.5" @on-select-files="handleFiles" />
|
|
10
|
+
|
|
21
11
|
<ab-file-uploader v-model="file" :max-size="5">
|
|
22
12
|
<template #dial>
|
|
23
13
|
<div class="my-drop-zone">Drop files here</div>
|
|
@@ -28,9 +18,7 @@ Globally registered by the plugin.
|
|
|
28
18
|
<script setup>
|
|
29
19
|
import { ref } from 'vue';
|
|
30
20
|
const file = ref(null);
|
|
31
|
-
function handleFiles(files) {
|
|
32
|
-
console.log('Selected files:', files);
|
|
33
|
-
}
|
|
21
|
+
function handleFiles(files) { console.log('Selected files:', files); }
|
|
34
22
|
</script>
|
|
35
23
|
```
|
|
36
24
|
|
|
@@ -57,7 +45,3 @@ function handleFiles(files) {
|
|
|
57
45
|
| `label` | Custom label. |
|
|
58
46
|
| `dial` | Custom uploader UI (replaces the default design). |
|
|
59
47
|
| `default` | Alternative custom UI slot. |
|
|
60
|
-
|
|
61
|
-
## v-model
|
|
62
|
-
|
|
63
|
-
Yes.
|
|
@@ -1,35 +1,22 @@
|
|
|
1
1
|
# AbFormCheck / AbRadioInput — AI Reference
|
|
2
2
|
|
|
3
|
-
Checkbox or radio group with card, segmented, and pill visual variants. `AbRadioInput` is an alias export of `AbFormCheck
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
Globally registered by the plugin.
|
|
3
|
+
Checkbox or radio group with card, segmented, and pill visual variants. `AbRadioInput` is an alias export of `AbFormCheck`.
|
|
8
4
|
|
|
9
5
|
## Usage
|
|
10
6
|
|
|
11
7
|
```vue
|
|
12
8
|
<template>
|
|
13
|
-
<!-- Checkbox group -->
|
|
14
9
|
<ab-form-check
|
|
15
10
|
v-model="selected"
|
|
16
11
|
name="features"
|
|
17
12
|
:options="[
|
|
18
13
|
{ val: 'a', title: 'Email reports' },
|
|
19
14
|
{ val: 'b', title: 'Slack notifications' },
|
|
20
|
-
{ val: 'c', title: 'SMS alerts' },
|
|
21
15
|
]"
|
|
22
16
|
label="Enable"
|
|
23
17
|
/>
|
|
24
18
|
|
|
25
|
-
|
|
26
|
-
<ab-form-check
|
|
27
|
-
v-model="plan"
|
|
28
|
-
type="radio"
|
|
29
|
-
name="plan"
|
|
30
|
-
variant="card"
|
|
31
|
-
:options="plans"
|
|
32
|
-
/>
|
|
19
|
+
<ab-form-check v-model="plan" type="radio" name="plan" variant="card" :options="plans" />
|
|
33
20
|
</template>
|
|
34
21
|
```
|
|
35
22
|
|
|
@@ -69,7 +56,3 @@ Globally registered by the plugin.
|
|
|
69
56
|
| `input-icon-{option.title}` | Per-option icon component slot. |
|
|
70
57
|
| `label-{option.title}` | Per-option label slot. |
|
|
71
58
|
| `description-{option.title}` | Per-option description slot. |
|
|
72
|
-
|
|
73
|
-
## v-model
|
|
74
|
-
|
|
75
|
-
Yes.
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
# AbImageRadioInput — AI Reference
|
|
2
2
|
|
|
3
|
-
Radio-group variant that renders visual image
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
Globally registered by the plugin.
|
|
3
|
+
Radio-group variant that renders visual image/icon tiles for each option. Useful for theme pickers, layout pickers, and other visual-first choices.
|
|
8
4
|
|
|
9
5
|
## Usage
|
|
10
6
|
|
|
@@ -57,7 +53,3 @@ Globally registered by the plugin.
|
|
|
57
53
|
| `icon_image` | `option` | Custom image/icon for each option. |
|
|
58
54
|
| `label` | `option` | Custom label rendering. |
|
|
59
55
|
| `label-{val}` | — | Custom label for a specific option by `val`. |
|
|
60
|
-
|
|
61
|
-
## v-model
|
|
62
|
-
|
|
63
|
-
Yes.
|