UNPKG

@massds/mayflower-react

Version:

React versions of Mayflower design system UI components

71 lines (70 loc) 2.31 kB
/** * FeedbackForm module. * @module @massds/mayflower-react/FeedbackForm */ import React from 'react'; export interface HiddenFieldsProps { /** The form id that the hidden input will be rendered within. */ formId?: number; } export interface FeedbackFormProps { /** A ref object as created by React.createRef(). Will be applied to the form element. */ formRef?: ((...args: unknown[]) => unknown) | { current?: any; }; /** A function whose return value is displayed after a successful form submission. */ successMessage(...args: unknown[]): unknown; /** The field id number for the yes textarea. */ yesFeedbackId?: number; /** The field id number for the no textarea. */ noFeedbackId?: number; /** The field id number for the referer. */ refererId?: number; /** The id number for the form from FormStack. */ formId?: number; /** The field id number for the yes/no radio buttons. */ radioId?: number; /** A drupal node id number for the referer. */ nodeId?: number; /** A function whose return value is rendered under the yes textarea. */ yesDisclaimer?(...args: unknown[]): unknown; /** A function whose return value is rendered under the no textarea. */ noDisclaimer?(...args: unknown[]): unknown; } export default class FeedbackForm extends React.Component<FeedbackFormProps> { static defaultProps: { formId: number; radioId: number; yesFeedbackId: number; noFeedbackId: number; refererId: number; }; state: { yesText: string; noText: string; errorMessage: any; feedbackChoice: any; hasError: any[]; success: boolean; formSubmitted: boolean; }; yesRadio: any; yesTextArea: any; noRadio: any; noTextArea: any; submitButton: any; componentDidMount(): void; defaultDisclaimer: () => any; prefixLabel: (id: any) => string; prefixField: (id: any) => string; handleRadioChange: (e: any) => { feedbackChoice: boolean; } | { feedbackChoice?: undefined; }; handleChange: (e: any) => void; removeError: (errors: any, idToRemove: any) => any; checkForErrors: () => any[]; handleSubmit: (e: any) => void; render(): any; }