module Playbook::Classnames

Public Class Methods

included(base) click to toggle source
# File lib/playbook/classnames.rb, line 5
def self.included(base)
  base.prop :classname
  base.prop :dark, type: Playbook::Props::Boolean, default: false
end

Public Instance Methods

generate_classname(*name_parts, separator: "_") click to toggle source
# File lib/playbook/classnames.rb, line 10
def generate_classname(*name_parts, separator: "_")
  [
    name_parts.compact.join(separator),
    prop(:classname),
    spacing_props,
    dark_props,
    max_width_props,
    z_index_props,
    number_spacing_props,
  ].compact.join(" ")
end
generate_classname_without_spacing(*name_parts, separator: "_") click to toggle source
# File lib/playbook/classnames.rb, line 22
def generate_classname_without_spacing(*name_parts, separator: "_")
  [
    name_parts.compact.join(separator),
    prop(:classname),
  ].compact.join(" ")
end

Private Instance Methods

dark_props() click to toggle source
# File lib/playbook/classnames.rb, line 31
def dark_props
  dark ? "dark" : nil
end