Sha256: 52dfd84c171070051372cc2f9ea7233bf39d2258c7b2fdb46bd0adb6f074959f

Contents?: true

Size: 998 Bytes

Versions: 3

Compression:

Stored size: 998 Bytes

Contents

# frozen_string_literal: true

module Playbook
  module PbTextarea
    class Textarea
      include Playbook::Props

      partial "pb_textarea/textarea"

      prop :error
      prop :object
      prop :label
      prop :method
      prop :name
      prop :placeholder
      prop :resize, type: Playbook::Props::Enum,
                    values: %w[none both horizontal vertical auto],
                    default: "none"
      prop :rows, type: Playbook::Props::Number,
                  default: 4
      prop :value
      prop :character_count
      prop :onkeyup
      prop :max_characters

      def classname
        generate_classname("pb_textarea_kit") + error_class + resize_class
      end

      def character_counter
        max_characters && character_count ? "#{character_count} / #{max_characters}" : character_count
      end

    private

      def error_class
        error ? " error" : ""
      end

      def resize_class
        " resize_#{resize}"
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
playbook_ui-7.16.0 app/pb_kits/playbook/pb_textarea/textarea.rb
playbook_ui-7.15.1 app/pb_kits/playbook/pb_textarea/textarea.rb
playbook_ui-7.15.0 app/pb_kits/playbook/pb_textarea/textarea.rb