A LITTLE ROOM TO PLAYYour words.
Your words.
Your kind of click.
Pick an interaction, find your colors, and make the details yours. The code follows along.
Make it yours
Live preview
READY TO TRY01 / 07
Hover, focus, or press to try it.
Native keyboard and touch controls. Reduced motion built in. Connect the click handler to your own action.
TAKE IT WITH YOU
Installation Your button, ready to build.
Install Arrow Capsule, then copy this example into your app.
Example.tsx
'use client';
import { useState, type CSSProperties } from 'react';
import { ArrowCapsuleButton } from '@/components/anticraft/ArrowCapsuleButton';
const buttonStyle = {
"fontSize": 15,
"minHeight": 60,
"borderRadius": 24,
"minWidth": 0,
"maxWidth": "100%",
"overflowWrap": "anywhere",
"--ac-arrow-bg": "#e2ead8",
"--ac-arrow-color": "#243026",
"--ac-arrow-circle-bg": "#243026",
"--ac-arrow-circle-color": "#fffdf6",
"--ac-arrow-hover-bg": "#e2ead8",
"--ac-arrow-active-bg": "#e2ead8",
"--ac-arrow-focus": "#243026",
"--ac-arrow-press-ring": "#243026"
} as CSSProperties;
export function Example() {
const [count, setCount] = useState(0);
return (
<div>
<ArrowCapsuleButton
type="button"
style={buttonStyle}
disabled={false}
onClick={() => setCount(value => value + 1)}
>
{"Make something good"}
</ArrowCapsuleButton>
<p role="status">
{count ? `Demo action activated ${count} times.` : 'Try the button.'}
</p>
</div>
);
}