UNPKG

simplr-forms-dom

Version:
33 lines (32 loc) 1.47 kB
/// <reference types="react" /> import * as React from "react"; import { DomFieldProps } from "../contracts/field"; import { BaseDomField, BaseDomFieldState } from "../abstractions/base-dom-field"; import { FieldOnChangeCallback } from "../contracts/field"; import { HTMLElementProps } from "../contracts/field"; export declare type SelectValue = string | string[]; export declare type SelectOnChangeCallback = FieldOnChangeCallback<HTMLSelectElement>; /** * Override the differences between extended interfaces. */ export interface SelectProps extends DomFieldProps, HTMLElementProps<HTMLSelectElement> { name: string; onFocus?: React.FocusEventHandler<HTMLSelectElement>; onBlur?: React.FocusEventHandler<HTMLSelectElement>; onChange?: SelectOnChangeCallback; defaultValue?: SelectValue; initialValue?: SelectValue; value?: SelectValue; ref?: React.Ref<Select>; } export interface SelectState extends BaseDomFieldState { RenderValue: SelectValue; } export declare class Select extends BaseDomField<SelectProps, SelectState> { protected readonly RawInitialValue: SelectValue | undefined; protected GetValueFromEvent(event: React.ChangeEvent<HTMLSelectElement>): SelectValue; protected OnChangeHandler: React.ChangeEventHandler<HTMLSelectElement>; protected readonly RawDefaultValue: SelectValue; protected readonly Value: SelectValue; renderField(): JSX.Element | null; }