Checkbox
Checkboxes allow users to select one or more options from a set.
Basic Checkbox
A simple checkbox with label.
<%= render Rvk::CheckboxComponent.new(
name: "terms",
label: "I agree to the terms and conditions"
) %>
Checked State
Pre-check a checkbox.
<%= render Rvk::CheckboxComponent.new(
name: "newsletter",
label: "Subscribe to newsletter",
checked: true
) %>
Checkbox Group
Group related checkboxes together.
<div class="space-y-3">
<%= render Rvk::CheckboxComponent.new(name: "features[]", value: "dark_mode", label: "Dark Mode", checked: true) %>
<%= render Rvk::CheckboxComponent.new(name: "features[]", value: "notifications", label: "Notifications", checked: true) %>
<%= render Rvk::CheckboxComponent.new(name: "features[]", value: "analytics", label: "Analytics") %>
<%= render Rvk::CheckboxComponent.new(name: "features[]", value: "reports", label: "Weekly Reports") %>
</div>
Sizes
Checkboxes come in 3 sizes.
<%= render Rvk::CheckboxComponent.new(name: "sm", label: "Small", size: :sm) %>
<%= render Rvk::CheckboxComponent.new(name: "md", label: "Medium", size: :md) %>
<%= render Rvk::CheckboxComponent.new(name: "lg", label: "Large", size: :lg) %>
With Hint
Add helper text for context.
Receive updates about new features and promotions.
<%= render Rvk::CheckboxComponent.new(
name: "marketing",
label: "Marketing emails",
hint: "Receive updates about new features and promotions."
) %>
Error State
Display validation errors.
You must accept the privacy policy to continue.
<%= render Rvk::CheckboxComponent.new(
name: "accept",
label: "I accept the privacy policy",
error: "You must accept the privacy policy to continue."
) %>
Disabled State
Disabled checkboxes are non-interactive.
<%= render Rvk::CheckboxComponent.new(name: "disabled1", label: "Disabled unchecked", disabled: true) %>
<%= render Rvk::CheckboxComponent.new(name: "disabled2", label: "Disabled checked", disabled: true, checked: true) %>
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| name | String | required | Form field name |
| value | String | "1" | Value when checked |
| label | String | nil | Label text (displayed inline) |
| size | Symbol | :md | Checkbox size: :sm, :md, :lg |
| checked | Boolean | false | Whether checkbox is checked |
| hint | String | nil | Helper text below checkbox |
| error | String | nil | Error message |
| required | Boolean | false | Mark as required |
| disabled | Boolean | false | Disable the checkbox |