Avara UI

Hero

Every hero section in the library, on one page. Each is its own registry item with its own preview, install command and props — pick the one that suits the site and install only that. They run from the most opinionated layouts to the general-purpose HeroBlock and its five variants at the foot.

Honeycomb Hero

A travel hero on a dark ground that shifts colour: a light line over a huge white word on the left, and on the right a honeycomb of hexagonal photographs with a primary hexagonal call to action set among them. The large hexagon is the slide on screen — its photograph is also the background behind everything, tinted with that photograph's own tone, so the colour of the whole section changes with the slide — and the smaller ones are the queue. Every four seconds, or on the arrows at the foot, every hexagon moves one step along the honeycomb: the next photograph grows into the feature spot while the feature slides to the back of the queue. The loop never ends, in either direction.
The honeycomb is measured from the design and laid out in percentages of a fixed-aspect stage anchored to the right edge, so the composition holds at any size and whatever falls past the edge is clipped, as intended. The letters of the word that cross the photographs turn your theme's primary, as do the rule, the arrows and the call-to-action hexagon, whose compass and label take primary-foreground. They read the theme wherever the section sits, so switching themes repaints them.

Wander the fjords

Copy on the left, the honeycomb on the right with the primary hexagon set among the photographs. Wait four seconds or use the arrows at the foot: every hexagon moves one step along the ring, and the whole section eases to the new photograph's colour. Pick a colour above to repaint the accent.

images
are the photographs in queue order; the first is featured at the start. Nine cells are visible — fewer photographs are repeated around the ring, more simply wait their turn. Give each a deep tone and the background tint, the fade towards the copy and the gaps between hexagons all ease to it while that photograph is featured.
interval4000
is the gap between steps in milliseconds. It pauses while the tab is hidden and while the section is off screen; 0 turns autoplay off and leaves the arrows.
primaryActionLabel
fills the call-to-action hexagon; a \n in the string breaks the line, as in Plan / your trip. A compass sits above it; on hover it turns and the hairline hexagon inside the cell swells, and on keyboard focus the hairline goes solid.
accent
sets --primary for the section: the letters of the word that cross the photographs, the rule, the arrows and the call to action, with its label in primary-foreground. Leave it out to follow your theme's primary. background is the tone for photographs without one: a deep shade of the primary by default.

Installation

New project? Follow the installation guide to set up Tailwind CSS, shadcn, the cn helper and lucide-react, register the @algorize-ui registry once, then copy your styles from the Themes page.

Install Honeycomb Hero

npx shadcn@latest add @algorize-ui/honeycomb-hero

components/custom/blocks/HoneycombHeroBlock.tsx is written into your project. Copy any snippet from a Usage tab above and it runs.

Install dependencies

Nothing beyond the shared setup — Honeycomb Hero needs only the cn helper and lucide-react, which the installation guide already put in place.

Features

A honeycomb that turns

The nine cells sit on a real hexagonal lattice, and the queue snakes around it so every step is a hop between neighbours. Each cell glides to its next place with a short stagger — the one heading for the feature spot leads, the one leaving it follows last.

The feature is the background

Whatever photograph is in the large hexagon also fills the section behind everything, tinted with its own tone and darkened towards the copy. Photograph and colour crossfade together as the honeycomb turns — deep green behind the gorge, indigo behind the cabins, night blue behind the snow.

Measured, not guessed

Every hexagon's position comes from the design in percentages of a fixed-aspect stage, so the composition is the same at 1024 and 1920 — including the cells cut by the right edge and the foot. Below the desktop breakpoint the honeycomb stacks under the copy.

Operable

Arrows at the foot and the keyboard's arrow keys step the queue either way; a live region names the featured photograph; under prefers-reduced-motion the cells swap places without travelling.

Props Reference

PropTypeDefaultDescription
title, titleAccentstring"Wander the", "Fjords"The light line and the huge accent word.
titleOverlapColorstringtheme primaryThe letters of the accent word that cross the photographs.
subtitlestring—The paragraph under the headline.
primaryActionLabel, primaryActionHrefstring"Plan\nyour trip", "#"The call-to-action hexagon, in primary with a compass above the label; \n breaks the line.
images{ src: string; alt: string; tone?: string }[]nine Lofoten photographs, each with a toneThe queue, first featured. tone is the colour behind everything while that photograph is featured; keep it deep, the copy is white.
socialLinks{ label: string; href: string }[]four networks, all #The links along the foot; [] hides them.
intervalnumber4000Milliseconds between steps; 0 turns autoplay off.
onChange(index: number) => void—Called with the index of the photograph that just became the feature.
accentstringtheme primarySets --primary for the section: the word, the rule, the arrows and the call to action.
backgroundstringa deep shade of the primaryThe tone for photographs without their own.
linkComponentElementType"a"What renders every link; pass next/link in Next.js.
A full-bleed photo hero for a place worth travelling to: an eyebrow pill, a large light headline, a glass panel with the faces of the people who came before you and a call to action, and — the thing that moves — a queue of cards. The front card is the slide on screen; the ones behind it are what comes next. Every five seconds, or when a card is clicked, the queue slides forward, the photograph behind everything crossfades, and the headline and caption follow it.
HeroCarousel composes the library: the faces are an AvatarStack. The colours come from the photographs; the theme's --primary (pin it with accent) is used for the eyebrow pip, the arrow on the call to action, the progress line and the focus rings.

Watch the dawn from the summit

Eyebrow and headline across the top; the glass panel and the queue of cards along the foot. The queue moves every five seconds — click any card to bring it forward, use the arrow keys, or swipe on a phone. Hovering the rail holds the clock.

slides
are shown in order: the front card is the current slide, the rest queue up behind it. Each carries its image (full-bleed and in its card), a title and description for the caption, an optional heading that replaces the section headline while it is in front, and a position for the crop.
interval5000
is the gap between slides in milliseconds. It pauses while the pointer or keyboard focus is on the rail, while the tab is hidden and while the section is off screen; 0 turns autoplay off and hides the progress line.
avatars
and avatarsLabel fill the top of the glass panel; intro is the paragraph and cta the pill. Pass next/link as linkComponent to keep client-side navigation.
reveal"in-view"
(the default) plays the entrance the first time the section is seen; the docs pass "immediate". Under prefers-reduced-motion the entrance is skipped and slides swap without the crossfade or drift.

Installation

npx shadcn@latest add @algorize-ui/hero-carousel

components/custom/blocks/HeroCarouselBlock.tsx is written into your project. Copy any snippet from a Usage tab above and it runs.

Step 1 installs these for you. Run them yourself only if you are adding Hero Carousel to an existing project by hand. The cn helper and lucide-react are not listed — the installation guide covers them once for every component. @radix-ui/react-avatar and motion come in with the components above rather than from Hero Carousel directly.

animated-typography and avatar-stack are components, not packages — the shadcn CLI installs them as source files.

npx shadcn@latest add @algorize-ui/animated-typography @algorize-ui/avatar-stack

@radix-ui/react-avatar and motion are npm packages.

npm install @radix-ui/react-avatar motion

Height

The section takes the height its content needs — about 44rem on a desktop — and never uses viewport units of its own, so it behaves inside any container. For a screen-tall hero, size it from outside:

Features

A queue, not a slider

Cards glide between their places in the queue; the one sent to the back appears where it belongs instead of flying across the others. The background crossfades, settles and then drifts slowly until the next slide.

The clock is the progress line

One CSS animation fills the line under the front card and moves the queue when it completes. Pausing the line pauses the clock, so a hover never throws away the time already spent.

Every device

The rail measures itself and picks card sizes from its own width, not the viewport. Desktop puts the panel beside the rail; tablets stack them; phones give the front card most of the row and keep the rest of the queue peeking in.

Operable and readable

Every card is a button with a visible focus ring; arrow keys walk the queue, a swipe moves it on touch, and a live region announces the slide. Reduced motion swaps slides without the crossfade or drift.

Props Reference

PropTypeDefaultDescription
slides{ image: string; alt: string; title: string; description?: string; heading?: ReactNode; position?: string }[]—The slides, in queue order.
eyebrowstring—The pill above the headline.
headingReactNode—The headline, used whenever the front slide has none of its own.
introstring—The paragraph in the glass panel.
avatars, avatarsLabel{ src: string; alt?: string }[], string—The faces at the top of the panel and the words beside them.
cta{ label: string; href: string }—The pill at the foot of the panel.
intervalnumber5000Milliseconds between slides; 0 turns autoplay off.
defaultIndexnumber0The slide in front at first.
onChange(index: number) => void—Called with the index of the slide that just came to the front.
accentstringtheme primarySets --primary for the section.
reveal"in-view" | "immediate""in-view"When the entrance plays.
linkComponentElementType"a"What renders the CTA; pass next/link in Next.js.

Fashion Hero

A fashion hero: a bold two-line headline between a turning video badge and a stack of faces, five staggered columns of looks — each a person on a flat colour that tilts and zooms under the pointer — a call to action sitting on the middle look, and a footer with a customer's words on one side and the next story on the other.
FashionHero is built from library pieces: the badge is Circular Text, the faces are Avatar Stack, the headline is Text Animation (blur-in-up, word by word), every look is a Tilted Card, and the badge opens a Dialog. When it first scrolls into view the badge and faces settle in, the looks rise from the middle column outward, the button lands on its look and the footer follows — one reveal, then only the badge keeps turning and the pointer does the rest.

Daring designs

Five columns stepping down to the middle at desktop, three on tablets, two on phones with the middle look full width. Hover a look to tilt it; reload the preview to watch the reveal again.

looks
are up to seven { src, alt, tone }, laid out left to right: a tall and a small, a tall, the tall that carries the button, a tall, a tall and a small. tone is the flat colour behind the person.
blend
multiplies the photo onto its tone (on by default), so a plain white studio background takes the colour. Turn it off for a shot that already has a coloured background.
video
is the phrase on the turning badge and the embed it opens in a Dialog. Leave it out and the badge's space stays empty so the headline keeps its place.
teaser
is the next story — a number, a category and a title — as one link; the arrow fills and the title underlines on hover.
reveal"in-view"
(the default) plays the sequence the first time the section enters the viewport; the docs pass "immediate". Under prefers-reduced-motion everything renders finished and the badge holds still.

Installation

Install Fashion Hero

npx shadcn@latest add @algorize-ui/fashion-hero

components/custom/blocks/FashionHeroBlock.tsx is written into your project. Copy any snippet from a Usage tab above and it runs.

Install dependencies

Step 1 installs these for you. Run them yourself only if you are adding Fashion Hero to an existing project by hand. The cn helper and lucide-react are not listed — the installation guide covers them once for every component. @radix-ui/react-avatar and motion come in with the components above rather than from Fashion Hero directly.

avatar-stack, circular-text, dialog, text-animation and tilted-card are components, not packages — the shadcn CLI installs them as source files.

npx shadcn@latest add @algorize-ui/avatar-stack @algorize-ui/circular-text @algorize-ui/dialog @algorize-ui/text-animation @algorize-ui/tilted-card

@radix-ui/react-avatar and motion are npm packages.

npm install @radix-ui/react-avatar motion

Photos on colour

The reference look is a person cut out on a flat colour. Cut-outs are expensive; a studio shot on a plain background is not. With blend on, the photo is drawn with mix-blend-mode: multiply over its tone, so white becomes the tone and the person keeps their colours — and the effect is strongest with lighter tones and darker clothes. A shot that already has a coloured background is better left unblended: pass blend: false and pick a tone that matches its edges.

Features

Built from the library

Circular Text for the badge, Avatar Stack for the faces, Text Animation for the headline, Tilted Card for every look, Dialog for the video. Install this one item and all five come with it.

One reveal, then the pointer

A single timeline plays on first view: badge and faces, looks from the middle outward, the button, the footer. After that only the badge turns; tilt, zoom, fan-out and arrows all answer the pointer.

Responsive to two columns

Five staggered columns at lg, three at sm, two on phones with the middle look — and its button — full width. The header folds the badge and faces above the headline.

Links are links

The call to action, the plus beside the faces and the teaser are anchors — pass your router's Link as linkComponent — and the video badge is a real button with a label for screen readers.

Props Reference

PropTypeDefaultDescription
headingstringRequiredThe headline, revealed word by word.
looksLook[]RequiredUp to seven { src, alt, tone, blend?, position? }, in slot order.
video{ badge: string; url: string; title?: string }—Words on the turning badge and the embed it opens.
avatars, avatarsHref, avatarsLabel{ src, alt? }[], string, string—, —, "Become a member"Faces in the top-right stack; the href adds a "+" link after them with that label.
cta{ label: string; href: string }—The pill sitting on the middle look.
quote{ text: string; author: string }—A customer's words and their name, set in the serif italic with a highlighter stroke.
teaser{ index, label, title, href }—The next story, as one link.
accentstringtheme primarySets --primary for the section: the highlighter stroke, focus rings and the mark above the middle look.
reveal"in-view" | "immediate""in-view"When the sequence plays.
linkComponentElementType"a"Your router's link for every href.

Support Hero

A product hero on a soft grey ground: a headline that rises in word by word, one line under it and one call to action, then a bento of frosted cards — integrations on white tiles, two figures that count up, two portraits and a team card with faces scattered over a field of dots. The cards land in one staggered pass after the headline; after that only the pointer moves anything: cards lift, portraits zoom a touch, the integration tiles rise one after another, the faces drift apart.
SupportHero is built from library pieces. The ground and the cards are Glass Panel (GlassBackdrop with a grey aurora, GlassPanel tiles), the headline is Text Animation's blur-in-up, the figures are Counter's animated type in its new bare form, and the call to action is Button. Every card is a named part — Integrations, Stat, Photo, Team — plus a plain Card for anything else.

Headline, call to action, six cards

Twelve columns at desktop — 3 / 3 / 3 / 3 on the first row with the portrait spanning both rows, 3 / 6 on the second. Six columns at tablet, one on phones. Hover the cards.

heading
is set by TextAnimation in blur-in-up: each word rises out of a blur the first time the section is on screen. subtitle and the cta button fade in behind it.
Stat
counts up with CounterBlock — value, decimals, prefix, suffix — starting when the card is on screen. tone="accent" is the card in the theme's primary colour. Give it an image and the picture fills the card, with only the bottom-left corner under the figure washed in the card colour — the rest shows through, so pick a picture whose subject sits up and to the right.
Photo
fills its card with a portrait; position sets the crop anchor, label a word in the corner. Add lg:row-span-2 lg:h-auto to make one tall.
Team
scatters up to six avatars over the right half of the card, above a field of dots. They pop in after the cards and drift outward on hover.
reveal"in-view"
(the default) plays everything the first time the section enters the viewport; the docs pass "immediate". Under prefers-reduced-motion the section renders finished.

Installation

Install Support Hero

npx shadcn@latest add @algorize-ui/support-hero

components/custom/blocks/SupportHeroBlock.tsx is written into your project. Copy any snippet from a Usage tab above and it runs.

Install dependencies

Step 1 installs these for you. Run them yourself only if you are adding Support Hero to an existing project by hand. The cn helper and lucide-react are not listed — the installation guide covers them once for every component.

button, counter, glass-panel and text-animation are components, not packages — the shadcn CLI installs them as source files.

npx shadcn@latest add @algorize-ui/button @algorize-ui/counter @algorize-ui/glass-panel @algorize-ui/text-animation

Layout

The bento is the GlassBackdrop grid — one column on phones, six at md, twelve at lg — and every part carries a default span (Integrations, Stat and Photo take three columns, Team takes six). Cards are a fixed 13rem tall at lg, so a part given lg:row-span-2 lg:h-auto is exactly two cards tall. Pass any other span through className; the built-in parts are GlassPanels, so variant="solid" on a card also works.
The call to action is a Button. Give cta an onClick, or an href to navigate to on click — pass a router push in onClick when you want client-side navigation.

Features

Built from the library

Glass Panel for the ground and the cards, Text Animation for the headline, Counter for the figures, Button for the call to action. Install this one item and all four come with it.

One sequence, then the pointer

Words, line, button, cards, faces — one timeline the first time the section appears. After that nothing moves unless you hover it. Reduced motion renders the finished state.

Figures that count when seen

Each Stat waits until its card is on screen before counting, so a hero below the fold does not run its numbers while nobody is looking.

Server-safe

Cards and faces render opaque in the HTML and only animate once the page is live; nothing depends on JavaScript to be visible.

Props Reference

SupportHero

PropTypeDefaultDescription
headingstring—The headline, animated word by word.
subtitleReactNode—The line under it.
cta{ label: string; href?: string; onClick?: () => void }—The button. href is navigated to on click.
aurora[string, string, string]three greysColours washed behind the glass.
reveal"in-view" | "immediate""in-view"When the sequence plays.
childrenReactNode—The cards, in the order they should fill the grid.

SupportHero.Integrations

PropTypeDescription
iconsReactNode[]Marks shown on white tiles, e.g. from the icons item.
title, textstringHeading and the line under it.

SupportHero.Stat

PropTypeDefaultDescription
valuenumber—The figure counted up to.
decimalsnumber0Decimal places, e.g. 1 for 5.5.
prefix, suffixstring—Text either side of the figure, e.g. "%", "B".
captionstring—What the figure means.
tone"glass" | "accent""glass"Frosted, or the accent card in the theme's primary colour with its foreground for text.
image, imageAltstring—A picture behind the whole card. Only the bottom-left corner, under the figure, is washed with the card colour; the rest stays clear. Zooms a touch on hover.
imagePositionstring"center"CSS object-position for the crop — e.g. "70% center" to favour a subject on the right.

SupportHero.Photo

PropTypeDefaultDescription
src, altstring—The portrait.
labelstring—A word in the top-left corner.
positionstring"center"CSS object-position for the crop.

SupportHero.Team

PropTypeDescription
titleReactNodeThe heading; use <br /> for deliberate breaks.
avatars{ src: string; alt?: string }[]Up to six faces, scattered over the right half.

SupportHero.Card

A GlassPanel that takes part in the reveal: shape="tile", interactive, three columns wide and 13rem tall at lg. All GlassPanel props apply.

Collage Hero

A hero for a place that is warm and busy — a kindergarten here, but any studio, school or workshop: a badge whose name turns slowly around a mark, a serif headline with two words in colour, three hashtag pills, a collage of seven photographs in five staggered columns, and a footer with a quote, a scroll-down pill and a watch-video trigger. When it first appears the headline rises out of a blur, the pills pop in with a twist and the photographs come up one after another; after that the badge keeps turning and the pointer does the rest — photographs lift and zoom a touch, pills straighten, the arrow nods.
CollageHero is built from library pieces: the scroll pill is Button, the video opens in a Dialog. The colours come from the theme — the accent is --primary (pin it with accent) and the second colour is highlight.

A bright place

Badge, headline and pills across the top; five columns of photographs; quote, scroll pill and video trigger along the foot. Three columns at tablet — a portrait, a stack and the tall one, then three landscapes in a row — and two on phones. Hover the photographs and the pills, open the video.

heading
is any node; wrap the words to colour in <em> — the first takes the accent, the second the highlight. Use <br /> for a deliberate break.
photos
are laid out left to right: one under the caption, two stacked, one tall in the middle, two stacked, one on the right. Each takes a position for its crop. Fewer than seven is fine; the columns just empty.
tags
are up to three pills, scattered and tilted at desktop and in a plain row below. tone picks soft / highlight / accent; the defaults cycle through them.
video
renders the play trigger; its url is an embed URL shown in a Dialog at 16:9. scrollLabel is a Button that scrolls to scrollTo, or the next section.
reveal"in-view"
(the default) plays the sequence the first time the section enters the viewport; the docs pass "immediate". Under prefers-reduced-motion the badge holds still and the section renders finished.

Installation

Install Collage Hero

npx shadcn@latest add @algorize-ui/collage-hero

components/custom/blocks/CollageHeroBlock.tsx is written into your project. Copy any snippet from a Usage tab above and it runs.

Install dependencies

Step 1 installs these for you. Run them yourself only if you are adding Collage Hero to an existing project by hand. The cn helper and lucide-react are not listed — the installation guide covers them once for every component.

animated-typography, button, circular-text and dialog are components, not packages — the shadcn CLI installs them as source files.

npx shadcn@latest add @algorize-ui/animated-typography @algorize-ui/button @algorize-ui/circular-text @algorize-ui/dialog

The badge

CollageHero.Badge is exported on its own: the brand text set on an SVG circle with textPath, turning once every 22 seconds, around a logo — three dots in the accent and highlight by default, or anything you pass. Under prefers-reduced-motion it does not turn.

Features

Built from the library

Button for the scroll pill, Dialog for the video. Both install with this item; the rest is Tailwind and one SVG.

One reveal, one thing that keeps moving

Headline, pills, photographs, footer — one timeline the first time the section appears. The turning badge is the only ambient motion, and it stops under reduced motion.

Two colours, from the theme

The accent is your primary colour unless you pin it; the second colour is one prop. Pills, badge, coloured words, play button and scroll pill all follow.

Real links and dialogs

The video trigger is keyboard-operable and opens a proper dialog with focus handling; every photograph carries its alt text; nothing depends on JavaScript to be visible.

Props Reference

PropTypeDefaultDescription
brandstring—The words that run around the badge.
logoReactNodethree dotsWhat sits in the middle of the badge.
headingReactNode—The headline. <em> words take the accent, then the highlight.
tags{ label: string; tone?: "accent" | "highlight" | "soft" }[][]Up to three pills.
captionstring—Tracked caps over the first photograph.
photos{ src: string; alt: string; position?: string }[]—Up to seven photographs, in layout order.
quotestring—Footer quote, with a large opening mark in the accent.
scrollLabel, scrollTostring"Keep scrolling", next sectionThe scroll pill and the selector it scrolls to.
video{ eyebrow?: string; text: string; url: string; title?: string }—The play trigger and the embed it opens.
accentstringtheme primarySets --primary for the section.
highlightstring"#f5c542"The second colour.
reveal"in-view" | "immediate""in-view"When the sequence plays.

Hero Block

A collection of modern hero layouts in one component, built with Tailwind CSS and plain CSS animations, no animation library: revolving 3D circular photo orbit ring, rotating word spring bounce, character typewriter effect, continuous thumbnail slider marquee, facility architectural blueprint grid, and high-tech cyclone radar. One registry item, multiple opinionated variants.

Word bounce hero

Setvariant"bounce"
for a spring word bounce animation loop.

Typing hero

Setvariant"typing"
for a character-by-character typewriter animation.

Typing hero, fixed title

The same hero with the title held in place while the word types and deletes.

SetprefixPosition"fixed"
so the text before the word keeps its place instead of re-centring.

Split marquee slider hero

Setvariant"slider"
for a split 2-column hero featuring a continuous right-to-left thumbnail slider and floating visual cards.

Pet Shop & Animal Care Hero

Setvariant"pet-shop"
for a clean, minimal e-commerce hero layout with circular image showcase and feature badges.

Doctor Portal & Healthcare Hero

Setvariant"doctor"
for a clean medical & healthcare hero with specialist doctor showcase and appointment booking CTA.

Precision Facility & CAD Grid Hero

Setvariant"facility"
for an architectural CAD blueprint grid hero with interactive morphing shape responding to left and right grid hover zones.

Atmospheric Cyclone Radar Hero

Setvariant"vortex"
for a high-tech climate risk radar hero featuring an animated multi-armed rotating cyclone vortex, HUD telemetry overlay, and parcel metrics.

Orbit Ring Hero

Copy and actions on the left, revolving 3D circular photo orbit ring on the right with smooth hover pause.

Setvariant"orbit"
for a revolving 3D circular photo orbit ring layout.
images
are the cards on the ring, in orbit order. Offset evenly by duration.
duration36
is the seconds for one full revolution.
highlights
are the dotted facts under the action buttons with customizable label and color.

Installation

Install Hero

npx shadcn@latest add @algorize-ui/hero

components/custom/blocks/HeroBlock.tsx is written into your project. Copy any snippet from a Usage tab above and it runs.

Install dependencies

Step 1 installs this for you. Run it yourself only if you are adding Hero to an existing project by hand. The cn helper and lucide-react are not listed — the installation guide covers them once for every component.

animated-typography is a component, not a package — the shadcn CLI installs it as source files.

npx shadcn@latest add @algorize-ui/animated-typography

Props Reference

PropTypeDefaultDescription
variant"bounce" | "typing" | "slider" | "glow-arc" | "pet-shop" | "doctor" | "facility" | "vortex" | "orbit""bounce"
The layout & animation style. "orbit" / "orbit-gallery" renders revolving 3D circular photo ring with upright cards & smooth hover pause; "bounce" uses spring word motion; "typing" uses typewriter effect; "slider" renders split 2-column hero with continuous marquee; "glow-arc" / "pet-shop" renders pet care hero; "doctor" renders medical test kits hero; "facility" renders architectural CAD blueprint grid hero with interactive morphing shape; "vortex" renders atmospheric cyclone radar simulation with animated rotating canvas and telemetry HUD.
typingWordsstring[]["Interfaces", "Components", …]
The rotating words between titlePrefix and titleSuffix.
prefixPosition"fixed" | "fluid"
"fluid" for typing, "fixed" for bounce
Whether the title before the rotating word holds still ("fixed", keeping the longest word's width) or re-centres as the word types, deletes or swaps ("fluid"). The word itself is an AnimatedTypographyBlock.
petImage · secondaryPetImage
stringUnsplash URLs
Custom image URLs for the main featured pet photo and secondary avatar badge photo (used when variant="pet-shop").
sliderImagesstring[][…]
Array of thumbnail image URLs for the continuous right-to-left marquee slider (used when variant="slider").
mainImagestring"…"
Featured image URL for the right column (used when variant="slider").
badgeText · badgeHref · titlePrefix · titleSuffix · subtitle · cliCommand
string—
Every string in the section is a prop, each with a sensible default. cliCommand feeds the one-click copy button.
primaryActionLabel · primaryActionHref · secondaryActionLabel · secondaryActionHref
string—Label and destination for each of the two call-to-action buttons.
eyebrowstring"CLIMATE RISK, PER PARCEL"
Monospace uppercase eyebrow text shown above the main title (used in variant="vortex").
metricsArray<{ value: string; label: string }>134M / 412K / 180ms
Array of 3 summary metrics shown at the bottom of the left column (used in variant="vortex").
hudTitle · hudTime · hudMetrics
string / Array
"GUST FIELD" / "T+36:30" / […]
Telemetry HUD card header and data points displayed in the bottom-right corner of the radar panel (used in variant="vortex").
rotationSpeednumber0.0025
Angular rotation speed in radians per frame for the animated cyclone vortex canvas (used in variant="vortex").
colorstringundefined
Accent color — a preset name or any CSS color. Left unset it inherits your theme.