Rows to display, each keyed by the fields named in headers. Null shows a loading shimmer; an empty list shows the no-items message.
final List<Map<String, dynamic>>? items;