UNPKG

office-ui-fabric-react

Version:

Reusable React components for building experiences for Office 365.

93 lines (92 loc) 2.71 kB
import * as React from 'react'; import { ITheme, IStyle } from '../../Styling'; import { IStyleFunction } from '../../Utilities'; import { IButtonProps } from '../Button'; export interface ISearchBox { /** * Sets focus inside the search input box. */ focus(): void; } export interface ISearchBoxProps extends React.InputHTMLAttributes<HTMLInputElement> { /** * Optional callback to access the ISearchBox interface. Use this instead of ref for accessing * the public methods and properties of the component. */ componentRef?: (component: ISearchBox) => void; /** * Label text for the SearchBox. * @default "Search" */ labelText?: string; /** * Callback function for when the typed input for the SearchBox has changed. */ onChange?: (newValue: any) => void; /** * Callback executed when the user presses enter in the search box. */ onSearch?: (newValue: any) => void; /** * Callback executed when the user clears the search box by either clicking 'X' or hitting escape. */ onClear?: (ev?: any) => void; /** * Callback executed when the user presses escape in the search box. */ onEscape?: (ev?: any) => void; /** * Deprecated at v0.52.2, use 'onChange' instead. * @deprecated */ onChanged?: (newValue: any) => void; /** * The value of the text in the SearchBox. */ value?: string; /** * The default value of the text in the SearchBox, in the case of an uncontrolled component. */ defaultValue?: string; /** * CSS class to apply to the SearchBox. */ className?: string; /** * The aria label of the SearchBox for the benefit of screen readers. * @defaultvalue labelText */ ariaLabel?: string; /** * The props for the clear button. */ clearButtonProps?: IButtonProps; /** * Whether or not the SearchBox is underlined. * @default false */ underlined?: boolean; /** * Theme (provided through customization.) */ theme?: ITheme; /** * Call to provide customized styling that will layer on top of the variant rules. */ getStyles?: IStyleFunction<ISearchBoxStyleProps, ISearchBoxStyles>; } export interface ISearchBoxStyleProps { theme: ITheme; className?: string; disabled?: boolean; hasFocus?: boolean; underlined?: boolean; hasInput?: boolean; } export interface ISearchBoxStyles { root?: IStyle; iconContainer?: IStyle; icon?: IStyle; field?: IStyle; clearButton?: IStyle; }