import { IFilterBarItemProps } from '../../FilterBarItem'; import { TextFieldStyle, TextFieldWidth } from '../../TextField'; import { IFilter } from '../../Utilities/Filter'; /** * Properties for a text-box filter bar item component */ export interface ITextFilterBarProps extends IFilterBarItemProps { /** * Optional className to use for the FilterBarItem */ className?: string; /** * Show a clear button when the TextField has a value that resets the value to empty. */ clearable?: boolean; /** * Optional className to use for the TextFilterBarItem's input element */ inputClassName?: string; /** * Placeholder text for the TextField */ placeholder?: string; /** * The maxLength property to be passed to the input in the TextField. * Default value is 200 characters. */ maxTextLength?: number; /** * Only fire onChange when the Enter key is pressed instead of defaulting to throttle timing. */ onlyChangeOnEnter?: boolean; /** * Changes visual appearance of TextField. Use TextFieldStyle.inline to style as an inline text field. * @default TextFieldStyle.normal */ style?: TextFieldStyle; /** * The throttle wait time to use when updating the filter. The text field * will still update on every keystroke, but the updating the filter * itself will be throttled by this amount. The default value is 200 ms. * Passing a value of 0 here will cause this text field not to be throttled. */ throttleWait?: number; /** * Changes visual appearance of TextField. Use TextFieldWidth.standard to get the standard text field width. * @default TextFieldWidth.auto */ width?: TextFieldWidth; /** * aria-label for the input box. If not set, it defaults to the placeholder */ ariaLabel?: string; } export interface IInlineKeywordFilterBarItemProps extends ITextFilterBarProps { /** * The filter store that this filter bar updates (optional, the parent FilterBar's filter is used by default) */ filter?: IFilter; /** * The unique key for this filter item whose value is updated by changes to this filter item. */ filterItemKey: string; /** * The maxLength property to be passed to the input in the TextField. * Default value is 200 characters. */ maxTextLength?: number; /** * Placeholder text for the TextField */ placeholder?: string; }