@blueprintjs/core
Version:
Core styles & components
54 lines (53 loc) • 1.95 kB
TypeScript
/// <reference types="react" />
import { AbstractPureComponent2 } from "../../common";
import { HTMLInputProps, IControlledProps, IIntentProps, IProps, MaybeElement } from "../../common/props";
import { IconName } from "../icon/icon";
export interface IInputGroupProps extends IControlledProps, IIntentProps, IProps {
/**
* Whether the input is non-interactive.
* Note that `rightElement` must be disabled separately; this prop will not affect it.
* @default false
*/
disabled?: boolean;
/**
* Whether the component should take up the full width of its container.
*/
fill?: boolean;
/** Ref handler that receives HTML `<input>` element backing this component. */
inputRef?: (ref: HTMLInputElement | null) => any;
/**
* Name of a Blueprint UI icon (or an icon element) to render on the left side of the input group,
* before the user's cursor.
*/
leftIcon?: IconName | MaybeElement;
/** Whether this input should use large styles. */
large?: boolean;
/** Whether this input should use small styles. */
small?: boolean;
/** Placeholder text in the absence of any value. */
placeholder?: string;
/**
* Element to render on right side of input.
* For best results, use a minimal button, tag, or small spinner.
*/
rightElement?: JSX.Element;
/** Whether the input (and any buttons) should appear with rounded caps. */
round?: boolean;
/**
* HTML `input` type attribute.
* @default "text"
*/
type?: string;
}
export interface IInputGroupState {
rightElementWidth: number;
}
export declare class InputGroup extends AbstractPureComponent2<IInputGroupProps & HTMLInputProps, IInputGroupState> {
static displayName: string;
state: IInputGroupState;
private rightElement;
private refHandlers;
render(): JSX.Element;
componentDidMount(): void;
private maybeRenderRightElement;
}