Class: BetterUi::General::Input::Text::Component
- Inherits:
-
ViewComponent::Base
- Object
- ViewComponent::Base
- BetterUi::General::Input::Text::Component
- Defined in:
- app/components/better_ui/general/input/text/component.rb
Constant Summary collapse
- TEXT_INPUT_THEME =
Temi supportati per il Text Input
{ default: 'border-gray-300 focus:border-blue-500 focus:ring-blue-500', white: 'border-white focus:border-gray-300 focus:ring-gray-300 bg-white', red: 'border-red-300 focus:border-red-500 focus:ring-red-500', rose: 'border-rose-300 focus:border-rose-500 focus:ring-rose-500', orange: 'border-orange-300 focus:border-orange-500 focus:ring-orange-500', green: 'border-green-300 focus:border-green-500 focus:ring-green-500', blue: 'border-blue-300 focus:border-blue-500 focus:ring-blue-500', yellow: 'border-yellow-300 focus:border-yellow-500 focus:ring-yellow-500', violet: 'border-violet-300 focus:border-violet-500 focus:ring-violet-500' }.freeze
- TEXT_INPUT_SIZES =
Dimensioni supportate per il Text Input
{ small: 'h-8 px-2 py-1 text-xs', medium: 'h-10 px-3 py-2 text-sm', large: 'h-12 px-4 py-3 text-base' }.freeze
- TEXT_INPUT_RADIUS =
Border radius supportati per il Text Input
{ none: 'rounded-none', small: 'rounded-sm', medium: 'rounded-md', large: 'rounded-lg', full: 'rounded-full' }.freeze
- TEXT_INPUT_TYPES =
Tipi supportati per il Text Input
[ :text, :password, :email, :tel, :url, :number, :search, :date, :time, :datetime_local, :month, :week, :color ].freeze
- TEXT_INPUT_BASE_CLASSES =
Classi base per il Text Input
'block w-full border shadow-sm disabled:bg-gray-100 disabled:cursor-not-allowed focus:outline-none focus:ring-1'
Instance Attribute Summary collapse
-
#classes ⇒ Object
readonly
Returns the value of attribute classes.
-
#disabled ⇒ Object
readonly
Returns the value of attribute disabled.
-
#form ⇒ Object
readonly
Returns the value of attribute form.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
-
#placeholder ⇒ Object
readonly
Returns the value of attribute placeholder.
-
#required ⇒ Object
readonly
Returns the value of attribute required.
-
#rounded ⇒ Object
readonly
Returns the value of attribute rounded.
-
#size ⇒ Object
readonly
Returns the value of attribute size.
-
#theme ⇒ Object
readonly
Returns the value of attribute theme.
-
#type ⇒ Object
readonly
Returns the value of attribute type.
-
#value ⇒ Object
readonly
Returns the value of attribute value.
Instance Method Summary collapse
-
#form_input_attributes ⇒ Object
Attributi per l’elemento input con form builder.
-
#initialize(name:, value: nil, placeholder: nil, required: false, disabled: false, type: :text, theme: :default, size: :medium, rounded: :medium, classes: '', form: nil, **options) ⇒ Component
constructor
A new instance of Component.
-
#input_attributes ⇒ Object
Attributi per l’elemento input standalone.
Constructor Details
#initialize(name:, value: nil, placeholder: nil, required: false, disabled: false, type: :text, theme: :default, size: :medium, rounded: :medium, classes: '', form: nil, **options) ⇒ Component
Returns a new instance of Component.
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'app/components/better_ui/general/input/text/component.rb', line 61 def initialize(name:, value: nil, placeholder: nil, required: false, disabled: false, type: :text, theme: :default, size: :medium, rounded: :medium, classes: '', form: nil, **) @name = name @value = value @placeholder = placeholder @required = required @disabled = disabled @type = type @theme = theme @size = size @rounded = rounded @classes = classes @form = form @options = validate_params super() end |
Instance Attribute Details
#classes ⇒ Object (readonly)
Returns the value of attribute classes.
8 9 10 |
# File 'app/components/better_ui/general/input/text/component.rb', line 8 def classes @classes end |
#disabled ⇒ Object (readonly)
Returns the value of attribute disabled.
8 9 10 |
# File 'app/components/better_ui/general/input/text/component.rb', line 8 def disabled @disabled end |
#form ⇒ Object (readonly)
Returns the value of attribute form.
8 9 10 |
# File 'app/components/better_ui/general/input/text/component.rb', line 8 def form @form end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
8 9 10 |
# File 'app/components/better_ui/general/input/text/component.rb', line 8 def name @name end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
8 9 10 |
# File 'app/components/better_ui/general/input/text/component.rb', line 8 def @options end |
#placeholder ⇒ Object (readonly)
Returns the value of attribute placeholder.
8 9 10 |
# File 'app/components/better_ui/general/input/text/component.rb', line 8 def placeholder @placeholder end |
#required ⇒ Object (readonly)
Returns the value of attribute required.
8 9 10 |
# File 'app/components/better_ui/general/input/text/component.rb', line 8 def required @required end |
#rounded ⇒ Object (readonly)
Returns the value of attribute rounded.
8 9 10 |
# File 'app/components/better_ui/general/input/text/component.rb', line 8 def rounded @rounded end |
#size ⇒ Object (readonly)
Returns the value of attribute size.
8 9 10 |
# File 'app/components/better_ui/general/input/text/component.rb', line 8 def size @size end |
#theme ⇒ Object (readonly)
Returns the value of attribute theme.
8 9 10 |
# File 'app/components/better_ui/general/input/text/component.rb', line 8 def theme @theme end |
#type ⇒ Object (readonly)
Returns the value of attribute type.
8 9 10 |
# File 'app/components/better_ui/general/input/text/component.rb', line 8 def type @type end |
#value ⇒ Object (readonly)
Returns the value of attribute value.
8 9 10 |
# File 'app/components/better_ui/general/input/text/component.rb', line 8 def value @value end |
Instance Method Details
#form_input_attributes ⇒ Object
Attributi per l’elemento input con form builder
95 96 97 98 99 100 101 102 |
# File 'app/components/better_ui/general/input/text/component.rb', line 95 def form_input_attributes { class: build_classes, placeholder: @placeholder, required: @required, disabled: @disabled }.merge(@options) end |
#input_attributes ⇒ Object
Attributi per l’elemento input standalone
81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'app/components/better_ui/general/input/text/component.rb', line 81 def input_attributes { type: @type, name: @name, id: @name, value: @value, placeholder: @placeholder, required: @required, disabled: @disabled, class: build_classes }.merge(@options) end |