<table id={@id} class={@class}>
  <thead>
    <tr>
      <th :for={header <- @meta.headers}>
        <%= Map.get(header, :label, header.id) %>
        <a :if={Map.get(header, :sort, true)} style="color: #000000" href="#" phx-click="sort" phx-value-header={header.id} phx-target={@myself}>
          <%= sort_arrow(@sort, header.id) %>
        </a>
      </th>
    </tr>
  </thead>

  <tbody>
    <tr :for={row <- @processed_rows}>
      <td :for={header <- @meta.headers}>
        <%= if Map.has_key?(header, :render) do %>
          <%= component(
            header.render,
            [value: row[header.id]],
            {__ENV__.module, __ENV__.function, __ENV__.file, __ENV__.line}) %>
        <% else %>
          <%= row[header.id] %>
        <% end %>
      </td>
    </tr>
  </tbody>
</table>
