Sha256: 52dcbb34188a408dfd8afd5d1d7547ad4c09f192ab3042e5a7b7883e151fe168
Contents?: true
Size: 1.48 KB
Versions: 6
Compression:
Stored size: 1.48 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, width_props, min_width_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, hover_props, border_radius_props, text_align_props, overflow_props, truncate_props, left_props, top_props, right_props, bottom_props, vertical_align_props, height_props, min_height_props, max_height_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
6 entries across 6 versions & 1 rubygems