Sha256: d659d49ecd18199793f1dc67c4e1f9fcddd5dbc93c0138bc58b53331f2b4d5b1

Contents?: true

Size: 1.39 KB

Versions: 321

Compression:

Stored size: 1.39 KB

Contents

# frozen_string_literal: true

module Playbook
  module PbSelectableIcon
    class SelectableIcon < Playbook::KitBase
      # Icon props
      prop :icon, type: Playbook::Props::String
      # 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

      prop :input_options, type: Playbook::Props::Hash,
                           default: {}

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

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

      def input_id_present
        input_id.present? ? input_id : name
      end

      def additional_input_options
        input_options.merge(
          id: input_id_present,
          disabled: disabled
        )
      end

    private

      def checked_class
        checked ? "checked" : nil
      end

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

Version data entries

321 entries across 321 versions & 1 rubygems

Version Path
playbook_ui-12.27.0.pre.alpha.expandednotworking853 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-12.27.0 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-12.26.1.pre.alpha.railsmultilevelimprovements842 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-12.26.1.pre.alpha.railsmultilevelimprovements837 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-12.26.1.pre.alpha.PLAY860PhoneNumInputOptions836 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-12.26.1.pre.alpha.railsmultilevelimprovements835 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-12.26.1.pre.alpha.play716popoverkitcloseonclickissue833 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-12.26.1.pre.alpha.PLAY603datepickerquickpickinputpresetdropdown831 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-12.26.1 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-12.26.0.pre.alpha.multiselectfixes825 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-12.26.0.pre.alpha.PLAY603datepickerquickpickinputpresetdropdown822 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-12.26.0.pre.alpha.multiselectfixes821 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-12.26.0.pre.alpha.PLAY603datepickerquickpickinputpresetdropdown818 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-12.26.0.pre.alpha.PLAY603datepickerquickpickinputpresetdropdown817 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-12.26.0.pre.alpha.PLAY603datepickerquickpickinputpresetdropdown815 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-12.26.0.pre.alpha.PLAY603datepickerquickpickinputpresetdropdown813 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-12.26.0.pre.alpha.alphafix812 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-12.26.0.pre.alpha.alphafix810 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-12.26.0.pre.alpha.railsmultilevelimprovements805 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb
playbook_ui-12.26.0.pre.alpha.multiselectfixes798 app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb