@neynar/ui
Version:
React UI component library built on shadcn/ui and Tailwind CSS
100 lines (80 loc) • 2.56 kB
Markdown
# Checkbox
**Type**: component
A versatile checkbox component for binary and multi-selection interfaces Built on Radix UI Checkbox primitive, this component provides a fully accessible checkbox with support for controlled/uncontrolled states, indeterminate state, and comprehensive form integration. Features consistent styling with the design system and proper keyboard navigation. The component automatically renders a hidden input element when used within a form to ensure proper form submission and native validation support. Supports three states: checked (true), unchecked (false), and indeterminate for partial selections.
## JSX Usage
```jsx
import { Checkbox } from '@neynar/ui';
<Checkbox
className="value"
asChild={true}
checked={value}
defaultChecked={value}
onCheckedChange={handleCheckedChange}
disabled={true}
required={true}
name="value"
value="value"
id="value"
"aria-label"="value"
"aria-labelledby"="value"
"aria-describedby"="value"
"aria-invalid"={value}
/>
```
## Component Props
### className
- **Type**: `string`
- **Required**: No
- **Description**: No description available
### asChild
- **Type**: `boolean`
- **Required**: No
- **Description**: No description available
### checked
- **Type**: `boolean | "indeterminate"`
- **Required**: No
- **Description**: No description available
### defaultChecked
- **Type**: `boolean | "indeterminate"`
- **Required**: No
- **Description**: No description available
### onCheckedChange
- **Type**: `(checked: boolean | "indeterminate") => void`
- **Required**: No
- **Description**: No description available
### disabled
- **Type**: `boolean`
- **Required**: No
- **Description**: No description available
### required
- **Type**: `boolean`
- **Required**: No
- **Description**: No description available
### name
- **Type**: `string`
- **Required**: No
- **Description**: No description available
### value
- **Type**: `string`
- **Required**: No
- **Description**: No description available
### id
- **Type**: `string`
- **Required**: No
- **Description**: No description available
### "aria-label"
- **Type**: `string`
- **Required**: No
- **Description**: No description available
### "aria-labelledby"
- **Type**: `string`
- **Required**: No
- **Description**: No description available
### "aria-describedby"
- **Type**: `string`
- **Required**: No
- **Description**: No description available
### "aria-invalid"
- **Type**: `boolean | "false" | "true" | "grammar" | "spelling"`
- **Required**: No
- **Description**: No description available