/** * Properties shared by every field variant. Not intended to be referenced directly — use a specific field type from `FormField`. */ export interface FieldBase { /** Programmatic key used as the property name in the submission payload. Must start with a letter or underscore; letters, digits, and underscores only. */ key: string; /** Text shown above the input. */ label: string; /** When true, the submitter must provide a value. Default false. */ required?: boolean; /** Small caption rendered under the input to give the submitter extra context. */ help_text?: string; }