Sha256: 3facdf401793dad8c26d8ead5497a106c04af2a7f0725daa1e9448126effd52a

Contents?: true

Size: 1.13 KB

Versions: 125

Compression:

Stored size: 1.13 KB

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,
        flex_direction_props,
        flex_wrap_props,
        justify_content_props,
        justify_self_props,
        align_items_props,
        align_content_props,
        align_self_props,
        flex_props,
        flex_grow_props,
        flex_shrink_props,
        order_props,
        position_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

125 entries across 125 versions & 1 rubygems

Version Path
playbook_ui-12.23.0.pre.alpha.play698responsivespacingglobalprop701 lib/playbook/classnames.rb
playbook_ui-12.23.0 lib/playbook/classnames.rb
playbook_ui-12.22.0.pre.alpha.PLAY603datepickerquickpickinputpresetdropdown696 lib/playbook/classnames.rb
playbook_ui-12.22.0.pre.alpha.play698responsivespacingglobalprop690 lib/playbook/classnames.rb
playbook_ui-12.22.0.pre.alpha.PBNTR12checkingemptyfilters686 lib/playbook/classnames.rb
playbook_ui-12.22.0 lib/playbook/classnames.rb
playbook_ui-12.21.0.pre.alpha.PLAY807RTEcustomtoolbar680 lib/playbook/classnames.rb
playbook_ui-12.21.0 lib/playbook/classnames.rb
playbook_ui-12.20.0.pre.alpha.movemarkdown668 lib/playbook/classnames.rb
playbook_ui-12.20.0.pre.alpha.title2667 lib/playbook/classnames.rb
playbook_ui-12.20.0.pre.alpha.title2665 lib/playbook/classnames.rb
playbook_ui-12.20.0 lib/playbook/classnames.rb
playbook_ui-12.19.0.pre.alpha.PLAY699zindexresponsive650 lib/playbook/classnames.rb
playbook_ui-12.19.0.pre.alpha.movemarkdown639 lib/playbook/classnames.rb
playbook_ui-12.19.0.pre.alpha.PLAY603datepickerquickpickinputpresetdropdown638 lib/playbook/classnames.rb
playbook_ui-12.19.0.pre.alpha.movemarkdown637 lib/playbook/classnames.rb
playbook_ui-12.18.0.pre.alpha.PLAY785typeaheadts632 lib/playbook/classnames.rb
playbook_ui-12.19.0 lib/playbook/classnames.rb
playbook_ui-12.18.0.pre.alpha.PLAY603datepickerquickpickinputpresetdropdown629 lib/playbook/classnames.rb
playbook_ui-12.18.0.pre.alpha.PLAY603datepickerquickpickinputpresetdropdown628 lib/playbook/classnames.rb