pouncejs
Version:
A collection of UI components from Panther labs
30 lines (29 loc) • 892 B
TypeScript
import React from 'react';
interface PopoverContext {
popoverId?: string;
isOpen: boolean;
toggle: () => void;
open: () => void;
close: () => void;
triggerRef: React.RefObject<HTMLElement>;
popoverRef: React.RefObject<HTMLElement>;
}
export interface PopoverProps {
/**
* Whether the popover should be initially open
*/
isOpen?: boolean;
/**
* The id of the popover. Helps setting up aria controls between popover content & trigger
*/
id?: string;
/**
* @ignore
*/
children: React.ReactNode | ((renderProps: Pick<PopoverContext, 'isOpen' | 'open' | 'close' | 'toggle'>) => React.ReactNode);
}
declare const PopoverContext: React.Context<PopoverContext>;
declare const usePopoverContext: () => PopoverContext;
declare const Popover: React.FC<PopoverProps>;
export { usePopoverContext };
export default Popover;