
Animated MacBook
A closed MacBook that hinges open and powers on when you hover, in ten finishes.
Tap the Dynamic Island and it swells into a live WebGL Siri orb of folded light.
iPhone Siri is a React and Tailwind CSS iPhone mockup whose Dynamic Island turns into the Siri orb, in Next.js or any React app, rendered in plain WebGL with no dependencies. Tap the island or hold the side button and the pill swells into smoked liquid glass with bands of spectral light, refracting a live composite of the wallpaper, widgets, and icons on the screen. Weather, calendar, event, clock, and frame finish are props, and reduced motion snaps between states. The wallpaper is drawn into the refraction canvas, so serve it with CORS headers for your site.
Run the following command
pnpm dlx wensity@latest add iphone-siri
npx wensity@latest add iphone-siri
yarn dlx wensity@latest add iphone-siri
bunx wensity@latest add iphone-siri
Import IphoneSiri from @/components/wensity/iphone-siri and render it anywhere in your React or Next.js app. The source lands in your own repo, so every prop, class and animation below is yours to edit.
import { IphoneSiri } from "@/components/wensity/iphone-siri";export default function Example() {return (<IphoneSiriframe="cosmic-orange"weather={{ city: "Noida", condition: "Cloudy", temperature: 28, high: 33, low: 27 }}calendar={{ weekday: "TUESDAY", day: "17", month: "Aug" }}/>);}
| Prop | Type | Default | Description |
|---|---|---|---|
wallpaper | string | bronze wallpaper | Wallpaper URL. Drives both the screen and what the orb refracts. |
weather | IphoneSiriWeather | - | City, condition, temperature, and the high and low row. |
calendar | IphoneSiriCalendar | - | Weekday, day, and month shown on the calendar widget. |
event | IphoneSiriEvent | null | - | Single all day calendar entry. Pass null for an empty day. |
statusTime | string | "9:41" | Status bar clock text. |
frame | "cosmic-orange" | "silver" | "deep-blue" | "burgundy" | "cosmic-orange" | Chassis finish. Retints the rail, buttons, polished rim, and antenna lines. |
hint | boolean | true | Show the discovery affordances: a halo on the Dynamic Island and a leader line at the side button. Both retire once Siri is opened. |
wallpaperDim | number | 0.4 | Black laid over the wallpaper, 0 to 1. Matched in the orb's refraction. |
wallpaperBlur | number | 1 | Wallpaper blur in CSS pixels. |
renderScale | number | 1 | Multiplies the WebGL buffer resolution so the orb stays sharp when the phone is scaled up. Capped at 3x. |
className | string | - | Classes merged onto the outer wrapper. |

A closed MacBook that hinges open and powers on when you hover, in ten finishes.

A ceramic and graphite split-flap device that ripples each flap into your message.

A 3D Earth lit day and night from the real sun position, wrapped in a soft atmosphere, with smooth drag-to-orbit controls.

Inline or toggled code diffs rendered inside the same polished code block frame, flipping between before and after.
Featured in React 3D components.