Sha256: d05c597b2616c45759fee5b08c17bda8e01079b7af161d10c6d8da6ad5adc714

Contents?: true

Size: 844 Bytes

Versions: 11

Compression:

Stored size: 844 Bytes

Contents

# frozen_string_literal: true

module Playbook
  module Classnames
    def self.included(base)
      base.prop :classname
      base.prop :dark, type: Playbook::Props::Boolean, default: false
    end

    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,
        shadow_props,
        line_height_props,
        display_props,
        cursor_props,
      ].compact.join(" ")
    end

    def generate_classname_without_spacing(*name_parts, separator: "_")
      [
        name_parts.compact.join(separator),
        prop(:classname),
      ].compact.join(" ")
    end

  private

    def dark_props
      dark ? "dark" : nil
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
playbook_ui-10.23.0.pre.cachetest lib/playbook/classnames.rb
playbook_ui-10.21.0.pre.alpha.lightbox.2 lib/playbook/classnames.rb
playbook_ui-10.21.0 lib/playbook/classnames.rb
playbook_ui-10.21.0.pre.alpha.lightbox lib/playbook/classnames.rb
playbook_ui-10.21.0.pre.alpha.jg1 lib/playbook/classnames.rb
playbook_ui-10.21.0.pre.alpha.na1 lib/playbook/classnames.rb
playbook_ui-10.21.0.pre.alpha.jd1 lib/playbook/classnames.rb
playbook_ui-10.20.0 lib/playbook/classnames.rb
playbook_ui-10.19.0 lib/playbook/classnames.rb
playbook_ui-10.19.0.pre.lightbox lib/playbook/classnames.rb
playbook_ui-10.19.0.pre.popover.alpha1 lib/playbook/classnames.rb