wix-style-react
Version:
wix-style-react
205 lines • 8.32 kB
TypeScript
export function optionValidator(props: any, propName: any, componentName: any): undefined;
export const DIVIDER_OPTION_VALUE: "-";
export default DropdownLayout;
declare class DropdownLayout extends React.PureComponent<any, any, any> {
constructor(props: any);
containerRef: React.RefObject<any>;
state: {
hovered: number;
selectedId: any;
focusedItemId: null;
};
focusableItemsIdsList: any[];
savedOnClicks: any[];
children: {};
componentDidMount(): void;
_boundEvents: string[] | undefined;
componentWillUnmount(): void;
componentDidUpdate(prevProps: any): void;
UNSAFE_componentWillReceiveProps(nextProps: any): void;
_focusFirstOption(): void;
_checkIfEventOnElements(e: any, elem: any): boolean;
_onMouseEventsHandler: (e: any) => void;
_renderTopArrow(): React.JSX.Element | null;
_convertOptionToListItemSectionBuilder({ option, idx }: {
option: any;
idx: any;
}): {
id: string | number;
overrideOptionStyle: true;
value: (props?: Partial<import("../ListItemSection").ListItemSectionProps>) => React.ReactNode;
} | undefined;
_convertOptionToListItemActionBuilder({ option, idx }: {
option: any;
idx: any;
}): {
id: string | number;
disabled: boolean | undefined;
overrideOptionStyle: true;
value: (props: Partial<import("../ListItemAction").ListItemActionProps>) => React.ReactNode;
};
_isControlled(): boolean;
_focusOnSelectedOption(): void;
_setSelectedOptionNode(optionNode: any, option: any): void;
selectedOption: any;
_onClickOutside: (event: any) => void;
_markOption(index: any, options: any): void;
_onSelect: (index: any, e: any) => any;
_onActionClick: (e: any) => void;
_saveOnClicks: () => void;
_onMouseEnter: (index: any) => void;
_onMouseLeave: () => void;
_getMarkedIndex(): any;
_markNextStep(step: any): void;
_focusOnOption: () => void;
_scrollToOption(): void;
_markOptionAtIndex: (markedIndex: any) => void;
/**
* Handle keydown events for the DropdownLayout, mostly for accessibility
*
* @param {SyntheticEvent} event - The keydown event triggered by React
* @returns {boolean} - Whether the event was handled by the component
*/
_onSelectListKeyDown: (event: SyntheticEvent) => boolean;
_focus: (focusedItemId: any, e: any) => void;
_handleActionListNavigation: (event: any, id: any) => void;
_onActionListKeyDown: (event: any, id: any) => void;
_onClose: () => void;
_renderNode(node: any): React.JSX.Element | null;
_wrapWithInfiniteScroll: (scrollableElement: any) => React.JSX.Element;
loadedWithUndefinedOptions: boolean | undefined;
/** for testing purposes only */
_getDataAttributes: () => object;
_convertCustomOptionToBuilder({ option }: {
option: any;
}): {
id: any;
disabled: any;
overrideStyle: any;
value: () => React.JSX.Element;
overrideOptionStyle?: undefined;
} | {
id: any;
disabled: any;
overrideOptionStyle: any;
value: () => React.JSX.Element;
overrideStyle?: undefined;
} | undefined;
_convertOptionToListItemSelectBuilder({ option }: {
option: any;
}): {
id: string | number;
disabled: boolean | undefined;
overrideOptionStyle: true;
label: string | undefined;
value: (props?: Partial<import("../ListItemSelect").ListItemSelectProps> & {
hovered?: boolean;
}) => React.JSX.Element;
};
_isBuilderOption({ option }: {
option: any;
}): boolean;
_isCustomOption({ option }: {
option: any;
}): any;
_isActionOption({ option }: {
option: any;
}): boolean;
_isItemSection({ option }: {
option: any;
}): any;
_convertOptionToBuilder(option: any, idx: any): any;
_renderOption({ option, idx }: {
option: any;
idx: any;
}): React.JSX.Element;
_getItemDataAttr: ({ hovered, selected, disabled }: {
hovered: any;
selected: any;
disabled: any;
}) => object;
_renderOptionContent({ option, idx, hasLink }: {
option: any;
idx: any;
hasLink: any;
}): React.JSX.Element;
_markOptionByProperty(props: any): void;
_findIndex(arr: any, predicate: any): number;
_isSelectableOption(option: any): any;
_renderOptions(): any;
render(): React.JSX.Element;
options: HTMLDivElement | null | undefined;
}
declare namespace DropdownLayout {
export namespace propTypes {
let className: PropTypes.Requireable<string>;
let dropDirectionUp: PropTypes.Requireable<boolean>;
let focusOnSelectedOption: PropTypes.Requireable<boolean>;
let onClose: PropTypes.Requireable<(...args: any[]) => any>;
let onSelect: PropTypes.Requireable<(...args: any[]) => any>;
let onOptionMarked: PropTypes.Requireable<(...args: any[]) => any>;
let overflow: PropTypes.Requireable<string>;
let visible: PropTypes.Requireable<boolean>;
let options: PropTypes.Requireable<any[]>;
let selectedId: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
let tabIndex: PropTypes.Requireable<number>;
let onClickOutside: PropTypes.Requireable<(...args: any[]) => any>;
let fixedHeader: PropTypes.Requireable<PropTypes.ReactNodeLike>;
let fixedFooter: PropTypes.Requireable<PropTypes.ReactNodeLike>;
let maxHeightPixels: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
let minWidthPixels: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
let withArrow: PropTypes.Requireable<boolean>;
let closeOnSelect: PropTypes.Requireable<boolean>;
let onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
let onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
let itemHeight: PropTypes.Requireable<string>;
let selectedHighlight: PropTypes.Requireable<boolean>;
let inContainer: PropTypes.Requireable<boolean>;
let infiniteScroll: PropTypes.Requireable<boolean>;
let loadMore: PropTypes.Requireable<(...args: any[]) => any>;
let hasMore: PropTypes.Requireable<boolean>;
let markedOption: PropTypes.Requireable<NonNullable<string | number | boolean | null | undefined>>;
let focusOnOption: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
let scrollToOption: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
let listType: PropTypes.Requireable<string>;
let autoFocus: PropTypes.Requireable<boolean>;
}
export namespace defaultProps {
let options_1: never[];
export { options_1 as options };
let tabIndex_1: number;
export { tabIndex_1 as tabIndex };
let maxHeightPixels_1: number;
export { maxHeightPixels_1 as maxHeightPixels };
let closeOnSelect_1: boolean;
export { closeOnSelect_1 as closeOnSelect };
let itemHeight_1: string;
export { itemHeight_1 as itemHeight };
let selectedHighlight_1: boolean;
export { selectedHighlight_1 as selectedHighlight };
let inContainer_1: boolean;
export { inContainer_1 as inContainer };
let infiniteScroll_1: boolean;
export { infiniteScroll_1 as infiniteScroll };
let loadMore_1: null;
export { loadMore_1 as loadMore };
let hasMore_1: boolean;
export { hasMore_1 as hasMore };
let markedOption_1: boolean;
export { markedOption_1 as markedOption };
let overflow_1: string;
export { overflow_1 as overflow };
import listType_1 = ListType.select;
export { listType_1 as listType };
}
export let displayName: string;
export { NOT_HOVERED_INDEX as NONE_SELECTED_ID };
}
import React from 'react';
import PropTypes from 'prop-types';
declare namespace ListType {
let action: string;
let select: string;
}
declare const NOT_HOVERED_INDEX: -1;
//# sourceMappingURL=DropdownLayout.d.ts.map