Dynamic Island
A black pill that changes shape with what it is showing: compact, expanded with content, or split into two bubbles.
$149 once · every Pro piece
Customize
Width, height and corner radius ride springs; the second bubble buds off the right end through a gooey filter, so the neck stretches and snaps. Content cross-fades through a blur, clipped to the pill as it moves.
Install
npx shadcn@latest add @obsyde/dynamic-islandNeeds your licence key · Get Pro
Usage
Import it from where the CLI puts it, or copy the files below by hand.
import { DynamicIsland } from '@/components/obsyde/ember/dynamic-island/DynamicIsland';
export function Example() {
return (
<DynamicIsland view="timer" />
);
}
Files
What you get with Pro: plain React, TypeScript and CSS, with no dependencies.
ember/dynamic-island/DynamicIsland.tsxcomponentember/dynamic-island/dynamic-island-demo.cssstylesember/dynamic-island/dynamic-island.cssstylesember/dynamic-island/DynamicIslandDemo.tsxdemoember/kit2-kit/check.csssharedember/kit2-kit/Check.tsxsharedember/shared/rolling-number.csssharedember/shared/RollingNumber.tsxsharedember/shared/spring.tssharedember/shared/accent.tssharedember/kit2-kit/kit.tssharedember/shared/ember.cssshared
API
| Prop | Type | Default |
|---|---|---|
accentAccent | 'ember' | 'volt' | 'arc' | 'ember' |
viewView | 'idle' | 'timer' | 'recording' | 'done' | 'timer' |
autoplayCycle views | boolean | false |