import * as React from "react"; import { Button } from "./button"; /** Supported alignment options for {@link InputGroupAddon}. */ export type InputGroupAddonAlign = "inline-start" | "inline-end" | "block-start" | "block-end"; /** Supported compact button sizes for {@link InputGroupButton}. */ export type InputGroupButtonSize = "xs" | "sm" | "icon-xs" | "icon-sm"; /** * Props for the {@link InputGroup} component. */ export type InputGroupProps = React.ComponentPropsWithoutRef<"div">; /** * Props for the {@link InputGroupAddon} component. */ export interface InputGroupAddonProps extends React.ComponentPropsWithoutRef<"div"> { /** Position of the addon relative to the input control. @default "inline-start" */ align?: InputGroupAddonAlign; } /** * Props for the {@link InputGroupButton} component. */ export interface InputGroupButtonProps extends Omit, "size"> { /** Compact button size used within the group chrome. @default "xs" */ size?: InputGroupButtonSize; } /** * Props for the {@link InputGroupText} component. */ export type InputGroupTextProps = React.ComponentPropsWithoutRef<"span">; /** * Props for the {@link InputGroupInput} component. */ export type InputGroupInputProps = React.ComponentPropsWithoutRef<"input">; /** * Props for the {@link InputGroupTextarea} component. */ export type InputGroupTextareaProps = React.ComponentPropsWithoutRef<"textarea">; /** * Creates a composable shell for grouped text inputs and controls. * * @remarks * - Pure CSS component (no Base UI primitive) * - Renders a `
` element * - Styling via CSS Modules with `--ac-*` custom properties * * @example * ```tsx * * * * ``` * * @see {@link InputGroupProps} for available props */ declare const InputGroup: React.ForwardRefExoticComponent, HTMLDivElement>, "ref"> & React.RefAttributes>; /** * Renders supplementary content around an input group control. * * @remarks * - Pure CSS component (no Base UI primitive) * - Renders a `
` element * - Styling via CSS Modules with `--ac-*` custom properties * * @example * ```tsx * .com * ``` * * @see {@link InputGroupAddonProps} for available props */ declare const InputGroupAddon: React.ForwardRefExoticComponent>; /** * Renders a compact button matched to input group dimensions. * * @remarks * - Pure CSS component (no Base UI primitive) * - Renders a wrapped `Button` component * - Styling via CSS Modules with `--ac-*` custom properties * * @example * ```tsx * Search * ``` * * @see {@link InputGroupButtonProps} for available props */ declare const InputGroupButton: React.ForwardRefExoticComponent>; /** * Displays static inline text within an input group. * * @remarks * - Pure CSS component (no Base UI primitive) * - Renders a `` element * - Styling via CSS Modules with `--ac-*` custom properties * * @example * ```tsx * @ * ``` * * @see {@link InputGroupTextProps} for available props */ declare const InputGroupText: React.ForwardRefExoticComponent, HTMLSpanElement>, "ref"> & React.RefAttributes>; /** * Renders the primary input control inside an input group. * * @remarks * - Pure CSS component (no Base UI primitive) * - Renders a wrapped `Input` component * - Styling via CSS Modules with `--ac-*` custom properties * * @example * ```tsx * * ``` * * @see {@link InputGroupInputProps} for available props */ declare const InputGroupInput: React.ForwardRefExoticComponent, HTMLInputElement>, "ref"> & React.RefAttributes>; /** * Renders a textarea control inside an input group. * * @remarks * - Pure CSS component (no Base UI primitive) * - Renders a wrapped `Textarea` component * - Styling via CSS Modules with `--ac-*` custom properties * * @example * ```tsx * * ``` * * @see {@link InputGroupTextareaProps} for available props */ declare const InputGroupTextarea: React.ForwardRefExoticComponent, HTMLTextAreaElement>, "ref"> & React.RefAttributes>; export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea }; //# sourceMappingURL=input-group.d.ts.map