@appsbd/vue3-appsbd-ui 1.0.11 → 1.0.13
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_AbColorPicker.md +4 -0
- package/.ai/ai_ref_AbCustomField.md +61 -0
- package/.ai/ai_ref_AbFileUploader.md +3 -1
- package/.ai/ai_ref_AbFilterPanel.md +2 -0
- package/.ai/ai_ref_AbFormCheck.md +1 -0
- package/.ai/ai_ref_AbWizard.md +3 -0
- package/CHANGELOG.md +17 -1
- package/dist/style.css +1 -1
- package/dist/vue3-appsbd-ui.cjs.js +75 -75
- package/dist/vue3-appsbd-ui.es.js +11051 -10746
- package/package.json +1 -1
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Radio-style color swatch picker. Takes a list of named colors and lets users pick one.
|
|
4
4
|
|
|
5
|
+
> Also available inside `AbCustomField` via the `CP` field type — see [.ai/ai_ref_AbCustomField.md](./ai_ref_AbCustomField.md).
|
|
6
|
+
|
|
5
7
|
## Usage
|
|
6
8
|
|
|
7
9
|
```vue
|
|
@@ -34,6 +36,8 @@ const themeColor = ref('blue');
|
|
|
34
36
|
| `align` | `String` | `"left"` | Flex alignment (`left`, `center`, `right`, …). |
|
|
35
37
|
| `borderRadius` | `String` | `"50%"` | Swatch border-radius. |
|
|
36
38
|
| `size` | `String` | `"md"` | Item size (`xs`, `sm`, `md`, `lg`, `xl`, `xxl`). |
|
|
39
|
+
| `label` | `String` | `""` | Optional text label rendered above picker. |
|
|
40
|
+
| `containerClass` | `String` | `undefined` | Additional class for wrapper div. Falls back to globalConfig.inputContainerClass. |
|
|
37
41
|
|
|
38
42
|
## Events
|
|
39
43
|
|
|
@@ -26,6 +26,57 @@ const fields = [
|
|
|
26
26
|
</script>
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
+
### Radio / checkbox with card, segmented or pill variant
|
|
30
|
+
|
|
31
|
+
`R` (radio) and `C` (checkbox) fields render through `AbFormCheck` internally, so its `variant`, `card_width`, `icon_size` and `icon_gap` options pass straight through:
|
|
32
|
+
|
|
33
|
+
```vue
|
|
34
|
+
<template>
|
|
35
|
+
<ab-custom-field :field-inputs="fields" :custom-props="form" />
|
|
36
|
+
</template>
|
|
37
|
+
|
|
38
|
+
<script setup>
|
|
39
|
+
import { reactive } from 'vue';
|
|
40
|
+
|
|
41
|
+
const form = reactive({ plan: 'pro', notify: [] });
|
|
42
|
+
|
|
43
|
+
const fields = [
|
|
44
|
+
{ id: 'plan', type: 'R', label: 'Plan', variant: 'card', card_width: '160px', options: [
|
|
45
|
+
{ val: 'free', title: 'Free' },
|
|
46
|
+
{ val: 'pro', title: 'Pro', description: 'For growing teams' },
|
|
47
|
+
] },
|
|
48
|
+
{ id: 'notify', type: 'C', label: 'Notify via', variant: 'segmented', options: [
|
|
49
|
+
{ val: 'email', title: 'Email' },
|
|
50
|
+
{ val: 'sms', title: 'SMS' },
|
|
51
|
+
] },
|
|
52
|
+
];
|
|
53
|
+
</script>
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Color picker & file uploader fields
|
|
57
|
+
|
|
58
|
+
`CP` renders `AbColorPicker` and `FU` renders `AbFileUploader`. Neither integrates with Vee-Validate (`rules` is ignored for these two types):
|
|
59
|
+
|
|
60
|
+
```vue
|
|
61
|
+
<template>
|
|
62
|
+
<ab-custom-field :field-inputs="fields" :custom-props="form" />
|
|
63
|
+
</template>
|
|
64
|
+
|
|
65
|
+
<script setup>
|
|
66
|
+
import { reactive } from 'vue';
|
|
67
|
+
|
|
68
|
+
const form = reactive({ theme: '', avatar: null });
|
|
69
|
+
|
|
70
|
+
const fields = [
|
|
71
|
+
{ id: 'theme', type: 'CP', label: 'Theme Color', options: [
|
|
72
|
+
{ name: 'blue', color: '#0d6efd', title: 'Blue' },
|
|
73
|
+
{ name: 'green', color: '#198754', title: 'Green' },
|
|
74
|
+
] },
|
|
75
|
+
{ id: 'avatar', type: 'FU', label: 'Avatar', max_size: 2 },
|
|
76
|
+
];
|
|
77
|
+
</script>
|
|
78
|
+
```
|
|
79
|
+
|
|
29
80
|
## Props
|
|
30
81
|
|
|
31
82
|
| Name | Type | Default | Description |
|
|
@@ -50,6 +101,8 @@ const fields = [
|
|
|
50
101
|
| `W` | Dropdown / select |
|
|
51
102
|
| `S` | Switch / toggle |
|
|
52
103
|
| `C` | Checkbox |
|
|
104
|
+
| `CP` | Color picker (`AbColorPicker`) |
|
|
105
|
+
| `FU` | File uploader (`AbFileUploader`) |
|
|
53
106
|
|
|
54
107
|
### Field Properties
|
|
55
108
|
|
|
@@ -61,6 +114,14 @@ Each object in `fieldInputs` supports several properties. The `rules` property d
|
|
|
61
114
|
| `type` | `String` | Component type code (e.g. `T`, `N`). |
|
|
62
115
|
| `label` | `String` | Field label. |
|
|
63
116
|
| `rules` | `String` \| `Array` | Standard Vee-Validate rules (e.g., `"required|url"`). Replaces legacy `is_required`. |
|
|
117
|
+
| `options` | `Array` | Choices for `R` (radio), `C` (checkbox) and `W` (dropdown) fields — item shape `{ val, title, description?, disable?, img_src?, icon?, iconComponent? }`. For `CP` (color picker) it's forwarded as `AbColorPicker`'s `colors` prop — item shape `{ name, color, title? }` instead. |
|
|
118
|
+
| `variant` | `String` | **`R`/`C` only.** Forwarded to `AbFormCheck`'s `variant` prop: `"default"` (plain, initial value), `"card"`, `"segmented"`, or `"pill"`. |
|
|
119
|
+
| `card_width` | `String` | **`R`/`C` only, with `variant`.** Forwarded to `AbFormCheck`'s `card-width` prop, e.g. `"160px"`, `"50%"`. Default `"auto"`. |
|
|
120
|
+
| `icon_size` | `String` | **`R`/`C` only, with `variant`.** Forwarded to `AbFormCheck`'s `icon-size` prop. Default `"24px"`. |
|
|
121
|
+
| `icon_gap` | `String` | **`R`/`C` only, with `variant`.** Forwarded to `AbFormCheck`'s `icon-gap` prop. Default `"10px"`. |
|
|
122
|
+
| `align` | `String` | **`CP` only.** Forwarded to `AbColorPicker`'s `align` prop (`"left"`, `"center"`, `"right"`...). Default `"left"`. |
|
|
123
|
+
| `border_radius` | `String` | **`CP` only.** Forwarded to `AbColorPicker`'s `border-radius` prop, e.g. `"50%"`, `"6px"`. Default `"50%"`. |
|
|
124
|
+
| `max_size` | `Number` | **`FU` only.** Forwarded to `AbFileUploader`'s `max-size` prop — max file size in MB. Default `2.0`. |
|
|
64
125
|
|
|
65
126
|
## Slots (scoped by field id)
|
|
66
127
|
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
File upload input with drag-and-drop, size validation, and preview. Can render a default uploader UI or accept a custom one via slots.
|
|
4
4
|
|
|
5
|
+
> Also available inside `AbCustomField` via the `FU` field type — see [.ai/ai_ref_AbCustomField.md](./ai_ref_AbCustomField.md).
|
|
6
|
+
|
|
5
7
|
## Usage
|
|
6
8
|
|
|
7
9
|
```vue
|
|
@@ -29,7 +31,7 @@ function handleFiles(files) { console.log('Selected files:', files); }
|
|
|
29
31
|
| `modelValue` | `File \| Array \| String` | `null` | Selected file (or URL string / array). |
|
|
30
32
|
| `maxSize` | `Number` | `2.0` | Max file size in MB. |
|
|
31
33
|
| `label` | `String` | `""` | Field label. |
|
|
32
|
-
| `containerClass` | `String` | `
|
|
34
|
+
| `containerClass` | `String` | `undefined` | Wrapper class (falls back to globalConfig.inputContainerClass). |
|
|
33
35
|
|
|
34
36
|
## Events
|
|
35
37
|
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
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
4
|
|
|
5
|
+
`isMultiple` is functional in `isQuickAdvance` mode for `dd` fields: selections toggle on/off and render as removable tag chips on the popover trigger (no `AbMultiSelect` involved). The popover's option list is searchable — locally against `options`, or via `isAjaxSearch` + `onSearch` for server-side search.
|
|
6
|
+
|
|
5
7
|
## Usage
|
|
6
8
|
|
|
7
9
|
```vue
|
|
@@ -38,6 +38,7 @@ Checkbox or radio group with card, segmented, and pill visual variants. `AbRadio
|
|
|
38
38
|
| `iconSize` | `String` | `"24px"` | Icon size (when option has an icon). |
|
|
39
39
|
| `iconGap` | `String` | `"10px"` | Gap between icon and label. |
|
|
40
40
|
| `variant` | `String` | `"default"` | `default`, `card`, `segmented`, `pill`. |
|
|
41
|
+
| `cardWidth` | `String` | `"auto"` | Width of card options (e.g. `"160px"`, `"50%"`, `"12rem"`). |
|
|
41
42
|
|
|
42
43
|
## Events
|
|
43
44
|
|
package/.ai/ai_ref_AbWizard.md
CHANGED
|
@@ -44,6 +44,9 @@ function onStepChange(newIndex) {}
|
|
|
44
44
|
| `finishText` | `String` | `"Finish"` | Finish button label. |
|
|
45
45
|
| `disableClose` | `Boolean` | `false` | Disable the close button (modal variants). |
|
|
46
46
|
| `modalClass` | `String` | `"modal-lg"` | Modal size class (modal variants only). |
|
|
47
|
+
| `backgroundColor` | `String` | `null` | Explicit background color for the whole wizard (modal-content or default wrapper). Leave unset to keep the default background. A nested `AbSettingsForm` automatically goes transparent to match it instead of showing its own background on top. |
|
|
48
|
+
|
|
49
|
+
Any `class` passed to `<AbWizard>` is forwarded (via `$attrs`) onto the root element of the `default`/`circular`/`horizontal`/`vertical` variants — useful for spacing, border-radius, or your own theme classes. The `modal`/`modal-circular` variants render inside a `<Teleport>`, so `class` isn't forwarded there; use `modalClass` for those instead.
|
|
47
50
|
|
|
48
51
|
## Events
|
|
49
52
|
|
package/CHANGELOG.md
CHANGED
|
@@ -2,7 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `@appsbd/vue3-appsbd-ui` are documented here. Format loosely follows [Keep a Changelog](https://keepachangelog.com/).
|
|
4
4
|
|
|
5
|
-
## [Unreleased] (1.0.
|
|
5
|
+
## [Unreleased] (1.0.13)
|
|
6
|
+
|
|
7
|
+
- **Added**: `AbFilterPanel` `isAjaxSearch` + async `onSearch(query)` support on quick-advance `dd` fields, fetching remote options as the user types in the popover search box.
|
|
8
|
+
- **Added**: `AbFilterPanel` multi-select (`isMultiple`) support for quick-advance `dd` fields, with `operators: "in"` array values.
|
|
9
|
+
- **Added**: `AbWizard` `backgroundColor` prop to set an explicit background on the wizard root/modal-content; a nested `AbSettingsForm` automatically goes transparent to match it.
|
|
10
|
+
- **Fixed**: `AbFilterPanel` range-type (`dr`/`tr`) filter values no longer treated as "no value" when only one of `start`/`end` is set.
|
|
11
|
+
- **Added**: RTL styling for `AbProgressbar` (`_progressbar.scss`).
|
|
12
|
+
- **Changed**: `AbFilterPanel` active-filter badge now uses a border instead of a filled background.
|
|
13
|
+
|
|
14
|
+
## [1.0.12] - 2026-08-09
|
|
15
|
+
|
|
16
|
+
- **Changed**: `AbCustomField` now supports `CP` (color picker) and `FU` (file uploader) field types, and forwards `variant`/`card-width`/`icon-size`/`icon-gap` to its radio/checkbox fields.
|
|
17
|
+
- **Added**: `label` option for `AbColorPicker` and `AbFileUploader`; `AbFormCheck` variation cards support a custom width.
|
|
18
|
+
- **Fixed**: `AbToggle` switch icon alignment and per-size (`xs`–`xl`) icon sizing.
|
|
19
|
+
- **Docs**: AI reference files added/updated for `AbColorPicker`, `AbFileUploader`, `AbFormCheck`, and `AbCustomField`.
|
|
20
|
+
|
|
21
|
+
## [1.0.11] - 2026-07-30
|
|
6
22
|
|
|
7
23
|
- **Changed**: Migrated the icon peer dependency from `lucide-vue-next` to `@lucide/vue` (`>=1.28.0`).
|
|
8
24
|
- **Added**: `/migrate-lucide-icons` command, shipped to consuming projects, to automate the `lucide-vue-next` → `@lucide/vue` import rename.
|