Sidebar
A vertical navigation rail — pair with fandry-sidebar-item for links.
fandry-sidebar
Example
Link to section ExampleCustom colors and parts
Link to section Custom colors and partsThe same component with a few --fd-* tokens set around it and its parts restyled. The code is under Parts below.
Props
Link to section Props| Prop | Type | Default | Description |
|---|---|---|---|
aria-label | string | — | Names this nav landmark, e.g. "Components". Overrides messages.label. |
messages | { label } | {} | Replaces the default name ("Sidebar") for every instance, e.g. to translate it. |
Parts
Link to section PartsStyle the elements inside the component from your own CSS with ::part(). Every fandry component renders in native shadow DOM, so parts work on LWR and Salesforce alike. For colors, spacing, radius and type across many components, set the --fd-* tokens instead. The code for the "Custom colors and parts" example above:
| Part | Description |
|---|---|
base | The outermost element. |
<!-- template -->
<div class="brand narrow" onclick={handleNoopClick}>
<fandry-sidebar aria-label="Shop">
<fandry-sidebar-item href="#" active>Shoes</fandry-sidebar-item>
<fandry-sidebar-item href="#">Bags</fandry-sidebar-item>
<fandry-sidebar-item href="#">Home</fandry-sidebar-item>
</fandry-sidebar>
</div>
/* css */
/* Scoped to this demo. Set the same --fd-* tokens on :root to theme
every fandry-* component on the site. */
.brand {
--fd-primary: 160 84% 26%;
--fd-radius-md: 999px;
}
fandry-sidebar::part(base) {
padding: 0.5rem;
background: hsl(160 40% 97%);
border-radius: 1rem;
}
fandry-sidebar-item::part(link) {
font-weight: 600;
}
Code
Link to section Code<fandry-sidebar aria-label="Components"> <fandry-sidebar-item href="/components/button" active>Button</fandry-sidebar-item> <fandry-sidebar-item href="/components/card">Card</fandry-sidebar-item> </fandry-sidebar>