@appsbd/vue3-appsbd-ui 1.0.0 → 1.0.1
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_AbButton.md +1 -2
- package/.ai/ai_ref_AbCard.md +70 -53
- package/.ai/ai_ref_AbChart.md +87 -0
- package/.ai/ai_ref_AbDateTimePicker.md +3 -0
- package/.ai/ai_ref_AbField.md +96 -93
- package/.ai/ai_ref_AbInputField.md +74 -71
- package/.ai/ai_ref_AbInputTag.md +3 -0
- package/.ai/ai_ref_AbMultiSelect.md +3 -0
- package/.ai/ai_ref_AbProgressbar.md +9 -2
- package/AI_REFERENCE.md +53 -100
- package/design-system.md +403 -0
- 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/_common_variable.scss +2 -0
- package/dist/skins/violet.css +1 -1
- package/dist/style.css +1 -1
- package/dist/vue3-appsbd-ui.cjs.js +114 -41
- package/dist/vue3-appsbd-ui.es.js +27186 -4661
- package/package.json +10 -4
package/.ai/ai_ref_AbButton.md
CHANGED
|
@@ -22,7 +22,7 @@ No per-component import required.
|
|
|
22
22
|
<ab-button variant="primary">Save</ab-button>
|
|
23
23
|
|
|
24
24
|
<!-- With icon + divider -->
|
|
25
|
-
<ab-button
|
|
25
|
+
<ab-button variant="secondary" is-outline show-icon-divider>
|
|
26
26
|
<template #icon><i class="bi bi-plus-lg"></i></template>
|
|
27
27
|
New Item
|
|
28
28
|
</ab-button>
|
|
@@ -45,7 +45,6 @@ const isSaving = ref(false);
|
|
|
45
45
|
| --- | --- | --- | --- |
|
|
46
46
|
| `type` | `String` | `"button"` | Native button type (`button`, `submit`, `reset`). |
|
|
47
47
|
| `variant` | `String` | `"primary"` | Color variant (primary, secondary, success, danger, warning, info, light, dark). |
|
|
48
|
-
| `outlineVariant` | `String` | `"primary"` | Color variant applied when `isOutline` is true. |
|
|
49
48
|
| `size` | `String` | `"md"` | Button size (`xs`, `sm`, `md`, `lg`, `xl`, `xxl`). |
|
|
50
49
|
| `isOutline` | `Boolean` | `false` | Applies the outline style for the selected variant. |
|
|
51
50
|
| `isIconBtn` | `Boolean` | `false` | Formats the button styling for a single icon. |
|
package/.ai/ai_ref_AbCard.md
CHANGED
|
@@ -1,53 +1,70 @@
|
|
|
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
|
-
##
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
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`.
|
|
@@ -0,0 +1,87 @@
|
|
|
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.
|
|
@@ -83,6 +83,9 @@ const datetime = ref(null);
|
|
|
83
83
|
| `minuteStep` | `Number` | `1` | Minute increment. |
|
|
84
84
|
| `isLeftIconBorder` | `Boolean` | `false` | Border on prefix icon. |
|
|
85
85
|
| `isRightIconBorder` | `Boolean` | `false` | Border on suffix icon. |
|
|
86
|
+
| `isHideLabel` | `Boolean` | `false` | Hide the label visually. |
|
|
87
|
+
| `defaultIconPosition` | `String` | `"right"` | Position of the default calendar/clock icon. |
|
|
88
|
+
| `iconPosition` | `String` | `"right"` | Position of the custom `#icon` slot. |
|
|
86
89
|
|
|
87
90
|
## Events
|
|
88
91
|
|
package/.ai/ai_ref_AbField.md
CHANGED
|
@@ -1,93 +1,96 @@
|
|
|
1
|
-
# AbField — AI Reference
|
|
2
|
-
|
|
3
|
-
Polymorphic field wrapper — renders a text, textarea, select, multiselect, tag, checkbox, radio, toggle, or switch control based on the `type` prop. Use this when you want a single component to handle any form field type uniformly.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
Globally registered by the plugin.
|
|
8
|
-
|
|
9
|
-
## Usage
|
|
10
|
-
|
|
11
|
-
```vue
|
|
12
|
-
<template>
|
|
13
|
-
<ab-field type="text" v-model="form.name" name="name" label="Name" rules="required" />
|
|
14
|
-
|
|
15
|
-
<ab-field
|
|
16
|
-
type="select"
|
|
17
|
-
v-model="form.country"
|
|
18
|
-
name="country"
|
|
19
|
-
label="Country"
|
|
20
|
-
:options="countries"
|
|
21
|
-
label-key="title"
|
|
22
|
-
value-key="val"
|
|
23
|
-
searchable
|
|
24
|
-
/>
|
|
25
|
-
|
|
26
|
-
<ab-field
|
|
27
|
-
type="toggle"
|
|
28
|
-
v-model="form.notifications"
|
|
29
|
-
name="notifications"
|
|
30
|
-
title="Enable notifications"
|
|
31
|
-
description="Receive email updates"
|
|
32
|
-
/>
|
|
33
|
-
</template>
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Props
|
|
37
|
-
|
|
38
|
-
| Name | Type | Default | Description |
|
|
39
|
-
| --- | --- | --- | --- |
|
|
40
|
-
| `val` | `any` | `null` | Initial value (used when `modelValue` is empty). |
|
|
41
|
-
| `label` | `String` | **required** | Field label. |
|
|
42
|
-
| `name` | `String` | **required** | VeeValidate field name. |
|
|
43
|
-
| `type` | `String` | `"text"` | `text`, `email`, `password`, `number`, `url`, `textarea`, `select`, `multiselect`, `tag`, `checkbox`, `radio`, `toggle`, `switch`. |
|
|
44
|
-
| `prefix` | `String` | `""` | Prefix text/icon. |
|
|
45
|
-
| `postfix` | `String` | `""` | Postfix text/icon. |
|
|
46
|
-
| `modelValue` | `String \| Number \| Boolean \| Array \| Object` | `""` | Two-way-bound value. |
|
|
47
|
-
| `isCodeInput` | `Boolean` | `false` | Applies monospace styling. |
|
|
48
|
-
| `containerClass` | `String` | `""` | Wrapper class. |
|
|
49
|
-
| `maxlength` | `String \| Number` | `""` | Native maxlength. |
|
|
50
|
-
| `minlength` | `String \| Number` | `""` | Native minlength. |
|
|
51
|
-
| `placeholder` | `String` | `""` | Input placeholder. |
|
|
52
|
-
| `hints` | `String \| Array` | `""` | Helper text. |
|
|
53
|
-
| `rules` | `String \| Array` | `""` | VeeValidate rules. |
|
|
54
|
-
| `options` | `Array` | `[]` | Options for select / checkbox / radio. |
|
|
55
|
-
| `labelKey` | `String` | `"title"` | Option label property. |
|
|
56
|
-
| `valueKey` | `String` | `"val"` | Option value property. |
|
|
57
|
-
| `max` | `Number` | `-1` | Max selections (multiselect/tag); `-1` = unlimited. |
|
|
58
|
-
| `size` | `String` | `"md"` | Field size. |
|
|
59
|
-
| `object` | `Boolean` | `false` | Return full objects instead of values (multiselect). |
|
|
60
|
-
| `searchable` | `Boolean` | `false` | Enable search (select). |
|
|
61
|
-
| `description` | `String` | `""` | Secondary description. |
|
|
62
|
-
| `helptext` | `String` | `""` | Help text. |
|
|
63
|
-
| `isInline` | `Boolean` | `false` | Inline layout (checkbox/radio). |
|
|
64
|
-
| `trueValue` | `any` | `"Y"` | Toggle/switch on value. |
|
|
65
|
-
| `falseValue` | `any` | `"N"` | Toggle/switch off value. |
|
|
66
|
-
| `title` | `String \| null` | `null` | Toggle/switch title. |
|
|
67
|
-
| `isLeftIconBorder` | `Boolean` | `false` | Border on left icon. |
|
|
68
|
-
| `isRightIconBorder` | `Boolean` | `false` | Border on right icon. |
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
|
75
|
-
|
|
|
76
|
-
| `
|
|
77
|
-
| `
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
|
84
|
-
|
|
|
85
|
-
| `
|
|
86
|
-
| `
|
|
87
|
-
| `
|
|
88
|
-
| `
|
|
89
|
-
| `
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
1
|
+
# AbField — AI Reference
|
|
2
|
+
|
|
3
|
+
Polymorphic field wrapper — renders a text, textarea, select, multiselect, tag, checkbox, radio, toggle, or switch control based on the `type` prop. Use this when you want a single component to handle any form field type uniformly.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Globally registered by the plugin.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```vue
|
|
12
|
+
<template>
|
|
13
|
+
<ab-field type="text" v-model="form.name" name="name" label="Name" rules="required" />
|
|
14
|
+
|
|
15
|
+
<ab-field
|
|
16
|
+
type="select"
|
|
17
|
+
v-model="form.country"
|
|
18
|
+
name="country"
|
|
19
|
+
label="Country"
|
|
20
|
+
:options="countries"
|
|
21
|
+
label-key="title"
|
|
22
|
+
value-key="val"
|
|
23
|
+
searchable
|
|
24
|
+
/>
|
|
25
|
+
|
|
26
|
+
<ab-field
|
|
27
|
+
type="toggle"
|
|
28
|
+
v-model="form.notifications"
|
|
29
|
+
name="notifications"
|
|
30
|
+
title="Enable notifications"
|
|
31
|
+
description="Receive email updates"
|
|
32
|
+
/>
|
|
33
|
+
</template>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Props
|
|
37
|
+
|
|
38
|
+
| Name | Type | Default | Description |
|
|
39
|
+
| --- | --- | --- | --- |
|
|
40
|
+
| `val` | `any` | `null` | Initial value (used when `modelValue` is empty). |
|
|
41
|
+
| `label` | `String` | **required** | Field label. |
|
|
42
|
+
| `name` | `String` | **required** | VeeValidate field name. |
|
|
43
|
+
| `type` | `String` | `"text"` | `text`, `email`, `password`, `number`, `url`, `textarea`, `select`, `multiselect`, `tag`, `checkbox`, `radio`, `toggle`, `switch`. |
|
|
44
|
+
| `prefix` | `String` | `""` | Prefix text/icon. |
|
|
45
|
+
| `postfix` | `String` | `""` | Postfix text/icon. |
|
|
46
|
+
| `modelValue` | `String \| Number \| Boolean \| Array \| Object` | `""` | Two-way-bound value. |
|
|
47
|
+
| `isCodeInput` | `Boolean` | `false` | Applies monospace styling. |
|
|
48
|
+
| `containerClass` | `String` | `""` | Wrapper class. |
|
|
49
|
+
| `maxlength` | `String \| Number` | `""` | Native maxlength. |
|
|
50
|
+
| `minlength` | `String \| Number` | `""` | Native minlength. |
|
|
51
|
+
| `placeholder` | `String` | `""` | Input placeholder. |
|
|
52
|
+
| `hints` | `String \| Array` | `""` | Helper text. |
|
|
53
|
+
| `rules` | `String \| Array` | `""` | VeeValidate rules. |
|
|
54
|
+
| `options` | `Array` | `[]` | Options for select / checkbox / radio. |
|
|
55
|
+
| `labelKey` | `String` | `"title"` | Option label property. |
|
|
56
|
+
| `valueKey` | `String` | `"val"` | Option value property. |
|
|
57
|
+
| `max` | `Number` | `-1` | Max selections (multiselect/tag); `-1` = unlimited. |
|
|
58
|
+
| `size` | `String` | `"md"` | Field size. |
|
|
59
|
+
| `object` | `Boolean` | `false` | Return full objects instead of values (multiselect). |
|
|
60
|
+
| `searchable` | `Boolean` | `false` | Enable search (select). |
|
|
61
|
+
| `description` | `String` | `""` | Secondary description. |
|
|
62
|
+
| `helptext` | `String` | `""` | Help text. |
|
|
63
|
+
| `isInline` | `Boolean` | `false` | Inline layout (checkbox/radio). |
|
|
64
|
+
| `trueValue` | `any` | `"Y"` | Toggle/switch on value. |
|
|
65
|
+
| `falseValue` | `any` | `"N"` | Toggle/switch off value. |
|
|
66
|
+
| `title` | `String \| null` | `null` | Toggle/switch title. |
|
|
67
|
+
| `isLeftIconBorder` | `Boolean` | `false` | Border on left icon. |
|
|
68
|
+
| `isRightIconBorder` | `Boolean` | `false` | Border on right icon. |
|
|
69
|
+
| `isHideLabel` | `Boolean` | `false` | Hide the label visually. |
|
|
70
|
+
| `iconPosition` | `String` | `"right"` | Position of the custom `#icon` slot (`"left"`, `"right"`). |
|
|
71
|
+
|
|
72
|
+
## Events
|
|
73
|
+
|
|
74
|
+
| Event | Payload | Description |
|
|
75
|
+
| --- | --- | --- |
|
|
76
|
+
| `update:modelValue` | `value` | v-model sync. |
|
|
77
|
+
| `clear` | `event` | Multiselect field cleared. |
|
|
78
|
+
| `change` | `value` | Multiselect value changed. |
|
|
79
|
+
| `select` | `value` | Multiselect option selected. |
|
|
80
|
+
|
|
81
|
+
## Slots
|
|
82
|
+
|
|
83
|
+
| Name | Description |
|
|
84
|
+
| --- | --- |
|
|
85
|
+
| `label` | Custom label. |
|
|
86
|
+
| `prefix` | Custom prefix. |
|
|
87
|
+
| `icon` | Custom icon. |
|
|
88
|
+
| `postfix` | Custom postfix. |
|
|
89
|
+
| `description` | Custom description. |
|
|
90
|
+
| `helptext` | Custom help text. |
|
|
91
|
+
| `option` | Custom option rendering (select). |
|
|
92
|
+
| `singlelabel` | Custom single-value label (select). |
|
|
93
|
+
|
|
94
|
+
## v-model
|
|
95
|
+
|
|
96
|
+
Yes — supports `modelValue` / `update:modelValue`.
|
|
@@ -1,71 +1,74 @@
|
|
|
1
|
-
# AbInputField — AI Reference
|
|
2
|
-
|
|
3
|
-
Core text input with built-in VeeValidate integration, localized feedback, and prefix/postfix/hint slots. Use this for single-line text inputs; use `AbField` if you want a polymorphic field that can render selects, toggles, etc.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
Globally registered by the plugin. Peer dependencies: `vee-validate`, `@vee-validate/rules`.
|
|
8
|
-
|
|
9
|
-
## Usage
|
|
10
|
-
|
|
11
|
-
```vue
|
|
12
|
-
<template>
|
|
13
|
-
<ab-input-field
|
|
14
|
-
v-model="form.email"
|
|
15
|
-
name="email"
|
|
16
|
-
label="Email"
|
|
17
|
-
placeholder="you@example.com"
|
|
18
|
-
rules="required|email"
|
|
19
|
-
hints="We'll never share your email."
|
|
20
|
-
>
|
|
21
|
-
<template #prefix><i class="bi bi-envelope"></i></template>
|
|
22
|
-
</ab-input-field>
|
|
23
|
-
</template>
|
|
24
|
-
|
|
25
|
-
<script setup>
|
|
26
|
-
import { reactive } from 'vue';
|
|
27
|
-
const form = reactive({ email: '' });
|
|
28
|
-
</script>
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
## Props
|
|
32
|
-
|
|
33
|
-
| Name | Type | Default | Description |
|
|
34
|
-
| --- | --- | --- | --- |
|
|
35
|
-
| `modelValue` | `any` | `null` | Two-way-bound value. |
|
|
36
|
-
| `label` | `String` | `""` | Field label. |
|
|
37
|
-
| `placeholder` | `String` | `""` | Input placeholder. |
|
|
38
|
-
| `type` | `String` | `"text"` | Native input type (`text`, `email`, `password`, `number`, `tel`, …). |
|
|
39
|
-
| `name` | `String` | **required** | VeeValidate field name. |
|
|
40
|
-
| `isCodeInput` | `Boolean` | `false` | Applies monospace / code-input styling. |
|
|
41
|
-
| `rules` | `String \| Object` | `""` | VeeValidate rules. |
|
|
42
|
-
| `containerClass` | `String` | `"mb-3"` | Class on the wrapper `<div>`. |
|
|
43
|
-
| `hints` | `String` | `""` | Helper text beneath the input. |
|
|
44
|
-
| `prefix` | `String` | `""` | Prefix text/icon (shortcut for `#prefix` slot). |
|
|
45
|
-
| `postfix` | `String` | `""` | Postfix text/icon. |
|
|
46
|
-
| `maxlength` | `any` | `null` | Native `maxlength`. |
|
|
47
|
-
| `isLeftIconBorder` | `Boolean` | `false` | Renders border between the prefix icon and the input. |
|
|
48
|
-
| `isRightIconBorder` | `Boolean` | `false` | Renders border between the postfix icon and the input. |
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
|
55
|
-
|
|
|
56
|
-
| `
|
|
57
|
-
| `
|
|
58
|
-
| `
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
|
65
|
-
|
|
|
66
|
-
| `
|
|
67
|
-
| `
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
1
|
+
# AbInputField — AI Reference
|
|
2
|
+
|
|
3
|
+
Core text input with built-in VeeValidate integration, localized feedback, and prefix/postfix/hint slots. Use this for single-line text inputs; use `AbField` if you want a polymorphic field that can render selects, toggles, etc.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Globally registered by the plugin. Peer dependencies: `vee-validate`, `@vee-validate/rules`.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```vue
|
|
12
|
+
<template>
|
|
13
|
+
<ab-input-field
|
|
14
|
+
v-model="form.email"
|
|
15
|
+
name="email"
|
|
16
|
+
label="Email"
|
|
17
|
+
placeholder="you@example.com"
|
|
18
|
+
rules="required|email"
|
|
19
|
+
hints="We'll never share your email."
|
|
20
|
+
>
|
|
21
|
+
<template #prefix><i class="bi bi-envelope"></i></template>
|
|
22
|
+
</ab-input-field>
|
|
23
|
+
</template>
|
|
24
|
+
|
|
25
|
+
<script setup>
|
|
26
|
+
import { reactive } from 'vue';
|
|
27
|
+
const form = reactive({ email: '' });
|
|
28
|
+
</script>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Props
|
|
32
|
+
|
|
33
|
+
| Name | Type | Default | Description |
|
|
34
|
+
| --- | --- | --- | --- |
|
|
35
|
+
| `modelValue` | `any` | `null` | Two-way-bound value. |
|
|
36
|
+
| `label` | `String` | `""` | Field label. |
|
|
37
|
+
| `placeholder` | `String` | `""` | Input placeholder. |
|
|
38
|
+
| `type` | `String` | `"text"` | Native input type (`text`, `email`, `password`, `number`, `tel`, …). |
|
|
39
|
+
| `name` | `String` | **required** | VeeValidate field name. |
|
|
40
|
+
| `isCodeInput` | `Boolean` | `false` | Applies monospace / code-input styling. |
|
|
41
|
+
| `rules` | `String \| Object` | `""` | VeeValidate rules. |
|
|
42
|
+
| `containerClass` | `String` | `"mb-3"` | Class on the wrapper `<div>`. |
|
|
43
|
+
| `hints` | `String` | `""` | Helper text beneath the input. |
|
|
44
|
+
| `prefix` | `String` | `""` | Prefix text/icon (shortcut for `#prefix` slot). |
|
|
45
|
+
| `postfix` | `String` | `""` | Postfix text/icon. |
|
|
46
|
+
| `maxlength` | `any` | `null` | Native `maxlength`. |
|
|
47
|
+
| `isLeftIconBorder` | `Boolean` | `false` | Renders border between the prefix icon and the input. |
|
|
48
|
+
| `isRightIconBorder` | `Boolean` | `false` | Renders border between the postfix icon and the input. |
|
|
49
|
+
| `isHideLabel` | `Boolean` | `false` | Hide the label visually. |
|
|
50
|
+
| `iconPosition` | `String` | `"right"` | Position of the custom `#icon` slot (`"left"`, `"right"`). |
|
|
51
|
+
|
|
52
|
+
## Events
|
|
53
|
+
|
|
54
|
+
| Event | Payload | Description |
|
|
55
|
+
| --- | --- | --- |
|
|
56
|
+
| `update:modelValue` | `value` | v-model sync. |
|
|
57
|
+
| `input` | `value` | Fired on input. |
|
|
58
|
+
| `keyup` | `KeyboardEvent` | Forwarded native event. |
|
|
59
|
+
| `keydown` | `KeyboardEvent` | Forwarded native event. |
|
|
60
|
+
| `paste` | `ClipboardEvent` | Forwarded native event. |
|
|
61
|
+
|
|
62
|
+
## Slots
|
|
63
|
+
|
|
64
|
+
| Name | Description |
|
|
65
|
+
| --- | --- |
|
|
66
|
+
| `label` | Custom label content. |
|
|
67
|
+
| `prefix` | Prefix icon / text. |
|
|
68
|
+
| `icon` | Custom icon inside the input field. |
|
|
69
|
+
| `postfix` | Postfix icon / text. |
|
|
70
|
+
| `hints` | Helper text (overrides `hints` prop). |
|
|
71
|
+
|
|
72
|
+
## v-model
|
|
73
|
+
|
|
74
|
+
Yes — `modelValue` + `update:modelValue`.
|
package/.ai/ai_ref_AbInputTag.md
CHANGED
|
@@ -52,6 +52,8 @@ const skills = ref([]);
|
|
|
52
52
|
| `max` | `Number` | `0` | Max number of tags (0 = unlimited). |
|
|
53
53
|
| `isLeftIconBorder` | `Boolean` | `false` | Border on prefix icon. |
|
|
54
54
|
| `isRightIconBorder` | `Boolean` | `false` | Border on postfix icon. |
|
|
55
|
+
| `isHideLabel` | `Boolean` | `false` | Hide the label visually. |
|
|
56
|
+
| `iconPosition` | `String` | `"right"` | Position of the custom `#icon` slot (`"left"`, `"right"`). |
|
|
55
57
|
|
|
56
58
|
## Events
|
|
57
59
|
|
|
@@ -65,6 +67,7 @@ const skills = ref([]);
|
|
|
65
67
|
| --- | --- |
|
|
66
68
|
| `label` | Custom label. |
|
|
67
69
|
| `prefix` | Prefix icon/text. |
|
|
70
|
+
| `icon` | Custom icon inside the input. |
|
|
68
71
|
| `postfix` | Postfix icon/text. |
|
|
69
72
|
| `hints` | Custom hints. |
|
|
70
73
|
|
|
@@ -77,6 +77,8 @@ Globally registered by the plugin.
|
|
|
77
77
|
| `appendToBody` | `Boolean` | `true` | Teleport the dropdown to `<body>`. |
|
|
78
78
|
| `isLeftIconBorder` | `Boolean` | `false` | Border on prefix icon. |
|
|
79
79
|
| `isRightIconBorder` | `Boolean` | `false` | Border on postfix icon. |
|
|
80
|
+
| `isHideLabel` | `Boolean` | `false` | Hide the label visually. |
|
|
81
|
+
| `iconPosition` | `String` | `"right"` | Position of the custom `#icon` slot (`"left"`, `"right"`). |
|
|
80
82
|
|
|
81
83
|
## Events
|
|
82
84
|
|
|
@@ -96,6 +98,7 @@ Globally registered by the plugin.
|
|
|
96
98
|
| --- | --- | --- |
|
|
97
99
|
| `label` | — | Custom label. |
|
|
98
100
|
| `prefix` | — | Prefix slot. |
|
|
101
|
+
| `icon` | — | Custom icon slot. |
|
|
99
102
|
| `postfix` | — | Postfix slot. |
|
|
100
103
|
| `singlelabel` | `value` | Custom single-mode label rendering. |
|
|
101
104
|
| `option` | `{ option, isSelected }` | Custom option rendering. |
|
|
@@ -32,6 +32,13 @@ None.
|
|
|
32
32
|
|
|
33
33
|
## Slots
|
|
34
34
|
|
|
35
|
-
| Name | Description |
|
|
36
|
-
| --- | --- |
|
|
37
35
|
| `default` | Custom label rendered alongside the bar. The CSS custom property `--progress-value` is exposed for advanced positioning. |
|
|
36
|
+
|
|
37
|
+
## Position Classes
|
|
38
|
+
|
|
39
|
+
Apply these classes to move the label:
|
|
40
|
+
- `progress-right`: Label to the right of the bar.
|
|
41
|
+
- `progress-right-top`: Label to the right-top (floating above).
|
|
42
|
+
- `progress-right-bottom`: Label to the right-bottom (floating below).
|
|
43
|
+
- `progress-value-top`: Label floating above the current progress indicator.
|
|
44
|
+
- `progress-value-bottom`: Label floating below the current progress indicator.
|