@wix/design-system
Version:
@wix/design-system
236 lines • 9.35 kB
TypeScript
export function DEFAULT_VALUE_PARSER(option: any): any;
export namespace DEFAULT_POPOVER_PROPS {
let appendTo: string;
let flip: boolean;
let fixed: boolean;
let placement: string;
let width: string;
let minWidth: number;
let onMouseEnter: undefined;
let onMouseLeave: undefined;
}
export default InputWithOptions;
declare class InputWithOptions extends React.Component<any, any, any> {
constructor(props: any);
inputClasses(): void;
dropdownClasses(): void;
dropdownAdditionalProps(): void;
inputAdditionalProps(): void;
rootAdditionalProps(): {};
/**
* An array of key codes that act as manual submit. Will be used within
* onKeyDown(event).
*
* @returns {KeyboardEvent.key[]}
*/
getManualSubmitKeys(): KeyboardEvent.key[];
state: {
inputValue: any;
showOptions: boolean;
lastOptionsShow: number;
isEditing: boolean;
};
uniqueId: string;
_onSelect(option: any, isSelectedOption: any): void;
_onFocus(e: any): void;
_onBlur(event: any): void;
_onChange(event: any): void;
_onKeyDown(event: any): void;
/**
* Sets focus on the input element
* @param {FocusOptions} options
*/
focus(options?: FocusOptions): void;
/**
* Removes focus on the input element
*/
blur(): void;
/**
* Selects all text in the input element
*/
select(): void;
/**
* Hides dropdown options
*/
hideOptions(): void;
/**
* Shows dropdown options
*/
showOptions(): void;
_onManuallyInput(inputValue?: string): void;
_renderDropdownLayout(additionalProps: any): React.JSX.Element;
isDropdownLayoutVisible(): any;
_onInputClicked(event: any, mobile: any): void;
_onOpenChange(open: any, reason: any, doubleClickThreshold?: number): void;
closeOnSelect(): any;
onCompositionChange(isComposing: any): void;
componentDidUpdate(prevProps: any, prevState: any): void;
input: React.RefObject<any>;
renderInput(mobile: any): React.DetailedReactHTMLElement<any, HTMLElement>;
hasDropdownContent(additionalProps: any): boolean;
_onOptionMarked: (option: any, optionElementId: any) => void;
dropdownLayout: import("../DropdownLayout/DropdownLayout").DropdownLayout | null | undefined;
_renderNativeSelect(): React.JSX.Element;
render(): React.JSX.Element;
get isReadOnly(): any;
/**
* Determine if the provided key should cause the dropdown to be opened.
*
* @param {KeyboardEvent.key}
* @returns {boolean}
*/
shouldOpenDropdown(key: any): boolean;
/**
* Determine if the provided key should delegate the keydown event to the
* DropdownLayout.
*
* @param {KeyboardEvent.key}
* @returns {boolean}
*/
shouldDelegateKeyDown(key: any): boolean;
/**
* Determine if the provided key should cause manual submit.
*
* @param {KeyboardEvent.key}
* @returns {boolean}
*/
shouldPerformManualSubmit(key: any): boolean;
_focused: boolean | undefined;
/** Checks if focus event is related to selecting an option */
_didSelectOption: (event: any) => boolean;
/**
* Clears the input.
*
* @param event delegated to the onClear call
*/
clear: (event: any) => void;
}
declare namespace InputWithOptions {
let defaultProps: {
onSelect: () => void;
options: never[];
closeOnSelect: boolean;
inputElement: React.JSX.Element;
valueParser: (option: any) => any;
dropdownWidth: null;
popoverProps: {
appendTo: string;
flip: boolean;
fixed: boolean;
placement: string;
width: string;
minWidth: number;
onMouseEnter: undefined;
onMouseLeave: undefined;
};
dropdownOffsetLeft: string;
showOptionsIfEmptyInput: boolean;
autocomplete: string;
native: boolean;
showDrawerOnMobile: boolean;
onClickOutside?: (e: TouchEvent | MouseEvent) => void;
overflow?: import("..").Overflow;
className?: string;
onMouseEnter?: React.MouseEventHandler<HTMLElement>;
onMouseLeave?: React.MouseEventHandler<HTMLElement>;
dataHook?: string;
tabIndex?: number;
visible?: boolean;
size?: "small" | "medium" | "large" | "tiny" | undefined;
scrollbar?: "overlay" | "fixed";
autoFocus?: boolean;
onMouseDown?: React.MouseEventHandler<HTMLElement>;
hasMore?: boolean;
loadMore?: (page: number) => void;
dropDirectionUp?: boolean;
focusOnSelectedOption?: boolean;
onClose?: () => void;
onOptionMarked?: (option: import("..").DropdownLayoutValueOption | null, optionElementId?: string) => void;
onOptionsNavigate?: (option: import("..").DropdownLayoutValueOption | null) => void;
selectedId?: string | number;
fixedHeader?: React.ReactNode;
fixedFooter?: React.ReactNode;
maxHeightPixels?: string | number;
minWidthPixels?: string | number;
withArrow?: boolean;
itemHeight?: import("..").DropdownLayoutItemHeight;
selectedHighlight?: boolean;
inContainer?: boolean;
infiniteScroll?: boolean;
markedOption?: boolean | string | number;
focusOnOption?: string | number;
scrollToOption?: string | number;
listType?: import("..").ListType;
listboxId?: string;
onDrillIn?: (option: import("..").DropdownLayoutValueOption) => void;
onDrillOut?: () => void;
overlayScrollbarProps?: {
OverlayScrollbarHostElement: import("../providers/useOverlayScrollbar/useOverlayScrollbar").OverlayScrollbarHost;
OverlayScrollbarContentElement: import("../providers/useOverlayScrollbar/useOverlayScrollbar").OverlayScrollbarContent;
};
ref?: string | ((instance: import("../DropdownLayout/DropdownLayout").DropdownLayout | null) => void | React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | React.RefObject<import("../DropdownLayout/DropdownLayout").DropdownLayout> | ((instance: import("../Input").InputImperativeActions | null) => void | React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | React.RefObject<import("../Input").InputImperativeActions> | null | undefined;
key?: React.Key | null | undefined;
children?: React.ReactNode;
id?: string;
role?: string;
ariaControls?: string;
ariaDescribedby?: string;
ariaLabel?: string;
autoSelect?: boolean;
defaultValue?: import("../Input").InputValue;
disabled?: boolean;
status?: import("../Input").InputStatus;
statusMessage?: React.ReactNode;
statusMessageTooltipProps?: import("..").TooltipCommonProps;
hideStatusSuffix?: boolean;
forceFocus?: boolean;
forceHover?: boolean;
maxLength?: number;
menuArrow?: boolean;
clearButton?: boolean;
focusOnClearClick?: boolean;
name?: string;
border?: "standard" | "round" | "bottomLine" | "none";
noLeftBorderRadius?: boolean;
noRightBorderRadius?: boolean;
onBlur?: React.FocusEventHandler<HTMLInputElement>;
onChange?: React.ChangeEventHandler<HTMLInputElement>;
onClear?: (event: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLButtonElement>) => void;
onCompositionChange?: (isComposing: boolean) => void;
onEnterPressed?: React.KeyboardEventHandler<HTMLInputElement>;
onEscapePressed?: React.KeyboardEventHandler<HTMLInputElement>;
onFocus?: React.FocusEventHandler<HTMLInputElement>;
onInputClicked?: React.MouseEventHandler<HTMLInputElement | HTMLDivElement>;
onKeyDown?: React.KeyboardEventHandler<HTMLInputElement>;
onKeyUp?: React.KeyboardEventHandler<HTMLInputElement>;
onPaste?: React.ClipboardEventHandler<HTMLInputElement>;
onCopy?: React.ClipboardEventHandler<HTMLInputElement>;
placeholder?: string;
prefix?: React.ReactNode;
readOnly?: boolean;
disableEditing?: boolean;
rtl?: boolean;
suffix?: React.ReactNode;
textOverflow?: "clip" | "ellipsis";
tooltipPlacement?: import("..").TooltipProps["placement"];
type?: string;
value?: string | number;
withSelection?: boolean;
required?: boolean;
min?: import("../Input").MinValue;
max?: import("../Input").MaxValue;
step?: number;
customInput?: React.ReactNode | Function;
pattern?: string;
inputRef?: React.Ref<HTMLInputElement>;
inputmode?: string;
ariaRoledescription?: string;
clearButtonTooltipContent?: React.ReactNode;
clearButtonTooltipProps?: import("..").TooltipCommonProps;
clearButtonAriaLabel?: string;
inputElementRef?: any;
};
let displayName: string;
}
import React from 'react';
//# sourceMappingURL=InputWithOptions.d.ts.map