ai-design-system 0.1.34 → 0.1.35
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/index.d.ts +628 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -690,6 +690,634 @@ export interface AIDocEditorMultiTabProps {
|
|
|
690
690
|
|
|
691
691
|
export const AIDocEditor: React.FC<any>;
|
|
692
692
|
|
|
693
|
+
export const WorkflowToolbarActions: React.FC<any>;
|
|
694
|
+
export const WorkflowToolbar: React.FC<any>;
|
|
695
|
+
|
|
696
|
+
// From components/composites/ToolCallDisplay/ToolCallDisplay.tsx
|
|
697
|
+
export interface ToolCall {
|
|
698
|
+
id: string
|
|
699
|
+
name: string
|
|
700
|
+
args: Record<string, unknown>
|
|
701
|
+
result?: string
|
|
702
|
+
status: "pending" | "completed" | "error"
|
|
703
|
+
}
|
|
704
|
+
|
|
705
|
+
export interface ToolCallDisplayProps {
|
|
706
|
+
/**
|
|
707
|
+
* Tool call data to display
|
|
708
|
+
*/
|
|
709
|
+
toolCall: ToolCall
|
|
710
|
+
/**
|
|
711
|
+
* Whether the tool call is initially expanded
|
|
712
|
+
*/
|
|
713
|
+
defaultExpanded?: boolean
|
|
714
|
+
}
|
|
715
|
+
|
|
716
|
+
export const ToolCallDisplay: React.FC<ToolCallDisplayProps>;
|
|
717
|
+
|
|
718
|
+
// From components/composites/UserMessage/UserMessage.tsx
|
|
719
|
+
export interface UserMessageData {
|
|
720
|
+
id: string
|
|
721
|
+
content: string
|
|
722
|
+
avatarSrc?: string
|
|
723
|
+
avatarName?: string
|
|
724
|
+
}
|
|
725
|
+
|
|
726
|
+
export interface UserMessageProps {
|
|
727
|
+
/**
|
|
728
|
+
* User message data to display
|
|
729
|
+
*/
|
|
730
|
+
message: UserMessageData
|
|
731
|
+
/**
|
|
732
|
+
* Whether to show avatar
|
|
733
|
+
*/
|
|
734
|
+
showAvatar?: boolean
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
export const UserMessage: React.FC<UserMessageProps>;
|
|
738
|
+
|
|
739
|
+
// From components/composites/ThemeSelector/ThemeSelector.tsx
|
|
740
|
+
export interface Theme {
|
|
741
|
+
label: string
|
|
742
|
+
value: string
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
export interface ThemeSelectorProps {
|
|
746
|
+
/**
|
|
747
|
+
* Available theme options
|
|
748
|
+
*/
|
|
749
|
+
themes: Theme[]
|
|
750
|
+
/**
|
|
751
|
+
* Currently selected theme value
|
|
752
|
+
*/
|
|
753
|
+
value?: string
|
|
754
|
+
/**
|
|
755
|
+
* Callback when theme selection changes
|
|
756
|
+
*/
|
|
757
|
+
onValueChange?: (value: string) => void
|
|
758
|
+
/**
|
|
759
|
+
* Placeholder text when no theme is selected
|
|
760
|
+
*/
|
|
761
|
+
placeholder?: string
|
|
762
|
+
/**
|
|
763
|
+
* Additional CSS classes
|
|
764
|
+
*/
|
|
765
|
+
className?: string
|
|
766
|
+
}
|
|
767
|
+
|
|
768
|
+
export const ThemeSelector: React.FC<ThemeSelectorProps>;
|
|
769
|
+
|
|
770
|
+
// From components/composites/TransitionNode/TransitionNode.tsx
|
|
771
|
+
export type TransitionNodeConfig = {
|
|
772
|
+
/** For conditional transitions: form field comparison e.g. "{{record.orderValue}} > {{record.acceptedRange}}" */
|
|
773
|
+
condition?: string;
|
|
774
|
+
/** For human transitions: roles allowed to approve */
|
|
775
|
+
allowed_roles?: string[];
|
|
776
|
+
/** For scheduled transitions: delay in seconds */
|
|
777
|
+
delay_seconds?: number;
|
|
778
|
+
/** For plugin transitions: plugin identifier */
|
|
779
|
+
plugin_id?: string;
|
|
780
|
+
/** For plugin transitions: plugin input values */
|
|
781
|
+
plugin_inputs?: Record<string, unknown>;
|
|
782
|
+
};
|
|
783
|
+
|
|
784
|
+
export type TransitionNodeData = {
|
|
785
|
+
label: string;
|
|
786
|
+
description?: string;
|
|
787
|
+
type: "transition";
|
|
788
|
+
/** Transition execution type */
|
|
789
|
+
transitionType?: "human" | "conditional" | "scheduled" | "plugin";
|
|
790
|
+
/** Transition-type-specific configuration */
|
|
791
|
+
config?: TransitionNodeConfig;
|
|
792
|
+
status?: "idle" | "running" | "success" | "error";
|
|
793
|
+
enabled?: boolean;
|
|
794
|
+
};
|
|
795
|
+
|
|
796
|
+
export const TransitionNode: React.FC<any>;
|
|
797
|
+
|
|
798
|
+
// From components/composites/TableToolbar/TableToolbar.tsx
|
|
799
|
+
export interface TableToolbarProps {
|
|
800
|
+
table: Table<unknown>
|
|
801
|
+
searchPlaceholder?: string
|
|
802
|
+
searchColumn?: string
|
|
803
|
+
actions?: React.ReactNode
|
|
804
|
+
className?: string
|
|
805
|
+
}
|
|
806
|
+
|
|
807
|
+
export const TableToolbar: React.FC<TableToolbarProps>;
|
|
808
|
+
|
|
809
|
+
// From components/composites/TablePagination/TablePagination.tsx
|
|
810
|
+
export interface TablePaginationProps {
|
|
811
|
+
/**
|
|
812
|
+
* TanStack Table instance
|
|
813
|
+
*/
|
|
814
|
+
table: Table<unknown>
|
|
815
|
+
/**
|
|
816
|
+
* Available page size options
|
|
817
|
+
*/
|
|
818
|
+
pageSizeOptions?: number[]
|
|
819
|
+
/**
|
|
820
|
+
* Additional CSS classes
|
|
821
|
+
*/
|
|
822
|
+
className?: string
|
|
823
|
+
}
|
|
824
|
+
|
|
825
|
+
export const TablePagination: React.FC<TablePaginationProps>;
|
|
826
|
+
|
|
827
|
+
// From components/composites/StatsCard/StatsCard.tsx
|
|
828
|
+
export interface StatsCardProps {
|
|
829
|
+
/**
|
|
830
|
+
* Card title (e.g., "Total Revenue")
|
|
831
|
+
*/
|
|
832
|
+
title: string
|
|
833
|
+
/**
|
|
834
|
+
* Main value to display (e.g., "$1,250.00")
|
|
835
|
+
*/
|
|
836
|
+
value: string | number
|
|
837
|
+
/**
|
|
838
|
+
* Trend indicator with direction and percentage
|
|
839
|
+
*/
|
|
840
|
+
trend?: {
|
|
841
|
+
direction: "up" | "down"
|
|
842
|
+
value: string
|
|
843
|
+
}
|
|
844
|
+
/**
|
|
845
|
+
* Footer content with primary message and secondary description
|
|
846
|
+
*/
|
|
847
|
+
footer?: {
|
|
848
|
+
message: string
|
|
849
|
+
description: string
|
|
850
|
+
}
|
|
851
|
+
/**
|
|
852
|
+
* Additional CSS classes
|
|
853
|
+
*/
|
|
854
|
+
className?: string
|
|
855
|
+
}
|
|
856
|
+
|
|
857
|
+
export const StatsCard: React.FC<StatsCardProps>;
|
|
858
|
+
|
|
859
|
+
// From components/composites/StateNode/StateNode.tsx
|
|
860
|
+
export type StateNodeData = {
|
|
861
|
+
label: string;
|
|
862
|
+
description?: string;
|
|
863
|
+
type: "state";
|
|
864
|
+
/** True for terminal states — marks workflow completion, no outgoing transitions */
|
|
865
|
+
isTerminal?: boolean;
|
|
866
|
+
status?: "idle" | "running" | "success" | "error";
|
|
867
|
+
enabled?: boolean;
|
|
868
|
+
};
|
|
869
|
+
|
|
870
|
+
export const StateNode: React.FC<any>;
|
|
871
|
+
|
|
872
|
+
// From components/composites/SpecialistMessage/SpecialistMessage.tsx
|
|
873
|
+
export interface SpecialistMessageData {
|
|
874
|
+
id: string
|
|
875
|
+
name: string
|
|
876
|
+
description?: string
|
|
877
|
+
icon?: React.ReactNode
|
|
878
|
+
content: string
|
|
879
|
+
toolCalls?: ToolCall[]
|
|
880
|
+
status: "pending" | "active" | "completed" | "error"
|
|
881
|
+
avatarSrc?: string
|
|
882
|
+
avatarName?: string
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
export interface SpecialistMessageProps {
|
|
886
|
+
/**
|
|
887
|
+
* Specialist message data to display
|
|
888
|
+
*/
|
|
889
|
+
message: SpecialistMessageData
|
|
890
|
+
/**
|
|
891
|
+
* Whether this message is nested under an orchestrator
|
|
892
|
+
*/
|
|
893
|
+
isNested?: boolean
|
|
894
|
+
/**
|
|
895
|
+
* Whether the specialist message should be open by default
|
|
896
|
+
* @default false
|
|
897
|
+
*/
|
|
898
|
+
defaultOpen?: boolean
|
|
899
|
+
/**
|
|
900
|
+
* Whether to show collapse/expand trigger
|
|
901
|
+
* @default false
|
|
902
|
+
*/
|
|
903
|
+
collapsible?: boolean
|
|
904
|
+
}
|
|
905
|
+
|
|
906
|
+
export const SpecialistMessage: React.FC<SpecialistMessageProps>;
|
|
907
|
+
|
|
908
|
+
// From components/composites/PromptInput/PromptInput.tsx
|
|
909
|
+
export interface PromptInputBlockProps
|
|
910
|
+
extends Omit<
|
|
911
|
+
AIPromptInputProps,
|
|
912
|
+
"accept" | "multiple" | "maxFiles" | "maxFileSize" | "globalDrop" | "syncHiddenInput" | "onSubmit" | "onChange"
|
|
913
|
+
> {
|
|
914
|
+
/**
|
|
915
|
+
* Blocks form submission when true. Textarea remains editable for drafts.
|
|
916
|
+
*/
|
|
917
|
+
disabled?: boolean;
|
|
918
|
+
/**
|
|
919
|
+
* Placeholder text for the textarea input
|
|
920
|
+
*/
|
|
921
|
+
placeholder?: string;
|
|
922
|
+
/**
|
|
923
|
+
* Controlled state value (when provided with onChange)
|
|
924
|
+
*/
|
|
925
|
+
value?: string;
|
|
926
|
+
/**
|
|
927
|
+
* Controlled state change handler (when provided with value)
|
|
928
|
+
*/
|
|
929
|
+
onChange?: (value: string) => void;
|
|
930
|
+
/**
|
|
931
|
+
* Submit handler called when form is submitted
|
|
932
|
+
*/
|
|
933
|
+
onSubmit: (
|
|
934
|
+
message: PromptInputMessage,
|
|
935
|
+
event: FormEvent<HTMLFormElement>
|
|
936
|
+
) => void | Promise<void>;
|
|
937
|
+
}
|
|
938
|
+
|
|
939
|
+
export const PromptInput: React.FC<any>;
|
|
940
|
+
|
|
941
|
+
// From components/composites/PageContainer/PageContainer.tsx
|
|
942
|
+
export interface PageContainerProps {
|
|
943
|
+
children: React.ReactNode
|
|
944
|
+
className?: string
|
|
945
|
+
}
|
|
946
|
+
|
|
947
|
+
export const PageContainer: React.FC<PageContainerProps>;
|
|
948
|
+
|
|
949
|
+
// From components/composites/OrchestratorMessage/OrchestratorMessage.tsx
|
|
950
|
+
export interface OrchestratorMessageData {
|
|
951
|
+
id: string
|
|
952
|
+
content: string
|
|
953
|
+
avatarSrc?: string
|
|
954
|
+
avatarName?: string
|
|
955
|
+
}
|
|
956
|
+
|
|
957
|
+
export interface OrchestratorMessageProps {
|
|
958
|
+
/**
|
|
959
|
+
* Orchestrator message data to display
|
|
960
|
+
*/
|
|
961
|
+
message: OrchestratorMessageData
|
|
962
|
+
/**
|
|
963
|
+
* Whether to show avatar
|
|
964
|
+
*/
|
|
965
|
+
showAvatar?: boolean
|
|
966
|
+
/**
|
|
967
|
+
* Child components (SpecialistMessage, ToolCallDisplay)
|
|
968
|
+
*/
|
|
969
|
+
children?: React.ReactNode
|
|
970
|
+
}
|
|
971
|
+
|
|
972
|
+
export const OrchestratorMessage: React.FC<OrchestratorMessageProps>;
|
|
973
|
+
|
|
974
|
+
// From components/composites/NavigationList/NavigationList.tsx
|
|
975
|
+
export interface NavigationItem {
|
|
976
|
+
key?: string
|
|
977
|
+
title: string
|
|
978
|
+
url: string
|
|
979
|
+
icon?: string
|
|
980
|
+
isActive?: boolean
|
|
981
|
+
}
|
|
982
|
+
|
|
983
|
+
export interface NavigationListProps {
|
|
984
|
+
items: NavigationItem[]
|
|
985
|
+
onItemClick?: (item: NavigationItem) => void
|
|
986
|
+
className?: string
|
|
987
|
+
}
|
|
988
|
+
|
|
989
|
+
export const NavigationList: React.FC<NavigationListProps>;
|
|
990
|
+
|
|
991
|
+
// From components/composites/NavUser/NavUser.tsx
|
|
992
|
+
export interface NavUserProps {
|
|
993
|
+
user: {
|
|
994
|
+
name: string
|
|
995
|
+
email: string
|
|
996
|
+
avatar?: string
|
|
997
|
+
}
|
|
998
|
+
actions?: { label: string; onClick: () => void }[]
|
|
999
|
+
className?: string
|
|
1000
|
+
}
|
|
1001
|
+
|
|
1002
|
+
export const NavUser: React.FC<NavUserProps>;
|
|
1003
|
+
|
|
1004
|
+
// From components/composites/ModeToggle/ModeToggle.tsx
|
|
1005
|
+
export interface ModeToggleProps {
|
|
1006
|
+
/**
|
|
1007
|
+
* Additional CSS classes
|
|
1008
|
+
*/
|
|
1009
|
+
className?: string
|
|
1010
|
+
}
|
|
1011
|
+
|
|
1012
|
+
export const ModeToggle: React.FC<ModeToggleProps>;
|
|
1013
|
+
|
|
1014
|
+
// From components/composites/ModeSwitcher/ModeSwitcher.tsx
|
|
1015
|
+
export type Mode = "demo" | "dev";
|
|
1016
|
+
|
|
1017
|
+
export interface ModeSwitcherProps {
|
|
1018
|
+
mode: Mode;
|
|
1019
|
+
onModeChange: (mode: Mode) => void;
|
|
1020
|
+
className?: string;
|
|
1021
|
+
}
|
|
1022
|
+
|
|
1023
|
+
export const ModeSwitcher: React.FC<ModeSwitcherProps>;
|
|
1024
|
+
|
|
1025
|
+
// From components/composites/InteractiveChart/InteractiveChart.tsx
|
|
1026
|
+
export interface InteractiveChartProps {
|
|
1027
|
+
title: string
|
|
1028
|
+
description?: string
|
|
1029
|
+
data: unknown[]
|
|
1030
|
+
config: ChartConfig
|
|
1031
|
+
timeRanges?: { label: string; value: string }[]
|
|
1032
|
+
defaultTimeRange?: string
|
|
1033
|
+
children: React.ReactNode
|
|
1034
|
+
className?: string
|
|
1035
|
+
}
|
|
1036
|
+
|
|
1037
|
+
export const InteractiveChart: React.FC<InteractiveChartProps>;
|
|
1038
|
+
|
|
1039
|
+
// From components/composites/FormReports/FormReportsTable.tsx
|
|
1040
|
+
export interface FormReportsEntity {
|
|
1041
|
+
id: number | string
|
|
1042
|
+
[key: string]: unknown
|
|
1043
|
+
}
|
|
1044
|
+
|
|
1045
|
+
export interface FormReportsColumn {
|
|
1046
|
+
key: string
|
|
1047
|
+
label: string
|
|
1048
|
+
align?: "left" | "center" | "right"
|
|
1049
|
+
}
|
|
1050
|
+
|
|
1051
|
+
export interface FormReportsRowAction {
|
|
1052
|
+
key: string
|
|
1053
|
+
label: string
|
|
1054
|
+
}
|
|
1055
|
+
|
|
1056
|
+
export interface FormReportsTableHandlers {
|
|
1057
|
+
onColumnsChange?: (visibleColumnKeys: string[]) => void
|
|
1058
|
+
onRowAction?: (action: string, row: FormReportsEntity) => void
|
|
1059
|
+
onRowSelectionChange?: (selectedRowIds: Array<number | string>, selectedRows: FormReportsEntity[]) => void
|
|
1060
|
+
onPaginationChange?: (pageIndex: number, pageSize: number) => void
|
|
1061
|
+
}
|
|
1062
|
+
|
|
1063
|
+
export interface FormReportsTableProps {
|
|
1064
|
+
items: FormReportsEntity[]
|
|
1065
|
+
columns: FormReportsColumn[]
|
|
1066
|
+
rowActions?: FormReportsRowAction[]
|
|
1067
|
+
handlers?: FormReportsTableHandlers
|
|
1068
|
+
leftActions?: React.ReactNode
|
|
1069
|
+
rightActions?: React.ReactNode
|
|
1070
|
+
onCreateClick?: () => void
|
|
1071
|
+
createButtonLabel?: string
|
|
1072
|
+
}
|
|
1073
|
+
|
|
1074
|
+
export const FormReportsTable: React.FC<FormReportsTableProps>;
|
|
1075
|
+
|
|
1076
|
+
// From components/composites/FormReports/FormReportsDrawerForm.tsx
|
|
1077
|
+
export interface FormReportsFieldOption {
|
|
1078
|
+
label: string
|
|
1079
|
+
value: string
|
|
1080
|
+
}
|
|
1081
|
+
|
|
1082
|
+
export interface FormReportsFieldDefinition {
|
|
1083
|
+
name: string
|
|
1084
|
+
label: string
|
|
1085
|
+
type: FormReportsFieldType
|
|
1086
|
+
description?: string
|
|
1087
|
+
placeholder?: string
|
|
1088
|
+
required?: boolean
|
|
1089
|
+
defaultValue?: FormReportsValue
|
|
1090
|
+
options?: FormReportsFieldOption[]
|
|
1091
|
+
}
|
|
1092
|
+
|
|
1093
|
+
export interface FormReportsDrawerFormProps {
|
|
1094
|
+
open: boolean
|
|
1095
|
+
onOpenChange: (open: boolean) => void
|
|
1096
|
+
title: string
|
|
1097
|
+
description?: string
|
|
1098
|
+
fields: FormReportsFieldDefinition[]
|
|
1099
|
+
values: FormReportsValues
|
|
1100
|
+
submitLabel?: string
|
|
1101
|
+
cancelLabel?: string
|
|
1102
|
+
onFieldChange: (name: string, value: FormReportsValue, nextValues: FormReportsValues) => void
|
|
1103
|
+
onFieldBlur?: (name: string, value: FormReportsValue, values: FormReportsValues) => void
|
|
1104
|
+
onSubmit: (values: FormReportsValues) => void
|
|
1105
|
+
onCancel?: () => void
|
|
1106
|
+
}
|
|
1107
|
+
|
|
1108
|
+
export const FormReportsDrawerForm: React.FC<FormReportsDrawerFormProps>;
|
|
1109
|
+
|
|
1110
|
+
// From components/composites/FileQueue/FileStatusBadge.tsx
|
|
1111
|
+
export type FileStatus = "pending" | "modified" | "created" | "deleted";
|
|
1112
|
+
|
|
1113
|
+
export interface FileStatusBadgeProps {
|
|
1114
|
+
status: FileStatus;
|
|
1115
|
+
className?: string;
|
|
1116
|
+
}
|
|
1117
|
+
|
|
1118
|
+
export const FileStatusBadge: React.FC<FileStatusBadgeProps>;
|
|
1119
|
+
|
|
1120
|
+
export const FileQueue: React.FC<any>;
|
|
1121
|
+
|
|
1122
|
+
// From components/composites/DocumentTabBar/DocumentTabBar.tsx
|
|
1123
|
+
export interface DocumentTabBarProps {
|
|
1124
|
+
/**
|
|
1125
|
+
* Array of open documents
|
|
1126
|
+
*/
|
|
1127
|
+
tabs: DocumentFile[]
|
|
1128
|
+
|
|
1129
|
+
/**
|
|
1130
|
+
* ID of currently active document
|
|
1131
|
+
*/
|
|
1132
|
+
activeTabId?: string
|
|
1133
|
+
|
|
1134
|
+
/**
|
|
1135
|
+
* Callback when tab is selected
|
|
1136
|
+
*/
|
|
1137
|
+
onTabSelect?: (documentId: string) => void
|
|
1138
|
+
|
|
1139
|
+
/**
|
|
1140
|
+
* Callback when tab close button is clicked
|
|
1141
|
+
*/
|
|
1142
|
+
onTabClose?: (documentId: string) => void
|
|
1143
|
+
|
|
1144
|
+
/**
|
|
1145
|
+
* Additional CSS classes
|
|
1146
|
+
*/
|
|
1147
|
+
className?: string
|
|
1148
|
+
}
|
|
1149
|
+
|
|
1150
|
+
export const DocumentTabBar: React.FC<DocumentTabBarProps>;
|
|
1151
|
+
|
|
1152
|
+
export const DocumentEditor: React.FC<any>;
|
|
1153
|
+
|
|
1154
|
+
|
|
1155
|
+
// From components/composites/DataTable/StatusCell.tsx
|
|
1156
|
+
export interface StatusCellProps {
|
|
1157
|
+
status: DashboardRow["status"]
|
|
1158
|
+
}
|
|
1159
|
+
|
|
1160
|
+
export const StatusCell: React.FC<StatusCellProps>;
|
|
1161
|
+
|
|
1162
|
+
// From components/composites/DataTable/RowDetailDrawer.tsx
|
|
1163
|
+
export interface RowDetailDrawerProps {
|
|
1164
|
+
item: DashboardRow
|
|
1165
|
+
onChange: (rowId: number, key: keyof DashboardRow, value: string) => void
|
|
1166
|
+
}
|
|
1167
|
+
|
|
1168
|
+
export const RowDetailDrawer: React.FC<RowDetailDrawerProps>;
|
|
1169
|
+
|
|
1170
|
+
// From components/composites/DataTable/ReviewerCell.tsx
|
|
1171
|
+
export interface ReviewerCellProps {
|
|
1172
|
+
row: DashboardRow
|
|
1173
|
+
onAssign: (rowId: number, reviewer: string) => void
|
|
1174
|
+
}
|
|
1175
|
+
|
|
1176
|
+
export const ReviewerCell: React.FC<ReviewerCellProps>;
|
|
1177
|
+
|
|
1178
|
+
// From components/composites/DataTable/InlineEditCell.tsx
|
|
1179
|
+
export interface InlineEditCellProps {
|
|
1180
|
+
row: DashboardRow
|
|
1181
|
+
field: "target" | "limit"
|
|
1182
|
+
onSave: (rowId: number, field: "target" | "limit", value: string) => void
|
|
1183
|
+
}
|
|
1184
|
+
|
|
1185
|
+
export const InlineEditCell: React.FC<InlineEditCellProps>;
|
|
1186
|
+
|
|
1187
|
+
// From components/composites/DataTable/EnhancedDataTable.tsx
|
|
1188
|
+
export interface EnhancedDataTableProps {
|
|
1189
|
+
data: DashboardRow[]
|
|
1190
|
+
className?: string
|
|
1191
|
+
handlers?: DashboardTableActionHandlers
|
|
1192
|
+
leftActions?: React.ReactNode
|
|
1193
|
+
rightActions?: React.ReactNode
|
|
1194
|
+
onCreateClick?: () => void
|
|
1195
|
+
createButtonLabel?: string
|
|
1196
|
+
}
|
|
1197
|
+
|
|
1198
|
+
export const EnhancedDataTable: React.FC<EnhancedDataTableProps>;
|
|
1199
|
+
|
|
1200
|
+
// From components/composites/DataTable/DraggableRow.tsx
|
|
1201
|
+
export interface DraggableRowProps {
|
|
1202
|
+
row: Row<DashboardRow>
|
|
1203
|
+
}
|
|
1204
|
+
|
|
1205
|
+
export const DraggableRow: React.FC<DraggableRowProps>;
|
|
1206
|
+
|
|
1207
|
+
// From components/composites/DataTable/DragHandleCell.tsx
|
|
1208
|
+
export interface DragHandleCellProps {
|
|
1209
|
+
id: number
|
|
1210
|
+
}
|
|
1211
|
+
|
|
1212
|
+
export const DragHandleCell: React.FC<DragHandleCellProps>;
|
|
1213
|
+
|
|
1214
|
+
// From components/composites/DataTable/DataTable.tsx
|
|
1215
|
+
export interface DataTableProps<TData, TValue> {
|
|
1216
|
+
data: TData[]
|
|
1217
|
+
columns: ColumnDef<TData, TValue>[]
|
|
1218
|
+
enableRowSelection?: boolean
|
|
1219
|
+
enablePagination?: boolean
|
|
1220
|
+
enableFiltering?: boolean
|
|
1221
|
+
searchColumn?: string
|
|
1222
|
+
onRowClick?: (row: TData) => void
|
|
1223
|
+
className?: string
|
|
1224
|
+
}
|
|
1225
|
+
|
|
1226
|
+
export const DataTable: React.FC<DataTableProps>;
|
|
1227
|
+
|
|
1228
|
+
// From components/composites/Confirmation/Confirmation.tsx
|
|
1229
|
+
export interface ConfirmationProps {
|
|
1230
|
+
/**
|
|
1231
|
+
* Title text displayed at the top of the confirmation
|
|
1232
|
+
*/
|
|
1233
|
+
title?: string;
|
|
1234
|
+
/**
|
|
1235
|
+
* Callback when user approves
|
|
1236
|
+
*/
|
|
1237
|
+
onApprove?: () => void;
|
|
1238
|
+
/**
|
|
1239
|
+
* Callback when user rejects
|
|
1240
|
+
*/
|
|
1241
|
+
onReject?: () => void;
|
|
1242
|
+
/**
|
|
1243
|
+
* Confirmation state
|
|
1244
|
+
*/
|
|
1245
|
+
state: ToolUIState;
|
|
1246
|
+
/**
|
|
1247
|
+
* Approval data
|
|
1248
|
+
*/
|
|
1249
|
+
approval?: ToolApproval;
|
|
1250
|
+
/**
|
|
1251
|
+
* Content to display (e.g., FileQueue)
|
|
1252
|
+
*/
|
|
1253
|
+
children: React.ReactNode;
|
|
1254
|
+
/**
|
|
1255
|
+
* Additional CSS classes
|
|
1256
|
+
*/
|
|
1257
|
+
className?: string;
|
|
1258
|
+
}
|
|
1259
|
+
|
|
1260
|
+
export const Confirmation: React.FC<ConfirmationProps>;
|
|
1261
|
+
|
|
1262
|
+
export const CommentBox: React.FC<any>;
|
|
1263
|
+
|
|
1264
|
+
// From components/composites/AgentIndicator/AgentIndicator.tsx
|
|
1265
|
+
export interface SubAgent {
|
|
1266
|
+
id: string
|
|
1267
|
+
name: string
|
|
1268
|
+
subAgentName: string
|
|
1269
|
+
input: string | Record<string, unknown>
|
|
1270
|
+
output?: string | Record<string, unknown>
|
|
1271
|
+
status: "pending" | "active" | "completed" | "error"
|
|
1272
|
+
}
|
|
1273
|
+
|
|
1274
|
+
export interface AgentIndicatorProps {
|
|
1275
|
+
/**
|
|
1276
|
+
* Sub-agent data to display
|
|
1277
|
+
*/
|
|
1278
|
+
subAgent: SubAgent
|
|
1279
|
+
/**
|
|
1280
|
+
* Click handler for agent selection
|
|
1281
|
+
*/
|
|
1282
|
+
onClick: () => void
|
|
1283
|
+
/**
|
|
1284
|
+
* Whether this agent is currently selected
|
|
1285
|
+
*/
|
|
1286
|
+
isSelected?: boolean
|
|
1287
|
+
}
|
|
1288
|
+
|
|
1289
|
+
export const AgentIndicator: React.FC<AgentIndicatorProps>;
|
|
1290
|
+
|
|
1291
|
+
export const AppHeader: React.FC<any>;
|
|
1292
|
+
|
|
1293
|
+
// From components/composites/AdjustableLayout/AdjustableLayout.tsx
|
|
1294
|
+
export interface AdjustableLayoutSection {
|
|
1295
|
+
id: string
|
|
1296
|
+
content: React.ReactNode
|
|
1297
|
+
defaultSize?: number // percentage (0-100)
|
|
1298
|
+
minSize?: number // minimum percentage
|
|
1299
|
+
maxSize?: number // maximum percentage
|
|
1300
|
+
resizable?: boolean // default true for >1 sections
|
|
1301
|
+
className?: string
|
|
1302
|
+
}
|
|
1303
|
+
|
|
1304
|
+
export interface AdjustableLayoutProps extends React.ComponentPropsWithoutRef<"div"> {
|
|
1305
|
+
sections: AdjustableLayoutSection[]
|
|
1306
|
+
orientation?: "horizontal" | "vertical"
|
|
1307
|
+
storageKey?: string // localStorage key for persistence
|
|
1308
|
+
onSectionResize?: (sectionId: string, newSize: number) => void
|
|
1309
|
+
dragHandleColor?: "primary" | "secondary" | "accent" | "border" | "muted"
|
|
1310
|
+
}
|
|
1311
|
+
|
|
1312
|
+
export const AdjustableLayout: React.FC<AdjustableLayoutProps>;
|
|
1313
|
+
|
|
1314
|
+
// ============================================================================
|
|
1315
|
+
// EXTERNAL RE-EXPORTS
|
|
1316
|
+
// ============================================================================
|
|
1317
|
+
|
|
1318
|
+
export { ReactFlowProvider, applyNodeChanges, applyEdgeChanges, addEdge } from '@xyflow/react';
|
|
1319
|
+
export type { NodeChange, EdgeChange, Connection } from '@xyflow/react';
|
|
1320
|
+
export { cn } from '@/lib/utils';
|
|
693
1321
|
|
|
694
1322
|
// ============================================================================
|
|
695
1323
|
// UTILITIES
|