<%= tag.public_send(@tag, class: "mb-6 last:mb-0", data: {
      :'field-name' => @field_name
    }) do %>
  <% if @positioning == :vertical %>
  <label class="block">
    <p class="font-bold <%= @descripton.present? ? "mb-1" : "mb-2" %>">
      <%= @title %>
    </p>
    <% if @descripton.present? %>
    <p class="text-gray-500">
      <%= @descripton %>
    </p>
    <% end %>

    <%= tag.p class: "flex gap-x-1", data: {
                controller: @resettable ? "settings--resettable-field" : nil,
              } do %>
      <%= content %>
      <% if @resettable %>
        <button type="button"
                class="relative grow-0 shrink-0 btn-md btn-outline text-red-700"
                title="Reset to default value"
                data-settings--resettable-field-target="resetButton"
                data-action="settings--resettable-field#resetField">
          Reset
        </button>
      <% end %>
    <% end %>
  </label>
  <% elsif @positioning == :horizontal %>
  <label class="block flex items-center justify-between">
    <div class="flex flex-col">
      <label class="font-bold mb-1"><%= @title %></label>
      <% if @descripton.present? %>
      <p class="text-gray-500"><%= @descripton %></p>
      <% end %>
    </div>
    <div class="relative ml-4 inline-flex flex-shrink-0">
      <%= content %>
    </div>
  </label>
  <% else %>
  <p>Invalid <code>positioning<code> argument for <code>FieldsetComponent</code>.</p>
  <% end %>
<% end %>
