Sha256: 809f245f6b2bc335552abe660674ecf48a43e68ebab8484f1d9201dc6cfda1ec

Contents?: true

Size: 1.33 KB

Versions: 384

Compression:

Stored size: 1.33 KB

Contents

# frozen_string_literal: true

module Playbook
  module PbCheckbox
    class Checkbox < Playbook::KitBase
      prop :error, type: Playbook::Props::Boolean, default: false
      prop :checked, type: Playbook::Props::Boolean, default: false
      prop :indeterminate, type: Playbook::Props::Boolean, default: false
      prop :text
      prop :value
      prop :name
      prop :disabled, type: Playbook::Props::Boolean, default: false

      prop :input_options, type: Playbook::Props::HashProp,
                           default: {}
      prop :required, type: Playbook::Props::Boolean,
                      default: false
      prop :form_spacing, type: Playbook::Props::Boolean,
                          default: false

      def checked_html
        checked ? "checked='true'" : nil
      end

      def classname
        generate_classname("pb_checkbox_kit", checked_class) + indeterminate_class + error_class
      end

      def input
        check_box_tag(name, value, checked, input_options.merge(disabled: disabled))
      end

      def checkbox_label_status
        error ? "negative" : nil
      end

    private

      def error_class
        error ? " error" : ""
      end

      def checked_class
        checked ? "on" : "off"
      end

      def indeterminate_class
        indeterminate ? " indeterminate" : ""
      end
    end
  end
end

Version data entries

384 entries across 384 versions & 1 rubygems

Version Path
playbook_ui-13.26.0.pre.alpha.jasoncypretpatch12820 app/pb_kits/playbook/pb_checkbox/checkbox.rb
playbook_ui-13.26.0.pre.alpha.jasoncypretpatch12816 app/pb_kits/playbook/pb_checkbox/checkbox.rb
playbook_ui-13.25.0.pre.alpha.PBNTR291Dropdownrailsv22812 app/pb_kits/playbook/pb_checkbox/checkbox.rb
playbook_ui-13.26.0 app/pb_kits/playbook/pb_checkbox/checkbox.rb