CtaProps
Defined in: react/src/Hero.tsx:206
Extends
Section titled “Extends”Omit<UseIslandOptions,"island">
Properties
Section titled “Properties”campaignId?
Section titled “campaignId?”
optionalcampaignId?:string
Defined in: react/src/useIsland.ts:75
Inherited from
Section titled “Inherited from”className?
Section titled “className?”
optionalclassName?:string
Defined in: react/src/Hero.tsx:207
enabled?
Section titled “enabled?”
optionalenabled?:boolean
Defined in: react/src/useIsland.ts:144
Skip the stream entirely (previews, storybook, reduced-motion policies). The fallback then renders visibly as the copy.
Inherited from
Section titled “Inherited from”fallback
Section titled “fallback”fallback:
object
Defined in: react/src/useIsland.ts:95
The fallback: the copy that lands if live copy does not arrive in time, or if the stream fails. REQUIRED — there is no skeleton state, so this is what the visitor reads whenever adaptation does not happen.
The fallback sets the size. Each field’s fallback defines that field’s slot: its shape and its length. Its length is sent with the request as the field’s length budget, so live copy is written to fit. Copy that lands whole and would not fit the slot is not shown (the fallback lands instead, final); typed copy never grows the slot (what does not fit is clipped). A field the fallback does not have is never shown.
It is never shown first and then replaced. While live copy is coming the slot holds blank with the fallback reserving its exact space invisibly — in the server HTML too — and when the fallback does land, it stays for the rest of the view.
optionalbody?:string
optionalcta?:string
greeting?
Section titled “greeting?”
optionalgreeting?:string
headline?
Section titled “headline?”
optionalheadline?:string
Inherited from
Section titled “Inherited from”heldBeforeMs?
Section titled “heldBeforeMs?”
optionalheldBeforeMs?:number
Defined in: react/src/useIsland.ts:139
How long this island’s slot was already held blank on screen before
this render, in milliseconds. Spent from the hold budget and from the 5
second maximum. Not needed after an IslandReservation: the island
measures that wait itself, from the reservation’s first paint.
Inherited from
Section titled “Inherited from”holdMs?
Section titled “holdMs?”
optionalholdMs?:number
Defined in: react/src/useIsland.ts:165
How long a slot in view holds blank, waiting for live copy, before the
fallback lands. Defaults to COPY_HOLD_MS (2.5 s), and restarts once
when the stream proves it is alive, so the blank can last up to twice
this.
The budget starts when the island is in view; an island below the fold
keeps its slot reserved (and the stream buffering) until it scrolls in.
Whatever lands when the budget runs out is final for the view: live copy
arriving afterwards is not shown. 0 disables the hold: the fallback
renders at once (on the server too) and is final.
Inherited from
Section titled “Inherited from”
optionalhref?:string
Defined in: react/src/Hero.tsx:212
Where the button goes when the server has not resolved an action.
initialCopy?
Section titled “initialCopy?”
optionalinitialCopy?:InitialCopy
Defined in: react/src/useIsland.ts:132
Copy already produced for THIS view, with its provenance — for example
the cached live copy getIslandCopy read on your server for this
visitor. It renders visibly from the first frame, settled and final: it
is the island’s whole copy, and the stream writes no copy field (theme,
media and the action still apply). variantId pins the page’s variant,
so sibling islands tell the same story; the impression records when the
island is seen, with this copy’s campaign, variant and provenance.
It fills the slots the fallback sets: a field the fallback does not
have is not shown, and a field the copy lacks shows the fallback. The
copy belongs to the page view it was read for: a different
initialCopy in the same view is not shown until the next page view
(see the provider’s serverContext and viewKey).
Pass undefined (not a stub) when there is none: the island then holds
and streams as usual.
Inherited from
Section titled “Inherited from”nonce?
Section titled “nonce?”
optionalnonce?:string
Defined in: react/src/Hero.tsx:210
See HeroProps.nonce.
onClick?
Section titled “onClick?”
optionalonClick?: () =>void
Defined in: react/src/Hero.tsx:213
Returns
Section titled “Returns”void
optionalpin?:boolean
Defined in: react/src/useIsland.ts:152
Participate in page-level variant pinning (default true). Pinning exists
so sibling islands of one campaign cannot tell two different stories —
the hero and its CTA must come from one draw. Pass false for an island
that is MEANT to say something new for the same campaign: it neither
consumes the page’s pinned variant nor writes its own draw back.
Inherited from
Section titled “Inherited from”serverRendered?
Section titled “serverRendered?”
optionalserverRendered?:boolean
Defined in: react/src/useIsland.ts:113
Set true only when the copy you pass in fallback is FINISHED CAMPAIGN
CREATIVE your server already rendered from the platform (for example
from fetchContent), not authored fallback copy. It renders visibly from
the first paint and is final for the view: nothing holds, and the
stream’s copy for those fields is ignored (theme, media and the action
still apply).
Leave it unset for an ordinary fallback. The fallback is then reserved invisibly — in the server HTML and on the client — until live copy arrives or the hold runs out.
Inherited from
Section titled “Inherited from”UseIslandOptions.serverRendered
sessionId?
Section titled “sessionId?”
optionalsessionId?:string
Defined in: react/src/useIsland.ts:141
Conversation session id, for copy continuity. Individual surfaces only.
Inherited from
Section titled “Inherited from”
optionalslot?:string
Defined in: react/src/useIsland.ts:173
Tells apart two islands that show the same campaign (or surface) and
island on one page. An island remembers, for the page view, what it
showed and whether its impression was recorded, so mounting it again
shows the same copy and records nothing new. Islands with the same
campaign, island and slot share that memory.
Inherited from
Section titled “Inherited from”smooth?
Section titled “smooth?”
optionalsmooth?:boolean
Defined in: react/src/Hero.tsx:215
Motion — on by default (see StreamText#smooth).
style?
Section titled “style?”
optionalstyle?:CSSProperties
Defined in: react/src/Hero.tsx:208
surfaceId?
Section titled “surfaceId?”
optionalsurfaceId?:string
Defined in: react/src/useIsland.ts:76