n8n
Version:
n8n Workflow Automation Tool
72 lines (71 loc) • 1.39 kB
TypeScript
export type InlineComponent = {
type: 'button';
label: string;
value: string;
style?: 'primary' | 'danger';
confirm?: {
title: string;
text: string;
confirm: string;
deny: string;
};
} | {
type: 'select';
label: string;
options: Array<{
label: string;
value: string;
}>;
} | {
type: 'section';
text: string;
button?: {
label: string;
value: string;
style?: 'primary' | 'danger';
};
image?: {
url: string;
alt: string;
};
} | {
type: 'divider';
} | {
type: 'image';
url: string;
alt: string;
} | {
type: 'context';
elements: Array<{
type: 'text';
text: string;
} | {
type: 'image';
url: string;
alt: string;
}>;
};
export type FormComponent = {
type: 'text-input';
id: string;
label: string;
placeholder?: string;
multiline?: boolean;
} | {
type: 'select-input';
id: string;
label: string;
options: Array<{
label: string;
value: string;
}>;
};
export type SuspendComponent = InlineComponent | FormComponent;
export interface RichSuspendPayload {
message?: string;
components: SuspendComponent[];
formTitle?: string;
}
export interface ComponentResumeData {
values: Record<string, string>;
}