Clients
Connected clients with signal, band, access point and live rates, sorted by usage or name, with Block and Unblock per client.
Installation
pnpm dlx shadcn@latest add @lumesec/ln-client-listFirst timeRegister the @lumesec registry once, or install by URL+
Adds @lumesec to your components.json:
pnpm dlx shadcn@latest registry add @lumesec=https://elements.lumesec.ai/r/{name}.jsonOr skip the setup and install by URL:
npx shadcn@latest add https://elements.lumesec.ai/r/ln-client-list.jsonUsage
import { LnClientList } from "@/components/lumesec/ln-client-list";
export function Example() {
return (
<LnClientList />
);
}Behaviour
Connected clients with signal, band, network and current rate. Block removes a client from the network until it is unblocked.
API reference
Events
Events bubble and cross the shadow boundary unless the description says otherwise.
blockReact proponBlockDetail{ client: string, blocked: boolean }Fires when Block or Unblock is pressed. client is the client name; blocked is the new state.
Accessibility
- The sort control is a
role="group"labelled Sort witharia-pressedbuttons. - Each Block button has an
aria-labelsuch as "Block Office Printer" or "Unblock Office Printer"; focus returns to it after it is pressed. - The list re-renders every 1.2 s; keyboard focus stays on the focused Block button.
- Signal bars are
aria-hiddenSVG; the band name is text next to them. - Reduced motion: the list has no animation; reduced motion only removes CSS transitions.
Theming
The element reads your shadcn theme tokens through its shadow root, so light and dark follow your theme. The accent comes from --lumesec. See Theming.
This component reads --background, --border, --card, --destructive, --foreground, --lumesec-success, --lumesec-warning, --muted and --muted-foreground.
To restyle only LumeSec elements, set the matching --ui-* overrides: --ui-border, --ui-danger, --ui-faint, --ui-fg2, --ui-mono, --ui-muted, --ui-ok, --ui-surface, --ui-track and --ui-warn.
Notes
- Shows eight built-in demo clients. No attribute selects other data; rates are simulated and refresh every 1.2 s while the element is on screen.
- Blocking is local to the element: the client stays in the list, struck through, and the connected count drops.
- Uses a container query: below 470px the signal column hides.
Related
Was this page helpful?