import { useState, type ReactNode } from "react"; import * as UI from "../src/index.js"; export function PreviewCase({ name }: { name: string }) { const [value, setValue] = useState("first"), [checked, setChecked] = useState(false), [open, setOpen] = useState(false), [page, setPage] = useState(1); const controls = ( ); const action = { label: "Explore", href: "#example" }; const items = [ { title: "Shared foundation", description: "One theme across every interface.", }, { title: "Accessible controls", description: "Clear labels and keyboard operation.", }, ]; let example: ReactNode; switch (name) { case "ThemeProvider": case "AppearanceControl": example = ( <> Primary action {controls} ); break; case "Button": example = ( <> Save changes Cancel Delete Saving ); break; case "ActionLink": example = ; break; case "Badge": example = ( <> {(["neutral", "success", "warning", "danger"] as const).map( (tone) => ( {tone} ), )} ); break; case "Input": example = ( <> {controls} ); break; case "Select": example = ( <> setValue(e.target.value)} options={[ { value: "first", label: "Production" }, { value: "second", label: "Preview" }, ]} /> ); break; case "TextArea": example = ( ); break; case "Checkbox": example = ( setChecked(e.target.checked)} /> ); break; case "Switch": example = ( setChecked(e.target.checked)} /> ); break; case "RadioGroup": example = ( ); break; case "Tabs": example = ( Overview content

, }, { id: "second", label: "Activity", content:

Activity content

, }, ]} /> ); break; case "Modal": example = ( <> setOpen(true)}>Open dialog setOpen(false)} title="Create project" > {controls} setOpen(false)}>Create project ); break; case "Dropdown": example = ( setChecked(true) }, { label: "Delete", danger: true, onSelect: () => setChecked(false), }, ]} /> ); break; case "Notice": example = ( Your project can use the latest release. ); break; case "EmptyState": example = ( Create project} /> ); break; case "AppShell": example = (
{controls}
); break; case "PageHeading": example = ( New project} /> ); break; case "MetricGroup": example = ( ); break; case "DataTable": example = ( row.name} columns={[ { key: "name", label: "Name", render: (row) => row.name }, { key: "status", label: "Status", render: (row) => {row.status}, }, ]} rows={[{ id: "example", name: "Northwind", status: "Active" }]} /> ); break; case "Pagination": example = ; break; case "SettingsSection": example = ( {controls} Save changes ); break; case "ActivityFeed": example = ( ); break; case "MarketingHeader": example = ( ); break; case "Hero": example = ( ); break; case "FeatureGrid": example = ; break; case "FeatureSection": example = ( {controls} ); break; case "Testimonial": example = ( ); break; case "LogoCloud": example = ( ); break; case "Pricing": example = ( ); break; case "FAQ": example = ( ); break; case "CallToAction": example = ( ); break; case "Footer": example = ( ); break; case "SegmentedControl": example = ( ); break; case "CodeBlock": example = ( ); break; case "PreviewFrame": example = ; break; default: example = ( This component is not registered. ); } return (
{example}
); }