@appsbd/vue3-appsbd-ui 1.0.1 → 1.0.2
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 +9 -1
- package/.ai/ai_ref_AbBadge.md +6 -5
- package/.ai/ai_ref_AbButton.md +8 -8
- package/.ai/ai_ref_AbCarousel.md +47 -47
- package/.ai/ai_ref_AbConfirmPopover.md +59 -59
- package/.ai/ai_ref_AbDarkModeToggler.md +42 -42
- package/.ai/ai_ref_AbEasyModal.md +62 -62
- package/.ai/ai_ref_AbFileUploader.md +63 -63
- package/.ai/ai_ref_AbFilterPanel.md +71 -71
- package/.ai/ai_ref_AbFormCheck.md +75 -75
- package/.ai/ai_ref_AbImageRadioInput.md +63 -63
- package/.ai/ai_ref_AbKbd.md +35 -35
- package/.ai/ai_ref_AbKbdGroup.md +33 -33
- package/.ai/ai_ref_AbModal.md +103 -103
- package/.ai/ai_ref_AbMultiSelect.md +1 -0
- package/.ai/ai_ref_AbNumberField.md +84 -84
- package/.ai/ai_ref_AbPopover.md +64 -64
- package/.ai/ai_ref_AbPricingCard.md +64 -64
- package/.ai/ai_ref_AbPricingContainer.md +49 -49
- package/.ai/ai_ref_AbPricingTable.md +72 -72
- package/.ai/ai_ref_AbProgressbar.md +44 -44
- package/.ai/ai_ref_AbScrollbar.md +48 -48
- package/.ai/ai_ref_AbSettingsForm.md +54 -54
- package/.ai/ai_ref_AbSideMenuItem.md +58 -58
- package/.ai/ai_ref_AbSidebar.md +70 -70
- package/.ai/ai_ref_AbSkeleton.md +41 -41
- package/.ai/ai_ref_AbSlider.md +71 -71
- package/.ai/ai_ref_AbTab.md +38 -38
- package/.ai/ai_ref_AbTable.md +59 -59
- package/.ai/ai_ref_AbTabs.md +47 -47
- package/.ai/ai_ref_AbToggle.md +65 -65
- package/.ai/ai_ref_AbTooltip.md +53 -53
- package/.ai/ai_ref_AbWizard.md +77 -77
- package/.ai/ai_ref_AbWizardStep.md +48 -48
- package/.ai/ai_ref_abEventBus.md +94 -0
- package/.ai/ai_ref_abRequestParam.md +55 -0
- package/.ai/ai_ref_abTranslate.md +33 -0
- package/.ai/ai_ref_abVeeRules.md +42 -0
- package/.ai/ai_ref_useAlert.md +63 -0
- package/.ai/ai_ref_useFileValidator.md +46 -0
- package/.ai/ai_ref_useResponsive.md +55 -0
- package/.ai/ai_ref_useTheme.md +39 -0
- package/.ai/ai_ref_useToast.md +42 -0
- package/AI_REFERENCE.md +16 -13
- package/design-system.md +403 -403
- package/dist/skins/red.scss +3 -3
- package/dist/skins/themes/_red.scss +6 -6
- package/dist/style.css +1 -1
- package/dist/vue3-appsbd-ui.cjs.js +24 -24
- package/dist/vue3-appsbd-ui.es.js +943 -902
- package/package.json +1 -1
- package/readme.md +136 -136
|
@@ -1,71 +1,71 @@
|
|
|
1
|
-
# AbFilterPanel — AI Reference
|
|
2
|
-
|
|
3
|
-
Advanced filter panel for list and table views. Supports quick/advance modes, single-field search, date ranges, and an optional QR/barcode scan button.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
Globally registered by the plugin.
|
|
8
|
-
|
|
9
|
-
## Usage
|
|
10
|
-
|
|
11
|
-
```vue
|
|
12
|
-
<template>
|
|
13
|
-
<ab-filter-panel
|
|
14
|
-
:filter-options="filterOptions"
|
|
15
|
-
is-advance
|
|
16
|
-
is-searchable
|
|
17
|
-
size="sm"
|
|
18
|
-
@search-filter="handleSearch"
|
|
19
|
-
@reset="handleReset"
|
|
20
|
-
/>
|
|
21
|
-
</template>
|
|
22
|
-
|
|
23
|
-
<script setup>
|
|
24
|
-
const filterOptions = [
|
|
25
|
-
{ propName: 'name', label: 'Name', type: 'text' },
|
|
26
|
-
{ propName: 'status', label: 'Status', type: 'select', options: [...] },
|
|
27
|
-
{ propName: 'createdAt', label: 'Created', type: 'daterange' },
|
|
28
|
-
];
|
|
29
|
-
|
|
30
|
-
function handleSearch(data) {
|
|
31
|
-
// data: [{ propName, operators, value }, ...]
|
|
32
|
-
}
|
|
33
|
-
</script>
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Props
|
|
37
|
-
|
|
38
|
-
| Name | Type | Default | Description |
|
|
39
|
-
| --- | --- | --- | --- |
|
|
40
|
-
| `isAdvance` | `Boolean` | `false` | Show all filters in an expanded layout. |
|
|
41
|
-
| `isQuickAdvance` | `Boolean` | `false` | Quick advance mode. |
|
|
42
|
-
| `isSingle` | `Boolean` | `false` | Single-field search mode. |
|
|
43
|
-
| `isAllowed` | `Boolean` | `false` | Permission flag consumed by the template. |
|
|
44
|
-
| `canScan` | `Boolean` | `false` | Show a QR / barcode scan button. |
|
|
45
|
-
| `filterOptions` | `Array` | `[]` | Filter field definitions. |
|
|
46
|
-
| `scanProps` | `String` | `""` | Property name to apply scan result to. |
|
|
47
|
-
| `showScanFld` | `Boolean` | `false` | Force-show the scan field. |
|
|
48
|
-
| `showDrGroupText` | `Boolean` | `true` | Show date-range group label. |
|
|
49
|
-
| `dateFormat` | `String` | `"MMM DD,YYYY"` | Date display format. |
|
|
50
|
-
| `isSearchable` | `Boolean` | `false` | Allow searching within option lists. |
|
|
51
|
-
| `isMaxDate` | `Boolean` | `true` | Limit date pickers to today as max. |
|
|
52
|
-
| `size` | `String` | `"xs"` | Control size. |
|
|
53
|
-
| `advanceSearchInputContainerClass` | `String` | `"col-6"` | Grid column class for inputs in advance mode. |
|
|
54
|
-
| `isQuickAdvanceAutoSearch` | `Boolean` | `false` | Fire search automatically on field change (quick advance). |
|
|
55
|
-
|
|
56
|
-
## Events
|
|
57
|
-
|
|
58
|
-
| Event | Payload | Description |
|
|
59
|
-
| --- | --- | --- |
|
|
60
|
-
| `searchFilter` | `Array<{ propName, operators, value }>` | User triggered a search. |
|
|
61
|
-
| `reset` | — | Filter reset clicked. |
|
|
62
|
-
| `ChangeSearchMode` | `showScan: Boolean` | Toggled between search and scan modes. |
|
|
63
|
-
|
|
64
|
-
## Slots
|
|
65
|
-
|
|
66
|
-
| Name | Description |
|
|
67
|
-
| --- | --- |
|
|
68
|
-
| `prefix` | Filter prefix. |
|
|
69
|
-
| `postfix` | Filter postfix. |
|
|
70
|
-
| `icon` | Filter icon. |
|
|
71
|
-
| `hints` | Helper text. |
|
|
1
|
+
# AbFilterPanel — AI Reference
|
|
2
|
+
|
|
3
|
+
Advanced filter panel for list and table views. Supports quick/advance modes, single-field search, date ranges, and an optional QR/barcode scan button.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Globally registered by the plugin.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```vue
|
|
12
|
+
<template>
|
|
13
|
+
<ab-filter-panel
|
|
14
|
+
:filter-options="filterOptions"
|
|
15
|
+
is-advance
|
|
16
|
+
is-searchable
|
|
17
|
+
size="sm"
|
|
18
|
+
@search-filter="handleSearch"
|
|
19
|
+
@reset="handleReset"
|
|
20
|
+
/>
|
|
21
|
+
</template>
|
|
22
|
+
|
|
23
|
+
<script setup>
|
|
24
|
+
const filterOptions = [
|
|
25
|
+
{ propName: 'name', label: 'Name', type: 'text' },
|
|
26
|
+
{ propName: 'status', label: 'Status', type: 'select', options: [...] },
|
|
27
|
+
{ propName: 'createdAt', label: 'Created', type: 'daterange' },
|
|
28
|
+
];
|
|
29
|
+
|
|
30
|
+
function handleSearch(data) {
|
|
31
|
+
// data: [{ propName, operators, value }, ...]
|
|
32
|
+
}
|
|
33
|
+
</script>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Props
|
|
37
|
+
|
|
38
|
+
| Name | Type | Default | Description |
|
|
39
|
+
| --- | --- | --- | --- |
|
|
40
|
+
| `isAdvance` | `Boolean` | `false` | Show all filters in an expanded layout. |
|
|
41
|
+
| `isQuickAdvance` | `Boolean` | `false` | Quick advance mode. |
|
|
42
|
+
| `isSingle` | `Boolean` | `false` | Single-field search mode. |
|
|
43
|
+
| `isAllowed` | `Boolean` | `false` | Permission flag consumed by the template. |
|
|
44
|
+
| `canScan` | `Boolean` | `false` | Show a QR / barcode scan button. |
|
|
45
|
+
| `filterOptions` | `Array` | `[]` | Filter field definitions. |
|
|
46
|
+
| `scanProps` | `String` | `""` | Property name to apply scan result to. |
|
|
47
|
+
| `showScanFld` | `Boolean` | `false` | Force-show the scan field. |
|
|
48
|
+
| `showDrGroupText` | `Boolean` | `true` | Show date-range group label. |
|
|
49
|
+
| `dateFormat` | `String` | `"MMM DD,YYYY"` | Date display format. |
|
|
50
|
+
| `isSearchable` | `Boolean` | `false` | Allow searching within option lists. |
|
|
51
|
+
| `isMaxDate` | `Boolean` | `true` | Limit date pickers to today as max. |
|
|
52
|
+
| `size` | `String` | `"xs"` | Control size. |
|
|
53
|
+
| `advanceSearchInputContainerClass` | `String` | `"col-6"` | Grid column class for inputs in advance mode. |
|
|
54
|
+
| `isQuickAdvanceAutoSearch` | `Boolean` | `false` | Fire search automatically on field change (quick advance). |
|
|
55
|
+
|
|
56
|
+
## Events
|
|
57
|
+
|
|
58
|
+
| Event | Payload | Description |
|
|
59
|
+
| --- | --- | --- |
|
|
60
|
+
| `searchFilter` | `Array<{ propName, operators, value }>` | User triggered a search. |
|
|
61
|
+
| `reset` | — | Filter reset clicked. |
|
|
62
|
+
| `ChangeSearchMode` | `showScan: Boolean` | Toggled between search and scan modes. |
|
|
63
|
+
|
|
64
|
+
## Slots
|
|
65
|
+
|
|
66
|
+
| Name | Description |
|
|
67
|
+
| --- | --- |
|
|
68
|
+
| `prefix` | Filter prefix. |
|
|
69
|
+
| `postfix` | Filter postfix. |
|
|
70
|
+
| `icon` | Filter icon. |
|
|
71
|
+
| `hints` | Helper text. |
|
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
# AbFormCheck / AbRadioInput — AI Reference
|
|
2
|
-
|
|
3
|
-
Checkbox or radio group with card, segmented, and pill visual variants. `AbRadioInput` is an alias export of `AbFormCheck` — both register to the same component.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
Globally registered by the plugin.
|
|
8
|
-
|
|
9
|
-
## Usage
|
|
10
|
-
|
|
11
|
-
```vue
|
|
12
|
-
<template>
|
|
13
|
-
<!-- Checkbox group -->
|
|
14
|
-
<ab-form-check
|
|
15
|
-
v-model="selected"
|
|
16
|
-
name="features"
|
|
17
|
-
:options="[
|
|
18
|
-
{ val: 'a', title: 'Email reports' },
|
|
19
|
-
{ val: 'b', title: 'Slack notifications' },
|
|
20
|
-
{ val: 'c', title: 'SMS alerts' },
|
|
21
|
-
]"
|
|
22
|
-
label="Enable"
|
|
23
|
-
/>
|
|
24
|
-
|
|
25
|
-
<!-- Radio group — card variant -->
|
|
26
|
-
<ab-form-check
|
|
27
|
-
v-model="plan"
|
|
28
|
-
type="radio"
|
|
29
|
-
name="plan"
|
|
30
|
-
variant="card"
|
|
31
|
-
:options="plans"
|
|
32
|
-
/>
|
|
33
|
-
</template>
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Props
|
|
37
|
-
|
|
38
|
-
| Name | Type | Default | Description |
|
|
39
|
-
| --- | --- | --- | --- |
|
|
40
|
-
| `modelValue` | `any` | — | v-model binding (array for checkboxes, single value for radio). |
|
|
41
|
-
| `label` | `String \| null` | `null` | Group label. |
|
|
42
|
-
| `rules` | `String` | `""` | VeeValidate rules. |
|
|
43
|
-
| `val` | `any` | `null` | Initial value. |
|
|
44
|
-
| `type` | `String` | `"checkbox"` | `"checkbox"` or `"radio"`. |
|
|
45
|
-
| `isInline` | `Boolean` | `false` | Render options inline. |
|
|
46
|
-
| `options` | `Array` | `[]` | Each: `{ val, title, description?, icon?, img_src?, iconComponent?, disable? }`. |
|
|
47
|
-
| `name` | `String` | **required** | Field name. |
|
|
48
|
-
| `limit` | `Number` | `0` | Max selections (0 = unlimited). |
|
|
49
|
-
| `containerClass` | `String` | `"mb-3"` | Wrapper class. |
|
|
50
|
-
| `size` | `String` | `"md"` | Control size. |
|
|
51
|
-
| `iconSize` | `String` | `"24px"` | Icon size (when option has an icon). |
|
|
52
|
-
| `iconGap` | `String` | `"10px"` | Gap between icon and label. |
|
|
53
|
-
| `variant` | `String` | `"default"` | `default`, `card`, `segmented`, `pill`. |
|
|
54
|
-
|
|
55
|
-
## Events
|
|
56
|
-
|
|
57
|
-
| Event | Payload | Description |
|
|
58
|
-
| --- | --- | --- |
|
|
59
|
-
| `update:modelValue` | `value` | v-model sync. |
|
|
60
|
-
|
|
61
|
-
## Slots
|
|
62
|
-
|
|
63
|
-
| Name | Description |
|
|
64
|
-
| --- | --- |
|
|
65
|
-
| `label` | Group label. |
|
|
66
|
-
| `description` | Group description. |
|
|
67
|
-
| `help-text` | Helper text. |
|
|
68
|
-
| `input-img-{option.title}` | Per-option image slot. |
|
|
69
|
-
| `input-icon-{option.title}` | Per-option icon component slot. |
|
|
70
|
-
| `label-{option.title}` | Per-option label slot. |
|
|
71
|
-
| `description-{option.title}` | Per-option description slot. |
|
|
72
|
-
|
|
73
|
-
## v-model
|
|
74
|
-
|
|
75
|
-
Yes.
|
|
1
|
+
# AbFormCheck / AbRadioInput — AI Reference
|
|
2
|
+
|
|
3
|
+
Checkbox or radio group with card, segmented, and pill visual variants. `AbRadioInput` is an alias export of `AbFormCheck` — both register to the same component.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Globally registered by the plugin.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```vue
|
|
12
|
+
<template>
|
|
13
|
+
<!-- Checkbox group -->
|
|
14
|
+
<ab-form-check
|
|
15
|
+
v-model="selected"
|
|
16
|
+
name="features"
|
|
17
|
+
:options="[
|
|
18
|
+
{ val: 'a', title: 'Email reports' },
|
|
19
|
+
{ val: 'b', title: 'Slack notifications' },
|
|
20
|
+
{ val: 'c', title: 'SMS alerts' },
|
|
21
|
+
]"
|
|
22
|
+
label="Enable"
|
|
23
|
+
/>
|
|
24
|
+
|
|
25
|
+
<!-- Radio group — card variant -->
|
|
26
|
+
<ab-form-check
|
|
27
|
+
v-model="plan"
|
|
28
|
+
type="radio"
|
|
29
|
+
name="plan"
|
|
30
|
+
variant="card"
|
|
31
|
+
:options="plans"
|
|
32
|
+
/>
|
|
33
|
+
</template>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Props
|
|
37
|
+
|
|
38
|
+
| Name | Type | Default | Description |
|
|
39
|
+
| --- | --- | --- | --- |
|
|
40
|
+
| `modelValue` | `any` | — | v-model binding (array for checkboxes, single value for radio). |
|
|
41
|
+
| `label` | `String \| null` | `null` | Group label. |
|
|
42
|
+
| `rules` | `String` | `""` | VeeValidate rules. |
|
|
43
|
+
| `val` | `any` | `null` | Initial value. |
|
|
44
|
+
| `type` | `String` | `"checkbox"` | `"checkbox"` or `"radio"`. |
|
|
45
|
+
| `isInline` | `Boolean` | `false` | Render options inline. |
|
|
46
|
+
| `options` | `Array` | `[]` | Each: `{ val, title, description?, icon?, img_src?, iconComponent?, disable? }`. |
|
|
47
|
+
| `name` | `String` | **required** | Field name. |
|
|
48
|
+
| `limit` | `Number` | `0` | Max selections (0 = unlimited). |
|
|
49
|
+
| `containerClass` | `String` | `"mb-3"` | Wrapper class. |
|
|
50
|
+
| `size` | `String` | `"md"` | Control size. |
|
|
51
|
+
| `iconSize` | `String` | `"24px"` | Icon size (when option has an icon). |
|
|
52
|
+
| `iconGap` | `String` | `"10px"` | Gap between icon and label. |
|
|
53
|
+
| `variant` | `String` | `"default"` | `default`, `card`, `segmented`, `pill`. |
|
|
54
|
+
|
|
55
|
+
## Events
|
|
56
|
+
|
|
57
|
+
| Event | Payload | Description |
|
|
58
|
+
| --- | --- | --- |
|
|
59
|
+
| `update:modelValue` | `value` | v-model sync. |
|
|
60
|
+
|
|
61
|
+
## Slots
|
|
62
|
+
|
|
63
|
+
| Name | Description |
|
|
64
|
+
| --- | --- |
|
|
65
|
+
| `label` | Group label. |
|
|
66
|
+
| `description` | Group description. |
|
|
67
|
+
| `help-text` | Helper text. |
|
|
68
|
+
| `input-img-{option.title}` | Per-option image slot. |
|
|
69
|
+
| `input-icon-{option.title}` | Per-option icon component slot. |
|
|
70
|
+
| `label-{option.title}` | Per-option label slot. |
|
|
71
|
+
| `description-{option.title}` | Per-option description slot. |
|
|
72
|
+
|
|
73
|
+
## v-model
|
|
74
|
+
|
|
75
|
+
Yes.
|
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
# AbImageRadioInput — AI Reference
|
|
2
|
-
|
|
3
|
-
Radio-group variant that renders visual image / icon tiles for each option. Useful for theme pickers, layout pickers, and other visual-first choices.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
Globally registered by the plugin.
|
|
8
|
-
|
|
9
|
-
## Usage
|
|
10
|
-
|
|
11
|
-
```vue
|
|
12
|
-
<template>
|
|
13
|
-
<ab-image-radio-input
|
|
14
|
-
v-model="theme"
|
|
15
|
-
:options="[
|
|
16
|
-
{ val: 'light', label: 'Light', img_src: '/theme-light.png' },
|
|
17
|
-
{ val: 'dark', label: 'Dark', img_src: '/theme-dark.png' },
|
|
18
|
-
{ val: 'system', label: 'System', icon: 'bi bi-laptop' },
|
|
19
|
-
]"
|
|
20
|
-
/>
|
|
21
|
-
</template>
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## Props
|
|
25
|
-
|
|
26
|
-
| Name | Type | Default | Description |
|
|
27
|
-
| --- | --- | --- | --- |
|
|
28
|
-
| `modelValue` | `any` | — | v-model binding. |
|
|
29
|
-
| `width` | `String` | `"auto"` | Option width. |
|
|
30
|
-
| `height` | `String` | `"auto"` | Option height. |
|
|
31
|
-
| `maxWidth` | `String` | `"inherit"` | Max width. |
|
|
32
|
-
| `maxImgWidth` | `String` | `"50%"` | Image max width. |
|
|
33
|
-
| `borderRadius` | `String` | `"5px"` | Option border radius. |
|
|
34
|
-
| `margin` | `String` | `"0 15px 15px 0"` | Option margin. |
|
|
35
|
-
| `padding` | `String` | `"10px"` | Option padding. |
|
|
36
|
-
| `selectorTop` | `String` | `"5px"` | Position of the checkmark indicator (top). |
|
|
37
|
-
| `selectorLeft` | `String` | `"5px"` | Position of the checkmark indicator (left). |
|
|
38
|
-
| `selectorColor` | `String` | `""` | Checkmark color. |
|
|
39
|
-
| `iconSize` | `String` | `"inherit"` | Option icon size. |
|
|
40
|
-
| `options` | `Array` | `[]` | Option objects — see shape below. |
|
|
41
|
-
| `isInline` | `Boolean` | `false` | Inline (row) layout. |
|
|
42
|
-
| `optionClass` | `String` | `""` | Class for each option wrapper. |
|
|
43
|
-
| `labelBorder` | `String` | `"1px solid transparent"` | Option border. |
|
|
44
|
-
|
|
45
|
-
**Option shape**: `{ val, label?, img_src?, icon?, iconComponent?, icon_ctnr_class?, class? }`
|
|
46
|
-
|
|
47
|
-
## Events
|
|
48
|
-
|
|
49
|
-
| Event | Payload | Description |
|
|
50
|
-
| --- | --- | --- |
|
|
51
|
-
| `update:modelValue` | `value` | v-model sync. |
|
|
52
|
-
|
|
53
|
-
## Slots
|
|
54
|
-
|
|
55
|
-
| Name | Scope | Description |
|
|
56
|
-
| --- | --- | --- |
|
|
57
|
-
| `icon_image` | `option` | Custom image/icon for each option. |
|
|
58
|
-
| `label` | `option` | Custom label rendering. |
|
|
59
|
-
| `label-{val}` | — | Custom label for a specific option by `val`. |
|
|
60
|
-
|
|
61
|
-
## v-model
|
|
62
|
-
|
|
63
|
-
Yes.
|
|
1
|
+
# AbImageRadioInput — AI Reference
|
|
2
|
+
|
|
3
|
+
Radio-group variant that renders visual image / icon tiles for each option. Useful for theme pickers, layout pickers, and other visual-first choices.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Globally registered by the plugin.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```vue
|
|
12
|
+
<template>
|
|
13
|
+
<ab-image-radio-input
|
|
14
|
+
v-model="theme"
|
|
15
|
+
:options="[
|
|
16
|
+
{ val: 'light', label: 'Light', img_src: '/theme-light.png' },
|
|
17
|
+
{ val: 'dark', label: 'Dark', img_src: '/theme-dark.png' },
|
|
18
|
+
{ val: 'system', label: 'System', icon: 'bi bi-laptop' },
|
|
19
|
+
]"
|
|
20
|
+
/>
|
|
21
|
+
</template>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Props
|
|
25
|
+
|
|
26
|
+
| Name | Type | Default | Description |
|
|
27
|
+
| --- | --- | --- | --- |
|
|
28
|
+
| `modelValue` | `any` | — | v-model binding. |
|
|
29
|
+
| `width` | `String` | `"auto"` | Option width. |
|
|
30
|
+
| `height` | `String` | `"auto"` | Option height. |
|
|
31
|
+
| `maxWidth` | `String` | `"inherit"` | Max width. |
|
|
32
|
+
| `maxImgWidth` | `String` | `"50%"` | Image max width. |
|
|
33
|
+
| `borderRadius` | `String` | `"5px"` | Option border radius. |
|
|
34
|
+
| `margin` | `String` | `"0 15px 15px 0"` | Option margin. |
|
|
35
|
+
| `padding` | `String` | `"10px"` | Option padding. |
|
|
36
|
+
| `selectorTop` | `String` | `"5px"` | Position of the checkmark indicator (top). |
|
|
37
|
+
| `selectorLeft` | `String` | `"5px"` | Position of the checkmark indicator (left). |
|
|
38
|
+
| `selectorColor` | `String` | `""` | Checkmark color. |
|
|
39
|
+
| `iconSize` | `String` | `"inherit"` | Option icon size. |
|
|
40
|
+
| `options` | `Array` | `[]` | Option objects — see shape below. |
|
|
41
|
+
| `isInline` | `Boolean` | `false` | Inline (row) layout. |
|
|
42
|
+
| `optionClass` | `String` | `""` | Class for each option wrapper. |
|
|
43
|
+
| `labelBorder` | `String` | `"1px solid transparent"` | Option border. |
|
|
44
|
+
|
|
45
|
+
**Option shape**: `{ val, label?, img_src?, icon?, iconComponent?, icon_ctnr_class?, class? }`
|
|
46
|
+
|
|
47
|
+
## Events
|
|
48
|
+
|
|
49
|
+
| Event | Payload | Description |
|
|
50
|
+
| --- | --- | --- |
|
|
51
|
+
| `update:modelValue` | `value` | v-model sync. |
|
|
52
|
+
|
|
53
|
+
## Slots
|
|
54
|
+
|
|
55
|
+
| Name | Scope | Description |
|
|
56
|
+
| --- | --- | --- |
|
|
57
|
+
| `icon_image` | `option` | Custom image/icon for each option. |
|
|
58
|
+
| `label` | `option` | Custom label rendering. |
|
|
59
|
+
| `label-{val}` | — | Custom label for a specific option by `val`. |
|
|
60
|
+
|
|
61
|
+
## v-model
|
|
62
|
+
|
|
63
|
+
Yes.
|
package/.ai/ai_ref_AbKbd.md
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
# AbKbd — AI Reference
|
|
2
|
-
|
|
3
|
-
Styled `<kbd>`-like keyboard key chip. Compose multiple into a chord using `AbKbdGroup`.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
Globally registered by the plugin.
|
|
8
|
-
|
|
9
|
-
## Usage
|
|
10
|
-
|
|
11
|
-
```vue
|
|
12
|
-
<template>
|
|
13
|
-
Press <ab-kbd>Esc</ab-kbd> to close.
|
|
14
|
-
|
|
15
|
-
<ab-kbd-group>
|
|
16
|
-
<ab-kbd>⌘</ab-kbd>
|
|
17
|
-
<ab-kbd>Shift</ab-kbd>
|
|
18
|
-
<ab-kbd>P</ab-kbd>
|
|
19
|
-
</ab-kbd-group>
|
|
20
|
-
</template>
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Props
|
|
24
|
-
|
|
25
|
-
No declared props.
|
|
26
|
-
|
|
27
|
-
## Events
|
|
28
|
-
|
|
29
|
-
None.
|
|
30
|
-
|
|
31
|
-
## Slots
|
|
32
|
-
|
|
33
|
-
| Name | Description |
|
|
34
|
-
| --- | --- |
|
|
35
|
-
| `default` | Key label (typically a single character or short word). |
|
|
1
|
+
# AbKbd — AI Reference
|
|
2
|
+
|
|
3
|
+
Styled `<kbd>`-like keyboard key chip. Compose multiple into a chord using `AbKbdGroup`.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Globally registered by the plugin.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```vue
|
|
12
|
+
<template>
|
|
13
|
+
Press <ab-kbd>Esc</ab-kbd> to close.
|
|
14
|
+
|
|
15
|
+
<ab-kbd-group>
|
|
16
|
+
<ab-kbd>⌘</ab-kbd>
|
|
17
|
+
<ab-kbd>Shift</ab-kbd>
|
|
18
|
+
<ab-kbd>P</ab-kbd>
|
|
19
|
+
</ab-kbd-group>
|
|
20
|
+
</template>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Props
|
|
24
|
+
|
|
25
|
+
No declared props.
|
|
26
|
+
|
|
27
|
+
## Events
|
|
28
|
+
|
|
29
|
+
None.
|
|
30
|
+
|
|
31
|
+
## Slots
|
|
32
|
+
|
|
33
|
+
| Name | Description |
|
|
34
|
+
| --- | --- |
|
|
35
|
+
| `default` | Key label (typically a single character or short word). |
|
package/.ai/ai_ref_AbKbdGroup.md
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
# AbKbdGroup — AI Reference
|
|
2
|
-
|
|
3
|
-
Visual grouping container for multiple `AbKbd` chips — typically used to render keyboard chords / shortcuts.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
Globally registered by the plugin.
|
|
8
|
-
|
|
9
|
-
## Usage
|
|
10
|
-
|
|
11
|
-
```vue
|
|
12
|
-
<template>
|
|
13
|
-
<ab-kbd-group>
|
|
14
|
-
<ab-kbd>Ctrl</ab-kbd>
|
|
15
|
-
<ab-kbd>Alt</ab-kbd>
|
|
16
|
-
<ab-kbd>Del</ab-kbd>
|
|
17
|
-
</ab-kbd-group>
|
|
18
|
-
</template>
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Props
|
|
22
|
-
|
|
23
|
-
No declared props.
|
|
24
|
-
|
|
25
|
-
## Events
|
|
26
|
-
|
|
27
|
-
None.
|
|
28
|
-
|
|
29
|
-
## Slots
|
|
30
|
-
|
|
31
|
-
| Name | Description |
|
|
32
|
-
| --- | --- |
|
|
33
|
-
| `default` | One or more `AbKbd` children. |
|
|
1
|
+
# AbKbdGroup — AI Reference
|
|
2
|
+
|
|
3
|
+
Visual grouping container for multiple `AbKbd` chips — typically used to render keyboard chords / shortcuts.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Globally registered by the plugin.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```vue
|
|
12
|
+
<template>
|
|
13
|
+
<ab-kbd-group>
|
|
14
|
+
<ab-kbd>Ctrl</ab-kbd>
|
|
15
|
+
<ab-kbd>Alt</ab-kbd>
|
|
16
|
+
<ab-kbd>Del</ab-kbd>
|
|
17
|
+
</ab-kbd-group>
|
|
18
|
+
</template>
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Props
|
|
22
|
+
|
|
23
|
+
No declared props.
|
|
24
|
+
|
|
25
|
+
## Events
|
|
26
|
+
|
|
27
|
+
None.
|
|
28
|
+
|
|
29
|
+
## Slots
|
|
30
|
+
|
|
31
|
+
| Name | Description |
|
|
32
|
+
| --- | --- |
|
|
33
|
+
| `default` | One or more `AbKbd` children. |
|