About
A dark glass surface panel for a self-contained block of content, with an optional label, display-type title, header actions slot, and a footer separated by a hairline — ported to React from the oyna-ui Vue component library by azabroflovski.
Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Card to your project and fits it to your theme.
Code
How Card is used: the demo's code. The component's own source comes with a free account.
Usage.tsx
import Card from "@/components/ui/oyna-card";
export default function CardHeaderVariantsDemo() {
return (
<div className="flex min-h-[320px] w-full flex-wrap items-start justify-center gap-6 bg-[#0b0b0f] p-10">
<Card
label="Endpoints"
style={{ width: 260 }}
actions={
<button aria-label="More" className="o-icon-btn">
…
</button>
}
>
Only a label and an action.
</Card>
<Card title="Billing" titleAs="h2" style={{ width: 260 }}>
Only a title.
</Card>
<style>{`.o-icon-btn { background: transparent; border: 0; color: rgba(255,255,255,0.75); font-size: 18px; line-height: 1; cursor: pointer; }`}</style>
</div>
);
}













