@blockstack/ui
Version:
Blockstack UI components built using React and styled-components with styled-system.
34 lines (33 loc) • 1.14 kB
TypeScript
import * as React from 'react';
import { Placement, Instance } from '@popperjs/core';
export declare const getOppositePosition: (position: "bottom" | "top" | "left" | "right") => string;
export declare function getArrowStyles(placement: Placement, arrowSize: number): React.CSSProperties;
export interface UsePopperProps {
gutter?: number;
placement?: Placement;
offset?: number;
preventOverflow?: boolean;
fixed?: boolean;
forceUpdate?: boolean;
flip?: boolean;
arrowSize?: number;
eventsEnabled?: boolean;
}
export declare function usePopper(props: UsePopperProps): {
popperInstance: Instance | null;
reference: {
ref: React.RefObject<HTMLButtonElement>;
};
popper: {
ref: React.RefObject<HTMLDivElement>;
style: React.CSSProperties;
};
arrow: {
ref: React.RefObject<HTMLDivElement>;
style: React.CSSProperties;
};
update: () => boolean;
placement: Placement;
place: React.Dispatch<React.SetStateAction<Placement>>;
};
export declare type UsePopperReturn = ReturnType<typeof usePopper>;