Default

1
<%= render FieldSetComponent.new do |f| %>
2
  <% f.with_label(text: "Label", for: "field") %>
3
  <% f.with_field do %>
4
    <%= render TextFieldComponent.new(name: "field", id: "field") %>
5
  <% end %>
6
<% end %>

Multiple fields

1
<%= render FieldSetComponent.new do |f| %>
2
  <% f.with_label(text: "Name", for: "field") %>
3
  <% f.with_field do %>
4
    <%= render TextFieldComponent.new(name: "first", placeholder: "First name") %>
5
  <% end %>
6
  <% f.with_field do %>
7
    <%= render TextFieldComponent.new(name: "last", placeholder: "Last name") %>
8
  <% end %>
9
<% end %>

Row

1
<%= render FieldSetComponent.new(stack: "row") do |f| %>
2
  <% f.with_label(text: "Label", for: "field") %>
3
  <% f.with_field do %>
4
    <%= render TextFieldComponent.new(name: "field", id: "field") %>
5
  <% end %>
6
<% end %>

Row with helptext

This is some helptext that can span upto 2 lines.

1
<%= render FieldSetComponent.new(stack: "row") do |f| %>
2
  <% f.with_label(text: "Label", for: "field") %>
3
  <% f.with_field do %>
4
    <%= render TextFieldComponent.new(name: "field", id: "field") %>
5
  <% end %>
6
  <% f.with_helptext { "This is some helptext that can span upto 2 lines." } %>
7
<% end %>

With helptext

This is some helptext that can span upto 2 lines.

1
<%= render FieldSetComponent.new do |f| %>
2
  <% f.with_label(text: "Label", for: "field") %>
3
  <% f.with_field do %>
4
    <%= render TextFieldComponent.new(name: "field", id: "field") %>
5
  <% end %>
6
  <% f.with_helptext { "This is some helptext that can span upto 2 lines." } %>
7
<% end %>

With info

1
<%= render FieldSetComponent.new do |f| %>
2
  <% f.with_label(text: "Label", info: true, for: "field") %>
3
  <% f.with_field do %>
4
    <%= render TextFieldComponent.new(name: "field", id: "field") %>
5
  <% end %>
6
<% end %>