Sha256: 037753a0d676f3e46f7004717bdf863f0d95d029631672b3a24586a451725424

Contents?: true

Size: 592 Bytes

Versions: 2

Compression:

Stored size: 592 Bytes

Contents

# frozen_string_literal: true

class FoxTail::IconBaseComponent < FoxTail::InlineSvgComponent
  attr_reader :name

  has_option :variant, default: :solid

  def initialize(name, html_attributes = {})
    @name = name.to_s.gsub("_", "-")
    super nil, html_attributes
  end

  def path
    icon_fullpath
  end

  private

  def icon_fullpath
    filename = "#{name.to_s.gsub("_", "-")}.svg"
    size = variant.to_sym == :mini ? "20" : "24"
    style = variant.to_sym == :mini ? "solid" : variant.to_s
    FoxTail.root.join("app/assets/vendor/heroicons", size, style, filename).to_s
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fox_tail-0.1.1 app/components/fox_tail/icon_base_component.rb
fox_tail-0.1.0 app/components/fox_tail/icon_base_component.rb