@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.
Files changed (52) hide show
  1. package/dist/assets/main.css +1 -1
  2. package/dist/components/Accordion/AccordionItem.d.ts +1 -0
  3. package/dist/components/Card/CardComponents.d.ts +3 -0
  4. package/dist/components/Card/types.d.ts +11 -1
  5. package/dist/components/Charts/renderChart.d.ts +1 -1
  6. package/dist/components/Charts/types.d.ts +2 -0
  7. package/dist/components/DataTable/DataTablePagination.d.ts +2 -1
  8. package/dist/components/DataTable/TableBody/types.d.ts +1 -0
  9. package/dist/components/DataTable/TableCell/index.d.ts +2 -1
  10. package/dist/components/DataTable/TableCell/types.d.ts +2 -0
  11. package/dist/components/DataTable/TableFooter/types.d.ts +1 -0
  12. package/dist/components/DataTable/TableHeader/handlers.d.ts +1 -1
  13. package/dist/components/DataTable/TableHeader/types.d.ts +4 -1
  14. package/dist/components/DateRangePicker/CalendarGrid.d.ts +1 -0
  15. package/dist/components/DateRangePicker/dateRangePicker.tokens.d.ts +6 -0
  16. package/dist/components/DateRangePicker/types.d.ts +0 -1
  17. package/dist/components/Drawer/types.d.ts +0 -12
  18. package/dist/components/Inputs/NumberInput/numberInput.tokens.d.ts +1 -0
  19. package/dist/components/Inputs/UnitInput/types.d.ts +1 -0
  20. package/dist/components/Modal/types.d.ts +0 -1
  21. package/dist/components/MultiSelect/MultiSelectMenuItem.d.ts +2 -1
  22. package/dist/components/MultiSelect/MultiSelectTrigger.d.ts +2 -1
  23. package/dist/components/MultiSelect/multiSelect.tokens.d.ts +5 -0
  24. package/dist/components/ProgressBar/types.d.ts +0 -1
  25. package/dist/components/Select/SelectItem/types.d.ts +1 -0
  26. package/dist/components/Sidebar/types.d.ts +16 -0
  27. package/dist/components/Sidebar/utils.d.ts +1 -0
  28. package/dist/components/SingleSelect/SingleSelectTrigger.d.ts +2 -1
  29. package/dist/components/SingleSelect/singleSelect.tokens.d.ts +10 -0
  30. package/dist/components/StatCard/StatCard.d.ts +1 -1
  31. package/dist/components/Tabs/Tabs.d.ts +4 -2
  32. package/dist/components/Tabs/TabsList.d.ts +4 -2
  33. package/dist/components/Tabs/TabsTrigger.d.ts +1 -0
  34. package/dist/components/Tabs/types.d.ts +4 -0
  35. package/dist/components/WorkflowCanvas/WorkflowCanvas.d.ts +19 -0
  36. package/dist/components/WorkflowCanvas/WorkflowControls.d.ts +3 -0
  37. package/dist/components/WorkflowCanvas/components/NodeContent.d.ts +15 -0
  38. package/dist/components/WorkflowCanvas/constants.d.ts +42 -0
  39. package/dist/components/WorkflowCanvas/edges/DefaultEdge.d.ts +3 -0
  40. package/dist/components/WorkflowCanvas/index.d.ts +11 -0
  41. package/dist/components/WorkflowCanvas/nodes/DefaultNode.d.ts +3 -0
  42. package/dist/components/WorkflowCanvas/nodes/InputNode.d.ts +3 -0
  43. package/dist/components/WorkflowCanvas/nodes/OutputNode.d.ts +3 -0
  44. package/dist/components/WorkflowCanvas/types.d.ts +76 -0
  45. package/dist/components/WorkflowCanvas/utils.d.ts +13 -0
  46. package/dist/components/WorkflowCanvas/workflow.tokens.d.ts +100 -0
  47. package/dist/context/ThemeContext.d.ts +2 -0
  48. package/dist/context/useComponentToken.d.ts +2 -1
  49. package/dist/main.d.ts +1 -0
  50. package/dist/main.js +32314 -26123
  51. package/package.json +2 -1
  52. package/dist/foundationToken.d.ts +0 -214
@@ -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: import('react').ForwardRefExoticComponent<TableCellProps<Record<string, unknown>> & import('react').RefAttributes<HTMLTableCellElement>>;
3
+ declare const TableCell: React.ForwardRefExoticComponent<TableCellProps<Record<string, unknown>> & React.RefAttributes<HTMLTableCellElement>>;
3
4
  export default TableCell;
@@ -3,6 +3,8 @@ export type TableCellProps<T extends Record<string, unknown>> = {
3
3
  column: ColumnDefinition<T>;
4
4
  row: T;
5
5
  rowIndex: number;
6
+ colIndex?: number;
7
+ tableTitle?: string;
6
8
  isEditing: boolean;
7
9
  currentValue: unknown;
8
10
  width: React.CSSProperties;
@@ -5,6 +5,7 @@ export type TableFooterProps = {
5
5
  pageSize: number;
6
6
  totalRows: number;
7
7
  isLoading?: boolean;
8
+ hasData?: boolean;
8
9
  onPageChange: (page: number) => void;
9
10
  onPageSizeChange: (size: number) => void;
10
11
  };
@@ -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
  };
@@ -100,7 +100,6 @@ export type TriggerConfig = {
100
100
  placeholder?: string;
101
101
  showIcon?: boolean;
102
102
  icon?: ReactNode;
103
- className?: string;
104
103
  style?: React.CSSProperties;
105
104
  renderTrigger?: (props: {
106
105
  selectedRange: DateRange | undefined;
@@ -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
  */
@@ -2,6 +2,7 @@ import { CSSObject } from 'styled-components';
2
2
  import { FoundationTokenType } from '../../../tokens/theme.token';
3
3
  import { BreakpointType } from '../../../breakpoints/breakPoints';
4
4
  declare enum TextInputSize {
5
+ SM = "sm",
5
6
  MD = "md",
6
7
  LG = "lg"
7
8
  }
@@ -1,4 +1,5 @@
1
1
  export declare enum UnitInputSize {
2
+ SMALL = "sm",
2
3
  MEDIUM = "md",
3
4
  LARGE = "lg"
4
5
  }
@@ -9,7 +9,6 @@ export type ModalProps = {
9
9
  children: ReactNode;
10
10
  primaryAction?: ModalButtonAction;
11
11
  secondaryAction?: ModalButtonAction;
12
- className?: string;
13
12
  showCloseButton?: boolean;
14
13
  showHeader?: boolean;
15
14
  showFooter?: boolean;
@@ -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;
@@ -76,6 +76,11 @@ export type MultiSelectTokensType = {
76
76
  };
77
77
  };
78
78
  };
79
+ placeholder: {
80
+ color: CSSObject['color'];
81
+ fontSize: CSSObject['fontSize'];
82
+ fontWeight: CSSObject['fontWeight'];
83
+ };
79
84
  };
80
85
  menu: {
81
86
  backgroundColor: CSSObject['backgroundColor'];
@@ -18,5 +18,4 @@ export type ProgressBarProps = {
18
18
  variant?: ProgressBarVariant;
19
19
  type?: ProgressBarType;
20
20
  showLabel?: boolean;
21
- className?: string;
22
21
  };
@@ -35,4 +35,5 @@ export type SelectItemProps = {
35
35
  showCheckmark?: boolean;
36
36
  className?: string;
37
37
  selectedPosition?: 'first' | 'middle' | 'last' | 'only' | 'none';
38
+ index?: number;
38
39
  };
@@ -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
- declare const Tabs: import('react').ForwardRefExoticComponent<Omit<import('@radix-ui/react-tabs').TabsProps & import('react').RefAttributes<HTMLDivElement>, "ref"> & {
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
- } & import('react').RefAttributes<HTMLDivElement>>;
13
+ disable?: boolean;
14
+ } & React.RefAttributes<HTMLDivElement>>;
13
15
  export default Tabs;
@@ -1,5 +1,6 @@
1
1
  import { TabsSize, TabsVariant } from './types';
2
- declare const TabsList: import('react').ForwardRefExoticComponent<Omit<import('@radix-ui/react-tabs').TabsListProps & import('react').RefAttributes<HTMLDivElement>, "ref"> & {
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
- } & import('react').RefAttributes<HTMLDivElement>>;
18
+ disable?: boolean;
19
+ } & React.RefAttributes<HTMLDivElement>>;
18
20
  export default TabsList;
@@ -8,5 +8,6 @@ declare const TabsTrigger: import('react').ForwardRefExoticComponent<Omit<import
8
8
  children: string | number;
9
9
  closable?: boolean;
10
10
  onClose?: () => void;
11
+ disable?: boolean;
11
12
  } & import('react').RefAttributes<HTMLButtonElement>>;
12
13
  export default TabsTrigger;
@@ -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,3 @@
1
+ import { WorkflowControlsProps } from './types';
2
+ declare const _default: import('react').MemoExoticComponent<({ showZoom, showFitView, position, }: WorkflowControlsProps) => import("react/jsx-runtime").JSX.Element>;
3
+ export default _default;
@@ -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';
@@ -0,0 +1,3 @@
1
+ import { CustomNodeProps } from '../types';
2
+ declare const _default: import('react').MemoExoticComponent<({ data, selected }: CustomNodeProps) => import("react/jsx-runtime").JSX.Element>;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import { CustomNodeProps } from '../types';
2
+ declare const _default: import('react').MemoExoticComponent<({ data, selected }: CustomNodeProps) => import("react/jsx-runtime").JSX.Element>;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import { CustomNodeProps } from '../types';
2
+ declare const _default: import('react').MemoExoticComponent<({ data, selected }: CustomNodeProps) => import("react/jsx-runtime").JSX.Element>;
3
+ export default _default;