Class: UI::InputGroupTextarea

Inherits:
Phlex::HTML
  • Object
show all
Includes:
InputGroupTextareaBehavior
Defined in:
app/components/ui/input_group_textarea.rb

Overview

Textarea - Phlex implementation

A textarea element styled for use within input groups. Uses both TextareaBehavior and InputGroupTextareaBehavior for styling.

Examples:

Basic textarea

render UI::Textarea.new(
  placeholder: "Enter your message",
  rows: 3
)

With name

render UI::Textarea.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) ⇒ InputGroupTextarea

Returns a new instance of InputGroupTextarea.

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/components/ui/input_group_textarea.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

#view_templateObject



39
40
41
42
# File 'app/components/ui/input_group_textarea.rb', line 39

def view_template
  # Render the base Textarea component with InputGroup classes and attributes
  render UI::Textarea.new(**input_group_textarea_attributes)
end