UNPKG

@snowball-tech/fractal

Version:

Fractal's (Snowball's design system) React component library based on RadixUI and PandaCSS

44 lines (41 loc) 1.54 kB
import { PopoverContentProps, Root } from '@radix-ui/react-popover'; import { AllHTMLAttributes, ReactNode, CSSProperties, ComponentProps } from 'react'; import { PaperProps } from '../Paper/Paper.types.js'; import { Elevations } from '../Paper/Paper.constants.js'; import '../constants-QFINMz1u.js'; type CombinedRefs = { container: HTMLDivElement | null; content: HTMLDivElement | null; trigger: HTMLElement | null; }; interface PopoverProps extends Omit<AllHTMLAttributes<HTMLDivElement>, 'title'> { children: ReactNode; align?: PopoverContentProps['align']; closeButtonLabel?: string; disabled?: boolean; elevation?: `${Elevations}`; fullWidth?: boolean; modal?: boolean; open?: boolean; paper?: Partial<PaperProps>; popover?: Partial<{ className?: string; style?: CSSProperties; } & Omit<PopoverContentProps, 'align' | 'asChild' | 'onInteractOutside' | 'side'>>; side?: PopoverContentProps['side']; title?: string; toggleOnTriggerClick?: boolean; toggleOnTriggerHover?: boolean; trigger?: ReactNode; triggerAsButton?: boolean; width?: number | string | 'auto' | 'fit' | 'full' | 'trigger'; withArrow?: boolean; withCloseButton?: boolean; withScroll?: boolean; onClose?: () => void; onCloseButtonClick?: () => void; onInteractOutside?: PopoverContentProps['onInteractOutside']; onOpen?: () => void; onOpenChange?: ComponentProps<typeof Root>['onOpenChange']; } export type { CombinedRefs, PopoverProps };