@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.
@@ -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` | `""` | Wrapper class. |
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
 
@@ -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.11)
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.