UNPKG

its-just-ui

Version:

ITS Just UI - The easiest and best React UI component library. Modern, accessible, and customizable components built with TypeScript and Tailwind CSS. Simple to use, production-ready components for building beautiful user interfaces with ease.

100 lines (98 loc) 4.04 kB
import { default as React } from 'react'; import { PopoverVariant, PopoverSize, PopoverPosition, PopoverTransition, PopoverTrigger, PopoverTone, PopoverEventHandlers, RenderContentFunction, RenderTriggerFunction } from './types'; export interface PopoverProps extends PopoverEventHandlers { children?: React.ReactNode; open?: boolean; defaultOpen?: boolean; onOpenChange?: (open: boolean) => void; position?: PopoverPosition; trigger?: PopoverTrigger; closeOnBlur?: boolean; closeOnEscape?: boolean; closeOnOutsideClick?: boolean; variant?: PopoverVariant; size?: PopoverSize; tone?: PopoverTone; hasArrow?: boolean; transition?: PopoverTransition; enterDuration?: number; exitDuration?: number; easing?: string; portalContainer?: Element | null; initialFocus?: React.RefObject<HTMLElement>; returnFocus?: boolean; renderContent?: RenderContentFunction; renderTrigger?: RenderTriggerFunction; borderWidth?: string; borderColor?: string; borderStyle?: string; borderRadius?: string; fontSize?: string; fontWeight?: string; fontFamily?: string; headingColor?: string; descriptionColor?: string; backgroundColor?: string; textColor?: string; shadowColor?: string; arrowColor?: string; focusBorderColor?: string; focusRingColor?: string; focusRingOffset?: string; boxShadow?: string; hoverShadow?: string; focusBoxShadow?: string; padding?: string; margin?: string; gap?: string; offset?: string; arrowSize?: string; offsetTop?: number; offsetBottom?: number; offsetLeft?: number; offsetRight?: number; 'aria-label'?: string; 'aria-describedby'?: string; role?: string; } declare const Popover: React.ForwardRefExoticComponent<PopoverProps & React.RefAttributes<HTMLDivElement>>; export interface PopoverTriggerProps extends React.HTMLAttributes<HTMLElement> { children: React.ReactNode; asChild?: boolean; } declare const PopoverTrigger: React.ForwardRefExoticComponent<PopoverTriggerProps & React.RefAttributes<HTMLElement>>; export interface PopoverContentProps extends React.HTMLAttributes<HTMLDivElement> { children?: React.ReactNode; portalContainer?: Element | null; } declare const PopoverContent: React.ForwardRefExoticComponent<PopoverContentProps & React.RefAttributes<HTMLDivElement>>; export interface PopoverArrowProps extends React.HTMLAttributes<HTMLDivElement> { /** Additional className for styling the arrow */ className?: string; } declare const PopoverArrow: React.ForwardRefExoticComponent<PopoverArrowProps & React.RefAttributes<HTMLDivElement>>; export interface PopoverTitleProps extends React.HTMLAttributes<HTMLHeadingElement> { children: React.ReactNode; level?: 1 | 2 | 3 | 4 | 5 | 6; } declare const PopoverTitle: React.ForwardRefExoticComponent<PopoverTitleProps & React.RefAttributes<HTMLHeadingElement>>; export interface PopoverDescriptionProps extends React.HTMLAttributes<HTMLParagraphElement> { children: React.ReactNode; } declare const PopoverDescription: React.ForwardRefExoticComponent<PopoverDescriptionProps & React.RefAttributes<HTMLParagraphElement>>; export interface PopoverCloseProps extends React.ButtonHTMLAttributes<HTMLButtonElement> { children?: React.ReactNode; asChild?: boolean; } declare const PopoverClose: React.ForwardRefExoticComponent<PopoverCloseProps & React.RefAttributes<HTMLButtonElement>>; export { Popover, PopoverTrigger, PopoverContent, PopoverArrow, PopoverTitle, PopoverDescription, PopoverClose, }; interface PopoverComponent extends React.ForwardRefExoticComponent<PopoverProps & React.RefAttributes<HTMLDivElement>> { Trigger: typeof PopoverTrigger; Content: typeof PopoverContent; Arrow: typeof PopoverArrow; Title: typeof PopoverTitle; Description: typeof PopoverDescription; Close: typeof PopoverClose; } declare const PopoverCompound: PopoverComponent; export default PopoverCompound;