@juspay/blend-design-system 0.0.21 → 0.0.22
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/dist/assets/main.css +1 -1
- package/dist/components/Accordion/AccordionItem.d.ts +1 -0
- package/dist/components/Card/CardComponents.d.ts +3 -0
- package/dist/components/Card/types.d.ts +11 -1
- package/dist/components/Charts/renderChart.d.ts +1 -1
- package/dist/components/Charts/types.d.ts +2 -0
- package/dist/components/DataTable/DataTablePagination.d.ts +2 -1
- package/dist/components/DataTable/TableBody/types.d.ts +1 -0
- package/dist/components/DataTable/TableCell/index.d.ts +2 -1
- package/dist/components/DataTable/TableCell/types.d.ts +2 -0
- package/dist/components/DataTable/TableFooter/types.d.ts +1 -0
- package/dist/components/DataTable/TableHeader/handlers.d.ts +1 -1
- package/dist/components/DataTable/TableHeader/types.d.ts +4 -1
- package/dist/components/DateRangePicker/CalendarGrid.d.ts +1 -0
- package/dist/components/DateRangePicker/dateRangePicker.tokens.d.ts +6 -0
- package/dist/components/DateRangePicker/types.d.ts +0 -1
- package/dist/components/Drawer/types.d.ts +0 -12
- package/dist/components/Inputs/NumberInput/numberInput.tokens.d.ts +1 -0
- package/dist/components/Inputs/UnitInput/types.d.ts +1 -0
- package/dist/components/Modal/types.d.ts +0 -1
- package/dist/components/MultiSelect/MultiSelectMenuItem.d.ts +2 -1
- package/dist/components/MultiSelect/MultiSelectTrigger.d.ts +2 -1
- package/dist/components/MultiSelect/multiSelect.tokens.d.ts +5 -0
- package/dist/components/ProgressBar/types.d.ts +0 -1
- package/dist/components/Select/SelectItem/types.d.ts +1 -0
- package/dist/components/Sidebar/types.d.ts +16 -0
- package/dist/components/Sidebar/utils.d.ts +1 -0
- package/dist/components/SingleSelect/SingleSelectTrigger.d.ts +2 -1
- package/dist/components/SingleSelect/singleSelect.tokens.d.ts +10 -0
- package/dist/components/StatCard/StatCard.d.ts +1 -1
- package/dist/components/Tabs/Tabs.d.ts +4 -2
- package/dist/components/Tabs/TabsList.d.ts +4 -2
- package/dist/components/Tabs/TabsTrigger.d.ts +1 -0
- package/dist/components/Tabs/types.d.ts +4 -0
- package/dist/components/WorkflowCanvas/WorkflowCanvas.d.ts +19 -0
- package/dist/components/WorkflowCanvas/WorkflowControls.d.ts +3 -0
- package/dist/components/WorkflowCanvas/components/NodeContent.d.ts +15 -0
- package/dist/components/WorkflowCanvas/constants.d.ts +42 -0
- package/dist/components/WorkflowCanvas/edges/DefaultEdge.d.ts +3 -0
- package/dist/components/WorkflowCanvas/index.d.ts +11 -0
- package/dist/components/WorkflowCanvas/nodes/DefaultNode.d.ts +3 -0
- package/dist/components/WorkflowCanvas/nodes/InputNode.d.ts +3 -0
- package/dist/components/WorkflowCanvas/nodes/OutputNode.d.ts +3 -0
- package/dist/components/WorkflowCanvas/types.d.ts +76 -0
- package/dist/components/WorkflowCanvas/utils.d.ts +13 -0
- package/dist/components/WorkflowCanvas/workflow.tokens.d.ts +100 -0
- package/dist/context/ThemeContext.d.ts +2 -0
- package/dist/context/useComponentToken.d.ts +2 -1
- package/dist/main.d.ts +1 -0
- package/dist/main.js +32314 -26123
- package/package.json +2 -1
- package/dist/foundationToken.d.ts +0 -214
package/dist/assets/main.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[data-vaul-drawer][data-vaul-drawer-direction=bottom]:after{display:none}
|
|
1
|
+
[data-vaul-drawer][data-vaul-drawer-direction=bottom]:after{display:none}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.blend-workflow-canvas .react-flow__node{cursor:pointer;padding:0;border:none;background:transparent;border-radius:0;box-shadow:none}.blend-workflow-canvas .react-flow__node:hover,.blend-workflow-canvas .react-flow__node.selected,.blend-workflow-canvas .react-flow__node.selectable:hover{padding:0;border:none;background:transparent;box-shadow:none}.blend-workflow-canvas .react-flow__edge{cursor:pointer}.blend-workflow-canvas .react-flow__attribution{display:none}
|
|
@@ -5,5 +5,6 @@ declare const AccordionItem: import('react').ForwardRefExoticComponent<Accordion
|
|
|
5
5
|
isFirst?: boolean;
|
|
6
6
|
isLast?: boolean;
|
|
7
7
|
isIntermediate?: boolean;
|
|
8
|
+
currentValue?: string | string[];
|
|
8
9
|
} & import('react').RefAttributes<HTMLDivElement>>;
|
|
9
10
|
export default AccordionItem;
|
|
@@ -6,18 +6,21 @@ type CardComponentProps = {
|
|
|
6
6
|
variant?: CardVariant.DEFAULT;
|
|
7
7
|
}>;
|
|
8
8
|
cardToken: CardTokenType;
|
|
9
|
+
maxHeight?: string;
|
|
9
10
|
};
|
|
10
11
|
type AlignedCardComponentProps = {
|
|
11
12
|
props: Extract<CardProps, {
|
|
12
13
|
variant: CardVariant.ALIGNED;
|
|
13
14
|
}>;
|
|
14
15
|
cardToken: CardTokenType;
|
|
16
|
+
maxHeight?: string;
|
|
15
17
|
};
|
|
16
18
|
type CustomCardComponentProps = {
|
|
17
19
|
props: Extract<CardProps, {
|
|
18
20
|
variant: CardVariant.CUSTOM;
|
|
19
21
|
}>;
|
|
20
22
|
cardToken: CardTokenType;
|
|
23
|
+
maxHeight?: string;
|
|
21
24
|
};
|
|
22
25
|
export declare const DefaultCard: React.FC<CardComponentProps>;
|
|
23
26
|
export declare const AlignedCard: React.FC<AlignedCardComponentProps>;
|
|
@@ -41,6 +41,16 @@ export type CustomCardProps = {
|
|
|
41
41
|
children: ReactNode;
|
|
42
42
|
};
|
|
43
43
|
export type CardProps = {
|
|
44
|
-
className?: string;
|
|
45
44
|
maxWidth?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Height of the card. Accepts any valid CSS height value.
|
|
47
|
+
* Examples: "200px", "100%", "50vh", "auto"
|
|
48
|
+
* Note: For percentage heights to work, parent container must have a defined height.
|
|
49
|
+
*/
|
|
50
|
+
maxHeight?: string;
|
|
51
|
+
/**
|
|
52
|
+
* Minimum height of the card. Accepts any valid CSS height value.
|
|
53
|
+
* Useful when you want the card to grow with content but maintain a minimum height.
|
|
54
|
+
*/
|
|
55
|
+
minHeight?: string;
|
|
46
56
|
} & (DefaultCardProps | AlignedCardProps | CustomCardProps);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { RenderChartProps } from './types';
|
|
2
|
-
export declare const renderChart: ({ flattenedData, chartType, hoveredKey, lineKeys, colors, setHoveredKey, data: originalData, selectedKeys, isSmallScreen, barsize, xAxis, yAxis, noData, }: RenderChartProps) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare const renderChart: ({ chartName, flattenedData, chartType, hoveredKey, lineKeys, colors, setHoveredKey, data: originalData, selectedKeys, isSmallScreen, barsize, xAxis, yAxis, noData, }: RenderChartProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -90,6 +90,7 @@ export type StackedLegendsDataPoint = {
|
|
|
90
90
|
changeType: LegendsChangeType;
|
|
91
91
|
};
|
|
92
92
|
export type RenderChartProps = {
|
|
93
|
+
chartName?: string;
|
|
93
94
|
flattenedData: FlattenedDataPoint[];
|
|
94
95
|
chartType: ChartType;
|
|
95
96
|
hoveredKey: string | null;
|
|
@@ -139,6 +140,7 @@ export type ChartsProps = {
|
|
|
139
140
|
showCollapseIcon?: boolean;
|
|
140
141
|
isExpanded?: boolean;
|
|
141
142
|
onExpandedChange?: (isExpanded: boolean) => void;
|
|
143
|
+
chartName?: string;
|
|
142
144
|
};
|
|
143
145
|
export type FlattenedDataPoint = {
|
|
144
146
|
name: string;
|
|
@@ -4,8 +4,9 @@ type DataTablePaginationProps = {
|
|
|
4
4
|
totalRows: number;
|
|
5
5
|
pageSizeOptions: number[];
|
|
6
6
|
isLoading?: boolean;
|
|
7
|
+
hasData?: boolean;
|
|
7
8
|
onPageChange: (page: number) => void;
|
|
8
9
|
onPageSizeChange: (pageSize: number) => void;
|
|
9
10
|
};
|
|
10
|
-
export declare function DataTablePagination({ currentPage, pageSize, totalRows, pageSizeOptions, isLoading, onPageChange, onPageSizeChange, }: DataTablePaginationProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare function DataTablePagination({ currentPage, pageSize, totalRows, pageSizeOptions, isLoading, hasData, onPageChange, onPageSizeChange, }: DataTablePaginationProps): import("react/jsx-runtime").JSX.Element;
|
|
11
12
|
export {};
|
|
@@ -4,6 +4,7 @@ export type TableBodyProps<T extends Record<string, unknown>> = {
|
|
|
4
4
|
currentData: T[];
|
|
5
5
|
visibleColumns: ColumnDefinition<T>[];
|
|
6
6
|
idField: string;
|
|
7
|
+
tableTitle?: string;
|
|
7
8
|
selectedRows: Record<string, boolean>;
|
|
8
9
|
editingRows: Record<string, boolean>;
|
|
9
10
|
editValues: Record<string, T>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
1
2
|
import { TableCellProps } from './types';
|
|
2
|
-
declare const TableCell:
|
|
3
|
+
declare const TableCell: React.ForwardRefExoticComponent<TableCellProps<Record<string, unknown>> & React.RefAttributes<HTMLTableCellElement>>;
|
|
3
4
|
export default TableCell;
|
|
@@ -19,10 +19,10 @@ export type SortHandlers = {
|
|
|
19
19
|
handleSortAscending: (field: string) => void;
|
|
20
20
|
handleSortDescending: (field: string) => void;
|
|
21
21
|
};
|
|
22
|
+
export declare const createSortHandlers: (sortState: SortState, onSort: (field: keyof Record<string, unknown>) => void, onSortAscending?: (field: keyof Record<string, unknown>) => void, onSortDescending?: (field: keyof Record<string, unknown>) => void) => SortHandlers;
|
|
22
23
|
export type FilterHandlers = {
|
|
23
24
|
handleSearchChange: (fieldKey: string, value: string) => void;
|
|
24
25
|
handleSelectFilter: (column: ColumnDefinition<Record<string, unknown>>, fieldKey: string, value: string, onColumnFilter?: ColumnFilterHandler) => void;
|
|
25
26
|
handleMultiSelectFilter: (column: ColumnDefinition<Record<string, unknown>>, fieldKey: string, value: string, onColumnFilter?: ColumnFilterHandler) => void;
|
|
26
27
|
};
|
|
27
|
-
export declare const createSortHandlers: (sortState: SortState, setSortState: React.Dispatch<React.SetStateAction<SortState>>, onSort: (field: keyof Record<string, unknown>) => void) => SortHandlers;
|
|
28
28
|
export declare const createFilterHandlers: (setFilterState: React.Dispatch<React.SetStateAction<FilterState>>) => FilterHandlers;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { ColumnDefinition, FilterType, RowActionsConfig } from '../types';
|
|
1
|
+
import { ColumnDefinition, FilterType, RowActionsConfig, SortConfig } from '../types';
|
|
2
2
|
import { MobileDataTableConfig } from '../hooks/useMobileDataTable';
|
|
3
3
|
export type TableHeaderProps<T extends Record<string, unknown>> = {
|
|
4
4
|
visibleColumns: ColumnDefinition<T>[];
|
|
5
5
|
allVisibleColumns?: ColumnDefinition<T>[];
|
|
6
6
|
initialColumns: ColumnDefinition<T>[];
|
|
7
7
|
selectAll: boolean | 'indeterminate';
|
|
8
|
+
sortConfig?: SortConfig | null;
|
|
8
9
|
enableInlineEdit?: boolean;
|
|
9
10
|
enableColumnManager?: boolean;
|
|
10
11
|
columnManagerMaxSelections?: number;
|
|
@@ -31,6 +32,8 @@ export type TableHeaderProps<T extends Record<string, unknown>> = {
|
|
|
31
32
|
mobileOverflowColumns?: ColumnDefinition<T>[];
|
|
32
33
|
onMobileOverflowClick?: (row: T) => void;
|
|
33
34
|
onSort: (field: keyof T) => void;
|
|
35
|
+
onSortAscending?: (field: keyof T) => void;
|
|
36
|
+
onSortDescending?: (field: keyof T) => void;
|
|
34
37
|
onSelectAll: (checked: boolean | 'indeterminate') => void;
|
|
35
38
|
onColumnChange: (columns: ColumnDefinition<T>[]) => void;
|
|
36
39
|
onColumnFilter?: (field: string, type: FilterType, value: string | string[] | {
|
|
@@ -11,6 +11,7 @@ type CalendarGridProps = {
|
|
|
11
11
|
customDisableDates?: (date: Date) => boolean;
|
|
12
12
|
customRangeConfig?: CustomRangeConfig;
|
|
13
13
|
showDateTimePicker?: boolean;
|
|
14
|
+
resetScrollPosition?: number;
|
|
14
15
|
};
|
|
15
16
|
declare const CalendarGrid: import('react').ForwardRefExoticComponent<CalendarGridProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
16
17
|
export default CalendarGrid;
|
|
@@ -192,7 +192,13 @@ export type CalendarTokenType = {
|
|
|
192
192
|
};
|
|
193
193
|
todayIndicator: {
|
|
194
194
|
width: CSSObject['width'];
|
|
195
|
+
height: CSSObject['height'];
|
|
195
196
|
backgroundColor: CSSObject['backgroundColor'];
|
|
197
|
+
borderRadius: CSSObject['borderRadius'];
|
|
198
|
+
position: CSSObject['position'];
|
|
199
|
+
bottom: CSSObject['bottom'];
|
|
200
|
+
left: CSSObject['left'];
|
|
201
|
+
transform: CSSObject['transform'];
|
|
196
202
|
};
|
|
197
203
|
};
|
|
198
204
|
};
|
|
@@ -69,18 +69,6 @@ export type DrawerProps = {
|
|
|
69
69
|
left?: string;
|
|
70
70
|
right?: string;
|
|
71
71
|
};
|
|
72
|
-
/**
|
|
73
|
-
* Custom class name for the drawer content
|
|
74
|
-
*/
|
|
75
|
-
className?: string;
|
|
76
|
-
/**
|
|
77
|
-
* Custom class name for the overlay
|
|
78
|
-
*/
|
|
79
|
-
overlayClassName?: string;
|
|
80
|
-
/**
|
|
81
|
-
* Custom styles for the drawer content
|
|
82
|
-
*/
|
|
83
|
-
style?: React.CSSProperties;
|
|
84
72
|
/**
|
|
85
73
|
* Children content
|
|
86
74
|
*/
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { MultiSelectMenuItemType } from './types';
|
|
2
2
|
declare const MultiSelectMenuItem: {
|
|
3
|
-
({ item, onSelect, selected, maxSelections, allItems, }: {
|
|
3
|
+
({ item, onSelect, selected, maxSelections, allItems, index, }: {
|
|
4
4
|
item: MultiSelectMenuItemType;
|
|
5
5
|
onSelect: (value: string) => void;
|
|
6
6
|
selected: string[];
|
|
7
7
|
maxSelections?: number;
|
|
8
8
|
allItems?: MultiSelectMenuItemType[];
|
|
9
|
+
index?: number;
|
|
9
10
|
}): import("react/jsx-runtime").JSX.Element;
|
|
10
11
|
displayName: string;
|
|
11
12
|
};
|
|
@@ -19,6 +19,7 @@ export type MultiSelectTriggerProps = {
|
|
|
19
19
|
multiSelectTokens: MultiSelectTokensType;
|
|
20
20
|
inline?: boolean;
|
|
21
21
|
error?: boolean;
|
|
22
|
+
disabled?: boolean;
|
|
22
23
|
};
|
|
23
|
-
declare const MultiSelectTrigger: ({ selectedValues, slot, variant, size, isSmallScreen, onChange, name, label, placeholder, required, selectionTagType, valueLabelMap, open, onClick, multiSelectTokens, inline, error, }: MultiSelectTriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
declare const MultiSelectTrigger: ({ selectedValues, slot, variant, size, isSmallScreen, onChange, name, label, placeholder, required, selectionTagType, valueLabelMap, open, onClick, multiSelectTokens, inline, error, disabled, }: MultiSelectTriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
24
25
|
export default MultiSelectTrigger;
|
|
@@ -37,4 +37,20 @@ export type SidebarProps = {
|
|
|
37
37
|
merchantInfo?: MerchantInfo;
|
|
38
38
|
rightActions?: ReactNode;
|
|
39
39
|
enableTopbarAutoHide?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Controlled state: Current expanded state of the sidebar
|
|
42
|
+
* When provided, sidebar operates in controlled mode - parent must handle state updates
|
|
43
|
+
*/
|
|
44
|
+
isExpanded?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Callback fired when sidebar expand/collapse state should change
|
|
47
|
+
* In controlled mode: Parent should update isExpanded prop based on this callback
|
|
48
|
+
* In uncontrolled mode: Optional callback for state change notifications
|
|
49
|
+
*/
|
|
50
|
+
onExpandedChange?: (isExpanded: boolean) => void;
|
|
51
|
+
/**
|
|
52
|
+
* Uncontrolled mode: Initial expanded state (defaults to true)
|
|
53
|
+
* Only used when isExpanded is not provided
|
|
54
|
+
*/
|
|
55
|
+
defaultIsExpanded?: boolean;
|
|
40
56
|
};
|
|
@@ -24,3 +24,4 @@ export declare const getDefaultMerchantInfo: () => {
|
|
|
24
24
|
onSelect: (value: string) => void;
|
|
25
25
|
};
|
|
26
26
|
export declare const useTopbarAutoHide: (enableTopbarAutoHide: boolean) => boolean;
|
|
27
|
+
export declare const isControlledSidebar: (isExpanded: boolean | undefined) => boolean;
|
|
@@ -19,6 +19,7 @@ export type SingleSelectTriggerProps = {
|
|
|
19
19
|
inline?: boolean;
|
|
20
20
|
error?: boolean;
|
|
21
21
|
errorMessage?: string;
|
|
22
|
+
disabled?: boolean;
|
|
22
23
|
};
|
|
23
|
-
declare const SingleSelectTrigger: ({ size, selected, label, name, placeholder, required, valueLabelMap, open, onClick, slot, variant, isSmallScreenWithLargeSize, isItemSelected, singleSelectTokens, inline, error, }: SingleSelectTriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
declare const SingleSelectTrigger: ({ size, selected, label, name, placeholder, required, valueLabelMap, open, onClick, slot, variant, isSmallScreenWithLargeSize, isItemSelected, singleSelectTokens, inline, error, disabled, }: SingleSelectTriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
24
25
|
export default SingleSelectTrigger;
|
|
@@ -67,6 +67,16 @@ export type SingleSelectTokensType = {
|
|
|
67
67
|
[key in TriggerStates]: CSSObject['outline'];
|
|
68
68
|
};
|
|
69
69
|
};
|
|
70
|
+
placeholder: {
|
|
71
|
+
color: CSSObject['color'];
|
|
72
|
+
fontSize: CSSObject['fontSize'];
|
|
73
|
+
fontWeight: CSSObject['fontWeight'];
|
|
74
|
+
};
|
|
75
|
+
selectedValue: {
|
|
76
|
+
color: CSSObject['color'];
|
|
77
|
+
fontSize: CSSObject['fontSize'];
|
|
78
|
+
fontWeight: CSSObject['fontWeight'];
|
|
79
|
+
};
|
|
70
80
|
};
|
|
71
81
|
menu: {
|
|
72
82
|
backgroundColor: CSSObject['backgroundColor'];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { StatCardProps } from './types';
|
|
2
2
|
declare const StatCard: {
|
|
3
|
-
({ title, value, valueTooltip, change, subtitle, variant, chartData, progressValue, titleIcon, actionIcon, helpIconText, dropdownProps, maxWidth, xAxis, yAxis, valueFormatter, height, direction, }: StatCardProps): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
({ title, value, valueTooltip, change, subtitle, variant, chartData, progressValue, titleIcon, actionIcon, helpIconText, dropdownProps, maxWidth, xAxis, yAxis, valueFormatter, height, direction, ...props }: StatCardProps): import("react/jsx-runtime").JSX.Element;
|
|
4
4
|
displayName: string;
|
|
5
5
|
};
|
|
6
6
|
export default StatCard;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
declare const Tabs: React.ForwardRefExoticComponent<Omit<import('@radix-ui/react-tabs').TabsProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
2
3
|
variant?: import('./types').TabsVariant;
|
|
3
4
|
size?: import('./types').TabsSize;
|
|
4
5
|
items?: import('./types').TabItem[];
|
|
@@ -9,5 +10,6 @@ declare const Tabs: import('react').ForwardRefExoticComponent<Omit<import('@radi
|
|
|
9
10
|
dropdownTooltip?: string;
|
|
10
11
|
addButtonTooltip?: string;
|
|
11
12
|
maxDisplayTabs?: number;
|
|
12
|
-
|
|
13
|
+
disable?: boolean;
|
|
14
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
13
15
|
export default Tabs;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TabsSize, TabsVariant } from './types';
|
|
2
|
-
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
declare const TabsList: React.ForwardRefExoticComponent<Omit<import('@radix-ui/react-tabs').TabsListProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
3
4
|
variant?: TabsVariant;
|
|
4
5
|
size?: TabsSize;
|
|
5
6
|
expanded?: boolean;
|
|
@@ -14,5 +15,6 @@ declare const TabsList: import('react').ForwardRefExoticComponent<Omit<import('@
|
|
|
14
15
|
maxDisplayTabs?: number;
|
|
15
16
|
onTabChange?: (value: string) => void;
|
|
16
17
|
activeTab?: string;
|
|
17
|
-
|
|
18
|
+
disable?: boolean;
|
|
19
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
18
20
|
export default TabsList;
|
|
@@ -16,6 +16,7 @@ export type TabItem = {
|
|
|
16
16
|
content: ReactNode;
|
|
17
17
|
closable?: boolean;
|
|
18
18
|
isDefault?: boolean;
|
|
19
|
+
disable?: boolean;
|
|
19
20
|
};
|
|
20
21
|
export type TabsProps = ComponentPropsWithoutRef<typeof TabsPrimitive.Root> & {
|
|
21
22
|
variant?: TabsVariant;
|
|
@@ -28,6 +29,7 @@ export type TabsProps = ComponentPropsWithoutRef<typeof TabsPrimitive.Root> & {
|
|
|
28
29
|
dropdownTooltip?: string;
|
|
29
30
|
addButtonTooltip?: string;
|
|
30
31
|
maxDisplayTabs?: number;
|
|
32
|
+
disable?: boolean;
|
|
31
33
|
};
|
|
32
34
|
export type TabsListProps = ComponentPropsWithoutRef<typeof TabsPrimitive.List> & {
|
|
33
35
|
variant?: TabsVariant;
|
|
@@ -44,6 +46,7 @@ export type TabsListProps = ComponentPropsWithoutRef<typeof TabsPrimitive.List>
|
|
|
44
46
|
maxDisplayTabs?: number;
|
|
45
47
|
onTabChange?: (value: string) => void;
|
|
46
48
|
activeTab?: string;
|
|
49
|
+
disable?: boolean;
|
|
47
50
|
};
|
|
48
51
|
export type TabsTriggerProps = ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger> & {
|
|
49
52
|
value: string;
|
|
@@ -54,6 +57,7 @@ export type TabsTriggerProps = ComponentPropsWithoutRef<typeof TabsPrimitive.Tri
|
|
|
54
57
|
children: string | number;
|
|
55
58
|
closable?: boolean;
|
|
56
59
|
onClose?: () => void;
|
|
60
|
+
disable?: boolean;
|
|
57
61
|
};
|
|
58
62
|
export type TabsContentProps = ComponentPropsWithoutRef<typeof TabsPrimitive.Content>;
|
|
59
63
|
export type TabsStyles = {
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { WorkflowCanvasProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* WorkflowCanvas component for building visual workflow builders
|
|
4
|
+
*
|
|
5
|
+
* A powerful workflow canvas component built on top of ReactFlow, providing
|
|
6
|
+
* a complete solution for creating node-based workflow editors with support
|
|
7
|
+
* for custom nodes, edges, controls, and theming.
|
|
8
|
+
*
|
|
9
|
+
* @component
|
|
10
|
+
* @param {WorkflowCanvasProps} props - Canvas configuration and event handlers
|
|
11
|
+
* @returns {JSX.Element} The workflow canvas wrapped in ReactFlowProvider
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* See the full demo at `apps/site/src/demos/WorkflowCanvasDemo.tsx`
|
|
15
|
+
*
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
declare const WorkflowCanvas: (props: WorkflowCanvasProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export default WorkflowCanvas;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export type NodeContentProps = {
|
|
3
|
+
icon?: ReactNode;
|
|
4
|
+
label?: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
iconBackgroundColor?: string;
|
|
7
|
+
iconPadding?: string | number;
|
|
8
|
+
iconBorderRadius?: string | number;
|
|
9
|
+
labelColor?: string;
|
|
10
|
+
labelFontWeight?: number;
|
|
11
|
+
descriptionColor?: string;
|
|
12
|
+
descriptionOpacity?: number;
|
|
13
|
+
};
|
|
14
|
+
declare const _default: import('react').MemoExoticComponent<({ icon, label, description, iconBackgroundColor, iconPadding, iconBorderRadius, labelColor, labelFontWeight, descriptionColor, descriptionOpacity, }: NodeContentProps) => import("react/jsx-runtime").JSX.Element>;
|
|
15
|
+
export default _default;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WorkflowCanvas constants
|
|
3
|
+
* Internal implementation constants that should NOT be customized via tokens
|
|
4
|
+
*
|
|
5
|
+
* These are technical implementation details required for ReactFlow integration.
|
|
6
|
+
* User-customizable values (spacing, sizes, etc.) have been moved to
|
|
7
|
+
* workflow.tokens.ts where they can be themed and customized per breakpoint.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* ReactFlow-specific CSS class names
|
|
11
|
+
* These are required by ReactFlow library and should not be changed
|
|
12
|
+
*/
|
|
13
|
+
export declare const REACTFLOW_CLASSES: {
|
|
14
|
+
/** Prevents dragging on this element (ReactFlow class) */
|
|
15
|
+
readonly NO_DRAG: "nodrag";
|
|
16
|
+
/** Prevents panning on this element (ReactFlow class) */
|
|
17
|
+
readonly NO_PAN: "nopan";
|
|
18
|
+
/** Combined no-drag and no-pan classes */
|
|
19
|
+
readonly NO_DRAG_PAN: "nodrag nopan";
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* CSS transform constants
|
|
23
|
+
* Standard CSS transform values for internal positioning logic
|
|
24
|
+
*/
|
|
25
|
+
export declare const TRANSFORMS: {
|
|
26
|
+
/** Center transform for absolute positioned elements */
|
|
27
|
+
readonly CENTER: "translate(-50%, -50%)";
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Animation and transition constants
|
|
31
|
+
* Standard transition and animation values for consistent behavior
|
|
32
|
+
*/
|
|
33
|
+
export declare const TRANSITIONS: {
|
|
34
|
+
/** Default transition for smooth animations */
|
|
35
|
+
readonly DEFAULT: "all 0.2s ease-in-out";
|
|
36
|
+
/** Zoom animation duration in ms */
|
|
37
|
+
readonly ZOOM_DURATION: 200;
|
|
38
|
+
/** Fit view animation duration in ms */
|
|
39
|
+
readonly FIT_VIEW_DURATION: 200;
|
|
40
|
+
/** Fit view padding ratio */
|
|
41
|
+
readonly FIT_VIEW_PADDING: 0.2;
|
|
42
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { CustomEdgeProps } from '../types';
|
|
2
|
+
declare const _default: import('react').MemoExoticComponent<({ id, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, selected, data, }: CustomEdgeProps) => import("react/jsx-runtime").JSX.Element>;
|
|
3
|
+
export default _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { default as WorkflowCanvas } from './WorkflowCanvas';
|
|
2
|
+
export { default as DefaultNode } from './nodes/DefaultNode';
|
|
3
|
+
export { default as InputNode } from './nodes/InputNode';
|
|
4
|
+
export { default as OutputNode } from './nodes/OutputNode';
|
|
5
|
+
export { default as DefaultEdge } from './edges/DefaultEdge';
|
|
6
|
+
export { default as WorkflowControls } from './WorkflowControls';
|
|
7
|
+
export { default as NodeContent } from './components/NodeContent';
|
|
8
|
+
export * from './types';
|
|
9
|
+
export * from './workflow.tokens';
|
|
10
|
+
export * from './constants';
|
|
11
|
+
export * from './utils';
|