PRO

Sunlit

Pure CSS dappled light through window blinds and a billowing leaf canopy: progressive blur for depth, a warm floor bounce glow, a derived matrix3d light plane, and a clickable day/night switch that walks through hand-picked sunrise and sunset colors instead of a hard cut. No dependencies.

Component
BLANK

Sunlit studio

Soft morning light across the room

Click the scene to run sunrise or sunset. Shutters tighten at night and the leaf plane tips with the new light angle.

Install
npx shadcn@latest add https://ui.aryank.space/r/sunlit.json

Installs from ui.aryank.space. To add it by hand, copy the files in Usage below, or register the @compronents namespace via the docs.

Files

API
PropTypeDefaultDescription
darkbooleanundefinedControlled night mode. When set, the component no longer owns dark state.
defaultDarkbooleanfalseInitial night mode when uncontrolled.
onDarkChange(dark: boolean) => voidundefinedFires after day/night flips.
toggleOnClickbooleantrueClick the scene (outside interactive children) to toggle day/night.
leavesSrcstring"…/sunlit/leaves.png"Leaf canopy texture URL.
dayColorstring"#fffdfa"Daytime backdrop color.
nightColorstring"#0f131c"Nighttime backdrop color.
bounceLightDaystring"#f5d7a6"Warm floor bounce at day.
bounceLightNightstring"#1b293f"Cool floor bounce at night.
shadowColorstringauto per modeShutter and bar color. Defaults track day/night shadows.
shutterCountnumber23How many horizontal shutters to stack.
childrenReact.ReactNodeundefinedContent above the light plane. Links and buttons keep pointer events; the rest of the scene stays clickable for the day/night toggle.
classNamestringundefinedExtra classes on the root.
Customize
dark / defaultDarktext

Night mode. Pass dark for controlled mode, or defaultDark for an uncontrolled start.

dayColor / nightColorcolor

Backdrop colors at day and night.

bounceLightDay / bounceLightNightcolor

Floor bounce glow at each time of day.

leavesSrcasset-url

Leaf canopy texture, hosted through https://ui.aryank.space/assets/sunlit/leaves.png.

shutterCounttext

How many horizontal shutters to stack.

Dependencies
None.