/** * @fileoverview Sidebar layout components — main sidebar shell, rail, inset area, header, footer, content groups, and input. * Provides the structural layout primitives for the sidebar. Part of the Saasflare base component layer. * @module packages/ui/components/ui/sidebar/layout * @package ui * * @example * import { Sidebar, SidebarHeader, SidebarContent, SidebarGroup, SidebarFooter, SidebarInset } from '@saasflare/ui'; * * Logo * * Navigation items * * User menu * */ import * as React from "react"; import { type SaasflareComponentProps } from "../../../providers"; import { Input } from "../input"; import { Separator } from "../separator"; export interface SidebarProps extends Omit, keyof SaasflareComponentProps>, SaasflareComponentProps { side?: "left" | "right"; variant?: "sidebar" | "floating" | "inset"; collapsible?: "offcanvas" | "icon" | "none"; } /** * Root sidebar shell. Renders the collapsible navigation chrome and resolves the * design-system axes (`surface`, `radius`, `animated`) onto its root element across * the `collapsible="none"`, mobile (Sheet), and desktop branches. * * @example * * Logo * * Navigation items * * User menu * */ export declare function Sidebar({ side, variant, collapsible, className, children, surface, radius, animated, iconWeight, ...props }: SidebarProps): import("react/jsx-runtime").JSX.Element; /** * Interactive rail along the sidebar edge that toggles the collapsed/expanded state. * * @example * */ export declare function SidebarRail({ className, ...props }: React.ComponentProps<"button">): import("react/jsx-runtime").JSX.Element; /** * Props for {@link SidebarInset}. Extends `
` props with * {@link SaasflareComponentProps} (`surface`, `radius`, `animated`, `iconWeight`). */ export interface SidebarInsetProps extends Omit, keyof SaasflareComponentProps>, SaasflareComponentProps { } /** * Main content area that sits beside the sidebar. For the `inset` variant it gains a * rounded, elevated surface offset from the sidebar, so it carries the * `surface`/`radius`/`animated` axes. * * @example * * * */ export declare function SidebarInset({ className, surface, radius, animated, iconWeight, ...props }: SidebarInsetProps): import("react/jsx-runtime").JSX.Element; /** * Search/filter input styled for placement inside the sidebar header. * * @example * */ export declare function SidebarInput({ className, ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element; /** * Top region of the sidebar, typically holding the brand/logo or a search input. * * @example * Logo */ export declare function SidebarHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element; /** * Bottom region of the sidebar, typically holding the user menu or secondary actions. * * @example * User menu */ export declare function SidebarFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element; /** * Props for {@link SidebarSeparator}. Extends {@link Separator} props with * {@link SaasflareComponentProps} (`surface`, `radius`, `animated`, `iconWeight`). */ export interface SidebarSeparatorProps extends Omit, keyof SaasflareComponentProps>, SaasflareComponentProps { } /** * Horizontal divider styled for use between sidebar sections. Carries the * `surface`/`radius`/`animated` axes onto its rendered border element. * * @example * * * */ export declare function SidebarSeparator({ className, surface, radius, animated, iconWeight, ...props }: SidebarSeparatorProps): import("react/jsx-runtime").JSX.Element; /** * Scrollable middle region of the sidebar that holds the navigation groups. * * @example * */ export declare function SidebarContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element; /** * Logical grouping of sidebar items, optionally labelled and with a group action. * * @example * * Projects * * */ export declare function SidebarGroup({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element; /** * Heading for a sidebar group. Pass `asChild` to render as a custom element. * * @example * Projects */ export declare function SidebarGroupLabel({ className, asChild, ...props }: React.ComponentProps<"div"> & { asChild?: boolean; }): import("react/jsx-runtime").JSX.Element; /** * Action button anchored to the top-right of a sidebar group. Pass `asChild` to * render as a custom element. * * @example * * Projects * * */ export declare function SidebarGroupAction({ className, asChild, ...props }: React.ComponentProps<"button"> & { asChild?: boolean; }): import("react/jsx-runtime").JSX.Element; /** * Container for the items inside a sidebar group (typically a `SidebarMenu`). * * @example * */ export declare function SidebarGroupContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;