/** * @fileoverview Field primitive — structured form field layout with label, description, * error message, and fieldset/legend support. Provides consistent spacing and * accessibility for form inputs. Part of the Saasflare base component layer. * @module packages/ui/components/ui/field * @layer core * * @component * @example * import { Field, FieldLabel, FieldError } from '@saasflare/ui'; * * Email * * Required * */ import * as React from "react"; import { type VariantProps } from "class-variance-authority"; import { type SaasflareComponentProps } from "../../providers"; import { Label } from "./label"; /** * Fieldset wrapper that groups related fields with consistent vertical spacing. * * @component * @layer core */ declare function FieldSet({ className, ...props }: React.ComponentProps<"fieldset">): import("react/jsx-runtime").JSX.Element; /** * Legend heading for a {@link FieldSet}, with `legend` (default) and `label` size variants. * * @component * @layer core */ declare function FieldLegend({ className, variant, ...props }: React.ComponentProps<"legend"> & { variant?: "legend" | "label"; }): import("react/jsx-runtime").JSX.Element; /** * Container that stacks multiple {@link Field} elements with responsive container queries. * * @component * @layer core */ declare function FieldGroup({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element; declare const fieldVariants: (props?: ({ orientation?: "horizontal" | "vertical" | "responsive" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; interface FieldProps extends Omit, keyof SaasflareComponentProps>, VariantProps, SaasflareComponentProps { } /** * Structured form field root — lays out a label, control, description and error * with consistent spacing. Honors the Saasflare theme axes (surface, radius, * animated) so nested selectable fields adopt the active design tokens. * * @component * @layer core * * @example * * Notifications * Receive product updates * */ declare function Field({ className, orientation, surface, radius, animated, iconWeight, ...props }: FieldProps): import("react/jsx-runtime").JSX.Element; /** * Vertical content column inside a {@link Field}, typically wrapping a label and description. * * @component * @layer core */ declare function FieldContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element; /** * Label for a {@link Field}. When wrapping a nested field it renders as a * selectable bordered card that highlights on the checked state. * * @component * @layer core */ declare function FieldLabel({ className, ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element; /** * Inline title text for a field, used where a full {@link FieldLabel} is not needed. * * @component * @layer core */ declare function FieldTitle({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element; /** * Helper / description text rendered beneath a field control. * * @component * @layer core */ declare function FieldDescription({ className, ...props }: React.ComponentProps<"p">): import("react/jsx-runtime").JSX.Element; /** * Horizontal divider between fields, with optional centered label content. * * @component * @layer core */ declare function FieldSeparator({ children, className, ...props }: React.ComponentProps<"div"> & { children?: React.ReactNode; }): import("react/jsx-runtime").JSX.Element; /** * Validation error region for a field. Renders `children` when provided, otherwise * a deduplicated list of `errors` (single message inline, multiple as a bullet list). * * @component * @layer core */ declare function FieldError({ className, children, errors, ...props }: React.ComponentProps<"div"> & { errors?: Array<{ message?: string; } | undefined>; }): import("react/jsx-runtime").JSX.Element | null; export { Field, FieldLabel, FieldDescription, FieldError, FieldGroup, FieldLegend, FieldSeparator, FieldSet, FieldContent, FieldTitle, };