@massds/mayflower-react
Version:
React versions of Mayflower design system UI components
45 lines (44 loc) • 1.47 kB
TypeScript
/**
* SelectBox module.
* @module @massds/mayflower-react/SelectBox
* @requires module:@massds/mayflower-assets/scss/01-atoms/select-box
* @requires module:@massds/mayflower-assets/scss/01-atoms/helper-text
*/
import React from 'react';
export interface SelectBoxProps {
/** The label text above the select box */
label: string;
/** Whether to stack label or inline label */
stackLabel?: boolean;
/** Whether the form field is required or not */
required?: boolean;
/** The id of the selectbox element */
id: string;
/** An array of options for the selectbox */
options: {
value?: string | number;
text?: string | number;
}[];
/** Change handler callback provided by the parent */
onChangeCallback?(...args: unknown[]): unknown;
/** Wrapper class for section tag */
className?: string;
/** The default value for the select box */
selected?: string;
disabled?: boolean;
}
declare class SelectBox extends React.Component<SelectBoxProps> {
constructor(props: any);
UNSAFE_componentWillReceiveProps(nextProps: any): void;
/**
* Default event handler which renders selected item in the patter div.
*
* @param event The DOM onChange event
*
* Invokes custom callback passed as prop onChangeCallback, passing back the
* object with select information.
*/
handleOnChange(event: any): void;
render(): any;
}
export default SelectBox;