UNPKG

@rcsb/rcsb-saguaro-app

Version:
55 lines (54 loc) 1.8 kB
import React, { ReactNode } from "react"; import { OptionProps } from "react-select"; export interface GroupedOptionsInterface { options: Array<SelectOptionInterface>; label: string; } export type SelectOptionProps = OptionProps<OptionPropsInterface, false, GroupOptionPropsInterface>; interface SelectButtonInterface { elementId: string; options?: Array<SelectOptionInterface> | Array<GroupedOptionsInterface>; addTitle: boolean; renderTitle: (title: string) => void; defaultValue?: string | undefined | null; width?: number; dropdownTitle?: string; optionProps?: (props: SelectOptionProps) => ReactNode; isAdditionalButton?: boolean; } export interface SelectOptionInterface { optId?: string; groupLabel?: string; name?: string; shortLabel?: string; label: string; onChange: () => void; } export interface OptionPropsInterface extends SelectOptionInterface { value: number; } export interface GroupOptionPropsInterface { label: string; options: OptionPropsInterface[]; } interface SelectButtonState { selectedOption: OptionPropsInterface; } export declare class SelectButton extends React.Component<SelectButtonInterface, SelectButtonState> { private static readonly BUTTON_CONTAINER_DIV_SUFFIX; private defaultValue; private currentOption; readonly state: SelectButtonState; constructor(props: SelectButtonInterface); private change; componentDidUpdate(prevProps: Readonly<SelectButtonInterface>, prevState: Readonly<SelectButtonState>): void; componentDidMount(): void; render(): ReactNode; private selectRender; private selectButtonRender; private innerSelectButtonRender; private configStyle; private getSelectOpt; private renderTitle; } export {};