@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
TypeScript
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