# @fayegram-ai/faye-ui/navigation

Public exports and dependency-resolved component properties, with usage and rendering guidance.

## Import

```tsx
import { Accordion, Breadcrumbs, Collapsible } from '@fayegram-ai/faye-ui/navigation';
```

[Usage and behavior guide](/docs/navigation/) · [API JSON](/api/packages/navigation/index.json)

This entry has no declared client boundary; individual exported behavior still follows its rendering contract.

## Public exports

| Name | Kind | Resolved declaration type |
|---|---|---|
| `AccordionTriggerProps` | type | `AccordionTriggerProps` |
| `Accordion` | value | `{ readonly Root: <Value = any>(props: Base.Root.Props<Value>) => React.JSX.Element; readonly Item: { (input: Omit<import("@base-ui/react").AccordionItemProps, "ref"> & import("react").RefAttributes<HTMLDivElement> & { variants?: { readonly variant?: import("@fayegram-ai/faye-ui/contracts/visual-variants").VisualVariant<"accordion", "variant"> \| undefined; readonly size?: import("@fayegram-ai/faye-ui/contracts/visual-variants").VisualVariant<"accordion", "size"> \| undefined; readonly tone?: import("@fayegram-ai/faye-ui/contracts/visual-variants").VisualVariant<"accordion", "tone"> \| undefined; } \| undefined; }): import("react").ReactElement; displayName: string; }; readonly Header: { (input: Omit<import("@base-ui/react").AccordionHeaderProps, "ref"> & import("react").RefAttributes<HTMLHeadi… (full type in API JSON)` |
| `Breadcrumbs` | value | `({ items, label, separator: separatorContent, profile, className, ...props }: BreadcrumbsProps) => import("react").JSX.Element` |
| `BreadcrumbItem` | type | `BreadcrumbItem` |
| `BreadcrumbsProps` | type | `BreadcrumbsProps` |
| `Collapsible` | value | `{ readonly Root: { (input: Omit<import("@base-ui/react").CollapsibleRootProps, "ref"> & import("react").RefAttributes<HTMLDivElement> & { variants?: { readonly size?: import("@fayegram-ai/faye-ui/contracts/visual-variants").VisualVariant<"collapsible", "size"> \| undefined; readonly tone?: import("@fayegram-ai/faye-ui/contracts/visual-variants").VisualVariant<"collapsible", "tone"> \| undefined; } \| undefined; }): import("react").ReactElement; displayName: string; }; readonly Trigger: { (input: Omit<import("@base-ui/react").CollapsibleTriggerProps, "ref"> & import("react").RefAttributes<HTMLButtonElement> & { variants?: { readonly size?: import("@fayegram-ai/faye-ui/contracts/visual-variants").VisualVariant<"collapsible", "size"> \| undefined; readonly tone?: import("@fayegram-ai/faye-ui/cont… (full type in API JSON)` |
| `NavigationMenu` | value | `{ readonly Root: { (input: Base.Root.Props<unknown> & { variants?: { readonly size?: import("@fayegram-ai/faye-ui/contracts/visual-variants").VisualVariant<"navigation-menu", "size"> \| undefined; readonly tone?: import("@fayegram-ai/faye-ui/contracts/visual-variants").VisualVariant<"navigation-menu", "tone"> \| undefined; } \| undefined; }): import("react").ReactElement; displayName: string; }; readonly List: { (input: Omit<import("@base-ui/react").NavigationMenuListProps, "ref"> & import("react").RefAttributes<HTMLUListElement> & { variants?: { readonly size?: import("@fayegram-ai/faye-ui/contracts/visual-variants").VisualVariant<"navigation-menu", "size"> \| undefined; readonly tone?: import("@fayegram-ai/faye-ui/contracts/visual-variants").VisualVariant<"navigation-menu", "tone"> \| undefin… (full type in API JSON)` |
| `Pagination` | value | `(input: PaginationProps) => import("react").JSX.Element` |
| `PaginationProps` | type | `PaginationProps` |
| `paginationItems` | value | `(page: number, count: number, siblings?: number, boundaries?: number) => PageItem[]` |
| `PageItem` | type | `PageItem` |
| `Stepper` | value | `({ steps, label, activeStep, orientation, nonLinear, onStepChange, optionalLabel, errorLabel, profile, className, ...props }: StepperProps) => import("react").JSX.Element` |
| `Step` | type | `Step` |
| `StepperProps` | type | `StepperProps` |
| `ScrollableTabsListProps` | type | `ScrollableTabsListProps` |
| `Tabs` | value | `{ readonly Root: { (input: Omit<import("@base-ui/react").TabsRootProps, "ref"> & import("react").RefAttributes<HTMLDivElement> & { variants?: { readonly size?: import("@fayegram-ai/faye-ui/contracts/visual-variants").VisualVariant<"tabs", "size"> \| undefined; readonly tone?: import("@fayegram-ai/faye-ui/contracts/visual-variants").VisualVariant<"tabs", "tone"> \| undefined; } \| undefined; }): import("react").ReactElement; displayName: string; }; readonly List: { (input: Omit<import("@base-ui/react").TabsListProps, "ref"> & import("react").RefAttributes<HTMLDivElement> & { variants?: { readonly size?: import("@fayegram-ai/faye-ui/contracts/visual-variants").VisualVariant<"tabs", "size"> \| undefined; readonly tone?: import("@fayegram-ai/faye-ui/contracts/visual-variants").VisualVariant<"tabs"… (full type in API JSON)` |
| `Toolbar` | value | `{ readonly Root: { (input: Omit<import("@base-ui/react").ToolbarRootProps, "ref"> & import("react").RefAttributes<HTMLDivElement> & { variants?: { readonly size?: import("@fayegram-ai/faye-ui/contracts/visual-variants").VisualVariant<"toolbar", "size"> \| undefined; readonly tone?: import("@fayegram-ai/faye-ui/contracts/visual-variants").VisualVariant<"toolbar", "tone"> \| undefined; } \| undefined; }): import("react").ReactElement; displayName: string; }; readonly Button: { (input: Omit<import("@base-ui/react").ToolbarButtonProps, "ref"> & import("react").RefAttributes<HTMLButtonElement> & { variants?: { readonly size?: import("@fayegram-ai/faye-ui/contracts/visual-variants").VisualVariant<"toolbar", "size"> \| undefined; readonly tone?: import("@fayegram-ai/faye-ui/contracts/visual-variants"… (full type in API JSON)` |
| `Menubar` | value | `{ (input: Omit<import("@base-ui/react").MenubarProps, "ref"> & import("react").RefAttributes<HTMLDivElement> & { variants?: {} \| undefined; }): import("react").ReactElement; displayName: string; }` |
| `MobileStepper` | value | `({ steps, activeStep, variant, label, backButton, nextButton, formatLabel, profile, className, ...props }: MobileStepperProps) => import("react").JSX.Element` |
| `MobileStepperProps` | type | `MobileStepperProps` |



## Defaults and customization

Defaults and native behavior are documented in the linked family guide. This reference does not infer a default from an optional property.

Use semantic tokens, public part hooks and customization sheets. Keep visual configuration separate from application state.

## State, events and accessibility

For interactive controls, pair a controlled value/open prop with its corresponding change callback; default props initialize uncontrolled state. Keep application validation and submission policy explicit. Name controls with visible labels, name icon-only actions on the button, and preserve focus and dismissal behavior when replacing parts. Use native form names and submit/reset types where supported. See the usage guide for component-specific behavior and live examples.

## Declaration authority

Generated from `packages/faye-ui/dist/navigation/index.d.ts` after the semantic package build. Common native/React attributes are intentionally omitted from property tables. Generic overloads, discriminated unions and complete inherited attributes remain authoritative in installed TypeScript declarations. [React DOM attributes](https://react.dev/reference/react-dom/components/common) and [Base UI component contracts](https://base-ui.com/react/overview/quick-start) describe the inherited foundations.
