@bfrs/agentic-components 0.3.7 → 0.3.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 +434 -20
- package/README.md +34 -3
- package/dist/components/data-display/DataTable/DataTable.types.d.ts +3 -0
- package/dist/components/data-display/DataTable/TablePagination.d.ts +1 -1
- package/dist/components/data-display/DataTable/TableSaveView.d.ts +44 -0
- package/dist/components/data-display/DataTable/index.d.ts +1 -0
- package/dist/components/ui/feedback/Alert/Alert.d.ts +2 -0
- package/dist/components/ui/forms/Radio/Radio.d.ts +3 -1
- package/dist/components/ui/index.d.ts +1 -0
- package/dist/components/ui/patterns/HorizontalStepper/HorizontalStepper.d.ts +45 -0
- package/dist/components/ui/patterns/HorizontalStepper/index.d.ts +1 -0
- package/dist/custom-elements.d.ts +15 -0
- package/dist/custom-elements.js +6962 -6412
- package/dist/custom-elements.js.map +1 -1
- package/dist/index.js +5058 -4656
- package/dist/index.js.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -262,7 +262,30 @@ The standalone helpers are available as `bfrs-table-toolbar`,
|
|
|
262
262
|
`bfrs-table-row-actions`, `bfrs-table-bulk-actions`, and
|
|
263
263
|
`bfrs-table-column-visibility`.
|
|
264
264
|
|
|
265
|
-
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-data-table`, `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`, and `bfrs-step-progress-card`.
|
|
265
|
+
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-data-table`, `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`.
|
|
266
|
+
|
|
267
|
+
`HorizontalStepper` provides the compact horizontal flow layout with an optional announcement banner and parent-owned `onClose` / `onStepSelect` behavior:
|
|
268
|
+
|
|
269
|
+
```tsx
|
|
270
|
+
import { HorizontalStepper } from "@bfrs/agentic-components";
|
|
271
|
+
|
|
272
|
+
<HorizontalStepper
|
|
273
|
+
announcement="Great Choice! Early COD Remittance activation in progress.."
|
|
274
|
+
closeButton
|
|
275
|
+
onClose={handleClose}
|
|
276
|
+
currentStep={0}
|
|
277
|
+
title="Select a Plan"
|
|
278
|
+
subheading="Get guaranteed remittance from the shipment delivered date."
|
|
279
|
+
size="sm"
|
|
280
|
+
variant="primary"
|
|
281
|
+
steps={[
|
|
282
|
+
{ label: "Select Plan", secondaryText: "Choose payout speed" },
|
|
283
|
+
{ label: "Verify OTP", secondaryText: "Confirm activation" }
|
|
284
|
+
]}
|
|
285
|
+
/>
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
Use `variant="primary" | "success" | "info" | "warning" | "neutral"` for semantic color treatment, and `size="sm" | "md"` for compact or roomier layouts.
|
|
266
289
|
|
|
267
290
|
## Theme Overrides
|
|
268
291
|
|
|
@@ -357,10 +380,10 @@ function SaveButton() {
|
|
|
357
380
|
|
|
358
381
|
### Checkbox
|
|
359
382
|
|
|
360
|
-
Use `Checkbox` for independent true/false decisions or multi-select choices. It renders as a square checklist control, while `Radio` renders circular options for single-choice groups.
|
|
383
|
+
Use `Checkbox` for independent true/false decisions or multi-select choices. It renders as a square checklist control, while `Radio` renders circular options for single-choice groups. Both support primary text plus secondary description text.
|
|
361
384
|
|
|
362
385
|
```tsx
|
|
363
|
-
import { Checkbox } from "@bfrs/agentic-components";
|
|
386
|
+
import { Checkbox, Radio } from "@bfrs/agentic-components";
|
|
364
387
|
|
|
365
388
|
<Checkbox
|
|
366
389
|
label="Accept terms"
|
|
@@ -370,6 +393,14 @@ import { Checkbox } from "@bfrs/agentic-components";
|
|
|
370
393
|
/>
|
|
371
394
|
|
|
372
395
|
<Checkbox label="Partially selected" checked="indeterminate" />
|
|
396
|
+
|
|
397
|
+
<Radio
|
|
398
|
+
options={[
|
|
399
|
+
{ value: "registered", label: "Registered business", description: "Company GST and business KYC are available." },
|
|
400
|
+
{ value: "individual", label: "Individual seller", description: "Use personal details for seller verification." }
|
|
401
|
+
]}
|
|
402
|
+
defaultValue="registered"
|
|
403
|
+
/>
|
|
373
404
|
```
|
|
374
405
|
|
|
375
406
|
## Development
|
|
@@ -3,6 +3,7 @@ import { ActionMenuItem } from '../../navigation/ActionMenu';
|
|
|
3
3
|
export type SortDirection = "asc" | "desc";
|
|
4
4
|
export type TableDensity = "compact" | "default" | "comfortable";
|
|
5
5
|
export type TableAlign = "left" | "center" | "right";
|
|
6
|
+
export type TablePaginationVariant = "indexed" | "simple";
|
|
6
7
|
export type DataTableSorting = {
|
|
7
8
|
columnId: string;
|
|
8
9
|
direction: SortDirection;
|
|
@@ -45,6 +46,8 @@ export type DataTableLeadingColumn<Row> = {
|
|
|
45
46
|
export type DataTablePagination = {
|
|
46
47
|
page: number;
|
|
47
48
|
totalPages: number;
|
|
49
|
+
/** "indexed" shows Prev, page numbers, and Next. "simple" shows only Prev and Next. */
|
|
50
|
+
variant?: TablePaginationVariant;
|
|
48
51
|
pageSize?: number;
|
|
49
52
|
totalItems?: number;
|
|
50
53
|
pageSizeOptions?: number[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { TablePaginationProps } from './DataTable.types';
|
|
2
|
-
export declare function TablePagination({ page, totalPages, pageSize, totalItems, pageSizeOptions, onPageChange, onPageSizeChange, itemLabel, itemsPerPageLabel, className, pageSizeControl, showPageNavigation }: TablePaginationProps): import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare function TablePagination({ page, totalPages, variant, pageSize, totalItems, pageSizeOptions, onPageChange, onPageSizeChange, itemLabel, itemsPerPageLabel, className, pageSizeControl, showPageNavigation }: TablePaginationProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { TableColumnVisibilityColumn } from './DataTable.types';
|
|
3
|
+
export type TableSaveViewPayload = {
|
|
4
|
+
name: string;
|
|
5
|
+
visibleColumnIds: string[];
|
|
6
|
+
hiddenColumnCount: number;
|
|
7
|
+
filtersCount: number;
|
|
8
|
+
appliedSettingLabels: string[];
|
|
9
|
+
};
|
|
10
|
+
export type TableSaveViewProps = {
|
|
11
|
+
open?: boolean;
|
|
12
|
+
defaultOpen?: boolean;
|
|
13
|
+
onOpenChange?: (open: boolean) => void;
|
|
14
|
+
onClose?: () => void;
|
|
15
|
+
trigger?: ReactNode;
|
|
16
|
+
triggerLabel?: ReactNode;
|
|
17
|
+
title?: ReactNode;
|
|
18
|
+
description?: ReactNode;
|
|
19
|
+
viewName?: string;
|
|
20
|
+
defaultViewName?: string;
|
|
21
|
+
onViewNameChange?: (viewName: string) => void;
|
|
22
|
+
viewNameLabel?: ReactNode;
|
|
23
|
+
viewNamePlaceholder?: string;
|
|
24
|
+
appliedLabel?: ReactNode;
|
|
25
|
+
appliedSettings?: ReactNode;
|
|
26
|
+
appliedSettingLabels?: string[];
|
|
27
|
+
columns?: TableColumnVisibilityColumn[];
|
|
28
|
+
visibleColumnIds?: string[];
|
|
29
|
+
hiddenColumnCount?: number;
|
|
30
|
+
filtersCount?: number;
|
|
31
|
+
cancelLabel?: ReactNode;
|
|
32
|
+
saveLabel?: ReactNode;
|
|
33
|
+
onCancel?: () => void;
|
|
34
|
+
onSave?: (payload: TableSaveViewPayload) => void | Promise<void>;
|
|
35
|
+
loading?: boolean;
|
|
36
|
+
disabled?: boolean;
|
|
37
|
+
closeOnSave?: boolean;
|
|
38
|
+
closeOnOverlayClick?: boolean;
|
|
39
|
+
closeOnEscape?: boolean;
|
|
40
|
+
preventClose?: boolean;
|
|
41
|
+
className?: string;
|
|
42
|
+
triggerClassName?: string;
|
|
43
|
+
};
|
|
44
|
+
export declare function TableSaveView({ open, defaultOpen, onOpenChange, onClose, trigger, triggerLabel, title, description, viewName, defaultViewName, onViewNameChange, viewNameLabel, viewNamePlaceholder, appliedLabel, appliedSettings, appliedSettingLabels, columns, visibleColumnIds, hiddenColumnCount, filtersCount, cancelLabel, saveLabel, onCancel, onSave, loading, disabled, closeOnSave, closeOnOverlayClick, closeOnEscape, preventClose, className, triggerClassName }: TableSaveViewProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -2,6 +2,7 @@ import { HTMLAttributes, ReactNode } from 'react';
|
|
|
2
2
|
import { VariantProps } from 'class-variance-authority';
|
|
3
3
|
declare const alertVariants: (props?: ({
|
|
4
4
|
tone?: "success" | "warning" | "danger" | "info" | null | undefined;
|
|
5
|
+
size?: "xs" | "sm" | "md" | "lg" | null | undefined;
|
|
5
6
|
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
6
7
|
export type AlertProps = Omit<HTMLAttributes<HTMLDivElement>, "title"> & VariantProps<typeof alertVariants> & {
|
|
7
8
|
title?: ReactNode;
|
|
@@ -10,6 +11,7 @@ export type AlertProps = Omit<HTMLAttributes<HTMLDivElement>, "title"> & Variant
|
|
|
10
11
|
};
|
|
11
12
|
export declare const Alert: import('react').ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLDivElement>, "title"> & VariantProps<(props?: ({
|
|
12
13
|
tone?: "success" | "warning" | "danger" | "info" | null | undefined;
|
|
14
|
+
size?: "xs" | "sm" | "md" | "lg" | null | undefined;
|
|
13
15
|
} & import('class-variance-authority/types').ClassProp) | undefined) => string> & {
|
|
14
16
|
title?: ReactNode;
|
|
15
17
|
action?: ReactNode;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
1
2
|
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
2
3
|
export type RadioOption = {
|
|
3
4
|
value: string;
|
|
4
|
-
label:
|
|
5
|
+
label: ReactNode;
|
|
6
|
+
description?: ReactNode;
|
|
5
7
|
disabled?: boolean;
|
|
6
8
|
};
|
|
7
9
|
export type RadioProps = RadioGroupPrimitive.RadioGroupProps & {
|
|
@@ -66,6 +66,7 @@ export * from './patterns/ChatBubble';
|
|
|
66
66
|
export * from './patterns/ChatComposer';
|
|
67
67
|
export * from './patterns/FullPageLoader';
|
|
68
68
|
export * from './patterns/BusinessInfoDisplayCard';
|
|
69
|
+
export * from './patterns/HorizontalStepper';
|
|
69
70
|
export * from './patterns/StepProgressCard';
|
|
70
71
|
export * from './patterns/RevealAndCopy';
|
|
71
72
|
export * from './patterns/Collapsible';
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export type HorizontalStepperState = "done" | "active" | "pending" | "disabled";
|
|
3
|
+
export type HorizontalStepperVariant = "primary" | "success" | "info" | "warning" | "neutral";
|
|
4
|
+
export type HorizontalStepperSize = "sm" | "md";
|
|
5
|
+
export type HorizontalStepperStep = {
|
|
6
|
+
id?: string;
|
|
7
|
+
label: ReactNode;
|
|
8
|
+
secondaryText?: ReactNode;
|
|
9
|
+
/** Backwards-compatible alias for secondaryText. Prefer secondaryText for new code. */
|
|
10
|
+
description?: ReactNode;
|
|
11
|
+
status?: HorizontalStepperState;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
};
|
|
14
|
+
export type HorizontalStepperProps = HTMLAttributes<HTMLElement> & {
|
|
15
|
+
steps: HorizontalStepperStep[];
|
|
16
|
+
currentStep?: number;
|
|
17
|
+
title?: ReactNode;
|
|
18
|
+
subheading?: ReactNode;
|
|
19
|
+
/** Backwards-compatible alias for subheading. Prefer subheading for new code. */
|
|
20
|
+
description?: ReactNode;
|
|
21
|
+
announcement?: ReactNode;
|
|
22
|
+
closeButton?: boolean;
|
|
23
|
+
closeLabel?: string;
|
|
24
|
+
onClose?: () => void;
|
|
25
|
+
onStepSelect?: (step: HorizontalStepperStep, index: number) => void;
|
|
26
|
+
size?: HorizontalStepperSize;
|
|
27
|
+
surface?: "card" | "plain";
|
|
28
|
+
variant?: HorizontalStepperVariant;
|
|
29
|
+
};
|
|
30
|
+
export declare const HorizontalStepper: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
|
|
31
|
+
steps: HorizontalStepperStep[];
|
|
32
|
+
currentStep?: number;
|
|
33
|
+
title?: ReactNode;
|
|
34
|
+
subheading?: ReactNode;
|
|
35
|
+
/** Backwards-compatible alias for subheading. Prefer subheading for new code. */
|
|
36
|
+
description?: ReactNode;
|
|
37
|
+
announcement?: ReactNode;
|
|
38
|
+
closeButton?: boolean;
|
|
39
|
+
closeLabel?: string;
|
|
40
|
+
onClose?: () => void;
|
|
41
|
+
onStepSelect?: (step: HorizontalStepperStep, index: number) => void;
|
|
42
|
+
size?: HorizontalStepperSize;
|
|
43
|
+
surface?: "card" | "plain";
|
|
44
|
+
variant?: HorizontalStepperVariant;
|
|
45
|
+
} & import('react').RefAttributes<HTMLElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './HorizontalStepper';
|
|
@@ -607,6 +607,12 @@ export declare class BfrsTableColumnVisibilityElement extends ReactCustomElement
|
|
|
607
607
|
static get observedAttributes(): string[];
|
|
608
608
|
protected renderElement(): unknown;
|
|
609
609
|
}
|
|
610
|
+
export declare class BfrsTableSaveViewElement extends OpenCustomElement {
|
|
611
|
+
static readonly tagName = "table-save-view";
|
|
612
|
+
static get observedAttributes(): string[];
|
|
613
|
+
protected defaultDisplay(): string;
|
|
614
|
+
protected renderElement(): unknown;
|
|
615
|
+
}
|
|
610
616
|
export declare class BfrsDataTableElement extends ReactCustomElement {
|
|
611
617
|
static readonly tagName = "data-table";
|
|
612
618
|
static get observedAttributes(): string[];
|
|
@@ -755,6 +761,7 @@ export declare class BfrsAccordionElement extends ReactCustomElement {
|
|
|
755
761
|
static get observedAttributes(): string[];
|
|
756
762
|
protected defaultDisplay(): string;
|
|
757
763
|
private accordionDefaultValue;
|
|
764
|
+
private accordionValue;
|
|
758
765
|
protected renderElement(): unknown;
|
|
759
766
|
}
|
|
760
767
|
export declare class BfrsSummaryBarElement extends ReactCustomElement {
|
|
@@ -780,6 +787,12 @@ export declare class BfrsStepProgressCardElement extends ReactCustomElement {
|
|
|
780
787
|
protected defaultDisplay(): string;
|
|
781
788
|
protected renderElement(): unknown;
|
|
782
789
|
}
|
|
790
|
+
export declare class BfrsHorizontalStepperElement extends ReactCustomElement {
|
|
791
|
+
static readonly tagName = "horizontal-stepper";
|
|
792
|
+
static get observedAttributes(): string[];
|
|
793
|
+
protected defaultDisplay(): string;
|
|
794
|
+
protected renderElement(): unknown;
|
|
795
|
+
}
|
|
783
796
|
export declare class BfrsStepProgressCardSkeletonElement extends ReactCustomElement {
|
|
784
797
|
static readonly tagName = "step-progress-card-skeleton";
|
|
785
798
|
static get observedAttributes(): string[];
|
|
@@ -877,6 +890,7 @@ declare global {
|
|
|
877
890
|
"bfrs-skeleton": BfrsSkeletonElement;
|
|
878
891
|
"bfrs-spinner": BfrsSpinnerElement;
|
|
879
892
|
"bfrs-stack": BfrsStackElement;
|
|
893
|
+
"bfrs-horizontal-stepper": BfrsHorizontalStepperElement;
|
|
880
894
|
"bfrs-step-progress-card": BfrsStepProgressCardElement;
|
|
881
895
|
"bfrs-step-progress-card-skeleton": BfrsStepProgressCardSkeletonElement;
|
|
882
896
|
"bfrs-suggest-input": BfrsSuggestInputElement;
|
|
@@ -890,6 +904,7 @@ declare global {
|
|
|
890
904
|
"bfrs-table-row-actions": BfrsTableRowActionsElement;
|
|
891
905
|
"bfrs-table-bulk-actions": BfrsTableBulkActionsElement;
|
|
892
906
|
"bfrs-table-column-visibility": BfrsTableColumnVisibilityElement;
|
|
907
|
+
"bfrs-table-save-view": BfrsTableSaveViewElement;
|
|
893
908
|
"bfrs-tabs": BfrsTabsElement;
|
|
894
909
|
"bfrs-tabs-list": BfrsTabsListElement;
|
|
895
910
|
"bfrs-tabs-trigger": BfrsTabsTriggerElement;
|