"use client" /** * FolderGridView — generic icon-grid layout for any list-page hub. * * Handles the responsive CSS grid shell, empty state, and accessibility list role. * Pass a `renderTile` render-prop for domain-specific tile content * (Placements, Team, Rotations, etc.). * * Usage: * ```tsx * r.id} * renderTile={row => } * ariaLabel="Placements folder view" * /> * ``` */ import * as React from "react" import { cn } from "../../lib/utils" import { ListPageViewFrame, LIST_PAGE_VIEW_FRAME_MAX_ICON_GRID, } from "../ui/list-page-view-frame" export interface FolderGridViewProps { rows: T[] getRowId: (row: T) => string | number /** Render one tile — receives the row, returns a React node (typically a `