Checkbox
Reusable React exports, live props, and complete source.
'use client';
import { useState } from 'react';
import { Checkbox } from '@helios-ui/react';
import '@helios-ui/react/styles.css';
export default function Example() {
const [checked, setChecked] = useState(false);
return (
<Checkbox label={"Receive product updates"} size="md" checked={checked} onChange={event => setChecked(event.target.checked)}/>
);
}
Customize this example
Use in your React app
Download the local package, install its React peers, then import the export and stylesheet. This package is not published to npm.
npm install react@^19 react-dom@^19 ./helios-ui-react-0.1.0.tgzDownload React package ↓Download all source (JSON) ↓The Code tab renders the same exports used in this preview. Source files include typed props, behavior, styles, and dependency details.
Sizes
Native checkbox semantics with an animated check and a visible focus ring.
'use client';
import {useState} from 'react';
import {Checkbox} from '@helios-ui/react';
import '@helios-ui/react/styles.css';
export default function Example(){
return (<><Checkbox label="Medium checkbox" size="md" defaultChecked/><Checkbox label="Small checkbox" size="sm" defaultChecked/></>);
}
Labels & control
Clicking the label changes the value. Controlled, mixed and disabled states use the same export.
'use client';
import {useState} from 'react';
import {Checkbox} from '@helios-ui/react';
import '@helios-ui/react/styles.css';
export default function Example(){
const [checked,setChecked]=useState(false);
return (<><Checkbox label="Remember me" defaultChecked/><Checkbox label="Send product updates" checked={checked} onChange={event=>setChecked(event.target.checked)}/><Checkbox label="Partially selected" indeterminate/><Checkbox label="Disabled selection" defaultChecked disabled/></>);
}
Card
The entire bordered card toggles its checkbox. A description remains associated with the control.
'use client';
import {useState} from 'react';
import {Checkbox} from '@helios-ui/react';
import '@helios-ui/react/styles.css';
export default function Example(){
return (<div><Checkbox card label="Product updates" hint="Receive new component announcements."/><Checkbox card label="Team activity" hint="Keep up with changes to your workspace." defaultChecked/><Checkbox card label="No description"/></div>);
}
Props
Generated from the TypeScript export Checkbox. Configure this example with the preview controls above.
| Prop | Type / behavior |
|---|---|
disabled | boolean | undefined |
onChange | ChangeEventHandler<HTMLInputElement, HTMLInputElement> | undefined |
checked | boolean | undefined |
label | string |
hint | string | undefined |
indeterminate | boolean | undefined |
size | "sm" | "md" | undefined |
card | boolean | undefined |
Explore composed examples
Built from the same components
Forms, tables, charts and composers share Button, Input, Select, Checkbox, Tabs and Dialog.
Team members
Fictional records · client-side sorting, selection and export
| Action | |||||
|---|---|---|---|---|---|
Aarav Shahaarav@example.com | Designer | ₹1,250 | |||
Diya Raodiya@example.com | Developer | ₹2,500 | |||
Ishaan Patelishaan@example.com | Admin | ₹3,750 | |||
Kavya Nairkavya@example.com | Designer | ₹5,000 | |||
Rohan Mehtarohan@example.com | Developer | ₹6,250 |
Revenue overview
Illustrative INR data · totals match the visible period
Jan: ₹4,200
Accessible data table
| Month | Revenue |
|---|---|
| Jan | ₹4,200 |
| Feb | ₹5,100 |
| Mar | ₹4,600 |
| Apr | ₹6,800 |
| May | ₹5,900 |
| Jun | ₹7,200 |
Team conversation
Local composer example · Enter sends, Shift+Enter adds a line
No messages yet. Start a conversation below.
Keyboard and motion
Tab reaches controls; Space and Enter activate buttons. Native Select supports keyboard selection and mobile pickers. Tabs use arrows, Home and End. Dialog contains focus, closes with Escape, and restores focus. Data tables expose sort and selection state. Reduced motion removes spinners and chart transitions.
Primary labels adapt to the chosen accent for contrast. This accessibility adjustment differs from Figma’s white-on-cyan example. The Select example uses a React Aria popover with rich option content and keyboard typeahead. Native Select remains available for simple platform-picker integrations.