Sha256: 76badba5a54b6a99d5cbb2952561ce32f5861c25cbeb97fd2cd996f39a7cebdd

Contents?: true

Size: 1.57 KB

Versions: 80

Compression:

Stored size: 1.57 KB

Contents

# frozen_string_literal: true

module Playbook
  module PbTitle
    class Title < Playbook::KitBase
      prop :color, type: Playbook::Props::Enum,
                   values: [nil, "default", "light", "lighter", "success", "error", "link"],
                   default: nil
      prop :size, default: 3
      prop :tag, type: Playbook::Props::Enum,
                 values: %w[h1 h2 h3 h4 h5 h6 p div span],
                 default: "h3"
      prop :text
      prop :variant, type: Playbook::Props::Enum,
                     values: [nil, "link"],
                     default: nil,
                     deprecated: true
      prop :bold, type: Playbook::Props::Boolean, default: true
      prop :truncate, type: Playbook::Props::Enum,
                      values: [nil, "1", "2", "3", "4", "5"],
                      default: nil

      def classname
        if is_size_responsive
          generate_classname("pb_title_kit", variant, color, is_bold, is_truncated) + generate_responsive_size_classname
        else
          generate_classname("pb_title_kit", size, variant, color, is_bold, is_truncated)
        end
      end

      def is_bold
        bold ? nil : "thin"
      end

      def is_truncated
        truncate ? "truncate-#{truncate}" : nil
      end

      def is_size_responsive
        try(:size).is_a?(::Hash)
      end

      def generate_responsive_size_classname
        css = ""
        if is_size_responsive
          size.each do |key, value|
            css += " pb_title_kit_#{key}_#{value}"
          end
        end

        css unless css.blank?
      end
    end
  end
end

Version data entries

80 entries across 80 versions & 1 rubygems

Version Path
playbook_ui-13.9.0.pre.alpha.play845allkitsbytypes1264 app/pb_kits/playbook/pb_title/title.rb
playbook_ui-13.9.0.pre.alpha.play845allkitsbytypes1263 app/pb_kits/playbook/pb_title/title.rb
playbook_ui-13.9.0.pre.alpha.play845allkitsbytypes1262 app/pb_kits/playbook/pb_title/title.rb
playbook_ui-13.9.0.pre.alpha.PLAY962SingleSelect1261 app/pb_kits/playbook/pb_title/title.rb
playbook_ui-13.9.0.pre.alpha.play845allkitsbytypes1260 app/pb_kits/playbook/pb_title/title.rb
playbook_ui-13.9.0 app/pb_kits/playbook/pb_title/title.rb
playbook_ui-13.8.0.pre.alpha.play845allkitsbytypes1258 app/pb_kits/playbook/pb_title/title.rb
playbook_ui-13.8.0.pre.alpha.play845allkitsbytypes1257 app/pb_kits/playbook/pb_title/title.rb
playbook_ui-13.8.0.pre.alpha.PLAY962SingleSelect1256 app/pb_kits/playbook/pb_title/title.rb
playbook_ui-13.8.0.pre.alpha.play845allkitsbytypes1255 app/pb_kits/playbook/pb_title/title.rb
playbook_ui-13.8.0.pre.alpha.play845allkitsbytypes1254 app/pb_kits/playbook/pb_title/title.rb
playbook_ui-13.8.0.pre.alpha.PLAY962SingleSelect1246 app/pb_kits/playbook/pb_title/title.rb
playbook_ui-13.8.0.pre.alpha.PLAY1016reactionbuttonemojibug1245 app/pb_kits/playbook/pb_title/title.rb
playbook_ui-13.8.0 app/pb_kits/playbook/pb_title/title.rb
playbook_ui-13.7.0.pre.alpha.play845allkitsbytypes1234 app/pb_kits/playbook/pb_title/title.rb
playbook_ui-13.7.0.pre.alpha.play845allkitsbytypes1232 app/pb_kits/playbook/pb_title/title.rb
playbook_ui-13.7.0.pre.alpha.play845allkitsbytypes1231 app/pb_kits/playbook/pb_title/title.rb
playbook_ui-13.7.0.pre.alpha.play978makehighchartsadevdependencypoc1223 app/pb_kits/playbook/pb_title/title.rb
playbook_ui-13.6.0.pre.alpha.play845allkitsbytypes1219 app/pb_kits/playbook/pb_title/title.rb
playbook_ui-13.7.0 app/pb_kits/playbook/pb_title/title.rb