module Bootstrap4RailsComponents::Bootstrap::Utilities::Themeable

Allows component to utilize the bootstrap4 theme color palette

Public Instance Methods

outlined() click to toggle source
# File lib/bootstrap4_rails_components/bootstrap/utilities/themeable.rb, line 8
def outlined
  options.fetch(:outlined, false)
end
theme() click to toggle source

To disable theme on a case by case basis, pass in { theme: nil } to options. or To disable a default theme for a component set default_theme to nil

# File lib/bootstrap4_rails_components/bootstrap/utilities/themeable.rb, line 15
def theme
  options.fetch(:theme, default_theme)
end

Private Instance Methods

css_classes() click to toggle source
Calls superclass method
# File lib/bootstrap4_rails_components/bootstrap/utilities/themeable.rb, line 21
def css_classes
  [
    super,
    ("#{theme_css_class_prefix}#{outlined_css_class_prefix if outlined && outlineable?}#{theme}" if theme)
  ].join(' ').squish
end
default_theme() click to toggle source
# File lib/bootstrap4_rails_components/bootstrap/utilities/themeable.rb, line 28
def default_theme
  @default_theme ||= Bootstrap4RailsComponents::DEFAULT_BOOTSTRAP_THEME
end
non_html_attribute_options() click to toggle source
Calls superclass method
# File lib/bootstrap4_rails_components/bootstrap/utilities/themeable.rb, line 32
def non_html_attribute_options
  super.push(:theme, :outlined)
end
outlineable?() click to toggle source

Explicitly turn off outlineable on components that should not allow outline

# File lib/bootstrap4_rails_components/bootstrap/utilities/themeable.rb, line 45
def outlineable?
  true
end
outlined_css_class_prefix() click to toggle source
# File lib/bootstrap4_rails_components/bootstrap/utilities/themeable.rb, line 36
def outlined_css_class_prefix
  @outlined_css_class_prefix ||= 'outline-'
end
theme_css_class_prefix() click to toggle source
# File lib/bootstrap4_rails_components/bootstrap/utilities/themeable.rb, line 40
def theme_css_class_prefix
  @theme_css_class_prefix ||= "#{component_css_class}-"
end