lantern

Data table

The admin table: Flop-driven sort/pagination, built-in debounced search and filter selects, tabs with filter presets, a collapsible stat overview, bulk selection, and a cards view — with the entire table state living in the URL. Everything below is live against an in-memory dataset.

Revenue (all)
$12031.57
Orders
10
Pending
19
Refunded
19
#4841 refunded
Alan Dijkstra
Direct · $357.97
#4842 pending
Grace Perlman
eBay · $178.68
#4843 shipped
Edsger Turing
Shopify · $242.25
#4844 refunded
Barbara Liskov
Direct · $357.03
#4845 pending
Donald Thompson
eBay · $362.35
#4846 shipped
Radia Hopper
Shopify · $316.33
#4847 refunded
Ken Knuth
Direct · $6.37
#4848 pending
Ada Lovelace
eBay · $331.97
#4849 shipped
Alan Dijkstra
Shopify · $319.62
#4850 refunded
Grace Perlman
Direct · $71.79
<.data_table id="orders" rows={@orders} meta={@meta} path={~p"/orders"}
  selected_ids={@selected} search_field={:q}>
  <:stat label="Revenue (30d)" value={@revenue} />
  <:tab label="Pending" count={@counts.pending}
        filters={[%{field: "status", value: "pending"}]} />
  <:filter field={:channel} options={@channels} />
  <:col :let={o} label="Order" field={:reference} sortable>{o.reference}</:col>
  <:bulk_action label="Archive" icon="inbox" event="bulk-archive" />
  <:row_action :let={o}>…</:row_action>
  <:card :let={o}>…</:card>
</.data_table>