Table

Examples

Default

A responsive table component with semantic HTML structure.

A list of your recent invoices.
Invoice Status Method Amount
INV001 Paid Credit Card $250.00
INV002 Pending PayPal $150.00
Total $400.00
<%= render "ui/table" do %>
  <%= render "ui/table/caption" do %>A list of your recent invoices.<% end %>
  <%= render "ui/table/header" do %>
    <%= render "ui/table/row" do %>
      <%= render "ui/table/head", classes: "w-[100px]" do %>Invoice<% end %>
      <%= render "ui/table/head" do %>Status<% end %>
      <%= render "ui/table/head" do %>Method<% end %>
      <%= render "ui/table/head", classes: "text-right" do %>Amount<% end %>
    <% end %>
  <% end %>
  <%= render "ui/table/body" do %>
    <%= render "ui/table/row" do %>
      <%= render "ui/table/cell", classes: "font-medium" do %>INV001<% end %>
      <%= render "ui/table/cell" do %>Paid<% end %>
      <%= render "ui/table/cell" do %>Credit Card<% end %>
      <%= render "ui/table/cell", classes: "text-right" do %>$250.00<% end %>
    <% end %>
    <%= render "ui/table/row" do %>
      <%= render "ui/table/cell", classes: "font-medium" do %>INV002<% end %>
      <%= render "ui/table/cell" do %>Pending<% end %>
      <%= render "ui/table/cell" do %>PayPal<% end %>
      <%= render "ui/table/cell", classes: "text-right" do %>$150.00<% end %>
    <% end %>
  <% end %>
  <%= render "ui/table/footer" do %>
    <%= render "ui/table/row" do %>
      <%= render "ui/table/cell", attributes: { colspan: 3 } do %>Total<% end %>
      <%= render "ui/table/cell", classes: "text-right" do %>$400.00<% end %>
    <% end %>
  <% end %>
<% end %>

Simple

A simple table without footer.

Name Email Role
John Doe john@example.com Admin
Jane Smith jane@example.com Editor
Bob Wilson bob@example.com Viewer
<%= render "ui/table" do %>
  <%= render "ui/table/header" do %>
    <%= render "ui/table/row" do %>
      <%= render "ui/table/head" do %>Name<% end %>
      <%= render "ui/table/head" do %>Email<% end %>
      <%= render "ui/table/head" do %>Role<% end %>
    <% end %>
  <% end %>
  <%= render "ui/table/body" do %>
    <%= render "ui/table/row" do %>
      <%= render "ui/table/cell" do %>John Doe<% end %>
      <%= render "ui/table/cell" do %>john@example.com<% end %>
      <%= render "ui/table/cell" do %>Admin<% end %>
    <% end %>
    <%= render "ui/table/row" do %>
      <%= render "ui/table/cell" do %>Jane Smith<% end %>
      <%= render "ui/table/cell" do %>jane@example.com<% end %>
      <%= render "ui/table/cell" do %>Editor<% end %>
    <% end %>
    <%= render "ui/table/row" do %>
      <%= render "ui/table/cell" do %>Bob Wilson<% end %>
      <%= render "ui/table/cell" do %>bob@example.com<% end %>
      <%= render "ui/table/cell" do %>Viewer<% end %>
    <% end %>
  <% end %>
<% end %>

With Badges

Table with status badges in cells.

Task Status Priority
Design homepage Done Low
Fix navigation bug In Progress High
Write documentation Todo Medium
<%= render "ui/table" do %>
  <%= render "ui/table/header" do %>
    <%= render "ui/table/row" do %>
      <%= render "ui/table/head" do %>Task<% end %>
      <%= render "ui/table/head" do %>Status<% end %>
      <%= render "ui/table/head" do %>Priority<% end %>
    <% end %>
  <% end %>
  <%= render "ui/table/body" do %>
    <%= render "ui/table/row" do %>
      <%= render "ui/table/cell" do %>Design homepage<% end %>
      <%= render "ui/table/cell" do %><%= render "ui/badge", variant: :success do %>Done<% end %><% end %>
      <%= render "ui/table/cell" do %><%= render "ui/badge", variant: :secondary do %>Low<% end %><% end %>
    <% end %>
    <%= render "ui/table/row" do %>
      <%= render "ui/table/cell" do %>Fix navigation bug<% end %>
      <%= render "ui/table/cell" do %><%= render "ui/badge", variant: :warning do %>In Progress<% end %><% end %>

Features

  • Custom styling with Tailwind classes

API Reference

Table

Footer

Header