Components
Renders its children as button content and works with both href and onClick. Supports solid, outline, ghost and faded variants, neutral/primary/critical/positive colors, four sizes with fullWidth, loading and disabled states, start/end icons, icon-only mode, rounded shape, raised elevation and a Button.Group compound component.
npx @21st-dev/cli add reshaped/reshaped-buttonLoading preview...
import { DropdownMenu, Reshaped, View } from "reshaped/bundle";
import Button from "@/components/ui/reshaped-button";
const ChevronDownIcon = () => (
<svg
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
strokeWidth="2"
strokeLinecap="round"
strokeLinejoin="round"
>
<polyline points="6 9 12 15 18 9" />
</svg>
);
export default function Demo() {
return (
<Reshaped theme="slate">
<div style={{ margin: "0 auto", padding: 24, display: "flex", justifyContent: "center" }}>
<View gap={4} align="start">
<Button.Group>
<Button variant="outline">File</Button>
<Button variant="outline">Edit</Button>
<Button variant="outline">View</Button>
</Button.Group>
<Button.Group>
<Button>Save changes</Button>
<DropdownMenu>
<DropdownMenu.Trigger>
{(attributes) => {
return <Button icon={ChevronDownIcon} attributes={attributes} />;
}}
</DropdownMenu.Trigger>
<DropdownMenu.Content>
<DropdownMenu.Item>Copy link</DropdownMenu.Item>
<DropdownMenu.Item>Update permissions</DropdownMenu.Item>
<DropdownMenu.Item>Save to folder</DropdownMenu.Item>
</DropdownMenu.Content>
</DropdownMenu>
</Button.Group>
</View>
</div>
</Reshaped>
);
}
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...