Feature Row
An alternating image/copy row. Copy — an icon chip, eyebrow, title, body and optional checklist — sits on one side; a media panel (or a default gradient placeholder) on the other. Flip imageSide to alternate rows down a page.
bunx shadcn@latest add @nx-ui/feature-rowAlternating rows
Stack rows inside a Section and alternate imageSide so the eye zig-zags down the page. Both use the default gradient placeholder for the media column.
Traceability
Every movement, on the record
From intake to dispatch, each load writes an immutable entry — so the chain of custody is never a reconstruction after the fact.
- Weighbridge tickets captured automatically
- Certificates attached to the batch
- Full audit trail, exportable on demand
Compliance
Audit-ready by default
Reporting formats your regulator already accepts, generated from the same records your team works in every day.
- Duty-of-care documentation
- Waste-transfer notes in one click
- Role-based access and sign-off
Without bullets or icon
Drop the checklist and icon for a lighter row — just eyebrow, title, body and the media panel.
Reporting
The numbers, without the spreadsheet
Live dashboards replace the Friday-afternoon export. Filter by site, material or period and share a link.
API reference
Exported parts and their props, extracted from the component source.
| Prop | Type | Default | Description |
|---|---|---|---|
eyebrow | string | — | — |
title* | React.ReactNode | — | — |
body* | React.ReactNode | — | — |
bullets | string[] | — | — |
icon | React.FC<{ className?: string }> | — | — |
imageSide | "left" | "right" | "right" | Which side the media panel sits on. Alternate down the page. |
panel | React.ReactNode | — | The media column — a mockup, image or illustration. |
className | string | — | — |