Module: Practical::Views::Button::Styling

Extended by:
ActiveSupport::Concern
Included in:
Practical::Views::ButtonComponent, Practical::Views::ButtonToComponent, ToastComponent
Defined in:
app/lib/practical/views/button/styling.rb

Instance Method Summary collapse

Instance Method Details

#attributes_from_style_utilitiesObject



24
25
26
27
28
29
30
# File 'app/lib/practical/views/button/styling.rb', line 24

def attributes_from_style_utilities
  return {
    appearance: self.appearance&.to_web_awesome,
    variant: self.color_variant&.to_web_awesome,
    size: self.size&.to_web_awesome,
  }.compact
end

#css_classes_from_style_utilitiesObject



20
21
22
# File 'app/lib/practical/views/button/styling.rb', line 20

def css_classes_from_style_utilities
  helpers.class_names([appearance&.to_css, color_variant&.to_css, size&.to_css].compact)
end

#initialize_style_utilities(appearance: nil, color_variant: nil, size: nil) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'app/lib/practical/views/button/styling.rb', line 6

def initialize_style_utilities(appearance: nil, color_variant: nil, size: nil)
  if appearance.present?
    self.appearance = Practical::Views::WebAwesome::StyleUtility::AppearanceVariant.new(variants: appearance)
  end

  if color_variant.present?
    self.color_variant = Practical::Views::WebAwesome::StyleUtility::ColorVariant.new(variant: color_variant)
  end

  if size.present?
    self.size = Practical::Views::WebAwesome::StyleUtility::Size.new(size: size)
  end
end