Command Palette
Search for a command to run...
Loading component...
Dynamic island
Interactive Dynamic Island with multiple app states and smooth transitions, built while learning from Animations.dev course by Emil Kowalski. This implementation expands on the original concept with 7 additional custom islands beyond the base tutorial. Features multiple states including idle, ring, timer, record, music, airdrop, and more with smooth bounce transitions.
Dependencies
Interaction Type
Try clicking different state buttons | |
Try Playing with each Dynamic Island |
CLI UNAVAILABLE
pro component, try copying the source code from top right corner
How to use
import { DynamicIsland, Options } from "@/components/v1/skiper2"; const DemoSkiper2 = () => { const [view, setView] = useState("idle"); const [variantKey, setVariantKey] = useState("idle"); return ( <div className="relative h-screen w-screen bg-black"> <DynamicIsland view={view} variantKey={variantKey} /> <Options view={view} setView={setView} setVariantKey={setVariantKey} /> </div> ); };
Attribution
- Inspired by Dynamic Island from Apple's Human Interface Guidelines
- Built while learning from Animations.dev course by Emil Kowalski, with 7 additional custom islands added beyond the tutorial
Source code
Click on the top right to view the source code
Keep in mind
Most components here are recreations of the best out there. I don't claim to be the original creator. This is my attempt to reverse-engineer, replicate, and often add a few extra features. I've tried to credit everyone, but if I missed something, let me know.
Contact
Additionlly, if you find any bug or issue, feel free toDrop a dm.
License & Usage:
- Free to use and modify in both personal and commercial projects.
- Attribution to Skiper UI is required when using the free version.
- No attribution required with Skiper UI Pro.