Skip to content

Patterns · Exact data

Data behind a surface

Every research surface is a reading of a dataset. The dataset itself stays reachable — as a bounded panel, from the surface's own chrome, without pushing the page down.

One control, a panel that fits the viewport

Desktop opens a right-hand panel; a narrow viewport opens a bottom sheet. Focus is trapped, Escape closes it, and the trigger gets focus back. The chart never unmounts.

Where it belongs

Under a surface whose primary job is a visual, and only when exact rows are genuinely useful.

Use it

  • A plotted series whose exact values a reader may need to check.
  • A step/regime history where the runs matter as much as the shape.
  • Any surface whose table is inspection, not the reading itself.

Do not use it

  • When the table is the visualisation — keep it on the page.
  • When the chart already prints the only column there is.
  • As a place to hide a second data path: the rows are the same ones the chart drew.

Import it from @luc/ui/data; it composes the same Sheet the mobile navigation uses, so there is no second overlay language.

Luc UI v1.0Data detailsdark theme