import React from "react"; function Section({ title, children }: { title: string; children: React.ReactNode }) { return (

{title}

{children}
); } const columns = ["Name", "Destination", "Status", "Price"] as const; interface Row { name: string; destination: string; status: string; price: string; } // Flux badge colours — matches flux.kaptio.com/components/badge/ const BADGE_COLORS: Record = { confirmed: { bg: "#BFE5B8" }, completed: { bg: "#BFE5B8" }, pending: { bg: "#FFD78E" }, "action required": { bg: "#FFD78E" }, "on request": { bg: "#FFD78E" }, "awaiting supplier": { bg: "#C6DAFF" }, cancelled: { bg: "#FFA99B" }, rejected: { bg: "#FFA99B" }, expired: { bg: "#FFA99B" }, }; function StatusBadge({ status }: { status: string }) { const { bg } = BADGE_COLORS[status.toLowerCase()] ?? { bg: "#B4D4DA" }; return ( {status} ); } const rows: Row[] = [ { name: "Northern Lights Tour", destination: "Reykjavik, Iceland", status: "Confirmed", price: "$2,450" }, { name: "Amalfi Coast Escape", destination: "Naples, Italy", status: "Pending", price: "$3,800" }, { name: "Safari Adventure", destination: "Nairobi, Kenya", status: "Confirmed", price: "$5,200" }, { name: "Patagonia Trek", destination: "El Calafate, Argentina", status: "Cancelled", price: "$4,100" }, { name: "Kyoto Heritage Walk", destination: "Kyoto, Japan", status: "Confirmed", price: "$3,150" }, ]; const thClass = "text-xs font-bold uppercase tracking-wider text-[var(--flux-grey-300)] border-b border-[var(--flux-grey-100)] pb-3 text-left"; const tdClass = "py-3 border-b border-[var(--flux-grey-100)] text-[var(--flux-black)] font-light"; export default function TableDemo() { return (
{columns.map((col) => ( ))} {rows.map((row) => ( ))}
{col}
{row.name} {row.destination} {row.price}
{columns.map((col) => ( ))} {rows.map((row, i) => ( ))}
{col}
{row.name} {row.destination} {row.price}
); }