/** * @fileoverview Item primitive — versatile list item component with icon, label, * description, and action slots. Supports multiple variants (default, link, button) * and grouped layouts with separators. Part of the Saasflare base component layer. * @module packages/ui/components/ui/item * @layer core * * @component * @example * import { ItemGroup, Item, ItemContent, ItemTitle } from '@saasflare/ui'; * * * * * Settings * * * */ import * as React from "react"; import { type VariantProps } from "class-variance-authority"; import { type SaasflareComponentProps } from "../../providers"; import { Separator } from "./separator"; /** * Vertical container that groups related {@link Item} rows into a list. * * @component * @layer core * * @example * * * * * */ declare function ItemGroup({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element; /** * Horizontal divider between {@link Item} rows inside an {@link ItemGroup}. * * @component * @layer core * * @example * */ declare function ItemSeparator({ className, ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element; declare const itemVariants: (props?: ({ variant?: "outline" | "default" | "muted" | null | undefined; size?: "sm" | "md" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; /** Props for the Saasflare {@link Item} component. */ interface ItemProps extends Omit, keyof SaasflareComponentProps>, Omit, "size">, SaasflareComponentProps { /** Render as child element (Radix Slot pattern). */ asChild?: boolean; /** Row density. (`"default"` is a deprecated alias for `"md"`.) */ size?: VariantProps["size"] | "default"; } /** * Versatile list row with optional media, content, and action slots. * * A surfaced, rounded primitive: `surface` and `radius` resolve from the * provider via {@link useSaasflareProps} and are emitted as * `data-surface`/`data-radius` on the root for CSS theming. * * @component * @layer core * * @example * * * * Settings * Manage your account. * * */ declare function Item({ className, variant, size, asChild, surface, radius, animated, iconWeight, ...props }: ItemProps): import("react/jsx-runtime").JSX.Element; declare const itemMediaVariants: (props?: ({ variant?: "image" | "icon" | "default" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; /** * Leading media slot for an {@link Item} — icon, image, or bare children. * * @component * @layer core * * @example * */ declare function ItemMedia({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps): import("react/jsx-runtime").JSX.Element; /** * Primary content column of an {@link Item} — holds title and description. * * @component * @layer core * * @example * * Settings * */ declare function ItemContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element; /** * Title line within {@link ItemContent}. * * @component * @layer core * * @example * Settings */ declare function ItemTitle({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element; /** * Secondary description text within {@link ItemContent}. * * @component * @layer core * * @example * Manage your account. */ declare function ItemDescription({ className, ...props }: React.ComponentProps<"p">): import("react/jsx-runtime").JSX.Element; /** * Trailing actions slot of an {@link Item} — buttons, menus, or controls. * * @component * @layer core * * @example * */ declare function ItemActions({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element; /** * Full-width header row spanning the top of an {@link Item}. * * @component * @layer core * * @example * PlanPro */ declare function ItemHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element; /** * Full-width footer row spanning the bottom of an {@link Item}. * * @component * @layer core * * @example * Renews monthly. */ declare function ItemFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element; export { Item, ItemMedia, ItemContent, ItemActions, ItemGroup, ItemSeparator, ItemTitle, ItemDescription, ItemHeader, ItemFooter, type ItemProps, };