UNPKG

@arolariu/components

Version:

🎨 70+ beautiful, accessible React components built on Base UI. TypeScript-first, CSS Modules styling, tree-shakeable, SSR-ready. Perfect for modern web apps, design systems & rapid prototyping. Zero config, maximum flexibility! ⚡

136 lines • 4.43 kB
import { Popover as BasePopover } from "@base-ui/react/popover"; import { useRender } from "@base-ui/react/use-render"; import * as React from "react"; interface PopoverProps extends React.ComponentPropsWithRef<typeof BasePopover.Root> { } interface PopoverTriggerProps extends Omit<React.ComponentPropsWithRef<typeof BasePopover.Trigger>, "className"> { /** * Applies additional CSS classes to the component root element. * @default undefined */ className?: string; /** * Enables child element composition instead of rendering the default wrapper. * @default false * @deprecated Prefer Base UI's `render` prop. */ asChild?: boolean; } interface PopoverAnchorProps extends React.ComponentPropsWithRef<"div"> { /** * Applies additional CSS classes to the component root element. * @default undefined */ className?: string; /** * Overrides the default rendered element while preserving component behavior. * @default undefined */ render?: useRender.RenderProp<Record<string, never>>; /** * Enables child element composition instead of rendering the default wrapper. * @default false * @deprecated Prefer Base UI's `render` prop. */ asChild?: boolean; } interface PopoverContentProps extends Omit<React.ComponentPropsWithRef<typeof BasePopover.Positioner>, "className"> { /** * Applies additional CSS classes to the component root element. * @default undefined */ className?: string; /** * Offsets the floating content from its anchor in pixels. * @default 4 */ sideOffset?: number; } /** * Coordinates popover state and accessibility behavior. * * @remarks * - Delegates structure and state to the underlying Base UI primitive * - Built on {@link https://base-ui.com/react/components/popover | Base UI Popover} * - Preserves the underlying primitive API for advanced composition * * @example * ```tsx * <Popover>Content</Popover> * ``` * * @see {@link https://base-ui.com/react/components/popover | Base UI Documentation} */ declare function Popover(props: Readonly<Popover.Props>): React.ReactElement; declare namespace Popover { var displayName: string; } /** * Renders the popover trigger. * * @remarks * - Renders a `<button>` element by default * - Built on {@link https://base-ui.com/react/components/popover | Base UI Popover} * - Supports the `render` prop for element composition * * @example * ```tsx * <PopoverTrigger>Content</PopoverTrigger> * ``` * * @see {@link https://base-ui.com/react/components/popover | Base UI Documentation} */ declare const PopoverTrigger: React.ForwardRefExoticComponent<Omit<PopoverTriggerProps, "ref"> & React.RefAttributes<HTMLButtonElement>>; /** * Renders the popover anchor. * * @remarks * - Renders a `<div>` element by default * - Built on {@link https://base-ui.com/react/components/popover | Base UI Popover} * - Supports the `render` prop for element composition * * @example * ```tsx * <PopoverAnchor>Content</PopoverAnchor> * ``` * * @see {@link https://base-ui.com/react/components/popover | Base UI Documentation} */ declare function PopoverAnchor(props: Readonly<PopoverAnchor.Props>): React.ReactElement; declare namespace PopoverAnchor { var displayName: string; } /** * Renders the popover content. * * @remarks * - Renders a `<div>` element by default * - Built on {@link https://base-ui.com/react/components/popover | Base UI Popover} * - Supports the `render` prop for element composition * * @example * ```tsx * <PopoverContent>Content</PopoverContent> * ``` * * @see {@link https://base-ui.com/react/components/popover | Base UI Documentation} */ declare const PopoverContent: React.ForwardRefExoticComponent<Omit<PopoverContentProps, "ref"> & React.RefAttributes<HTMLDivElement>>; declare namespace Popover { type Props = PopoverProps; type State = BasePopover.Root.State; } declare namespace PopoverTrigger { type Props = PopoverTriggerProps; type State = BasePopover.Trigger.State; } declare namespace PopoverAnchor { type Props = PopoverAnchorProps; type State = Record<string, never>; } declare namespace PopoverContent { type Props = PopoverContentProps; type State = BasePopover.Popup.State; } export { Popover, PopoverAnchor, PopoverContent, PopoverTrigger }; //# sourceMappingURL=popover.d.ts.map