Sun and aspect
The warehouse runs along the river and the courtyard wing sits behind it, so every home faces one of three ways. Here is what that means for light.
Sun on the bedrooms first thing and a shaded living room by the afternoon. The courtyard wing homes look over the birches.
Light across the river all day, through the tall arched windows of the warehouse. The widest living rooms in the scheme.
Evening sun on the terraces and the river walk below. The corner homes get both the south and the west.
Aspect is given per home on the floor plans; the sales team can show the light in each at different times of the year.
A sun and aspect section for a development: a small line-drawn sun path (a hairline horizon, a fine arc over a soft daylight fill and three suns sitting on the arc at morning, midday and evening with labelled times) that draws itself once in view, above three hairline-topped columns for east-, south- and west-facing homes, each with a title, a line on the light they get and the home types that face that way as outline tags; a note closes the block.
A sun and aspect section for a development: a small line-drawn sun path (a hairline horizon, a fine arc over a soft daylight fill and three suns sitting on the arc at morning, midday and evening with labelled times) that draws itself once in view, above three hairline-topped columns for east-, south- and west-facing homes. Each column has a title, a line on the light it gets and the home types that face that way as outline tags; a note closes the block.
Upgrade to Pro
Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.
Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.
Radix flavor
npx shadcn add "https://beste.dev/r/realestate72?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://beste.dev/r-base/realestate72?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/realestate72.tsx plus the Badge24 eyebrow component it imports; no shadcn/ui primitives are needed.
The installed file exports realestate72Demo alongside the block: the exact props behind the preview above. Spread it to get a working section in one line.
import { Realestate72, realestate72Demo } from "@/components/beste/block/realestate72";
export default function Page() {
return <Realestate72 {...realestate72Demo} />;
}Then replace the demo with your own props. Written out, a trimmed setup looks like this:
import { Realestate72 } from "@/components/beste/block/realestate72";
export default function Page() {
return (
<Realestate72
eyebrow="Sun and aspect"
heading="Which homes get the morning, which get the evening"
description="Every home faces one of three ways. Here is what that means for light."
markers={[
{ label: "Morning", time: "7:00" },
{ label: "Midday", time: "13:00" },
{ label: "Evening", time: "18:30" },
]}
aspects={[
{ title: "East-facing", description: "Sun on the bedrooms first thing.", types: ["Type A", "Type B"] },
{ title: "South-facing", description: "Light across the river all day.", types: ["Type C", "Type E"] },
{ title: "West-facing", description: "Evening sun on the terraces.", types: ["Type D", "Type E"] },
]}
labels={{ drawing: "The sun's path through the day" }}
note="Aspect is given per home on the floor plans."
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
eyebrow | string | – | Short line above the heading, drawn with a rule in front of it. |
heading | string | – | Section heading. |
description | string | – | Intro paragraph beside the heading on desktop. |
markers | Marker[] | [] | Labels and times for the three suns on the arc, morning to evening; only the first three are placed. |
aspects | Aspect[] | [] | The columns under the drawing, east to west. |
labels | { drawing?: string } | {} | Accessible name of the drawing. |
note | string | – | Small print under the columns. |
className | string | – | Extra classes merged onto the section. |
type Marker = {
label: string;
time: string;
};
type Aspect = {
title: string;
description: string;
types: string[];
};pathLength from 0 to 1, then the daylight fill fades in and the suns scale in from 0.6 to 1, 0.15 seconds apart. The middle sun is filled and slightly larger; the others are hollow.markers map to them in order.role="img" named by labels.drawing; the marker labels and times are ordinary text, readable in order.prefers-reduced-motion the drawing renders complete on mount and no text, hairline or tag animates.