A turning globe wrapped in rings of text you can spin by hand
| Name | Type | Default | Description |
|---|---|---|---|
text | string | "IDEAS IN ORBIT ·" | The phrase repeated around the globe. In bands it runs along every ring; in scatter its letters are sprinkled over the surface. |
colors | [string, string] | ["#FFFFFF", "#7C5CFF"] | Colour of the text facing you and colour of the text seen through the globe on its far side. |
fontFamily | string | inherited | Font for the letters. Leave unset to use the page font. |
fontWeight | number | 600 | Font weight. |
layout | "bands" | "scatter" | "bands" | bands wraps the phrase around rings of latitude; scatter spreads single letters evenly over the sphere. |
bands | number | 18 | Number of rings from pole to pole (or the density of letters in scatter). |
glyphScale | number | 0.72 | Letter height as a share of each ring's height. |
spacing | number | 1 | Letter spacing along the rings. |
tilt | number | 24 | Lean of the globe's axis, in degrees. |
spin | number | 0.12 | Rotation speed of the whole globe. Negative values turn it the other way. |
flow | number | 0.5 | Speed the text slides along its rings. |
alternate | boolean | true | Neighbouring rings flow in opposite directions. |
size | number | 0.82 | Size of the globe relative to the frame. |
perspective | number | 0.3 | Depth exaggeration, from 0 (flat) to 0.8. |
backOpacity | number | 0.3 | Visibility of the far side seen through the globe, from 0 to 1. |
interactive | boolean | true | Respond to the pointer. |
brush | number | 1 | Sweep the pointer along a ring to spin it; it keeps its momentum and drags its neighbours. 0 turns brushing off. |
clickPulse | boolean | true | Clicking the globe sends a twist through it: the ring you clicked whips round and swells, and the wave travels ring by ring to the poles. |
pulseStrength | number | 1 | Strength of the click pulse, from 0 to 3. |
paused | boolean | false | Freeze the globe. Reduced-motion users always get a still frame. |
quality | number | 1 | Resolution scale from 0.25 to 1. |
ref | { pulse } | — | pulse(latitude) sends a twist from a latitude between -1 (bottom) and 1 (top). |
children | ReactNode | — | Content placed over the globe. |
className | string | — | Classes for the root element. It fills its parent, with a 240px minimum height. |
style | CSSProperties | — | Inline styles for the root element. |
textstringThe phrase repeated around the globe. In bands it runs along every ring; in scatter its letters are sprinkled over the surface.
"IDEAS IN ORBIT ·"colors[string, string]Colour of the text facing you and colour of the text seen through the globe on its far side.
["#FFFFFF", "#7C5CFF"]fontFamilystringFont for the letters. Leave unset to use the page font.
inheritedfontWeightnumberFont weight.
600layout"bands" | "scatter"bands wraps the phrase around rings of latitude; scatter spreads single letters evenly over the sphere.
"bands"bandsnumberNumber of rings from pole to pole (or the density of letters in scatter).
18glyphScalenumberLetter height as a share of each ring's height.
0.72spacingnumberLetter spacing along the rings.
1tiltnumberLean of the globe's axis, in degrees.
24spinnumberRotation speed of the whole globe. Negative values turn it the other way.
0.12flownumberSpeed the text slides along its rings.
0.5alternatebooleanNeighbouring rings flow in opposite directions.
truesizenumberSize of the globe relative to the frame.
0.82perspectivenumberDepth exaggeration, from 0 (flat) to 0.8.
0.3backOpacitynumberVisibility of the far side seen through the globe, from 0 to 1.
0.3interactivebooleanRespond to the pointer.
truebrushnumberSweep the pointer along a ring to spin it; it keeps its momentum and drags its neighbours. 0 turns brushing off.
1clickPulsebooleanClicking the globe sends a twist through it: the ring you clicked whips round and swells, and the wave travels ring by ring to the poles.
truepulseStrengthnumberStrength of the click pulse, from 0 to 3.
1pausedbooleanFreeze the globe. Reduced-motion users always get a still frame.
falsequalitynumberResolution scale from 0.25 to 1.
1ref{ pulse }pulse(latitude) sends a twist from a latitude between -1 (bottom) and 1 (top).
—childrenReactNodeContent placed over the globe.
—classNamestringClasses for the root element. It fills its parent, with a 240px minimum height.
—styleCSSPropertiesInline styles for the root element.
—