export type NavRailFooterToggle = { /** Raw SVG source string (e.g. a fluent-icon `?raw` import). */ icon: string; /** Accessible label for the icon-only button. */ aria: string; callback: () => void; }; import type { Snippet } from 'svelte'; type Props = { /** Optional brand block at the top (logo / home link). */ brand?: Snippet; /** Rail body — typically a stack of `NavRailItem`s. */ children: Snippet; /** Icon-only toggle buttons stacked at the bottom of the rail (e.g. expand panel, account). */ footerToggles?: NavRailFooterToggle[]; }; /** * NavRail — first-level icon-and-label navigation column for app shells. 70px wide by default; * brand / body / footer slots. Scroll buttons and edge-fade masks appear automatically when the * body overflows. Pass `footerToggles` to render a stack of icon-only buttons at the bottom (e.g. an * expand toggle). Compose with `NavRailItem` for each tile. Consumer owns active-state, routing, and * feature gating — the rail is purely presentational. * * ### CSS Custom Properties * | Property | Description | Default | * |---|---|---| * | `--sc-kit--nav-rail--width` | Rail width | `70px` | * | `--sc-kit--nav-rail--item-gap` | Vertical gap between tiles | `26px` | * | `--sc-kit--nav-rail--background` | Rail background | `--sc-kit--color--bg--panel` | * | `--sc-kit--nav-rail--border-color` | Right border color | `--sc-kit--color--border` | * | `--sc-kit--nav-rail--item-width` | Tile width (read by `NavRailItem`) | `58px` | * | `--sc-kit--nav-rail--item-icon-size` | Tile icon size (read by `NavRailItem`) | `24px` | * | `--sc-kit--nav-rail--item-label-size` | Tile label font size (read by `NavRailItem`) | `10px` | * | `--sc-kit--nav-rail--footer-btn--color` | Footer toggle idle color | `--sc-kit--color--text--secondary` | * | `--sc-kit--nav-rail--footer-btn--color--hover` | Footer toggle hover color | `--sc-kit--color--text--primary` | * | `--sc-kit--nav-rail--footer-btn--background--hover` | Footer toggle hover background | `--sc-kit--color--bg--menu-active` | */ declare const Cmp: import("svelte").Component; type Cmp = ReturnType; export default Cmp;