Class: UI::InputGroupTextareaComponent

Inherits:
ViewComponent::Base
  • Object
show all
Includes:
InputGroupTextareaBehavior
Defined in:
app/view_components/ui/input_group_textarea_component.rb

Overview

InputGroupTextareaComponent - ViewComponent implementation

A textarea element styled for use within input groups. Uses InputGroupTextareaBehavior concern for shared styling logic.

Examples:

Basic textarea

<%= render UI::InputGroupTextareaComponent.new(
  placeholder: "Enter your message",
  rows: 3
) %>

With name

<%= render UI::InputGroupTextareaComponent.new(
  placeholder: "Description",
  name: "description"
) %>

Instance Method Summary collapse

Methods included from InputGroupTextareaBehavior

#input_group_textarea_attributes, #input_group_textarea_classes, #input_group_textarea_html_attributes

Constructor Details

#initialize(placeholder: nil, value: nil, name: nil, id: nil, rows: nil, classes: "", **attributes) ⇒ InputGroupTextareaComponent

Returns a new instance of InputGroupTextareaComponent.

Parameters:

  • placeholder (String) (defaults to: nil) —

    Placeholder text

  • value (String) (defaults to: nil) —

    Textarea value

  • name (String) (defaults to: nil) —

    Textarea name attribute

  • id (String) (defaults to: nil) —

    Textarea id attribute

  • rows (Integer) (defaults to: nil) —

    Number of visible text lines

  • classes (String) (defaults to: "") —

    Additional CSS classes to merge

  • attributes (Hash) —

    Additional HTML attributes



29
30
31
32
33
34
35
36
37
# File 'app/view_components/ui/input_group_textarea_component.rb', line 29

def initialize(placeholder: nil, value: nil, name: nil, id: nil, rows: nil, classes: "", **attributes)
  @placeholder = placeholder
  @value = value
  @name = name
  @id = id
  @rows = rows
  @classes = classes
  @attributes = attributes
end

Instance Method Details

#call ⇒ Object



39
40
41
# File 'app/view_components/ui/input_group_textarea_component.rb', line 39

def call
  render partial: "ui/textarea", locals: input_group_textarea_attributes
end