type IntegrationSelectField = { type: 'select'; id: string; // the value will be stored in data using this key helpLabel?: string; // this text will be displayed underneath the field defaultValue?: string; placeholder?: string; required?: boolean; readOnly?: boolean; options?: { name: string; value?: string; }[];};
The text input can be of various HTML text input types, and can be customized
with optional icons.
Text Field
Copy
type IntegrationTextField = { type: 'text' | 'url' | 'tel' | 'email' | 'password'; id: string; // the value will be stored in data using this key helpLabel?: string; // this text will be displayed underneath the field defaultValue?: string; placeholder?: string; required?: boolean; readOnly?: boolean; icon?: IconName;};
This works the same as text fields, but with numeric values.
Number Field
Copy
type IntegrationNumberField = { type: 'number'; defaultValue?: number | string; id: string; // the value will be stored in data using this key helpLabel?: string; // this text will be displayed underneath the field placeholder?: string; required?: boolean; readOnly?: boolean; icon?: IconName; min?: number; max?: number;};
Hidden fields are useful for setting properties internally without
showing them them to the user. For example default values in a integration config.
These are not visible in the UI, and are set to the default value specified.
Hidden field
Copy
type IntegrationHiddenField = { type: 'hidden'; defaultValue?: string | number | boolean;};
type IntegrationSwitchField = { type: 'switch'; defaultValue?: boolean; id: string; // the value will be stored in data using this key helpLabel?: string; // this text will be displayed underneath the field readOnly?: boolean;};