@funkit/connect
Version:
Funkit Connect SDK elevates DeFi apps via web2 sign-ins and one-click checkouts.
35 lines (34 loc) • 1.78 kB
TypeScript
import React from 'react';
import { type BoxProps } from '../Box/Box';
import { type BaseActiveDropdownItemProps } from './BaseActiveDropdownItem';
/** gap between the icon and the label of the item */
export declare const HORIZONTAL_ICON_GAP = "4";
/** safe spacing, ie. padding, on the left & right of the active item and dropdown item */
export declare const HORIZONTAL_OUTER_PADDING_X = "12";
export interface BaseDropdownOption<T = string> {
label: string;
value: T;
}
export interface BaseDropdownProps {
value: string;
activeItemProps?: Partial<Pick<BaseActiveDropdownItemProps, 'iconComponent' | 'label' | 'color' | 'alwaysVisibleLabel' | 'tagComponent' | 'tagPosition' | 'background'>>;
options: BaseDropdownOption[];
onOpen?: () => void;
onOptionSelected?: (item: BaseDropdownOption) => void;
renderDropdownOption: (item: BaseDropdownOption, isSelected: boolean) => React.ReactNode;
searchableOptions?: boolean;
searchPlaceholder?: string;
placeholder?: string;
resetSearchOnClose?: boolean;
openToTopOnMobile?: boolean;
alwaysOpenToTop?: boolean;
openDropdownFullWidth?: boolean;
preloadIconUrls?: string[];
horizontalIconGap?: BoxProps['gap'];
openDropdownBackgroundColor?: BoxProps['background'];
size?: BaseActiveDropdownItemProps['size'];
isLoading?: boolean;
label?: string;
}
declare function BaseDropdown({ activeItemProps, value, options, onOptionSelected, onOpen, renderDropdownOption, searchableOptions, searchPlaceholder, placeholder, resetSearchOnClose, openToTopOnMobile, alwaysOpenToTop, openDropdownFullWidth, isLoading, preloadIconUrls, horizontalIconGap, openDropdownBackgroundColor, size, label, }: BaseDropdownProps): React.JSX.Element;
export default BaseDropdown;