/**
* @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, };