import { useState } from "react"; import { ArrowRight, Download, Plus, Sparkles, Trash2 } from "lucide-react"; import Button, { TWUIButtonColors, TWUIButtonSizes, TWUIButtonVariants, } from "@moduletrace/twui/layout/Button"; import Divider from "@moduletrace/twui/layout/Divider"; import H1 from "@moduletrace/twui/layout/H1"; import P from "@moduletrace/twui/layout/P"; import Row from "@moduletrace/twui/layout/Row"; import Span from "@moduletrace/twui/layout/Span"; import Stack from "@moduletrace/twui/layout/Stack"; import DemoSection from "../(components)/DemoSection"; export default function ButtonsPage() { const [saving, setSaving] = useState(false); function save() { setSaving(true); window.setTimeout(() => setSaving(false), 1500); } return (

Buttons

Every color is paired with the three variants. Classes are merged with twMerge, so a consumer{" "} className always wins.

{TWUIButtonVariants.map((variant) => ( {TWUIButtonColors.map((color) => ( ))} ))} {TWUIButtonSizes.map((size) => ( ))} Sizes map to the lucide icon scale too:
); }