@bfrs/agentic-components 0.4.8 → 0.4.9
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/BFRS_AGENTIC_COMPONENTS.md +73 -1
- package/README.md +1 -1
- package/package.json +1 -1
|
@@ -48,6 +48,7 @@ import {
|
|
|
48
48
|
SelectableChipGroup,
|
|
49
49
|
NumberStepper,
|
|
50
50
|
SuggestInput,
|
|
51
|
+
TagInput,
|
|
51
52
|
FileDropzone,
|
|
52
53
|
RevealField,
|
|
53
54
|
RevealAndCopy,
|
|
@@ -437,7 +438,7 @@ Icon-only buttons inherit the same compact control scale: `xs` is 26px, `sm` is
|
|
|
437
438
|
|
|
438
439
|
Wraps any form control with label, helper, and error text. Connects them via `aria-describedby`.
|
|
439
440
|
|
|
440
|
-
The label always renders on its own block row with a `6px` vertical gap before the control. This applies consistently to full-width controls such as `Input` and inline controls such as `NumberStepper`; do not add manual margins between the label and control.
|
|
441
|
+
The label always renders on its own block row with a `6px` vertical gap before the control. This applies consistently to full-width controls such as `Input` and inline controls such as `NumberStepper`; do not add manual margins between the label and control. Form labels use the primary text token, which resolves to `rgb(41, 52, 61)`.
|
|
441
442
|
|
|
442
443
|
```tsx
|
|
443
444
|
<FormField
|
|
@@ -692,6 +693,61 @@ Angular custom element:
|
|
|
692
693
|
|
|
693
694
|
---
|
|
694
695
|
|
|
696
|
+
#### `TagInput`
|
|
697
|
+
|
|
698
|
+
Controlled chip input for free-form tags. Type and press Enter or comma to add, press Backspace on an empty input to remove the last tag, or remove individual chips with the chip close action. Pass `suggestions` to show an autocomplete list filtered by the current input.
|
|
699
|
+
|
|
700
|
+
```tsx
|
|
701
|
+
const [tags, setTags] = useState<string[]>([]);
|
|
702
|
+
|
|
703
|
+
<TagInput
|
|
704
|
+
value={tags}
|
|
705
|
+
onChange={setTags}
|
|
706
|
+
suggestions={existingTags}
|
|
707
|
+
placeholder="Add Tag"
|
|
708
|
+
/>
|
|
709
|
+
```
|
|
710
|
+
|
|
711
|
+
React Hook Form:
|
|
712
|
+
|
|
713
|
+
```tsx
|
|
714
|
+
<Controller
|
|
715
|
+
name="order_tag"
|
|
716
|
+
control={control}
|
|
717
|
+
render={({ field }) => (
|
|
718
|
+
<TagInput
|
|
719
|
+
value={field.value ?? []}
|
|
720
|
+
onChange={field.onChange}
|
|
721
|
+
suggestions={allTags}
|
|
722
|
+
placeholder="Add Tag"
|
|
723
|
+
/>
|
|
724
|
+
)}
|
|
725
|
+
/>
|
|
726
|
+
```
|
|
727
|
+
|
|
728
|
+
Angular custom element:
|
|
729
|
+
|
|
730
|
+
```html
|
|
731
|
+
<bfrs-tag-input
|
|
732
|
+
placeholder="Add Tag"
|
|
733
|
+
[props]="{ values: orderTags, suggestions: allTags }"
|
|
734
|
+
(value-change)="orderTags = $event.detail.values">
|
|
735
|
+
</bfrs-tag-input>
|
|
736
|
+
```
|
|
737
|
+
|
|
738
|
+
| Prop | Type | Default |
|
|
739
|
+
|------|------|---------|
|
|
740
|
+
| `value` | `string[]` | **required** |
|
|
741
|
+
| `onChange` | `(value: string[]) => void` | **required** |
|
|
742
|
+
| `suggestions` | `string[]` | `[]` |
|
|
743
|
+
| `placeholder` | `string` | `"Add tag"` |
|
|
744
|
+
| `maxSuggestions` | `number` | `8` |
|
|
745
|
+
| `size` | `"sm" \| "md"` | `"md"` |
|
|
746
|
+
| `disabled` | `boolean` | `false` |
|
|
747
|
+
| `error` | `boolean` | `false` |
|
|
748
|
+
|
|
749
|
+
---
|
|
750
|
+
|
|
695
751
|
#### `OptionCardGroup`
|
|
696
752
|
|
|
697
753
|
Bordered selectable option cards for radio-style choices. Supports optional description, icon, disabled state, and help tooltip text.
|
|
@@ -856,6 +912,15 @@ Use `FormField` around controls that do not own a label. This keeps Quantity and
|
|
|
856
912
|
onValueChange={setCity}
|
|
857
913
|
/>
|
|
858
914
|
</FormField>
|
|
915
|
+
|
|
916
|
+
<FormField label="Order tags">
|
|
917
|
+
<TagInput
|
|
918
|
+
value={orderTags}
|
|
919
|
+
onChange={setOrderTags}
|
|
920
|
+
suggestions={allTags}
|
|
921
|
+
placeholder="Add Tag"
|
|
922
|
+
/>
|
|
923
|
+
</FormField>
|
|
859
924
|
</Grid>
|
|
860
925
|
|
|
861
926
|
<FileDropzone
|
|
@@ -890,6 +955,13 @@ Angular / Custom Elements:
|
|
|
890
955
|
(value-change)="city = $event.detail.value">
|
|
891
956
|
</bfrs-suggest-input>
|
|
892
957
|
</bfrs-form-field>
|
|
958
|
+
|
|
959
|
+
<bfrs-form-field label="Order tags">
|
|
960
|
+
<bfrs-tag-input
|
|
961
|
+
[props]="{ values: orderTags, suggestions: allTags }"
|
|
962
|
+
(value-change)="orderTags = $event.detail.values">
|
|
963
|
+
</bfrs-tag-input>
|
|
964
|
+
</bfrs-form-field>
|
|
893
965
|
</bfrs-grid>
|
|
894
966
|
```
|
|
895
967
|
|
package/README.md
CHANGED
|
@@ -266,7 +266,7 @@ For custom Angular table layouts where `bfrs-data-table` is too prescriptive,
|
|
|
266
266
|
use the primitive table tags: `bfrs-table`, `bfrs-thead`, `bfrs-tbody`,
|
|
267
267
|
`bfrs-tfoot`, `bfrs-tr`, `bfrs-th`, and `bfrs-td`.
|
|
268
268
|
|
|
269
|
-
Registered tags include `bfrs-box`, `bfrs-container`, `bfrs-paper`, `bfrs-stack`, `bfrs-grid`, `bfrs-text`, `bfrs-icon`, `bfrs-button`, `bfrs-button-group`, `bfrs-icon-button`, `bfrs-form-field`, `bfrs-label`, `bfrs-input`, `bfrs-slider`, `bfrs-color-picker`, `bfrs-color-swatch-group`, `bfrs-textarea`, `bfrs-select`, `bfrs-date-range-picker`, `bfrs-searchable-select`, `bfrs-multi-select`, `bfrs-suggest-input`, `bfrs-option-card-group`, `bfrs-selectable-chip-group`, `bfrs-number-stepper`, `bfrs-file-dropzone`, `bfrs-reveal-field`, `bfrs-checkbox`, `bfrs-radio`, `bfrs-switch`, `bfrs-badge`, `bfrs-chip`, `bfrs-alert`, `bfrs-info-card`, `bfrs-tip`, `bfrs-toast-manager`, `bfrs-toast-provider`, `bfrs-spinner`, `bfrs-skeleton`, `bfrs-empty-state`, `bfrs-error-state`, `bfrs-loading-state`, `bfrs-modal`, `bfrs-drawer`, `bfrs-confirm-dialog`, `bfrs-dropdown`, `bfrs-tooltip`, `bfrs-popover`, `bfrs-avatar`, `bfrs-metric-card`, `bfrs-table-pagination`, `bfrs-table-toolbar`, `bfrs-table-empty-state`, `bfrs-table-error-state`, `bfrs-table-skeleton`, `bfrs-table-row-actions`, `bfrs-table-bulk-actions`, `bfrs-table-column-visibility`, `bfrs-table-save-view`, `bfrs-data-table`, `bfrs-table`, `bfrs-thead`, `bfrs-tbody`, `bfrs-tfoot`, `bfrs-tr`, `bfrs-th`, `bfrs-td`, `bfrs-tabs`, `bfrs-tabs-list`, `bfrs-tabs-trigger`, `bfrs-tabs-content`, `bfrs-breadcrumbs`, `bfrs-action-menu`, `bfrs-page-header`, `bfrs-section-header`, `bfrs-layout-shell`, `bfrs-form-section`, `bfrs-filter-bar`, `bfrs-filter-drawer`, `bfrs-chat-bubble`, `bfrs-chat-composer`, `bfrs-full-page-loader`, `bfrs-business-info-display-card`, `bfrs-collapsible`, `bfrs-accordion`, `bfrs-summary-bar`, `bfrs-entity-display-card`, `bfrs-reveal-and-copy`, `bfrs-horizontal-stepper`, and `bfrs-step-progress-card`.
|
|
269
|
+
Registered tags include `bfrs-box`, `bfrs-container`, `bfrs-paper`, `bfrs-stack`, `bfrs-grid`, `bfrs-text`, `bfrs-icon`, `bfrs-button`, `bfrs-button-group`, `bfrs-icon-button`, `bfrs-form-field`, `bfrs-label`, `bfrs-input`, `bfrs-slider`, `bfrs-color-picker`, `bfrs-color-swatch-group`, `bfrs-textarea`, `bfrs-select`, `bfrs-date-range-picker`, `bfrs-searchable-select`, `bfrs-multi-select`, `bfrs-tag-input`, `bfrs-suggest-input`, `bfrs-option-card-group`, `bfrs-selectable-chip-group`, `bfrs-number-stepper`, `bfrs-file-dropzone`, `bfrs-reveal-field`, `bfrs-checkbox`, `bfrs-radio`, `bfrs-switch`, `bfrs-badge`, `bfrs-chip`, `bfrs-alert`, `bfrs-info-card`, `bfrs-tip`, `bfrs-toast-manager`, `bfrs-toast-provider`, `bfrs-spinner`, `bfrs-skeleton`, `bfrs-empty-state`, `bfrs-error-state`, `bfrs-loading-state`, `bfrs-modal`, `bfrs-drawer`, `bfrs-confirm-dialog`, `bfrs-dropdown`, `bfrs-tooltip`, `bfrs-popover`, `bfrs-avatar`, `bfrs-metric-card`, `bfrs-table-pagination`, `bfrs-table-toolbar`, `bfrs-table-empty-state`, `bfrs-table-error-state`, `bfrs-table-skeleton`, `bfrs-table-row-actions`, `bfrs-table-bulk-actions`, `bfrs-table-column-visibility`, `bfrs-table-save-view`, `bfrs-data-table`, `bfrs-table`, `bfrs-thead`, `bfrs-tbody`, `bfrs-tfoot`, `bfrs-tr`, `bfrs-th`, `bfrs-td`, `bfrs-tabs`, `bfrs-tabs-list`, `bfrs-tabs-trigger`, `bfrs-tabs-content`, `bfrs-breadcrumbs`, `bfrs-action-menu`, `bfrs-page-header`, `bfrs-section-header`, `bfrs-layout-shell`, `bfrs-form-section`, `bfrs-filter-bar`, `bfrs-filter-drawer`, `bfrs-chat-bubble`, `bfrs-chat-composer`, `bfrs-full-page-loader`, `bfrs-business-info-display-card`, `bfrs-collapsible`, `bfrs-accordion`, `bfrs-summary-bar`, `bfrs-entity-display-card`, `bfrs-reveal-and-copy`, `bfrs-horizontal-stepper`, and `bfrs-step-progress-card`.
|
|
270
270
|
|
|
271
271
|
`HorizontalStepper` provides the compact horizontal flow layout with an optional announcement banner and parent-owned `onClose` / `onStepSelect` behavior:
|
|
272
272
|
|