Public client-side barrel file for the board UI module, re-exporting all components, hooks, utilities, and TypeScript types related to a Kanban-style ticket board. ## Key Components | Export | Type | Description | |--------|------|-------------| | `Board` | Component | Root board container component | | `BoardColumn` | Component | Individual column within the board | | `BoardColumnHeader` | Component | Header section for a board column | | `TicketCard`, `TicketCardView`, `TicketCardBody` | Components | Ticket card and its sub-views | | `BoardTicketApproval` | Component | Approval state overlay/indicator for tickets | | `TicketCardSkeleton` | Component | Loading skeleton for ticket cards | | `useBoardCollapse` | Hook | Manages column collapse/expand state | | `tintOnDark` | Utility | Color utility for dark-mode tinting | | `columnFromTicketStatus` | Utility | Maps a ticket status to its board column | | `groupTicketsByStatus` | Utility | Groups an array of tickets by status | | `BoardChange`, `BoardColumnDef`, `BoardPriority`, `BoardTicket`, `BoardTicketAssignee`, `BoardTicketPendingApproval` | Types | Core domain types for board data | ## Usage Example ```typescript import { Board, BoardColumn, BoardColumnHeader, TicketCard, useBoardCollapse, groupTicketsByStatus, columnFromTicketStatus, } from '@/components/board' const tickets: BoardTicket[] = fetchTickets() const grouped = groupTicketsByStatus(tickets) const { collapseMap, toggleCollapse } = useBoardCollapse() return ( {columns.map((col) => ( toggleCollapse(col.id)} /> {grouped[col.status]?.map((ticket) => ( ))} ))} ) ``` ## Source [`index.ts` on GitHub](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/index.ts)