About
A themeable button with six visual variants (primary, secondary, subtle, ghost, destructive, link), size/pill/block options, a built-in loading spinner, plus matching IconButton and segmented ButtonGroup variants.
Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Mors Button to your project and fits it to your theme.
Code
How Mors Button is used: the demo's code. The component's own source comes with a free account.
Usage.tsx
import { Button } from "@/components/ui/button";
import { useState } from "react";
export default function ButtonLoadingDemo() {
const [loading, setLoading] = useState(false);
const runLoading = () => {
setLoading(true);
setTimeout(() => setLoading(false), 1400);
};
return (
<div
className="flex flex-wrap items-center gap-3 p-10"
style={{
background: "var(--mors-color-canvas)",
color: "var(--mors-color-text)",
}}
>
<Button loading={loading} onClick={runLoading}>
Save changes
</Button>
<Button variant="secondary" loading>
Always loading
</Button>
</div>
);
}
















