import { useUniqueId } from "@charcuterie/logic" import type { ReactNode } from "react" import { Badge } from "../Badge/Badge.tsx" import { Button } from "../Button/Button.tsx" import { EmptyState } from "../EmptyState/EmptyState.tsx" import { TextLink } from "../TextLink/TextLink.tsx" import { toClassName } from "../toClassName.ts" import type { BoardItem } from "./BoardCard.tsx" import { BoardCard } from "./BoardCard.tsx" export type BoardLane = { /** * Lane-level controls, beside the count — Docket's *"Accept all"* * on the review lane. `Button`s, usually. */ actions?: ReactNode /** * Shown instead of the rows when the lane is empty. Defaults to a * real `EmptyState`, because *"Real empty states"* was a stated * requirement and an empty lane is the one a person sees most. */ emptyState?: ReactNode /** * Where the lane's own heading navigates — a route showing this * lane and nothing else. * * **A link inside the heading, never a heading replaced by a * link.** The `