Toggle
Toggle switches for binary on/off settings.
Basic Toggle
A simple toggle switch with label.
Enable notifications
<%= render Rvk::ToggleComponent.new(
name: "notifications",
label: "Enable notifications"
) %>
Checked State
Pre-enable a toggle.
Dark mode
<%= render Rvk::ToggleComponent.new(
name: "dark_mode",
label: "Dark mode",
checked: true
) %>
Sizes
Toggles come in 3 sizes.
Small toggle
Medium toggle
Large toggle
<%= render Rvk::ToggleComponent.new(name: "toggle_sm", label: "Small", size: :sm) %>
<%= render Rvk::ToggleComponent.new(name: "toggle_md", label: "Medium", size: :md) %>
<%= render Rvk::ToggleComponent.new(name: "toggle_lg", label: "Large", size: :lg) %>
Settings List
Common pattern for settings pages.
Email notifications
Receive email updates
Push notifications
Receive push notifications
Marketing emails
Receive promotional content
<div class="flex items-center justify-between">
<div>
<p class="font-medium text-surface-900">Email notifications</p>
<p class="text-sm text-surface-500">Receive email updates</p>
</div>
<%= render Rvk::ToggleComponent.new(name: "email_notifications", checked: true) %>
</div>
With Hint
Add helper text for context.
Auto-save
Automatically save changes every 30 seconds.
<%= render Rvk::ToggleComponent.new(
name: "auto_save",
label: "Auto-save",
hint: "Automatically save changes every 30 seconds.",
checked: true
) %>
Disabled State
Disabled toggles are non-interactive.
Disabled off
Disabled on
<%= render Rvk::ToggleComponent.new(name: "disabled1", label: "Disabled off", disabled: true) %>
<%= render Rvk::ToggleComponent.new(name: "disabled2", label: "Disabled on", disabled: true, checked: true) %>
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| name | String | required | Form field name |
| value | String | "1" | Value when toggled on |
| label | String | nil | Label text (displayed inline) |
| size | Symbol | :md | Toggle size: :sm, :md, :lg |
| checked | Boolean | false | Whether toggle is on |
| hint | String | nil | Helper text below toggle |
| error | String | nil | Error message |
| required | Boolean | false | Mark as required |
| disabled | Boolean | false | Disable the toggle |