Sha256: c8dab3a6b50d512e2e299d89405597b1bb53dcfc0ad2098f2cc1d7682f0568e2

Contents?: true

Size: 1.14 KB

Versions: 2

Compression:

Stored size: 1.14 KB

Contents

module Components::ButtonHelper
  def render_button(label = "", data: "", text: "", variant: :default, as: :button, href: nil, **options)
    button_classes = " inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 h-10 px-4 py-2 "
    varianet_classes = case variant.to_sym
    when :default
      " bg-primary text-primary-foreground hover:bg-primary/90 "
    when :secondary
      " bg-secondary text-secondary-foreground hover:bg-secondary/80 "
    when :error, :danger, :alert, :destructive
      " bg-destructive text-destructive-foreground hover:bg-destructive/90 "
    when :outline
      "  border border-input bg-background hover:bg-accent hover:text-accent-foreground"
    when :ghost
      " hover:bg-accent hover:text-accent-foreground  "
    end
    button_classes << " #{varianet_classes} #{options[:class]}"
    text = label if label.present?
    render "components/ui/button", text:, button_classes:, as:, href:, data:, **options
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
shadcn-ui-0.0.2 app/helpers/components/button_helper.rb
shadcn-ui-0.0.1 app/helpers/components/button_helper.rb