UNPKG

@loke/design-system

Version:

A design system with individually importable components

52 lines (51 loc) 2.87 kB
import * as PopoverPrimitive from "@loke/ui/popover"; import type { ComponentProps } from "react"; /** * Popover component for displaying floating content. * * Provides a way to show additional content in a floating panel when a user interacts * with a trigger element. Commonly used for secondary information, forms, or temporary * actions that don't require a full page or modal. * * Key features: * - Triggerable content panel that appears over other content * - Optional modal mode to focus user attention * - Focus management for accessibility * - Controlled or uncontrolled state management * - Flexible positioning options * - Built-in keyboard navigation and dismissal */ declare function Popover({ ...props }: ComponentProps<typeof PopoverPrimitive.Root>): import("react/jsx-runtime").JSX.Element; /** * PopoverTrigger component for opening the popover. * * Renders a button that toggles the popover's open state when clicked. * Automatically handles the aria attributes required for accessibility. */ declare function PopoverTrigger({ ...props }: ComponentProps<typeof PopoverPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element; /** * PopoverContent component with default styling. * * Styled version of the popover content primitive with animations and theme-consistent design. * Renders inside a portal to avoid layout issues. * * @param matchTriggerWidth - When true, constrains the popover width to match the trigger element. */ declare function PopoverContent({ className, align, sideOffset, matchTriggerWidth, ...props }: ComponentProps<typeof PopoverPrimitive.Content> & { /** Make the size of the popover the same as the width of the trigger. */ matchTriggerWidth?: boolean; }): import("react/jsx-runtime").JSX.Element; /** * PopoverAnchor component for custom anchor positioning. * * Creates a custom anchor point for the popover content, allowing you to * position the popover relative to any element, not just the trigger. */ declare function PopoverAnchor({ ...props }: ComponentProps<typeof PopoverPrimitive.Anchor>): import("react/jsx-runtime").JSX.Element; /** Header section for popover content, providing a flex column layout for title and description. */ declare function PopoverHeader({ className, ...props }: ComponentProps<"div">): import("react/jsx-runtime").JSX.Element; /** Title element for the popover header, rendered with medium font weight. */ declare function PopoverTitle({ className, ...props }: ComponentProps<"h2">): import("react/jsx-runtime").JSX.Element; /** Description element for the popover header, rendered in muted foreground. */ declare function PopoverDescription({ className, ...props }: ComponentProps<"p">): import("react/jsx-runtime").JSX.Element; export { Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, };