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" %>