distributeItems<T> static method

List<List<T>> distributeItems<T>(
  1. List<T> items,
  2. int columnsPerRow
)

Distribute items into rows for grid layout with type safety

Implementation

static List<List<T>> distributeItems<T>(List<T> items, int columnsPerRow) {
  if (items.isEmpty || columnsPerRow <= 0) return [];

  final rowCount = calculateRowCount(items.length, columnsPerRow);
  return List.generate(rowCount, (rowIndex) {
    final start = rowIndex * columnsPerRow;
    final end = math.min(start + columnsPerRow, items.length);
    return items.sublist(start, end);
  });
}