Sha256: cfaf2a24ed14c817a1def8cbbf203d6fadabba10851698d097835232503e9b49

Contents?: true

Size: 1.52 KB

Versions: 4

Compression:

Stored size: 1.52 KB

Contents

# frozen_string_literal: true

module Playbook
  module PbLayout
    class Layout
      include Playbook::Props

      partial "pb_layout/layout"

      prop :collapse, type: Playbook::Props::Enum,
                      values: %w[xs sm md lg xl],
                      default: "xs"
      prop :full, type: Playbook::Props::Boolean, default: false
      prop :position, type: Playbook::Props::Enum,
                      values: %w[left right],
                      default: "left"
      prop :size, type: Playbook::Props::Enum,
                  values: %w[xs sm md lg xl],
                  default: "md"
      prop :transparent, type: Playbook::Props::Boolean, default: false
      prop :variant, type: Playbook::Props::Enum,
                  values: %w[light dark gradient],
                  default: "light"
      prop :layout, type: Playbook::Props::Enum,
            values: %w[sidebar collection],
            default: "sidebar"

      def classname
        case layout
	        when "collection"
	          generate_classname("pb_layout_kit", layout)
	        else
	          first_class = generate_classname("pb_layout_kit_sidebar","size_#{size}", position, variant, transparent_class)
	          [first_class, full_class, collapse_class].reject(&:empty?).join(" ")
        end
      end

    private

      def full_class
        full ? "full" : ""
      end

      def transparent_class
        transparent ? "transparent" : nil
      end

      def collapse_class
        "layout_#{position}_collapse_#{collapse}"
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
playbook_ui-4.18.1.pre.alpha1 app/pb_kits/playbook/pb_layout/layout.rb
playbook_ui-4.18.1 app/pb_kits/playbook/pb_layout/layout.rb
playbook_ui-4.18.0 app/pb_kits/playbook/pb_layout/layout.rb
playbook_ui-4.17.0 app/pb_kits/playbook/pb_layout/layout.rb