Flame Wrap
Wraps any element in a border of fire. The outline burns molten, flames lick off the top edge and run short down the sides, and sparks drift away.
$149 once · every Pro piece
Customize
card
button
always
hover
One WebGL canvas behind the element draws domain-warped noise masked by a rounded-rect distance field; the element stays real DOM with a faint heat shimmer at its edges. Lit, it catches at the bottom edge and climbs; put out, it dies back down on a spring.
Install
npx shadcn@latest add @obsyde/flame-wrapNeeds your licence key · Get Pro
Usage
Import it from where the CLI puts it, or copy the files below by hand.
import { FlameWrap } from '@/components/obsyde/ember/flame-wrap/FlameWrap';
export function Example() {
return (
<FlameWrap />
);
}
Files
What you get with Pro: plain React, TypeScript and CSS, with no dependencies.
ember/flame-wrap/FlameWrap.tsxcomponentember/flame-wrap/flame-wrap-demo.cssstylesember/flame-wrap/flame-wrap.cssstylesember/flame-wrap/FlameWrapDemo.tsxdemoember/fire-kit/shimmer.tsxsharedember/fire-kit/sparks.tssharedember/fire-kit/gl.tssharedember/shared/accent.tssharedember/shared/spring.tssharedember/shared/ember.cssshared
API
| Prop | Type | Default |
|---|---|---|
accentAccent | 'ember' | 'volt' | 'arc' | 'ember' |
contentWrapped element | 'card' | 'button' | 'card' |
intensityIntensity | number | 0.8 |
heightFlame height | number | 56 |
sparksSparks | boolean | true |
activeLit | boolean | true |
triggerTrigger | 'always' | 'hover' | 'always' |
radiusCard radius | number | 14 |