@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
package/.ai/ai_ref_AbSidebar.md
CHANGED
|
@@ -1,70 +1,70 @@
|
|
|
1
|
-
# AbSidebar — AI Reference
|
|
2
|
-
|
|
3
|
-
Collapsible application sidebar. Hosts `AbSideMenuItem` children, supports a header/footer, optional search, and persists its collapse state to `localStorage`.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
Globally registered by the plugin.
|
|
8
|
-
|
|
9
|
-
## Usage
|
|
10
|
-
|
|
11
|
-
```vue
|
|
12
|
-
<template>
|
|
13
|
-
<ab-sidebar app-unique-id="my-app" enable-search>
|
|
14
|
-
<template #header>
|
|
15
|
-
<img src="/logo.svg" alt="Logo" />
|
|
16
|
-
</template>
|
|
17
|
-
|
|
18
|
-
<ab-side-menu-item :to="{ name: 'dashboard' }">
|
|
19
|
-
<template #icon><i class="bi bi-speedometer2"></i></template>
|
|
20
|
-
Dashboard
|
|
21
|
-
</ab-side-menu-item>
|
|
22
|
-
|
|
23
|
-
<ab-side-menu-item>
|
|
24
|
-
<template #sectiontitle>Admin</template>
|
|
25
|
-
</ab-side-menu-item>
|
|
26
|
-
|
|
27
|
-
<ab-side-menu-item href="#">
|
|
28
|
-
<template #icon><i class="bi bi-people"></i></template>
|
|
29
|
-
Users
|
|
30
|
-
<template #submenu>
|
|
31
|
-
<ab-side-menu-item :to="{ name: 'users-list' }">All users</ab-side-menu-item>
|
|
32
|
-
<ab-side-menu-item :to="{ name: 'users-roles' }">Roles</ab-side-menu-item>
|
|
33
|
-
</template>
|
|
34
|
-
</ab-side-menu-item>
|
|
35
|
-
|
|
36
|
-
<template #footer>
|
|
37
|
-
<ab-dark-mode-toggler />
|
|
38
|
-
</template>
|
|
39
|
-
</ab-sidebar>
|
|
40
|
-
</template>
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
## Props
|
|
44
|
-
|
|
45
|
-
| Name | Type | Default | Description |
|
|
46
|
-
| --- | --- | --- | --- |
|
|
47
|
-
| `appUniqueId` | `String` | `"apbd"` | Unique key used for the `localStorage` entry that stores collapse state. |
|
|
48
|
-
| `hideSeperator` | `Boolean` | `false` | Hide dividers between sections. |
|
|
49
|
-
| `mobileFullHeight` | `Boolean` | `false` | Force full-viewport height on mobile. |
|
|
50
|
-
| `enableSearch` | `Boolean` | `false` | Show a search box that filters menu items. |
|
|
51
|
-
| `searchTargetClass` | `String` | `"nav-item"` | CSS class of items that the search should match. |
|
|
52
|
-
|
|
53
|
-
## Events
|
|
54
|
-
|
|
55
|
-
None.
|
|
56
|
-
|
|
57
|
-
## Slots
|
|
58
|
-
|
|
59
|
-
| Name | Description |
|
|
60
|
-
| --- | --- |
|
|
61
|
-
| `header` | Sidebar header (logo area). |
|
|
62
|
-
| `default` | Menu items (place `AbSideMenuItem` children here). |
|
|
63
|
-
| `footer` | Sidebar footer (typically user avatar or theme toggle). |
|
|
64
|
-
| `collapse-icon` | Override the collapse toggle icon. |
|
|
65
|
-
|
|
66
|
-
## Provides (for children)
|
|
67
|
-
|
|
68
|
-
- `isCollapsed` — reactive collapse state.
|
|
69
|
-
- `isMobileFullHeight` — reactive full-height state.
|
|
70
|
-
- `layoutState` — layout state object (passed from parent if provided).
|
|
1
|
+
# AbSidebar — AI Reference
|
|
2
|
+
|
|
3
|
+
Collapsible application sidebar. Hosts `AbSideMenuItem` children, supports a header/footer, optional search, and persists its collapse state to `localStorage`.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Globally registered by the plugin.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```vue
|
|
12
|
+
<template>
|
|
13
|
+
<ab-sidebar app-unique-id="my-app" enable-search>
|
|
14
|
+
<template #header>
|
|
15
|
+
<img src="/logo.svg" alt="Logo" />
|
|
16
|
+
</template>
|
|
17
|
+
|
|
18
|
+
<ab-side-menu-item :to="{ name: 'dashboard' }">
|
|
19
|
+
<template #icon><i class="bi bi-speedometer2"></i></template>
|
|
20
|
+
Dashboard
|
|
21
|
+
</ab-side-menu-item>
|
|
22
|
+
|
|
23
|
+
<ab-side-menu-item>
|
|
24
|
+
<template #sectiontitle>Admin</template>
|
|
25
|
+
</ab-side-menu-item>
|
|
26
|
+
|
|
27
|
+
<ab-side-menu-item href="#">
|
|
28
|
+
<template #icon><i class="bi bi-people"></i></template>
|
|
29
|
+
Users
|
|
30
|
+
<template #submenu>
|
|
31
|
+
<ab-side-menu-item :to="{ name: 'users-list' }">All users</ab-side-menu-item>
|
|
32
|
+
<ab-side-menu-item :to="{ name: 'users-roles' }">Roles</ab-side-menu-item>
|
|
33
|
+
</template>
|
|
34
|
+
</ab-side-menu-item>
|
|
35
|
+
|
|
36
|
+
<template #footer>
|
|
37
|
+
<ab-dark-mode-toggler />
|
|
38
|
+
</template>
|
|
39
|
+
</ab-sidebar>
|
|
40
|
+
</template>
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Props
|
|
44
|
+
|
|
45
|
+
| Name | Type | Default | Description |
|
|
46
|
+
| --- | --- | --- | --- |
|
|
47
|
+
| `appUniqueId` | `String` | `"apbd"` | Unique key used for the `localStorage` entry that stores collapse state. |
|
|
48
|
+
| `hideSeperator` | `Boolean` | `false` | Hide dividers between sections. |
|
|
49
|
+
| `mobileFullHeight` | `Boolean` | `false` | Force full-viewport height on mobile. |
|
|
50
|
+
| `enableSearch` | `Boolean` | `false` | Show a search box that filters menu items. |
|
|
51
|
+
| `searchTargetClass` | `String` | `"nav-item"` | CSS class of items that the search should match. |
|
|
52
|
+
|
|
53
|
+
## Events
|
|
54
|
+
|
|
55
|
+
None.
|
|
56
|
+
|
|
57
|
+
## Slots
|
|
58
|
+
|
|
59
|
+
| Name | Description |
|
|
60
|
+
| --- | --- |
|
|
61
|
+
| `header` | Sidebar header (logo area). |
|
|
62
|
+
| `default` | Menu items (place `AbSideMenuItem` children here). |
|
|
63
|
+
| `footer` | Sidebar footer (typically user avatar or theme toggle). |
|
|
64
|
+
| `collapse-icon` | Override the collapse toggle icon. |
|
|
65
|
+
|
|
66
|
+
## Provides (for children)
|
|
67
|
+
|
|
68
|
+
- `isCollapsed` — reactive collapse state.
|
|
69
|
+
- `isMobileFullHeight` — reactive full-height state.
|
|
70
|
+
- `layoutState` — layout state object (passed from parent if provided).
|
package/.ai/ai_ref_AbSkeleton.md
CHANGED
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
# AbSkeleton — AI Reference
|
|
2
|
-
|
|
3
|
-
Pulsing placeholder for loading states. Forwards all `$attrs` to the root `<div>`, so size and shape are controlled through utility classes or inline styles.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
Globally registered by the plugin.
|
|
8
|
-
|
|
9
|
-
## Usage
|
|
10
|
-
|
|
11
|
-
```vue
|
|
12
|
-
<template>
|
|
13
|
-
<!-- Heading skeleton -->
|
|
14
|
-
<ab-skeleton style="height: 24px; width: 60%;" />
|
|
15
|
-
|
|
16
|
-
<!-- Card skeleton -->
|
|
17
|
-
<ab-card>
|
|
18
|
-
<template #body>
|
|
19
|
-
<ab-skeleton style="height: 160px; border-radius: 8px;" />
|
|
20
|
-
<ab-skeleton class="mt-3" style="height: 18px; width: 80%;" />
|
|
21
|
-
<ab-skeleton class="mt-2" style="height: 18px; width: 60%;" />
|
|
22
|
-
</template>
|
|
23
|
-
</ab-card>
|
|
24
|
-
</template>
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## Props
|
|
28
|
-
|
|
29
|
-
No declared props.
|
|
30
|
-
|
|
31
|
-
## Events
|
|
32
|
-
|
|
33
|
-
None.
|
|
34
|
-
|
|
35
|
-
## Slots
|
|
36
|
-
|
|
37
|
-
None.
|
|
38
|
-
|
|
39
|
-
## Notes
|
|
40
|
-
|
|
41
|
-
Apply `width`, `height`, `border-radius`, etc. via `style` or a utility class.
|
|
1
|
+
# AbSkeleton — AI Reference
|
|
2
|
+
|
|
3
|
+
Pulsing placeholder for loading states. Forwards all `$attrs` to the root `<div>`, so size and shape are controlled through utility classes or inline styles.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Globally registered by the plugin.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```vue
|
|
12
|
+
<template>
|
|
13
|
+
<!-- Heading skeleton -->
|
|
14
|
+
<ab-skeleton style="height: 24px; width: 60%;" />
|
|
15
|
+
|
|
16
|
+
<!-- Card skeleton -->
|
|
17
|
+
<ab-card>
|
|
18
|
+
<template #body>
|
|
19
|
+
<ab-skeleton style="height: 160px; border-radius: 8px;" />
|
|
20
|
+
<ab-skeleton class="mt-3" style="height: 18px; width: 80%;" />
|
|
21
|
+
<ab-skeleton class="mt-2" style="height: 18px; width: 60%;" />
|
|
22
|
+
</template>
|
|
23
|
+
</ab-card>
|
|
24
|
+
</template>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Props
|
|
28
|
+
|
|
29
|
+
No declared props.
|
|
30
|
+
|
|
31
|
+
## Events
|
|
32
|
+
|
|
33
|
+
None.
|
|
34
|
+
|
|
35
|
+
## Slots
|
|
36
|
+
|
|
37
|
+
None.
|
|
38
|
+
|
|
39
|
+
## Notes
|
|
40
|
+
|
|
41
|
+
Apply `width`, `height`, `border-radius`, etc. via `style` or a utility class.
|
package/.ai/ai_ref_AbSlider.md
CHANGED
|
@@ -1,71 +1,71 @@
|
|
|
1
|
-
# AbSlider — AI Reference
|
|
2
|
-
|
|
3
|
-
Single or range numeric slider with custom thumb rendering and size variants.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
Globally registered by the plugin.
|
|
8
|
-
|
|
9
|
-
## Usage
|
|
10
|
-
|
|
11
|
-
```vue
|
|
12
|
-
<template>
|
|
13
|
-
<!-- Single -->
|
|
14
|
-
<ab-slider v-model="volume" :min="0" :max="100" label="Volume" show-labels />
|
|
15
|
-
|
|
16
|
-
<!-- Range -->
|
|
17
|
-
<ab-slider
|
|
18
|
-
v-model="priceRange"
|
|
19
|
-
:min="0"
|
|
20
|
-
:max="5000"
|
|
21
|
-
:step="50"
|
|
22
|
-
range
|
|
23
|
-
show-labels
|
|
24
|
-
:format-label="v => '$' + v"
|
|
25
|
-
/>
|
|
26
|
-
|
|
27
|
-
<!-- Custom thumb -->
|
|
28
|
-
<ab-slider v-model="progress" show-labels>
|
|
29
|
-
<template #thumb="{ value, type }">
|
|
30
|
-
<div class="custom-thumb">{{ value }}</div>
|
|
31
|
-
</template>
|
|
32
|
-
</ab-slider>
|
|
33
|
-
</template>
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Props
|
|
37
|
-
|
|
38
|
-
| Name | Type | Default | Description |
|
|
39
|
-
| --- | --- | --- | --- |
|
|
40
|
-
| `modelValue` | `Number \| Array` | `null` | Single number, or `[min, max]` in range mode. |
|
|
41
|
-
| `min` | `Number` | `0` | Minimum value. |
|
|
42
|
-
| `max` | `Number` | `100` | Maximum value. |
|
|
43
|
-
| `step` | `Number` | `1` | Increment step. |
|
|
44
|
-
| `range` | `Boolean` | `false` | Enable range mode (two thumbs). |
|
|
45
|
-
| `size` | `String` | `"md"` | `sm`, `md`, `lg`. |
|
|
46
|
-
| `showLabels` | `Boolean` | `false` | Show value labels on thumbs. |
|
|
47
|
-
| `disabled` | `Boolean` | `false` | Disable the slider. |
|
|
48
|
-
| `label` | `String` | `""` | Field label. |
|
|
49
|
-
| `containerClass` | `String` | `"mb-3"` | Wrapper class. |
|
|
50
|
-
| `hints` | `String` | `""` | Helper text. |
|
|
51
|
-
| `formatLabel` | `Function` | `v => Math.round(v) + "%"` | Formatter for thumb labels. |
|
|
52
|
-
|
|
53
|
-
## Events
|
|
54
|
-
|
|
55
|
-
| Event | Payload | Description |
|
|
56
|
-
| --- | --- | --- |
|
|
57
|
-
| `update:modelValue` | `value` | v-model sync. |
|
|
58
|
-
|
|
59
|
-
## Slots
|
|
60
|
-
|
|
61
|
-
| Name | Scope | Description |
|
|
62
|
-
| --- | --- | --- |
|
|
63
|
-
| `label` | — | Custom label. |
|
|
64
|
-
| `prefix` | — | Prefix content (before the track). |
|
|
65
|
-
| `postfix` | — | Postfix content (after the track). |
|
|
66
|
-
| `thumb` | `{ value, type }` | Custom thumb rendering. `type` is `"min"`, `"max"`, or `"single"`. |
|
|
67
|
-
| `hints` | — | Custom hints. |
|
|
68
|
-
|
|
69
|
-
## v-model
|
|
70
|
-
|
|
71
|
-
Yes.
|
|
1
|
+
# AbSlider — AI Reference
|
|
2
|
+
|
|
3
|
+
Single or range numeric slider with custom thumb rendering and size variants.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Globally registered by the plugin.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```vue
|
|
12
|
+
<template>
|
|
13
|
+
<!-- Single -->
|
|
14
|
+
<ab-slider v-model="volume" :min="0" :max="100" label="Volume" show-labels />
|
|
15
|
+
|
|
16
|
+
<!-- Range -->
|
|
17
|
+
<ab-slider
|
|
18
|
+
v-model="priceRange"
|
|
19
|
+
:min="0"
|
|
20
|
+
:max="5000"
|
|
21
|
+
:step="50"
|
|
22
|
+
range
|
|
23
|
+
show-labels
|
|
24
|
+
:format-label="v => '$' + v"
|
|
25
|
+
/>
|
|
26
|
+
|
|
27
|
+
<!-- Custom thumb -->
|
|
28
|
+
<ab-slider v-model="progress" show-labels>
|
|
29
|
+
<template #thumb="{ value, type }">
|
|
30
|
+
<div class="custom-thumb">{{ value }}</div>
|
|
31
|
+
</template>
|
|
32
|
+
</ab-slider>
|
|
33
|
+
</template>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Props
|
|
37
|
+
|
|
38
|
+
| Name | Type | Default | Description |
|
|
39
|
+
| --- | --- | --- | --- |
|
|
40
|
+
| `modelValue` | `Number \| Array` | `null` | Single number, or `[min, max]` in range mode. |
|
|
41
|
+
| `min` | `Number` | `0` | Minimum value. |
|
|
42
|
+
| `max` | `Number` | `100` | Maximum value. |
|
|
43
|
+
| `step` | `Number` | `1` | Increment step. |
|
|
44
|
+
| `range` | `Boolean` | `false` | Enable range mode (two thumbs). |
|
|
45
|
+
| `size` | `String` | `"md"` | `sm`, `md`, `lg`. |
|
|
46
|
+
| `showLabels` | `Boolean` | `false` | Show value labels on thumbs. |
|
|
47
|
+
| `disabled` | `Boolean` | `false` | Disable the slider. |
|
|
48
|
+
| `label` | `String` | `""` | Field label. |
|
|
49
|
+
| `containerClass` | `String` | `"mb-3"` | Wrapper class. |
|
|
50
|
+
| `hints` | `String` | `""` | Helper text. |
|
|
51
|
+
| `formatLabel` | `Function` | `v => Math.round(v) + "%"` | Formatter for thumb labels. |
|
|
52
|
+
|
|
53
|
+
## Events
|
|
54
|
+
|
|
55
|
+
| Event | Payload | Description |
|
|
56
|
+
| --- | --- | --- |
|
|
57
|
+
| `update:modelValue` | `value` | v-model sync. |
|
|
58
|
+
|
|
59
|
+
## Slots
|
|
60
|
+
|
|
61
|
+
| Name | Scope | Description |
|
|
62
|
+
| --- | --- | --- |
|
|
63
|
+
| `label` | — | Custom label. |
|
|
64
|
+
| `prefix` | — | Prefix content (before the track). |
|
|
65
|
+
| `postfix` | — | Postfix content (after the track). |
|
|
66
|
+
| `thumb` | `{ value, type }` | Custom thumb rendering. `type` is `"min"`, `"max"`, or `"single"`. |
|
|
67
|
+
| `hints` | — | Custom hints. |
|
|
68
|
+
|
|
69
|
+
## v-model
|
|
70
|
+
|
|
71
|
+
Yes.
|
package/.ai/ai_ref_AbTab.md
CHANGED
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
# AbTab — AI Reference
|
|
2
|
-
|
|
3
|
-
Single tab pane / link. Must be used inside an `AbTabs` parent.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
Globally registered by the plugin.
|
|
8
|
-
|
|
9
|
-
## Usage
|
|
10
|
-
|
|
11
|
-
```vue
|
|
12
|
-
<ab-tabs>
|
|
13
|
-
<ab-tab title="Profile" selected>
|
|
14
|
-
<template #icon><i class="bi bi-person"></i></template>
|
|
15
|
-
Profile content here.
|
|
16
|
-
</ab-tab>
|
|
17
|
-
<ab-tab title="Settings">Settings content here.</ab-tab>
|
|
18
|
-
</ab-tabs>
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Props
|
|
22
|
-
|
|
23
|
-
| Name | Type | Default | Description |
|
|
24
|
-
| --- | --- | --- | --- |
|
|
25
|
-
| `title` | `String` | **required** | Tab label text. |
|
|
26
|
-
| `selected` | `Boolean` | `false` | Mark this tab as initially selected. |
|
|
27
|
-
| `to` | `String \| Object` | `null` | Router-link target (only used when the parent `AbTabs` has `is-route-mode`). |
|
|
28
|
-
|
|
29
|
-
## Events
|
|
30
|
-
|
|
31
|
-
None.
|
|
32
|
-
|
|
33
|
-
## Slots
|
|
34
|
-
|
|
35
|
-
| Name | Description |
|
|
36
|
-
| --- | --- |
|
|
37
|
-
| `default` | Tab pane content. |
|
|
38
|
-
| `icon` | Icon shown next to the tab title. |
|
|
1
|
+
# AbTab — AI Reference
|
|
2
|
+
|
|
3
|
+
Single tab pane / link. Must be used inside an `AbTabs` parent.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Globally registered by the plugin.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```vue
|
|
12
|
+
<ab-tabs>
|
|
13
|
+
<ab-tab title="Profile" selected>
|
|
14
|
+
<template #icon><i class="bi bi-person"></i></template>
|
|
15
|
+
Profile content here.
|
|
16
|
+
</ab-tab>
|
|
17
|
+
<ab-tab title="Settings">Settings content here.</ab-tab>
|
|
18
|
+
</ab-tabs>
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Props
|
|
22
|
+
|
|
23
|
+
| Name | Type | Default | Description |
|
|
24
|
+
| --- | --- | --- | --- |
|
|
25
|
+
| `title` | `String` | **required** | Tab label text. |
|
|
26
|
+
| `selected` | `Boolean` | `false` | Mark this tab as initially selected. |
|
|
27
|
+
| `to` | `String \| Object` | `null` | Router-link target (only used when the parent `AbTabs` has `is-route-mode`). |
|
|
28
|
+
|
|
29
|
+
## Events
|
|
30
|
+
|
|
31
|
+
None.
|
|
32
|
+
|
|
33
|
+
## Slots
|
|
34
|
+
|
|
35
|
+
| Name | Description |
|
|
36
|
+
| --- | --- |
|
|
37
|
+
| `default` | Tab pane content. |
|
|
38
|
+
| `icon` | Icon shown next to the tab title. |
|
package/.ai/ai_ref_AbTable.md
CHANGED
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
# AbTable — AI Reference
|
|
2
|
-
|
|
3
|
-
Data grid with column definitions, per-cell and per-header slot overrides, and an `empty` slot.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
Globally registered by the plugin.
|
|
8
|
-
|
|
9
|
-
## Usage
|
|
10
|
-
|
|
11
|
-
```vue
|
|
12
|
-
<template>
|
|
13
|
-
<ab-table
|
|
14
|
-
:items="users"
|
|
15
|
-
:fields="[
|
|
16
|
-
{ key: 'name', label: 'Name' },
|
|
17
|
-
{ key: 'email', label: 'Email' },
|
|
18
|
-
{ key: 'role', label: 'Role' },
|
|
19
|
-
{ key: 'actions', label: '' },
|
|
20
|
-
]"
|
|
21
|
-
>
|
|
22
|
-
<!-- Custom header -->
|
|
23
|
-
<template #head(name)>Full Name</template>
|
|
24
|
-
|
|
25
|
-
<!-- Custom cell -->
|
|
26
|
-
<template #cell(role)="{ value }">
|
|
27
|
-
<ab-badge class="bg-primary">{{ value }}</ab-badge>
|
|
28
|
-
</template>
|
|
29
|
-
|
|
30
|
-
<template #cell(actions)="{ item }">
|
|
31
|
-
<ab-button class="btn-sm btn-outline-secondary" @click="edit(item)">Edit</ab-button>
|
|
32
|
-
</template>
|
|
33
|
-
|
|
34
|
-
<template #empty>No users yet.</template>
|
|
35
|
-
</ab-table>
|
|
36
|
-
</template>
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## Props
|
|
40
|
-
|
|
41
|
-
| Name | Type | Default | Description |
|
|
42
|
-
| --- | --- | --- | --- |
|
|
43
|
-
| `items` | `Array` | `[]` | Table row objects. |
|
|
44
|
-
| `fields` | `Array` | `[]` | Column definitions — each string key or `{ key, label }`. |
|
|
45
|
-
| `tableClass` | `String \| Array \| Object` | `""` | CSS class(es) applied to the `<table>`. |
|
|
46
|
-
|
|
47
|
-
## Events
|
|
48
|
-
|
|
49
|
-
None.
|
|
50
|
-
|
|
51
|
-
## Slots
|
|
52
|
-
|
|
53
|
-
| Name | Scope | Description |
|
|
54
|
-
| --- | --- | --- |
|
|
55
|
-
| `thead` | — | Override the entire table head. |
|
|
56
|
-
| `tbody` | — | Override the entire table body. |
|
|
57
|
-
| `head(fieldKey)` | — | Override header content for a given field. |
|
|
58
|
-
| `cell(fieldKey)` | `{ value, item, index }` | Override cell content for a given field. |
|
|
59
|
-
| `empty` | — | Message shown when `items` is empty. |
|
|
1
|
+
# AbTable — AI Reference
|
|
2
|
+
|
|
3
|
+
Data grid with column definitions, per-cell and per-header slot overrides, and an `empty` slot.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Globally registered by the plugin.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```vue
|
|
12
|
+
<template>
|
|
13
|
+
<ab-table
|
|
14
|
+
:items="users"
|
|
15
|
+
:fields="[
|
|
16
|
+
{ key: 'name', label: 'Name' },
|
|
17
|
+
{ key: 'email', label: 'Email' },
|
|
18
|
+
{ key: 'role', label: 'Role' },
|
|
19
|
+
{ key: 'actions', label: '' },
|
|
20
|
+
]"
|
|
21
|
+
>
|
|
22
|
+
<!-- Custom header -->
|
|
23
|
+
<template #head(name)>Full Name</template>
|
|
24
|
+
|
|
25
|
+
<!-- Custom cell -->
|
|
26
|
+
<template #cell(role)="{ value }">
|
|
27
|
+
<ab-badge class="bg-primary">{{ value }}</ab-badge>
|
|
28
|
+
</template>
|
|
29
|
+
|
|
30
|
+
<template #cell(actions)="{ item }">
|
|
31
|
+
<ab-button class="btn-sm btn-outline-secondary" @click="edit(item)">Edit</ab-button>
|
|
32
|
+
</template>
|
|
33
|
+
|
|
34
|
+
<template #empty>No users yet.</template>
|
|
35
|
+
</ab-table>
|
|
36
|
+
</template>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Props
|
|
40
|
+
|
|
41
|
+
| Name | Type | Default | Description |
|
|
42
|
+
| --- | --- | --- | --- |
|
|
43
|
+
| `items` | `Array` | `[]` | Table row objects. |
|
|
44
|
+
| `fields` | `Array` | `[]` | Column definitions — each string key or `{ key, label }`. |
|
|
45
|
+
| `tableClass` | `String \| Array \| Object` | `""` | CSS class(es) applied to the `<table>`. |
|
|
46
|
+
|
|
47
|
+
## Events
|
|
48
|
+
|
|
49
|
+
None.
|
|
50
|
+
|
|
51
|
+
## Slots
|
|
52
|
+
|
|
53
|
+
| Name | Scope | Description |
|
|
54
|
+
| --- | --- | --- |
|
|
55
|
+
| `thead` | — | Override the entire table head. |
|
|
56
|
+
| `tbody` | — | Override the entire table body. |
|
|
57
|
+
| `head(fieldKey)` | — | Override header content for a given field. |
|
|
58
|
+
| `cell(fieldKey)` | `{ value, item, index }` | Override cell content for a given field. |
|
|
59
|
+
| `empty` | — | Message shown when `items` is empty. |
|
package/.ai/ai_ref_AbTabs.md
CHANGED
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
# AbTabs — AI Reference
|
|
2
|
-
|
|
3
|
-
Parent container for tabbed interfaces. Pair with `AbTab` children. Supports both "content-switching" mode (default) and "router-link" mode for navigation-driven tabs.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
Globally registered by the plugin.
|
|
8
|
-
|
|
9
|
-
## Usage
|
|
10
|
-
|
|
11
|
-
```vue
|
|
12
|
-
<template>
|
|
13
|
-
<!-- Content-switching tabs -->
|
|
14
|
-
<ab-tabs nav-class="nav-pills">
|
|
15
|
-
<ab-tab title="Overview" selected>Overview content</ab-tab>
|
|
16
|
-
<ab-tab title="Billing">Billing content</ab-tab>
|
|
17
|
-
<ab-tab title="Security">Security content</ab-tab>
|
|
18
|
-
</ab-tabs>
|
|
19
|
-
|
|
20
|
-
<!-- Router-link tabs -->
|
|
21
|
-
<ab-tabs is-route-mode>
|
|
22
|
-
<ab-tab title="Users" :to="{ name: 'users' }" />
|
|
23
|
-
<ab-tab title="Teams" :to="{ name: 'teams' }" />
|
|
24
|
-
</ab-tabs>
|
|
25
|
-
</template>
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## Props
|
|
29
|
-
|
|
30
|
-
| Name | Type | Default | Description |
|
|
31
|
-
| --- | --- | --- | --- |
|
|
32
|
-
| `tabContainerClass` | `String` | — | Root wrapper class. |
|
|
33
|
-
| `navContainerClass` | `String` | — | Wrapper around the nav list. |
|
|
34
|
-
| `tabDetailsClass` | `String` | — | Wrapper around the tab content. |
|
|
35
|
-
| `navClass` | `String` | `"nav-pills"` | Class on the nav list itself (e.g. `nav-tabs`, `nav-pills`). |
|
|
36
|
-
| `tabClass` | `String` | `""` | Class on each individual tab link. |
|
|
37
|
-
| `isRouteMode` | `Boolean` | `false` | When `true`, tab clicks perform router navigation. |
|
|
38
|
-
|
|
39
|
-
## Events
|
|
40
|
-
|
|
41
|
-
None.
|
|
42
|
-
|
|
43
|
-
## Slots
|
|
44
|
-
|
|
45
|
-
| Name | Description |
|
|
46
|
-
| --- | --- |
|
|
47
|
-
| `default` | Place `<ab-tab>` children here. |
|
|
1
|
+
# AbTabs — AI Reference
|
|
2
|
+
|
|
3
|
+
Parent container for tabbed interfaces. Pair with `AbTab` children. Supports both "content-switching" mode (default) and "router-link" mode for navigation-driven tabs.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Globally registered by the plugin.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```vue
|
|
12
|
+
<template>
|
|
13
|
+
<!-- Content-switching tabs -->
|
|
14
|
+
<ab-tabs nav-class="nav-pills">
|
|
15
|
+
<ab-tab title="Overview" selected>Overview content</ab-tab>
|
|
16
|
+
<ab-tab title="Billing">Billing content</ab-tab>
|
|
17
|
+
<ab-tab title="Security">Security content</ab-tab>
|
|
18
|
+
</ab-tabs>
|
|
19
|
+
|
|
20
|
+
<!-- Router-link tabs -->
|
|
21
|
+
<ab-tabs is-route-mode>
|
|
22
|
+
<ab-tab title="Users" :to="{ name: 'users' }" />
|
|
23
|
+
<ab-tab title="Teams" :to="{ name: 'teams' }" />
|
|
24
|
+
</ab-tabs>
|
|
25
|
+
</template>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Props
|
|
29
|
+
|
|
30
|
+
| Name | Type | Default | Description |
|
|
31
|
+
| --- | --- | --- | --- |
|
|
32
|
+
| `tabContainerClass` | `String` | — | Root wrapper class. |
|
|
33
|
+
| `navContainerClass` | `String` | — | Wrapper around the nav list. |
|
|
34
|
+
| `tabDetailsClass` | `String` | — | Wrapper around the tab content. |
|
|
35
|
+
| `navClass` | `String` | `"nav-pills"` | Class on the nav list itself (e.g. `nav-tabs`, `nav-pills`). |
|
|
36
|
+
| `tabClass` | `String` | `""` | Class on each individual tab link. |
|
|
37
|
+
| `isRouteMode` | `Boolean` | `false` | When `true`, tab clicks perform router navigation. |
|
|
38
|
+
|
|
39
|
+
## Events
|
|
40
|
+
|
|
41
|
+
None.
|
|
42
|
+
|
|
43
|
+
## Slots
|
|
44
|
+
|
|
45
|
+
| Name | Description |
|
|
46
|
+
| --- | --- |
|
|
47
|
+
| `default` | Place `<ab-tab>` children here. |
|