Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
ui-component-library / dist / typings / src / inputs / TextBox / typings.d.ts
Size: Mime:
import { JSX, Component, FocusEvent, ChangeEvent } from 'react';
import { InputState, InputValue } from 'src/forms';
import { SyntheticEvent } from 'react';
export interface InputEventHandler extends Function {
    (event: Event, instance?: any): void;
}
export interface TextBoxComponent extends Component<TextBoxProps, TextBoxState> {
    blurMiddleware(event: FocusEvent<HTMLInputElement>): void;
    focusMiddleware(event: FocusEvent<HTMLInputElement>): void;
    handleFocus(event: FocusEvent<HTMLInputElement>): void;
    handleBlur(event: FocusEvent<HTMLInputElement>): void;
    handleChange(event: ChangeEvent<HTMLInputElement>): void;
    render(): JSX.Element;
}
export interface TextBoxState extends InputState {
}
export interface AccessibleTextBoxProps {
    'aria-invalid'?: string | boolean;
    className?: string;
    required?: boolean;
}
export interface TextBoxProps {
    state?: TextBoxState;
    value?: InputValue;
    nowrap?: boolean;
    autocomplete?: boolean;
    type?: string;
    name?: string;
    animatePlaceholder?: boolean;
    placeholderText?: string;
    placeholder?: string;
    isFocused?: boolean;
    isLabelOnTop?: boolean;
    className?: string;
    wrapperClassName?: string;
    hasValidationError?: boolean;
    isValidInput?: boolean;
    validationType?: string;
    maxLength?: number;
    minLength?: number;
    onValueChange?: InputEventHandler;
    /**
     * @todo should alias validationFunction & onBlur
     */
    onBlur?: InputEventHandler;
    validationMethod?: InputEventHandler;
    isDisabled?: string;
    onFormValidation?: InputEventHandler;
    onFocus?: InputEventHandler;
    /**
     * @note @invalid name - no acronynms - onFocus
     *     customCbk  means nothing
     */
    renderPlaceholder?: TextBoxRenderProps;
    renderError?: TextBoxRenderProps;
    labelText?: string;
}
interface TextBoxRenderProps {
    (props: TextBoxProps, state: TextBoxState): JSX.Element | any;
}
/**
 * @see https://stackoverflow.com/questions/42081549/typescript-react-event-types
 * @see https://stackoverflow.com/questions/28900077/why-is-event-target-not-element-in-typescript
 * @see https://github.com/fdecampredon/react-typescript/blob/master/declarations/react.d.ts
 * @see https://reactjs.org/docs/events.html
 */
export interface ChangeEvent<T> extends SyntheticEvent<T> {
    target: EventTarget & {
        value: string | number | boolean;
        checked: string | boolean;
    };
}
export declare type InputChangeEvent = ChangeEvent<HTMLInputElement>;
export {};