Button

Button component for user actions and navigation.

Basic Variants

<%= render Ui::Btn::Component.new.with_content "Default" %>
<%= render Ui::Btn::Component.new(variant: :primary).with_content "Primary" %>
<%= render Ui::Btn::Component.new(variant: :secondary).with_content "Secondary" %>
<%= render Ui::Btn::Component.new(variant: :danger).with_content "Danger" %>

Sizes

<%= render Ui::Btn::Component.new(size: :xl).with_content "Button XL" %>
<%= render Ui::Btn::Component.new(size: :lg).with_content "Button LG" %>
<%= render Ui::Btn::Component.new(size: :md).with_content "Button MD" %>
<%= render Ui::Btn::Component.new(size: :sm).with_content "Button SM" %>
<%= render Ui::Btn::Component.new(size: :xs).with_content "Button XS" %>

Outlined Variants

<%= render Ui::Btn::Component.new(outlined: true).with_content "Default Outlined" %>
<%= render Ui::Btn::Component.new(variant: :primary, outlined: true).with_content "Primary Outlined" %>
<%= render Ui::Btn::Component.new(variant: :secondary, outlined: true).with_content "Secondary Outlined" %>
<%= render Ui::Btn::Component.new(variant: :danger, outlined: true).with_content "Danger Outlined" %>

With Icons

<%= render Ui::Btn::Component.new.with_content("Default").with_icon_content("user.svg") %>
<%= render Ui::Btn::Component.new(variant: :primary).with_content("Primary").with_icon_content("user.svg") %>
<%= render Ui::Btn::Component.new(variant: :secondary).with_content("Secondary").with_icon_content("user.svg") %>
<%= render Ui::Btn::Component.new(variant: :danger).with_content("Danger").with_icon_content("user.svg") %>

Special Styles

<%= render Ui::Btn::Component.new(variant: :ghost).with_content "Ghost" %>
<%= render Ui::Btn::Component.new(variant: :primary, rounded: true).with_content "Rounded" %>

<!-- Circle buttons -->
<%= render Ui::Btn::Component.new(circle: true, size: :sm).with_icon_content("user.svg") %>

<!-- Block button -->
<%= render Ui::Btn::Component.new(block: true, variant: :primary).with_content("Block Button") %>

As Links

<%= render Ui::Btn::Component.new(href: root_path, variant: :primary).with_content "Link Button" %>
<%= render Ui::Btn::Component.new(href: root_path, variant: :link).with_content "Link" %>
<%= render Ui::Btn::Component.new(href: root_path, variant: :ghost).with_content "Link Ghost" %>