Connection settings
- Device namePixel
The row changes the network. Its separate switch turns the connection on or off.
Segmented Material list rows with leading content, supporting text and independent trailing controls.
The row changes the network. Its separate switch turns the connection on or off.
Three ways in. They share one source, so the pixels match whichever you pick.
npm install @noorddev/vlak-react
// once, next to your app's root
import "@noorddev/vlak-react/css";
import { AndroidList, AndroidListRow, AndroidSwitch } from "@noorddev/vlak-react";Precompiled React and one stylesheet. No compiler to configure. Per-component imports work too: @noorddev/vlak-react/components/android-list.
npx @noorddev/vlak-cli add android-list
The StyleX leaf lands in components/vlak/ with its dependencies, for your own compiler to own. See StyleX.
npx shadcn add https://vlak.dev/r/android-list.json
The same registry item, installed by shadcn's CLI.
<link rel="stylesheet" href="node_modules/@noorddev/vlak/css/vlak.css" />
No React. Link vlak.css and use the markup and classes below.
import { AndroidList, AndroidListRow, AndroidSwitch } from "@noorddev/vlak-react";
<AndroidList aria-label="Connections">
<AndroidListRow headline="Wi-Fi" supportingText="Studio network" onAction={openNetworks} trailing={<AndroidSwitch aria-label="Wi-Fi enabled" defaultChecked />} />
<AndroidListRow headline="Device name" supportingText="Pixel" />
</AndroidList>Also accepts HTMLAttributes<HTMLUListElement>.
| Prop | Type | Default | Description |
|---|---|---|---|
headlinerequired | ReactNode | ||
supportingText | ReactNode | ||
overline | ReactNode | ||
leading | ReactNode | ||
trailing | ReactNode | ||
onAction | MouseEventHandler<HTMLButtonElement> | ||
disabled | boolean | ||
actionProps | Omit<ButtonHTMLAttributes<HTMLButtonElement>, "children" | "className" | "style" | "onClick" | "disabled"> | Native attributes for the row's optional button. Trailing controls remain siblings. |
Also accepts Omit<LiHTMLAttributes<HTMLLIElement>, "children">.
| Keys | Does |
|---|---|
| Tab | Moves between row actions and independent trailing controls. |
| Enter or Space | Activates a focused row button. |
<ul class="rs-android-list" aria-label="Connections"><li class="rs-android-list-row"><button class="rs-android-list-body rs-android-list-action rs-android-list-two-line" type="button"><span class="rs-android-list-copy"><span class="rs-android-list-headline">Wi-Fi</span><span class="rs-android-list-secondary">Studio network</span></span></button><span class="rs-android-list-trailing">Connected</span></li><li class="rs-android-list-row"><div class="rs-android-list-body"><span class="rs-android-list-copy"><span class="rs-android-list-headline">Device name</span></span></div><span class="rs-android-list-trailing">Pixel</span></li></ul>