simplr-forms-dom
Version:
DOM components for simplr-forms.
33 lines (32 loc) • 1.47 kB
TypeScript
/// <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;
}