@appsbd/vue3-appsbd-ui 1.0.4 → 1.0.5

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 (91) hide show
  1. package/.ai/ai_ref_AbAvatar.md +41 -41
  2. package/.ai/ai_ref_AbBadge.md +36 -36
  3. package/.ai/ai_ref_AbButton.md +52 -51
  4. package/.ai/ai_ref_AbCard.md +51 -51
  5. package/.ai/ai_ref_AbCarousel.md +36 -36
  6. package/.ai/ai_ref_AbChart.md +46 -46
  7. package/.ai/ai_ref_AbColorPicker.md +42 -42
  8. package/.ai/ai_ref_AbConfirmPopover.md +54 -54
  9. package/.ai/ai_ref_AbCustomField.md +66 -66
  10. package/.ai/ai_ref_AbDarkModeToggler.md +33 -33
  11. package/.ai/ai_ref_AbDateTimePicker.md +74 -74
  12. package/.ai/ai_ref_AbEasyModal.md +56 -56
  13. package/.ai/ai_ref_AbField.md +88 -88
  14. package/.ai/ai_ref_AbFileUploader.md +47 -47
  15. package/.ai/ai_ref_AbFilterPanel.md +67 -67
  16. package/.ai/ai_ref_AbFormCheck.md +58 -58
  17. package/.ai/ai_ref_AbImageRadioInput.md +55 -55
  18. package/.ai/ai_ref_AbInputField.md +66 -66
  19. package/.ai/ai_ref_AbInputTag.md +56 -56
  20. package/.ai/ai_ref_AbKbd.md +23 -23
  21. package/.ai/ai_ref_AbKbdGroup.md +21 -21
  22. package/.ai/ai_ref_AbMainLayout.md +106 -0
  23. package/.ai/ai_ref_AbMultiSelect.md +78 -78
  24. package/.ai/ai_ref_AbNumberField.md +59 -59
  25. package/.ai/ai_ref_AbPinInput.md +33 -33
  26. package/.ai/ai_ref_AbPopover.md +54 -54
  27. package/.ai/ai_ref_AbPricingCard.md +56 -56
  28. package/.ai/ai_ref_AbPricingContainer.md +41 -41
  29. package/.ai/ai_ref_AbPricingTable.md +56 -56
  30. package/.ai/ai_ref_AbProgressbar.md +34 -34
  31. package/.ai/ai_ref_AbScrollbar.md +38 -38
  32. package/.ai/ai_ref_AbSettingsForm.md +46 -46
  33. package/.ai/ai_ref_AbSideMenuItem.md +47 -47
  34. package/.ai/ai_ref_AbSidebar.md +62 -62
  35. package/.ai/ai_ref_AbSkeleton.md +23 -23
  36. package/.ai/ai_ref_AbSlider.md +52 -52
  37. package/.ai/ai_ref_AbTab.md +30 -30
  38. package/.ai/ai_ref_AbTable.md +49 -49
  39. package/.ai/ai_ref_AbTabs.md +37 -37
  40. package/.ai/ai_ref_AbToggle.md +46 -46
  41. package/.ai/ai_ref_AbTooltip.md +39 -39
  42. package/.ai/ai_ref_AbWizard.md +64 -64
  43. package/.ai/ai_ref_AbWizardStep.md +36 -36
  44. package/.ai/ai_ref_abEventBus.md +66 -66
  45. package/.ai/ai_ref_abRequestParam.md +40 -40
  46. package/.ai/ai_ref_abVeeRules.md +33 -33
  47. package/.ai/ai_ref_global_config.md +57 -56
  48. package/.ai/ai_ref_useAlert.md +50 -45
  49. package/.ai/ai_ref_useFileValidator.md +31 -31
  50. package/.ai/ai_ref_useResponsive.md +41 -41
  51. package/.ai/ai_ref_useTheme.md +28 -28
  52. package/.ai/ai_ref_useToast.md +30 -30
  53. package/AI_REFERENCE.md +87 -86
  54. package/design-system.md +403 -403
  55. package/dist/skins/black.css +1 -1
  56. package/dist/skins/black.scss +3 -3
  57. package/dist/skins/cyan.css +1 -1
  58. package/dist/skins/cyan.scss +3 -3
  59. package/dist/skins/default.css +1 -1
  60. package/dist/skins/default.scss +5 -5
  61. package/dist/skins/gray.css +1 -1
  62. package/dist/skins/gray.scss +3 -3
  63. package/dist/skins/green.css +1 -1
  64. package/dist/skins/green.scss +5 -5
  65. package/dist/skins/orange.css +1 -1
  66. package/dist/skins/orange.scss +3 -3
  67. package/dist/skins/pink.css +1 -1
  68. package/dist/skins/pink.scss +3 -3
  69. package/dist/skins/purple.css +1 -1
  70. package/dist/skins/purple.scss +3 -3
  71. package/dist/skins/red.css +1 -1
  72. package/dist/skins/red.scss +3 -3
  73. package/dist/skins/themes/_black.scss +18 -6
  74. package/dist/skins/themes/_blue.scss +18 -43
  75. package/dist/skins/themes/_common_variable.scss +695 -685
  76. package/dist/skins/themes/_cyan.scss +18 -6
  77. package/dist/skins/themes/_gray.scss +18 -7
  78. package/dist/skins/themes/_green.scss +18 -6
  79. package/dist/skins/themes/_grid.scss +32 -30
  80. package/dist/skins/themes/_orange.scss +18 -6
  81. package/dist/skins/themes/_pink.scss +18 -6
  82. package/dist/skins/themes/_purple.scss +18 -6
  83. package/dist/skins/themes/_red.scss +18 -6
  84. package/dist/skins/themes/_violet.scss +18 -6
  85. package/dist/skins/violet.css +1 -1
  86. package/dist/skins/violet.scss +3 -3
  87. package/dist/style.css +1 -1
  88. package/dist/vue3-appsbd-ui.cjs.js +130 -142
  89. package/dist/vue3-appsbd-ui.es.js +21758 -20241
  90. package/package.json +72 -72
  91. package/readme.md +194 -194
@@ -1,34 +1,34 @@
1
- # AbProgressbar — AI Reference
2
-
3
- Animated Bootstrap-style progress bar with multiple color and size variants. Accepts a custom label via the default slot.
4
-
5
- ## Usage
6
-
7
- ```vue
8
- <template>
9
- <ab-progressbar :progress-value="75" color="success" size="lg">75%</ab-progressbar>
10
- </template>
11
- ```
12
-
13
- ## Props
14
-
15
- | Name | Type | Default | Description |
16
- | --- | --- | --- | --- |
17
- | `minValue` | `Number` | `0` | Minimum value (used for ARIA attributes). |
18
- | `maxValue` | `Number` | `100` | Maximum value. |
19
- | `progressValue` | `Number` | `0` | Current value — typically `0–100`. |
20
- | `color` | `String` | `"primary"` | One of: `primary`, `secondary`, `success`, `danger`, `info`, `warning`. |
21
- | `size` | `String` | `"md"` | One of: `xs`, `sm`, `md`, `lg`, `xl`, `xxl`. |
22
-
23
- ## Slots
24
-
25
- | `default` | Custom label rendered alongside the bar. The CSS custom property `--progress-value` is exposed for advanced positioning. |
26
-
27
- ## Position Classes
28
-
29
- Apply these classes to move the label:
30
- - `progress-right`: Label to the right of the bar.
31
- - `progress-right-top`: Label to the right-top (floating above).
32
- - `progress-right-bottom`: Label to the right-bottom (floating below).
33
- - `progress-value-top`: Label floating above the current progress indicator.
34
- - `progress-value-bottom`: Label floating below the current progress indicator.
1
+ # AbProgressbar — AI Reference
2
+
3
+ Animated Bootstrap-style progress bar with multiple color and size variants. Accepts a custom label via the default slot.
4
+
5
+ ## Usage
6
+
7
+ ```vue
8
+ <template>
9
+ <ab-progressbar :progress-value="75" color="success" size="lg">75%</ab-progressbar>
10
+ </template>
11
+ ```
12
+
13
+ ## Props
14
+
15
+ | Name | Type | Default | Description |
16
+ | --- | --- | --- | --- |
17
+ | `minValue` | `Number` | `0` | Minimum value (used for ARIA attributes). |
18
+ | `maxValue` | `Number` | `100` | Maximum value. |
19
+ | `progressValue` | `Number` | `0` | Current value — typically `0–100`. |
20
+ | `color` | `String` | `"primary"` | One of: `primary`, `secondary`, `success`, `danger`, `info`, `warning`. |
21
+ | `size` | `String` | `"md"` | One of: `xs`, `sm`, `md`, `lg`, `xl`, `xxl`. |
22
+
23
+ ## Slots
24
+
25
+ | `default` | Custom label rendered alongside the bar. The CSS custom property `--progress-value` is exposed for advanced positioning. |
26
+
27
+ ## Position Classes
28
+
29
+ Apply these classes to move the label:
30
+ - `progress-right`: Label to the right of the bar.
31
+ - `progress-right-top`: Label to the right-top (floating above).
32
+ - `progress-right-bottom`: Label to the right-bottom (floating below).
33
+ - `progress-value-top`: Label floating above the current progress indicator.
34
+ - `progress-value-bottom`: Label floating below the current progress indicator.
@@ -1,38 +1,38 @@
1
- # AbScrollbar — AI Reference
2
-
3
- Styled custom scrollbar wrapper for overflowing content. Emits scroll position events and supports hover-expand.
4
-
5
- ## Usage
6
-
7
- ```vue
8
- <template>
9
- <ab-scrollbar size="md" is-hover-increase @scroll-end="loadMore">
10
- <div style="height: 2000px"><!-- long content --></div>
11
- </ab-scrollbar>
12
- </template>
13
- ```
14
-
15
- ## Props
16
-
17
- | Name | Type | Default | Description |
18
- | --- | --- | --- | --- |
19
- | `size` | `String` | `"md"` | `sm` (4px), `md` (6px), `lg` (8px). |
20
- | `isHoverIncrease` | `Boolean` | `false` | Expand scrollbar on hover. |
21
- | `transparentTrack` | `Boolean` | `true` | Transparent track background. |
22
- | `showAlways` | `Boolean` | `false` | Always show the scrollbar (vs auto-hide). |
23
-
24
- ## Events
25
-
26
- Each event payload is an object with `scrollTop`, `scrollHeight`, `scrollRatio`, `scrollPercentage`, and related fields.
27
-
28
- | Event | Description |
29
- | --- | --- |
30
- | `scroll` | Fires on every scroll event. |
31
- | `scroll-start` | Fires when scrolled to the top. |
32
- | `scroll-end` | Fires when scrolled to the bottom. |
33
-
34
- ## Slots
35
-
36
- | Name | Description |
37
- | --- | --- |
38
- | `default` | Scrollable content. |
1
+ # AbScrollbar — AI Reference
2
+
3
+ Styled custom scrollbar wrapper for overflowing content. Emits scroll position events and supports hover-expand.
4
+
5
+ ## Usage
6
+
7
+ ```vue
8
+ <template>
9
+ <ab-scrollbar size="md" is-hover-increase @scroll-end="loadMore">
10
+ <div style="height: 2000px"><!-- long content --></div>
11
+ </ab-scrollbar>
12
+ </template>
13
+ ```
14
+
15
+ ## Props
16
+
17
+ | Name | Type | Default | Description |
18
+ | --- | --- | --- | --- |
19
+ | `size` | `String` | `"md"` | `sm` (4px), `md` (6px), `lg` (8px). |
20
+ | `isHoverIncrease` | `Boolean` | `false` | Expand scrollbar on hover. |
21
+ | `transparentTrack` | `Boolean` | `true` | Transparent track background. |
22
+ | `showAlways` | `Boolean` | `false` | Always show the scrollbar (vs auto-hide). |
23
+
24
+ ## Events
25
+
26
+ Each event payload is an object with `scrollTop`, `scrollHeight`, `scrollRatio`, `scrollPercentage`, and related fields.
27
+
28
+ | Event | Description |
29
+ | --- | --- |
30
+ | `scroll` | Fires on every scroll event. |
31
+ | `scroll-start` | Fires when scrolled to the top. |
32
+ | `scroll-end` | Fires when scrolled to the bottom. |
33
+
34
+ ## Slots
35
+
36
+ | Name | Description |
37
+ | --- | --- |
38
+ | `default` | Scrollable content. |
@@ -1,46 +1,46 @@
1
- # AbSettingsForm — AI Reference
2
-
3
- Composite settings-style form layout. When nested inside an `AbWizardStep`, auto-registers itself as the wizard step's validator — returning `false` from `onSubmit` blocks the wizard from advancing.
4
-
5
- ## Usage
6
-
7
- ```vue
8
- <template>
9
- <ab-wizard @finished="handleFinished">
10
- <ab-wizard-step title="Profile">
11
- <ab-settings-form :on-submit="validateProfile">
12
- <ab-input-field v-model="form.name" name="name" label="Name" rules="required" />
13
- <ab-input-field v-model="form.email" name="email" label="Email" rules="required|email" />
14
- </ab-settings-form>
15
- </ab-wizard-step>
16
-
17
- <ab-wizard-step title="Preferences">
18
- <ab-settings-form>
19
- <ab-toggle v-model="form.emails" name="emails" title="Email me updates" />
20
- </ab-settings-form>
21
- </ab-wizard-step>
22
- </ab-wizard>
23
- </template>
24
-
25
- <script setup>
26
- async function validateProfile(values) {
27
- if (!(await api.checkEmail(values.email))) return false; // blocks next
28
- }
29
- </script>
30
- ```
31
-
32
- ## Props
33
-
34
- | Name | Type | Default | Description |
35
- | --- | --- | --- | --- |
36
- | `onSubmit` | `Function` | `() => {}` | Called with form values on submit. Return `false` (or throw) to block wizard progression. |
37
-
38
- ## Slots
39
-
40
- | Name | Description |
41
- | --- | --- |
42
- | `default` | Form fields. |
43
-
44
- ## Notes
45
-
46
- Standalone use (outside a wizard) is supported — the component works as a plain VeeValidate `<Form>` wrapper.
1
+ # AbSettingsForm — AI Reference
2
+
3
+ Composite settings-style form layout. When nested inside an `AbWizardStep`, auto-registers itself as the wizard step's validator — returning `false` from `onSubmit` blocks the wizard from advancing.
4
+
5
+ ## Usage
6
+
7
+ ```vue
8
+ <template>
9
+ <ab-wizard @finished="handleFinished">
10
+ <ab-wizard-step title="Profile">
11
+ <ab-settings-form :on-submit="validateProfile">
12
+ <ab-input-field v-model="form.name" name="name" label="Name" rules="required" />
13
+ <ab-input-field v-model="form.email" name="email" label="Email" rules="required|email" />
14
+ </ab-settings-form>
15
+ </ab-wizard-step>
16
+
17
+ <ab-wizard-step title="Preferences">
18
+ <ab-settings-form>
19
+ <ab-toggle v-model="form.emails" name="emails" title="Email me updates" />
20
+ </ab-settings-form>
21
+ </ab-wizard-step>
22
+ </ab-wizard>
23
+ </template>
24
+
25
+ <script setup>
26
+ async function validateProfile(values) {
27
+ if (!(await api.checkEmail(values.email))) return false; // blocks next
28
+ }
29
+ </script>
30
+ ```
31
+
32
+ ## Props
33
+
34
+ | Name | Type | Default | Description |
35
+ | --- | --- | --- | --- |
36
+ | `onSubmit` | `Function` | `() => {}` | Called with form values on submit. Return `false` (or throw) to block wizard progression. |
37
+
38
+ ## Slots
39
+
40
+ | Name | Description |
41
+ | --- | --- |
42
+ | `default` | Form fields. |
43
+
44
+ ## Notes
45
+
46
+ Standalone use (outside a wizard) is supported — the component works as a plain VeeValidate `<Form>` wrapper.
@@ -1,47 +1,47 @@
1
- # AbSideMenuItem — AI Reference
2
-
3
- Single entry in an `AbSidebar`. Renders as a router-link, plain anchor, section title, or parent node with a submenu.
4
-
5
- ## Usage
6
-
7
- ```vue
8
- <ab-side-menu-item :to="{ name: 'dashboard' }">
9
- <template #icon><i class="bi bi-house"></i></template>
10
- Dashboard
11
- </ab-side-menu-item>
12
-
13
- <ab-side-menu-item>
14
- <template #sectiontitle>Account</template>
15
- </ab-side-menu-item>
16
-
17
- <ab-side-menu-item href="#">
18
- <template #icon><i class="bi bi-gear"></i></template>
19
- Settings
20
- <template #submenu>
21
- <ab-side-menu-item :to="{ name: 'profile' }">Profile</ab-side-menu-item>
22
- <ab-side-menu-item :to="{ name: 'billing' }">Billing</ab-side-menu-item>
23
- </template>
24
- </ab-side-menu-item>
25
- ```
26
-
27
- ## Props
28
-
29
- | Name | Type | Description |
30
- | --- | --- | --- |
31
- | `to` | `String \| Object` | Router-link target. When this item has a submenu, `to` makes the label clickable as a link. |
32
- | `href` | `String` | Plain anchor target. With a submenu, `href` makes the item a submenu toggle instead of a link. |
33
-
34
- ## Slots
35
-
36
- | Name | Description |
37
- | --- | --- |
38
- | `default` | Label text. |
39
- | `icon` | Leading icon. |
40
- | `submenu` | Submenu items (nested `AbSideMenuItem`s). |
41
- | `sectiontitle` | When provided, the item renders as a section heading instead of a nav item. |
42
-
43
- ## Injects
44
-
45
- - `isCollapsed` — from `AbSidebar`.
46
- - `isMobileFullHeight` — from `AbSidebar`.
47
- - `layoutState` — from `AbSidebar`.
1
+ # AbSideMenuItem — AI Reference
2
+
3
+ Single entry in an `AbSidebar`. Renders as a router-link, plain anchor, section title, or parent node with a submenu.
4
+
5
+ ## Usage
6
+
7
+ ```vue
8
+ <ab-side-menu-item :to="{ name: 'dashboard' }">
9
+ <template #icon><i class="bi bi-house"></i></template>
10
+ Dashboard
11
+ </ab-side-menu-item>
12
+
13
+ <ab-side-menu-item>
14
+ <template #sectiontitle>Account</template>
15
+ </ab-side-menu-item>
16
+
17
+ <ab-side-menu-item href="#">
18
+ <template #icon><i class="bi bi-gear"></i></template>
19
+ Settings
20
+ <template #submenu>
21
+ <ab-side-menu-item :to="{ name: 'profile' }">Profile</ab-side-menu-item>
22
+ <ab-side-menu-item :to="{ name: 'billing' }">Billing</ab-side-menu-item>
23
+ </template>
24
+ </ab-side-menu-item>
25
+ ```
26
+
27
+ ## Props
28
+
29
+ | Name | Type | Description |
30
+ | --- | --- | --- |
31
+ | `to` | `String \| Object` | Router-link target. When this item has a submenu, `to` makes the label clickable as a link. |
32
+ | `href` | `String` | Plain anchor target. With a submenu, `href` makes the item a submenu toggle instead of a link. |
33
+
34
+ ## Slots
35
+
36
+ | Name | Description |
37
+ | --- | --- |
38
+ | `default` | Label text. |
39
+ | `icon` | Leading icon. |
40
+ | `submenu` | Submenu items (nested `AbSideMenuItem`s). |
41
+ | `sectiontitle` | When provided, the item renders as a section heading instead of a nav item. |
42
+
43
+ ## Injects
44
+
45
+ - `isCollapsed` — from `AbSidebar`.
46
+ - `isMobileFullHeight` — from `AbSidebar`.
47
+ - `layoutState` — from `AbSidebar`.
@@ -1,62 +1,62 @@
1
- # AbSidebar — AI Reference
2
-
3
- Collapsible application sidebar. Hosts `AbSideMenuItem` children, supports header/footer, optional search, and persists collapse state to `localStorage`.
4
-
5
- ## Usage
6
-
7
- ```vue
8
- <template>
9
- <ab-sidebar app-unique-id="my-app" enable-search>
10
- <template #header>
11
- <img src="/logo.svg" alt="Logo" />
12
- </template>
13
-
14
- <ab-side-menu-item :to="{ name: 'dashboard' }">
15
- <template #icon><i class="bi bi-speedometer2"></i></template>
16
- Dashboard
17
- </ab-side-menu-item>
18
-
19
- <ab-side-menu-item>
20
- <template #sectiontitle>Admin</template>
21
- </ab-side-menu-item>
22
-
23
- <ab-side-menu-item href="#">
24
- <template #icon><i class="bi bi-people"></i></template>
25
- Users
26
- <template #submenu>
27
- <ab-side-menu-item :to="{ name: 'users-list' }">All users</ab-side-menu-item>
28
- <ab-side-menu-item :to="{ name: 'users-roles' }">Roles</ab-side-menu-item>
29
- </template>
30
- </ab-side-menu-item>
31
-
32
- <template #footer>
33
- <ab-dark-mode-toggler />
34
- </template>
35
- </ab-sidebar>
36
- </template>
37
- ```
38
-
39
- ## Props
40
-
41
- | Name | Type | Default | Description |
42
- | --- | --- | --- | --- |
43
- | `appUniqueId` | `String` | `"apbd"` | Unique key for the `localStorage` entry that stores collapse state. |
44
- | `hideSeperator` | `Boolean` | `false` | Hide dividers between sections. |
45
- | `mobileFullHeight` | `Boolean` | `false` | Force full-viewport height on mobile. |
46
- | `enableSearch` | `Boolean` | `false` | Show a search box that filters menu items. |
47
- | `searchTargetClass` | `String` | `"nav-item"` | CSS class of items that the search should match. |
48
-
49
- ## Slots
50
-
51
- | Name | Description |
52
- | --- | --- |
53
- | `header` | Sidebar header (logo area). |
54
- | `default` | Menu items (place `AbSideMenuItem` children here). |
55
- | `footer` | Sidebar footer (typically user avatar or theme toggle). |
56
- | `collapse-icon` | Override the collapse toggle icon. |
57
-
58
- ## Provides (for children)
59
-
60
- - `isCollapsed` — reactive collapse state.
61
- - `isMobileFullHeight` — reactive full-height state.
62
- - `layoutState` — layout state object (passed from parent if provided).
1
+ # AbSidebar — AI Reference
2
+
3
+ Collapsible application sidebar. Hosts `AbSideMenuItem` children, supports header/footer, optional search, and persists collapse state to `localStorage`.
4
+
5
+ ## Usage
6
+
7
+ ```vue
8
+ <template>
9
+ <ab-sidebar app-unique-id="my-app" enable-search>
10
+ <template #header>
11
+ <img src="/logo.svg" alt="Logo" />
12
+ </template>
13
+
14
+ <ab-side-menu-item :to="{ name: 'dashboard' }">
15
+ <template #icon><i class="bi bi-speedometer2"></i></template>
16
+ Dashboard
17
+ </ab-side-menu-item>
18
+
19
+ <ab-side-menu-item>
20
+ <template #sectiontitle>Admin</template>
21
+ </ab-side-menu-item>
22
+
23
+ <ab-side-menu-item href="#">
24
+ <template #icon><i class="bi bi-people"></i></template>
25
+ Users
26
+ <template #submenu>
27
+ <ab-side-menu-item :to="{ name: 'users-list' }">All users</ab-side-menu-item>
28
+ <ab-side-menu-item :to="{ name: 'users-roles' }">Roles</ab-side-menu-item>
29
+ </template>
30
+ </ab-side-menu-item>
31
+
32
+ <template #footer>
33
+ <ab-dark-mode-toggler />
34
+ </template>
35
+ </ab-sidebar>
36
+ </template>
37
+ ```
38
+
39
+ ## Props
40
+
41
+ | Name | Type | Default | Description |
42
+ | --- | --- | --- | --- |
43
+ | `appUniqueId` | `String` | `"apbd"` | Unique key for the `localStorage` entry that stores collapse state. |
44
+ | `hideSeperator` | `Boolean` | `false` | Hide dividers between sections. |
45
+ | `mobileFullHeight` | `Boolean` | `false` | Force full-viewport height on mobile. |
46
+ | `enableSearch` | `Boolean` | `false` | Show a search box that filters menu items. |
47
+ | `searchTargetClass` | `String` | `"nav-item"` | CSS class of items that the search should match. |
48
+
49
+ ## Slots
50
+
51
+ | Name | Description |
52
+ | --- | --- |
53
+ | `header` | Sidebar header (logo area). |
54
+ | `default` | Menu items (place `AbSideMenuItem` children here). |
55
+ | `footer` | Sidebar footer (typically user avatar or theme toggle). |
56
+ | `collapse-icon` | Override the collapse toggle icon. |
57
+
58
+ ## Provides (for children)
59
+
60
+ - `isCollapsed` — reactive collapse state.
61
+ - `isMobileFullHeight` — reactive full-height state.
62
+ - `layoutState` — layout state object (passed from parent if provided).
@@ -1,23 +1,23 @@
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
- ## Usage
6
-
7
- ```vue
8
- <template>
9
- <ab-skeleton style="height: 24px; width: 60%;" />
10
-
11
- <ab-card>
12
- <template #body>
13
- <ab-skeleton style="height: 160px; border-radius: 8px;" />
14
- <ab-skeleton class="mt-3" style="height: 18px; width: 80%;" />
15
- <ab-skeleton class="mt-2" style="height: 18px; width: 60%;" />
16
- </template>
17
- </ab-card>
18
- </template>
19
- ```
20
-
21
- ## Notes
22
-
23
- 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
+ ## Usage
6
+
7
+ ```vue
8
+ <template>
9
+ <ab-skeleton style="height: 24px; width: 60%;" />
10
+
11
+ <ab-card>
12
+ <template #body>
13
+ <ab-skeleton style="height: 160px; border-radius: 8px;" />
14
+ <ab-skeleton class="mt-3" style="height: 18px; width: 80%;" />
15
+ <ab-skeleton class="mt-2" style="height: 18px; width: 60%;" />
16
+ </template>
17
+ </ab-card>
18
+ </template>
19
+ ```
20
+
21
+ ## Notes
22
+
23
+ Apply `width`, `height`, `border-radius`, etc. via `style` or a utility class.
@@ -1,52 +1,52 @@
1
- # AbSlider — AI Reference
2
-
3
- Single or range numeric slider with custom thumb rendering and size variants.
4
-
5
- ## Usage
6
-
7
- ```vue
8
- <template>
9
- <ab-slider v-model="volume" :min="0" :max="100" label="Volume" show-labels />
10
-
11
- <ab-slider v-model="priceRange" :min="0" :max="5000" :step="50" range show-labels :format-label="v => '$' + v" />
12
-
13
- <ab-slider v-model="progress" show-labels>
14
- <template #thumb="{ value, type }">
15
- <div class="custom-thumb">{{ value }}</div>
16
- </template>
17
- </ab-slider>
18
- </template>
19
- ```
20
-
21
- ## Props
22
-
23
- | Name | Type | Default | Description |
24
- | --- | --- | --- | --- |
25
- | `modelValue` | `Number \| Array` | `null` | Single number, or `[min, max]` in range mode. |
26
- | `min` | `Number` | `0` | Minimum value. |
27
- | `max` | `Number` | `100` | Maximum value. |
28
- | `step` | `Number` | `1` | Increment step. |
29
- | `range` | `Boolean` | `false` | Enable range mode (two thumbs). |
30
- | `size` | `String` | `"md"` | `sm`, `md`, `lg`. |
31
- | `showLabels` | `Boolean` | `false` | Show value labels on thumbs. |
32
- | `disabled` | `Boolean` | `false` | Disable the slider. |
33
- | `label` | `String` | `""` | Field label. |
34
- | `containerClass` | `String` | `"mb-3"` | Wrapper class. |
35
- | `hints` | `String` | `""` | Helper text. |
36
- | `formatLabel` | `Function` | `v => Math.round(v) + "%"` | Formatter for thumb labels. |
37
-
38
- ## Events
39
-
40
- | Event | Payload | Description |
41
- | --- | --- | --- |
42
- | `update:modelValue` | `value` | v-model sync. |
43
-
44
- ## Slots
45
-
46
- | Name | Scope | Description |
47
- | --- | --- | --- |
48
- | `label` | — | Custom label. |
49
- | `prefix` | — | Prefix content (before the track). |
50
- | `postfix` | — | Postfix content (after the track). |
51
- | `thumb` | `{ value, type }` | Custom thumb rendering. `type` is `"min"`, `"max"`, or `"single"`. |
52
- | `hints` | — | Custom hints. |
1
+ # AbSlider — AI Reference
2
+
3
+ Single or range numeric slider with custom thumb rendering and size variants.
4
+
5
+ ## Usage
6
+
7
+ ```vue
8
+ <template>
9
+ <ab-slider v-model="volume" :min="0" :max="100" label="Volume" show-labels />
10
+
11
+ <ab-slider v-model="priceRange" :min="0" :max="5000" :step="50" range show-labels :format-label="v => '$' + v" />
12
+
13
+ <ab-slider v-model="progress" show-labels>
14
+ <template #thumb="{ value, type }">
15
+ <div class="custom-thumb">{{ value }}</div>
16
+ </template>
17
+ </ab-slider>
18
+ </template>
19
+ ```
20
+
21
+ ## Props
22
+
23
+ | Name | Type | Default | Description |
24
+ | --- | --- | --- | --- |
25
+ | `modelValue` | `Number \| Array` | `null` | Single number, or `[min, max]` in range mode. |
26
+ | `min` | `Number` | `0` | Minimum value. |
27
+ | `max` | `Number` | `100` | Maximum value. |
28
+ | `step` | `Number` | `1` | Increment step. |
29
+ | `range` | `Boolean` | `false` | Enable range mode (two thumbs). |
30
+ | `size` | `String` | `"md"` | `sm`, `md`, `lg`. |
31
+ | `showLabels` | `Boolean` | `false` | Show value labels on thumbs. |
32
+ | `disabled` | `Boolean` | `false` | Disable the slider. |
33
+ | `label` | `String` | `""` | Field label. |
34
+ | `containerClass` | `String` | `"mb-3"` | Wrapper class. |
35
+ | `hints` | `String` | `""` | Helper text. |
36
+ | `formatLabel` | `Function` | `v => Math.round(v) + "%"` | Formatter for thumb labels. |
37
+
38
+ ## Events
39
+
40
+ | Event | Payload | Description |
41
+ | --- | --- | --- |
42
+ | `update:modelValue` | `value` | v-model sync. |
43
+
44
+ ## Slots
45
+
46
+ | Name | Scope | Description |
47
+ | --- | --- | --- |
48
+ | `label` | — | Custom label. |
49
+ | `prefix` | — | Prefix content (before the track). |
50
+ | `postfix` | — | Postfix content (after the track). |
51
+ | `thumb` | `{ value, type }` | Custom thumb rendering. `type` is `"min"`, `"max"`, or `"single"`. |
52
+ | `hints` | — | Custom hints. |