@appsbd/vue3-appsbd-ui 1.0.0 → 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.
Files changed (69) hide show
  1. package/.ai/ai_ref_AbAvatar.md +9 -1
  2. package/.ai/ai_ref_AbBadge.md +6 -5
  3. package/.ai/ai_ref_AbButton.md +8 -9
  4. package/.ai/ai_ref_AbCard.md +70 -53
  5. package/.ai/ai_ref_AbCarousel.md +47 -47
  6. package/.ai/ai_ref_AbChart.md +87 -0
  7. package/.ai/ai_ref_AbConfirmPopover.md +59 -59
  8. package/.ai/ai_ref_AbDarkModeToggler.md +42 -42
  9. package/.ai/ai_ref_AbDateTimePicker.md +3 -0
  10. package/.ai/ai_ref_AbEasyModal.md +62 -62
  11. package/.ai/ai_ref_AbField.md +96 -93
  12. package/.ai/ai_ref_AbFileUploader.md +63 -63
  13. package/.ai/ai_ref_AbFilterPanel.md +71 -71
  14. package/.ai/ai_ref_AbFormCheck.md +75 -75
  15. package/.ai/ai_ref_AbImageRadioInput.md +63 -63
  16. package/.ai/ai_ref_AbInputField.md +74 -71
  17. package/.ai/ai_ref_AbInputTag.md +3 -0
  18. package/.ai/ai_ref_AbKbd.md +35 -35
  19. package/.ai/ai_ref_AbKbdGroup.md +33 -33
  20. package/.ai/ai_ref_AbModal.md +103 -103
  21. package/.ai/ai_ref_AbMultiSelect.md +4 -0
  22. package/.ai/ai_ref_AbNumberField.md +84 -84
  23. package/.ai/ai_ref_AbPopover.md +64 -64
  24. package/.ai/ai_ref_AbPricingCard.md +64 -64
  25. package/.ai/ai_ref_AbPricingContainer.md +49 -49
  26. package/.ai/ai_ref_AbPricingTable.md +72 -72
  27. package/.ai/ai_ref_AbProgressbar.md +44 -37
  28. package/.ai/ai_ref_AbScrollbar.md +48 -48
  29. package/.ai/ai_ref_AbSettingsForm.md +54 -54
  30. package/.ai/ai_ref_AbSideMenuItem.md +58 -58
  31. package/.ai/ai_ref_AbSidebar.md +70 -70
  32. package/.ai/ai_ref_AbSkeleton.md +41 -41
  33. package/.ai/ai_ref_AbSlider.md +71 -71
  34. package/.ai/ai_ref_AbTab.md +38 -38
  35. package/.ai/ai_ref_AbTable.md +59 -59
  36. package/.ai/ai_ref_AbTabs.md +47 -47
  37. package/.ai/ai_ref_AbToggle.md +65 -65
  38. package/.ai/ai_ref_AbTooltip.md +53 -53
  39. package/.ai/ai_ref_AbWizard.md +77 -77
  40. package/.ai/ai_ref_AbWizardStep.md +48 -48
  41. package/.ai/ai_ref_abEventBus.md +94 -0
  42. package/.ai/ai_ref_abRequestParam.md +55 -0
  43. package/.ai/ai_ref_abTranslate.md +33 -0
  44. package/.ai/ai_ref_abVeeRules.md +42 -0
  45. package/.ai/ai_ref_useAlert.md +63 -0
  46. package/.ai/ai_ref_useFileValidator.md +46 -0
  47. package/.ai/ai_ref_useResponsive.md +55 -0
  48. package/.ai/ai_ref_useTheme.md +39 -0
  49. package/.ai/ai_ref_useToast.md +42 -0
  50. package/AI_REFERENCE.md +68 -112
  51. package/design-system.md +403 -0
  52. package/dist/skins/black.css +1 -1
  53. package/dist/skins/cyan.css +1 -1
  54. package/dist/skins/default.css +1 -1
  55. package/dist/skins/gray.css +1 -1
  56. package/dist/skins/green.css +1 -1
  57. package/dist/skins/orange.css +1 -1
  58. package/dist/skins/pink.css +1 -1
  59. package/dist/skins/purple.css +1 -1
  60. package/dist/skins/red.css +1 -1
  61. package/dist/skins/red.scss +3 -3
  62. package/dist/skins/themes/_common_variable.scss +2 -0
  63. package/dist/skins/themes/_red.scss +6 -6
  64. package/dist/skins/violet.css +1 -1
  65. package/dist/style.css +1 -1
  66. package/dist/vue3-appsbd-ui.cjs.js +114 -41
  67. package/dist/vue3-appsbd-ui.es.js +27212 -4646
  68. package/package.json +10 -4
  69. package/readme.md +136 -136
@@ -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.
@@ -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
- ## Events
51
-
52
- | Event | Payload | Description |
53
- | --- | --- | --- |
54
- | `update:modelValue` | `value` | v-model sync. |
55
- | `input` | `value` | Fired on input. |
56
- | `keyup` | `KeyboardEvent` | Forwarded native event. |
57
- | `keydown` | `KeyboardEvent` | Forwarded native event. |
58
- | `paste` | `ClipboardEvent` | Forwarded native event. |
59
-
60
- ## Slots
61
-
62
- | Name | Description |
63
- | --- | --- |
64
- | `label` | Custom label content. |
65
- | `prefix` | Prefix icon / text. |
66
- | `postfix` | Postfix icon / text. |
67
- | `hints` | Helper text (overrides `hints` prop). |
68
-
69
- ## v-model
70
-
71
- Yes — `modelValue` + `update:modelValue`.
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`.
@@ -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
 
@@ -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). |
@@ -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. |