Sha256: 887326d2bda91939ea22c46b1b7d936fc92e6e451125a85f206f42c20a132867

Contents?: true

Size: 1.38 KB

Versions: 348

Compression:

Stored size: 1.38 KB

Contents

# frozen_string_literal: true

module Playbook
  module PbDropdown
    class Dropdown < Playbook::KitBase
      prop :options, type: Playbook::Props::Array,
                     default: []
      prop :label, type: Playbook::Props::String
      prop :name, type: Playbook::Props::String
      prop :error, type: Playbook::Props::String
      prop :required, type: Playbook::Props::Boolean,
                      default: false
      prop :default_value
      prop :blank_selection, type: Playbook::Props::String,
                             default: ""
      prop :variant, type: Playbook::Props::Enum,
                     values: %w[default subtle],
                     default: "default"
      prop :separators, type: Playbook::Props::Boolean,
                        default: true

      def data
        Hash(prop(:data)).merge(pb_dropdown: true)
      end

      def classname
        generate_classname("pb_dropdown", variant, separators_class)
      end

    private

      def error_class
        error.present? ? " error" : ""
      end

      def input_default_value
        default_value.present? ? default_value.transform_keys(&:to_s)["id"] : ""
      end

      def separators_class
        separators ? nil : "separators_hidden"
      end

      def options_with_blank
        blank_selection.present? ? [{ id: "", value: "", label: blank_selection }] + options : options
      end
    end
  end
end

Version data entries

348 entries across 348 versions & 1 rubygems

Version Path
playbook_ui-14.15.0.pre.alpha.play1907passglobalpropstotooltiprails6706 app/pb_kits/playbook/pb_dropdown/dropdown.rb
playbook_ui-14.16.0.pre.rc.3 app/pb_kits/playbook/pb_dropdown/dropdown.rb
playbook_ui-14.15.0.pre.alpha.PBNTR617addgriddisplayglobalprop6700 app/pb_kits/playbook/pb_dropdown/dropdown.rb
playbook_ui-14.15.0.pre.alpha.play1910emptystatekitreactbeta6685 app/pb_kits/playbook/pb_dropdown/dropdown.rb
playbook_ui-14.15.0.pre.alpha.play1757pbcontenttag6677 app/pb_kits/playbook/pb_dropdown/dropdown.rb
playbook_ui-14.15.0.pre.alpha.PLAY1756pbcontenttagpt76661 app/pb_kits/playbook/pb_dropdown/dropdown.rb
playbook_ui-14.15.0.pre.alpha.play1757pbcontenttag6658 app/pb_kits/playbook/pb_dropdown/dropdown.rb
playbook_ui-14.15.0.pre.alpha.play1757pbcontenttag6644 app/pb_kits/playbook/pb_dropdown/dropdown.rb
playbook_ui-14.15.0.pre.alpha.PLAY1871speedupvitebuildwatch6643 app/pb_kits/playbook/pb_dropdown/dropdown.rb
playbook_ui-14.16.0.pre.rc.2 app/pb_kits/playbook/pb_dropdown/dropdown.rb
playbook_ui-14.15.0.pre.alpha.PBNTR900phonenumberinputhidden6620 app/pb_kits/playbook/pb_dropdown/dropdown.rb
playbook_ui-14.15.0.pre.alpha.play1917lodashremoval2of36615 app/pb_kits/playbook/pb_dropdown/dropdown.rb
playbook_ui-14.15.0.pre.alpha.play1917lodashremoval2of36613 app/pb_kits/playbook/pb_dropdown/dropdown.rb
playbook_ui-14.16.0.pre.rc.1 app/pb_kits/playbook/pb_dropdown/dropdown.rb
playbook_ui-14.15.0.pre.alpha.PBNTR900phonenumberinputhidden6593 app/pb_kits/playbook/pb_dropdown/dropdown.rb
playbook_ui-14.15.0.pre.alpha.PBNTR902multilevelselecthiddeninputbug6580 app/pb_kits/playbook/pb_dropdown/dropdown.rb
playbook_ui-14.15.0.pre.alpha.play1910emptystatekitreactbeta6579 app/pb_kits/playbook/pb_dropdown/dropdown.rb
playbook_ui-14.15.0.pre.alpha.play1854reacthookmultilvlselect6572 app/pb_kits/playbook/pb_dropdown/dropdown.rb
playbook_ui-14.16.0.pre.rc.0 app/pb_kits/playbook/pb_dropdown/dropdown.rb
playbook_ui-14.14.0.pre.alpha.PBNTR907reactfilterpopoverpropswidthbug6557 app/pb_kits/playbook/pb_dropdown/dropdown.rb