Sha256: ba718865826181cbac5fff9d873d2023e793b354c69e5ebe513f44a870611e50

Contents?: true

Size: 1.37 KB

Versions: 47

Compression:

Stored size: 1.37 KB

Contents

# frozen_string_literal: true

module Playbook
  module PbSelectableIcon
    class SelectableIcon
      include Playbook::Props

      partial "pb_selectable_icon/selectable_icon"

      # Icon props
      prop :icon, type: Playbook::Props::String
      prop :dark, type: Playbook::Props::Boolean,
                  default: false
      # Title text
      prop :text, type: Playbook::Props::String

      # Form Props
      prop :input_id, type: Playbook::Props::String
      prop :name, type: Playbook::Props::String
      prop :multi, type: Playbook::Props::Boolean,
                   default: true
      prop :checked, type: Playbook::Props::Boolean,
                     default: false
      prop :disabled, type: Playbook::Props::Boolean,
                      default: false
      prop :value

      # Conditional rendering for input field
      prop :inputs, type: Playbook::Props::String,
                    default: "enabled"

      def classname
        generate_classname("pb_selectable_icon_kit", checked_class, dark_class, enabled_disabled_class)
      end

      def input_id_present
        input_id.present? ? input_id : name
      end

    private

      def checked_class
        checked ? "checked" : nil
      end

      def dark_class
        dark ? "dark" : nil
      end

      def enabled_disabled_class
        disabled ? "disabled" : "enabled"
      end
    end
  end
end

Version data entries

47 entries across 47 versions & 1 rubygems

Version Path
playbook_ui-5.2.0.pre.alpha9 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-5.2.0.pre.alpha8 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-5.2.0.pre.alpha7 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-5.3.0.pre.alpha1 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-5.4.0 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-5.2.0.pre.alpha6 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-5.2.0.pre.alpha5 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-5.3.0 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-5.2.0.pre.alpha4 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-5.2.0.pre.alpha3 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-5.2.0.pre.alpha2 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-5.2.0 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-5.1.0 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-5.0.3 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-5.0.2 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-5.0.1.pre.beta app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-5.1.0.pre.alpha4 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-5.1.0.pre.alpha2 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-5.1.0.pre.alpha1 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-5.0.1 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb