Icon Button
Buttons containing only an icon, for compact actions.
Basic Icon Buttons
Square buttons with centered icons.
<%= render Rvk::IconButtonComponent.new do %>
<%= render Rvk::IconComponent.new(name: :pencil, variant: :solid) %>
<% end %>
<%= render Rvk::IconButtonComponent.new do %>
<%= render Rvk::IconComponent.new(name: :trash, variant: :solid) %>
<% end %>
Sizes
Icon buttons come in 3 sizes.
<%= render Rvk::IconButtonComponent.new(size: :sm) do %>
<%= render Rvk::IconComponent.new(name: :heart, size: :sm, variant: :solid) %>
<% end %>
<%= render Rvk::IconButtonComponent.new(size: :md) do %>
<%= render Rvk::IconComponent.new(name: :heart, variant: :solid) %>
<% end %>
<%= render Rvk::IconButtonComponent.new(size: :lg) do %>
<%= render Rvk::IconComponent.new(name: :heart, size: :lg, variant: :solid) %>
<% end %>
Toolbar Example
Common pattern for editor toolbars.
<div class="flex items-center gap-1 p-1 bg-surface-100 rounded-lg">
<%= render Rvk::IconButtonComponent.new(size: :sm) do %>
<%= render Rvk::IconComponent.new(name: :link, size: :sm, variant: :solid) %>
<% end %>
<%= render Rvk::IconButtonComponent.new(size: :sm) do %>
<%= render Rvk::IconComponent.new(name: :photo, size: :sm, variant: :solid) %>
<% end %>
</div>
As Link
Pass href to render as an anchor tag.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| size | Symbol | :md | Button size: :sm, :md, :lg |
| href | String | nil | If provided, renders as an <a> tag |
| disabled | Boolean | false | Disable the button |