Sha256: 9e676d7d009f16ef3688063d00b24d55604c5ec60da71a0f0689f924b3463136

Contents?: true

Size: 1.46 KB

Versions: 221

Compression:

Stored size: 1.46 KB

Contents

# frozen_string_literal: true

module Playbook
  module PbFlex
    class FlexItem < Playbook::KitBase
      prop :fixed_size, default: nil
      prop :grow, type: Playbook::Props::Boolean,
                  default: false
      prop :shrink, type: Playbook::Props::Boolean,
                    default: false

      prop :align_self, type: Playbook::Props::Enum,
                        values: %w[start center end stretch] + [nil],
                        default: nil

      prop :display_flex, type: Playbook::Props::Boolean,
                          default: false

      def classname
        generate_classname("pb_flex_item_kit", fixed_size_class, grow_class, shrink_class, display_flex_class) + align_self_class
      end

      def inline_styles
        styles = []
        styles << "flex-basis: #{fixed_size};" if fixed_size.present?
        styles << "height: #{height};" if height.present?
        styles << "min-height: #{min_height};" if min_height.present?
        styles << "max-height: #{max_height};" if max_height.present?
        styles.join(" ")
      end

    private

      def align_self_class
        align_self ? "align_self_#{align_self}" : ""
      end

      def display_flex_class
        display_flex ? "display_flex" : nil
      end

      def fixed_size_class
        fixed_size.present? ? "fixed_size" : nil
      end

      def grow_class
        grow ? "grow" : nil
      end

      def shrink_class
        shrink ? "shrink" : nil
      end
    end
  end
end

Version data entries

221 entries across 221 versions & 1 rubygems

Version Path
playbook_ui-14.12.0.pre.alpha.play1790darkaudittable5802 app/pb_kits/playbook/pb_flex/flex_item.rb
playbook_ui-14.12.0.pre.alpha.play1752updatecontenttag5801 app/pb_kits/playbook/pb_flex/flex_item.rb
playbook_ui-14.13.0.pre.rc.6 app/pb_kits/playbook/pb_flex/flex_item.rb
playbook_ui-14.13.0.pre.rc.5 app/pb_kits/playbook/pb_flex/flex_item.rb
playbook_ui-14.12.0.pre.alpha.PLAY1602lightboxoverlapnitrobug5781 app/pb_kits/playbook/pb_flex/flex_item.rb
playbook_ui-14.13.0.pre.rc.4 app/pb_kits/playbook/pb_flex/flex_item.rb
playbook_ui-14.12.0.pre.alpha.playrailsinputmaskissue5775 app/pb_kits/playbook/pb_flex/flex_item.rb
playbook_ui-14.12.0.pre.alpha.PBNTR456fixedconftoastrailsautoclose5757 app/pb_kits/playbook/pb_flex/flex_item.rb
playbook_ui-14.12.0.pre.alpha.PBNTR456fixedconftoastrailsautoclose5754 app/pb_kits/playbook/pb_flex/flex_item.rb
playbook_ui-14.12.0.pre.alpha.PLAY1602lightboxoverlapnitrobugzindextoken5751 app/pb_kits/playbook/pb_flex/flex_item.rb
playbook_ui-14.12.0.pre.alpha.PBNTR456fixedconftoastrailsautoclose5738 app/pb_kits/playbook/pb_flex/flex_item.rb
playbook_ui-14.13.0.pre.rc.3 app/pb_kits/playbook/pb_flex/flex_item.rb
playbook_ui-14.12.0.pre.alpha.PLAY1865reactdatepickerreinitializingbug5732 app/pb_kits/playbook/pb_flex/flex_item.rb
playbook_ui-14.12.0.pre.alpha.PBNTR456fixedconftoastrailsautoclose5728 app/pb_kits/playbook/pb_flex/flex_item.rb
playbook_ui-14.12.0.pre.alpha.play1862buttondisabledlinkbug5716 app/pb_kits/playbook/pb_flex/flex_item.rb
playbook_ui-14.12.0.pre.alpha.play1862buttondisabledlinkbug5714 app/pb_kits/playbook/pb_flex/flex_item.rb
playbook_ui-14.13.0.pre.rc.2 app/pb_kits/playbook/pb_flex/flex_item.rb
playbook_ui-14.13.0.pre.rc.1 app/pb_kits/playbook/pb_flex/flex_item.rb
playbook_ui-14.13.0.pre.rc.0 app/pb_kits/playbook/pb_flex/flex_item.rb
playbook_ui-14.12.0.pre.alpha.advancedtablealignmentfixes5693 app/pb_kits/playbook/pb_flex/flex_item.rb